Below is the collection of Python Packages supported by C2S2's toolchain. For reproducibility, they are not installed using pip
(which uses pre-build, often platform-dependent wheels), but rather compiled from source and installed under the relevant lib/python3.11/site-packages
. That being said, all of these packages (including links to source code, and more detail), can be found using Pip.
Dependencies
The packages below are listed in alphabetical order. However, future developers may note that they are organized differently in the source Easyconfig. This is because packages are built sequentially, and the order must therefore reflect the dependency tree. Additionally note that since we are building from source, we require build dependencies as well as runtime - these are less well-documented, and often require manual inspection of pyproject.toml
s
2024.02
Primary Packages: The following list is meant to install these primary packages:
cocotb
fxpmath
matplotlib
ipython
psutil
pymtl3
PyYAML
scipy
(The other packages are included as part of the dependency tree. However, they can be relied upon as part of the larger Python package bundle)
Package | Description | Link | Version | Notable Binaries |
---|---|---|---|---|
anyio | 4.3.0 | |||
asttokens | Annotate AST trees with source code positions | PyPI | 2.4.1 | |
attrs | Classes Without Boilerplate | PyPI | 23.2.0 | |
beniget | Extract semantic information about static Python code | PyPI | 0.4.1 | |
certifi | Python package for providing Mozilla's CA Bundle | PyPI | 2024.2.2 | |
cffi | Foreign Function Interface for Python calling C code | PyPI | 1.16.0 | |
click | Composable command line interface toolkit | PyPI | 8.1.7 | |
cloudpickle | Pickler class to extend the standard pickle.Pickler functionality | PyPI | 3.0.0 | |
charset-normalizer | The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet | PyPI | 3.3.2 | normalizer |
cocotb | cocotb is a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python | PyPI | 1.8.1 | cocotb-config |
contourpy | Python library for calculating contours of 2D quadrilateral grids | PyPI | 1.2.0 | |
cppy | A small C++ header library which makes it easier to write Python extension modules | PyPI | 1.2.1 | |
cycler | Composable style cycles | PyPI | 0.12.1 | |
Cython | The Cython compiler for writing C extensions in the Python language | PyPI | 3.0.8 | cygdb , cython , cythonize |
decorator | Decorators for Humans | PyPI | 5.1.1 | |
distro | Distro - an OS platform information API | PyPI | 1.9.0 | distro |
doit | doit - Automation Tool | PyPI | 0.36.0 | doit |
editables | Editable installations | PyPI | 0.5 | |
executing | Get the currently executing AST node of a frame, and other information | PyPI | 2.0.1 | |
find-libpython | Finds the libpython associated with your environment, wherever it may be hiding | PyPI | 0.3.1 | find_libpython |
fonttools | Tools to manipulate font files | PyPI | 4.49.0 | fonttools , pyftmerge , pyftsubset , ttx |
fxpmath | A Python library for fractional fixed-point (base 2) arithmetic and binary manipulation with Numpy compatibility | PyPI | 0.4.9 | |
gast | Python AST that abstracts the underlying Python version | PyPI | 0.5.4 | |
greenlet | Lightweight in-process concurrent programming | PyPI | 3.0.3 | |
h11 | 5.9.8 | |||
hatchling | Modern, extensible Python build backend | PyPI | 1.21.1 | hatchling |
hatch-fancy-pypi-readme | Fancy PyPI READMEs with Hatch | PyPI | 24.1.0 | hatch-fancy-pypi-readme |
hatch-vcs | Hatch plugin for versioning with your preferred VCS | PyPI | 0.4.0 | |
httpcore | 1.0.5 | |||
httpx | 0.27.0 | httpx | ||
hypothesis | A library for property-based testing | PyPI | 6.98.9 | hypothesis |
idna | Internationalized Domain Names in Applications (IDNA) | PyPI | 3.6 | |
importlib_metadata | Read metadata from Python packages | PyPI | 7.0.1 | |
importlib_resources | Read resources from Python packages | PyPI | 6.1.1 | |
iniconfig | brain-dead simple config-ini parsing | PyPI | 2.0.0 | |
ipython | IPython: Productive Interactive Computing | PyPI | 8.21.0 | ipython , ipython3 |
jedi | An autocompletion tool for Python that can be used for text editors. | PyPI | 0.19.1 | |
kiwisolver | A fast implementation of the Cassowary constraint solver | PyPI | 1.4.5 | |
markdown-it-py | Python port of markdown-it. Markdown parsing, done right! | PyPI | 3.0.0 | markdown-it |
matplotlib | 3.8.3 | |||
matplotlib-inline | 0.1.6 | |||
mdurl | 0.1.2 | |||
meson | 1.3.2 | meson | ||
meson-python | 0.15.0 | |||
ninja | 1.11.1.1 | ninja | ||
numpy | 1.26.2 | f2py | ||
packaging | 23.2 | |||
parso | 0.8.3 | |||
pathspec | 0.12.1 | |||
pcpp | 1.30 | pcpp | ||
pexpect | 4.9.0 | |||
platformdirs | 4.2.0 | |||
pluggy | 1.4.0 | |||
ply | 3.11 | |||
poetry_core | 1.9.0 | |||
pooch | 1.8.1 | |||
prompt_toolkit | 3.0.43 | |||
psutil | 5.9.8 | |||
ptyprocess | 0.7.0 | |||
pure_eval | 0.2.2 | |||
py | 1.11.0 | |||
pybind11 | 2.11.1 | pybind11-config | ||
pycparser | 2.21 | |||
pydevtool | 0.3.0 | |||
pygments | 2.17.2 | pygmentize | ||
pymtl3 | 3.1.16 | |||
pyparsing | 3.1.1 | |||
pyproject-metadata | 0.7.1 | |||
pytest | 8.0.1 | pytest , py.test | ||
python-dateutil | 2.8.2 | |||
pythran | 0.15.0 | pythran , pythran-config | ||
PyYAML | 6.0.1 | |||
requests | 2.31.0 | |||
rich | 13.7.0 | |||
rich-click | 1.7.3 | rich-click | ||
scikit_build | 0.17.6 | |||
scipy | 1.12.0 | |||
setuptools-scm | 8.0.4 | |||
six | 1.16.0 | |||
sniffio | 1.3.1 | |||
sortedcontainers | 2.4.0 | |||
stack_data | 0.6.3 | |||
traitlets | 5.14.1 | |||
trove_classifiers | 2024.1.31 | |||
typing_extensions | 4.8.0 | |||
urllib3 | 2.2.1 | |||
volare | 0.16.0 | volare | ||
wcwidth | 0.2.13 | |||
zipp | 3.17.0 | |||
zstandard | 0.22.0 |