Python library that provides enhanced prompt creation and output parsing for IBM Granite models.
To install from the main development branch, type:
pip install git+https://github.com/ibm-granite/granite-common.git
For compatibility with different underlying operating system versions, we recommend using conda to create a consistent base Python environment for development and testing.
Detailed instructions:
- Install MiniForge or another package that provides the
condacommand-line utility. - Set the environment variable
CONDA_HOMEto point to the root of yourcondainstall. If you installed MiniForge in your home directory, this value should be${HOME}/miniforge3. - Check out a copy of this repository.
- Run the script
scripts/env.shfrom the root of your local copy of the repository. The script will create a Conda environment in./envand will install the source code of your local copy as an editable Pip package. The script will also install and enable pre-commit hooks with pre-commit. - Before running commands such as
pythonorjupyterfrom the command line, activate the Conda environment by typingconda activate ./envfrom the root of your local copy of this repository. - If you are using Visual Studio Code or a similar IDE, configure your IDE to use the environment at
./env
After following the instructions in the previous section, you should be able to run tests on your local machine by typing:
pytest tests
from the root of your local copy of this repository, using the conda environment described in the previous section.
The build automation for this project uses the tox environment manager. Sometimes you will need to run tests from inside a tox managed environment to replicate issues from the continuous integration environment. To run tests with tox, activate the Python environment ./env created earlier, then choose from among the following:
- Run regression tests:
tox -e unit - Run
pylintchecks:tox -e lint - Run
ruffformatter:tox -e ruff - Run a full continuous integration suite:
tox