External modules ↩
The Python ecosystem goes far beyond the Standard Library, with many third-party modules available on the Python Package Index (PyPI) and elsewhere on the web.
Because these modules are not part of the standard Python distribution, they need to be installed on your system first.
RoboFont comes with several external modules embedded and ready to use – see Embedded libraries for the complete list.
Installing modules
There are different ways to install a module. We recommend using pipA package installer for Python. It can be used to install packages from the Python Package Index (PyPI) and other indexes..
Installing modules with pip
Installing packages using pip
in Terminal will make them available for the system Python. Using the Package Installer will make packages available only inside RoboFont.
pip
is included in the latest distributions of Python. Make sure it’s up-to-date:
pip install -U pip
Packages from the Python Package Index (PyPI) can be installed by name:
pip install SomePackage # latest version
pip install SomePackage==1.0.4 # specific version
pip install 'SomePackage>=1.0.4' # minimum version
It’s also possible to install a package from a git repository:
pip install https://github.com/user/repository/archive/branch.zip
Installing modules with setup scripts
Some packages include a setup script which copies all files to their appropriate locations. Such a package can be installed by running its setup.py
script in Terminal:
python /someFolder/myPackage/setup.py
Installing modules with .pth files
Modules can be installed manually using .pth
files – simple text files containing the path to the root folder where the module is located. For example:
/someFolder/myPackage/Lib/
The easiest way to get the full path for a file or folder – without having to type it – is by dragging it from Finder into a code editor or Terminal.
.pth
files must be saved in the site-packages
folder of the desired version of Python:
/Library/Python/3.9/site-packages/myModule.pth
This method installs packages by creating a reference to the folder which contains the module.
Appending modules to sys.path
import sys
sys.path.append('/someFolder/myPackage/Lib/')
Testing a module
To see if a module is installed, just try to import it in the desired environment:
import myModule
If no error is raised, you’re good to go.
Some useful external modules
- markdown
- Generating html from markdownA lightweight markup language with plain text formatting syntax. Easily converted into HTML. sources. Embedded in RoboFont since version 3.3.
- grapefruit
- Working with colors in different color modes, creating gradients, etc.