¿Qué significan los corchetes en la instalación de pip?

Veo más y más comandos como este:

$ pip install "splinter[django]" 

¿Qué hacen estos corchetes?

La syntax que está utilizando es:

 pip install "project[extra]" 

En su caso, está installing el paquete splinter que tiene el soporte adicional para django . Los corchetes ( [] ) no son syntax específica, solo una convención. Realmente, estás instalando el paquete llamado: "splinter[django]" .

Una explicación de @chetner :

El comando pip install splinter django instalaría dos paquetes llamados splinter y django . splinter[django] , por otro lado, instala una variante del paquete splinter que contiene soporte para django . Tenga en cuenta que no tiene nada que ver con el paquete django sí, sino que es solo una cadena definida por el paquete splinter para un conjunto de características particular que se habilita.

Bastante seguro de que estos son setuptools extras:

https://setuptools.readthedocs.io/en/latest/setuptools.html#declaring-extras-optional-features-with-their-own-dependencies

A veces, un proyecto tiene dependencias “recomendadas”, que no son necesarias para todos los usos del proyecto. Por ejemplo, un proyecto podría ofrecer una salida PDF opcional si ReportLab está instalado, y el soporte de texto reStructured si está instalado docutils. Estas características opcionales se llaman “extras” …