Skip to content

Credits

We gratefully acknowledge ASEE, NSF, DARPA, NASA, and AFOSR for funding parts of this project.

We thank Athreyi Badithela for creating the artwork.

The following projects were used to build Pacti:

python | pdm | copier-pdm

Runtime dependencies

Project Summary Version (accepted) Version (last resolved) License
appnope Disable App Nap on macOS >= 10.9 ; platform_system == "Darwin" 0.1.4 ?
asttokens Annotate AST trees with source code positions >=2.1.0 3.0.0 Apache 2.0
attrs Classes Without Boilerplate >=22.2.0 25.3.0 ?
beautifulsoup4 Screen-scraping library 4.13.4 MIT License
bleach An easy safelist-based HTML-sanitizing tool. [css]!=5.0.0 6.2.0 Apache Software License
cffi Foreign Function Interface for Python calling C code. ; implementation_name == "pypy" 1.17.1 ?
colorama Cross-platform colored terminal text. ; sys_platform == "win32" 0.4.6 BSD License
comm Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc. >=0.1.1 0.2.2 BSD License
contourpy Python library for calculating contours of 2D quadrilateral grids >=1.0.1 1.3.0 BSD License
cycler Composable style cycles >=0.10 0.12.1 BSD License
debugpy An implementation of the Debug Adapter Protocol for Python >=1.6.5 1.8.14 MIT
decorator Decorators for Humans 5.2.1 BSD-2-Clause
defusedxml XML bomb protection for Python stdlib modules 0.7.1 PSFL
exceptiongroup Backport of PEP 654 (exception groups) ; python_version < "3.11" 1.3.0 ?
executing Get the currently executing AST node of a frame, and other information >=1.2.0 2.2.0 MIT
fastjsonschema Fastest Python implementation of JSON schema >=2.15 2.21.1 BSD
fonttools Tools to manipulate font files >=4.22.0 4.58.4 MIT
importlib-metadata Read metadata from Python packages >=4.8.3; python_version < "3.10" 8.7.0 ?
importlib-resources Read resources from Python packages >=3.2.0; python_version < "3.10" 6.5.2 ?
ipykernel IPython Kernel for Jupyter >=6.25.0 6.29.5 BSD License
ipython IPython: Productive Interactive Computing >=7.23.1 8.18.1 BSD-3-Clause
jedi An autocompletion tool for Python that can be used for text editors. >=0.16 0.19.2 MIT
jinja2 A very fast and expressive template engine. >=3.0 3.1.6 BSD License
jsonschema An implementation of JSON Schema validation for Python >=2.6 4.24.0 ?
jsonschema-specifications The JSON Schema meta-schemas and vocabularies, exposed as a Registry >=2023.03.6 2025.4.1 ?
jupyter-client Jupyter protocol implementation and client libraries >=6.1.12 8.6.3 BSD License
jupyter-core Jupyter core package. A base package on which Jupyter projects rely. !=5.0.*,>=4.12 5.8.1 ?
jupyterlab-pygments Pygments theme using JupyterLab CSS variables 0.3.0 BSD License
kiwisolver A fast implementation of the Cassowary constraint solver >=1.3.1 1.4.7 BSD License
markupsafe Safely add untrusted strings to HTML/XML markup. >=2.0 3.0.2 BSD License
matplotlib Python plotting package >=3.6.2 3.9.4 Python Software Foundation License
matplotlib-inline Inline Matplotlib backend for Jupyter >=0.1 0.1.7 BSD License
mistune A sane and fast Markdown parser with useful plugins and renderers <4,>=2.0.3 3.1.3 BSD-3-Clause
mpmath Python library for arbitrary-precision floating-point arithmetic <1.4,>=1.1.0 1.3.0 BSD
nbclient A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor. >=0.5.0 0.10.2 BSD License
nbconvert Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (import nbconvert) or as a command line tool (invoked as jupyter nbconvert ...). >=7.16.5 7.16.6 BSD License
nbformat The Jupyter Notebook format >=5.7 5.10.4 BSD License
nest-asyncio Patch asyncio to allow nested event loops 1.6.0 BSD
numpy Fundamental package for array computing in Python >=1.24.1 2.0.2 BSD License
packaging Core utilities for Python packages 25.0 BSD License
pandocfilters Utilities for writing pandoc filters in python >=1.4.1 1.5.1 BSD-3-Clause
parso A Python Parser <0.9.0,>=0.8.4 0.8.4 MIT
pexpect Pexpect allows easy control of interactive console applications. >4.3; sys_platform != "win32" 4.9.0 ?
pillow Python Imaging Library (Fork) >=8 11.2.1 ?
platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a user data dir. >=2.5 4.3.8 MIT License
prompt-toolkit Library for building powerful interactive command lines in Python <3.1.0,>=3.0.41 3.0.51 BSD License
psutil Cross-platform lib for process and system monitoring in Python. NOTE: the syntax of this script MUST be kept compatible with Python 2.7. 7.0.0 BSD-3-Clause
ptyprocess Run a subprocess in a pseudo terminal >=0.5 0.7.0 ?
pure-eval Safely evaluate AST nodes without side effects 0.2.3 MIT
pycparser C parser in Python 2.22 ?
pygments Pygments is a syntax highlighting package written in Python. >=2.4.0 2.19.2 BSD-2-Clause
pyparsing pyparsing module - Classes and methods to define and execute parsing grammars >=2.3.1 3.2.3 MIT License
python-dateutil Extensions to the standard Python datetime module >=2.8.2 2.9.0.post0 Dual License
pywin32 Python for Window Extensions >=300; sys_platform == "win32" and platform_python_implementation != "PyPy" 310 PSF
pyzmq Python bindings for 0MQ >=24 27.0.0 BSD License
referencing JSON Referencing + Python >=0.28.4 0.36.2 ?
rpds-py Python bindings to Rust's persistent data structures (rpds) >=0.7.1 0.25.1 MIT
scipy Fundamental algorithms for scientific computing in Python >=1.10.0 1.13.1 BSD License
six Python 2 and 3 compatibility utilities >=1.5 1.17.0 MIT
soupsieve A modern CSS selector implementation for Beautiful Soup. >1.2 2.7 MIT License
stack-data Extract data from python stack frames and tracebacks for informative displays 0.6.3 MIT
sympy Computer algebra system (CAS) in Python >=1.11.1 1.14.0 BSD
tinycss2 A tiny CSS parser <1.5,>=1.1.0 1.4.0 BSD License
tornado Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. >=6.1 6.5.1 Apache-2.0
traitlets Traitlets Python configuration system >=5.4.0 5.14.3 BSD License
typing-extensions Backported and Experimental Type Hints for Python 3.9+ >=4.5.0 4.14.0 ?
wcwidth Measures the displayed width of unicode strings in a terminal 0.2.13 MIT
webencodings Character encoding aliases for legacy web content >=0.4 0.5.1 BSD
zipp Backport of pathlib-compatible object wrapper for zip files >=3.20 3.23.0 ?

Development dependencies

Project Summary Version (accepted) Version (last resolved) License
ansimarkup Produce colored terminal text with an xml-like markup ~=1.4 1.5.0 Revised BSD License
appdirs A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir". >=1.4 1.4.4 MIT
autoflake Removes unused imports and unused variables >=1.4 2.3.1 MIT
babel Internationalization utilities ~=2.12 2.17.0 BSD-3-Clause
black The uncompromising code formatter. >=21.10b0 25.1.0 MIT License
certifi Python package for providing Mozilla's CA Bundle. >=2017.4.17 2025.6.15 MPL-2.0
charset-normalizer The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. <4,>=2 3.4.2 MIT
click Composable command line interface toolkit >=8.0.0 8.1.8 BSD License
colorama Cross-platform colored terminal text. ; platform_system == "Windows" 0.4.6 BSD License
duty A simple task runner. >=0.7 1.6.0 ISC
eval-type-backport Like typing._eval_type, but lets older Python versions use newer typing features. ; python_version < "3.10" 0.2.2 ?
failprint Run a command, print its output only if it fails. !=1.0.0,>=0.11 1.0.3 ISC
ghp-import Copy your docs directly to the gh-pages branch. >=1.0 2.1.0 Apache Software License
git-changelog Automatic Changelog generator using Jinja2 templates. >=0.4 2.5.3 ISC
griffe Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API. >=1.6.2 1.7.3 ?
idna Internationalized Domain Names in Applications (IDNA) <4,>=2.5 3.10 BSD License
importlib-metadata Read metadata from Python packages >=4.4; python_version < "3.10" 8.7.0 ?
isort A Python utility / library to sort Python imports. >=5.10 6.0.1 MIT License
jinja2 A very fast and expressive template engine. <4,>=2.11 3.1.6 BSD License
lxml Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. >=4.7.0 5.4.0 BSD-3-Clause
markdown Python implementation of John Gruber's Markdown. >=3.3.3 3.8.2 ?
markdown-callouts Markdown extension: a classier syntax for admonitions >=0.2 0.4.0 MIT License
markdown-exec Utilities to execute code blocks in Markdown files. >=0.5 1.10.3 ?
markupsafe Safely add untrusted strings to HTML/XML markup. >=2.0 3.0.2 BSD License
mergedeep A deep merge function for 🐍. >=1.3.4 1.3.4 MIT License
mkdocs Project documentation with Markdown. >=1.6 1.6.1 BSD License
mkdocs-autorefs Automatically link across pages in MkDocs. >=1.4 1.4.2 ?
mkdocs-coverage MkDocs plugin to integrate your coverage HTML report into your site. >=0.2 1.1.0 ISC
mkdocs-gen-files MkDocs plugin to programmatically generate documentation pages during the build >=0.3 0.5.0 MIT License
mkdocs-get-deps MkDocs extension that lists all dependencies according to a mkdocs.yml file >=0.2.0 0.2.0 MIT License
mkdocs-literate-nav MkDocs plugin to specify the navigation in Markdown instead of YAML >=0.4 0.6.2 MIT License
mkdocs-material Documentation that simply works >=9.2,<9.3 9.2.8 MIT License
mkdocs-material-extensions Extension pack for Python Markdown and MkDocs Material. ~=1.1 1.3.1 MIT License
mkdocs-section-index MkDocs plugin to allow clickable sections that lead to an index page >=0.3 0.3.10 MIT License
mkdocs-video >=1.3.0 1.5.0 MIT
mkdocstrings Automatic documentation from sources, for MkDocs. [python]>=0.28 0.29.1 ?
mkdocstrings-python A Python handler for mkdocstrings. >=1.16.2 1.16.12 ?
mypy-extensions Type system extensions for programs checked with the mypy type checker. >=0.4.3 1.1.0 ?
packaging Core utilities for Python packages >=22.0 25.0 BSD License
paginate Divides large result sets into pages for easier browsing ~=0.5 0.5.7 MIT
pathspec Utility library for gitignore style pattern matching of file paths. >=0.9.0 0.12.1 Mozilla Public License 2.0 (MPL 2.0)
platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a user data dir. >=2 4.3.8 MIT License
ptyprocess Run a subprocess in a pseudo terminal ~=0.6; sys_platform != "win32" 0.7.0 ?
pyflakes passive checker of Python programs >=3.0.0 3.4.0 MIT
pygments Pygments is a syntax highlighting package written in Python. ~=2.16 2.19.2 BSD-2-Clause
pymdown-extensions Extension pack for Python Markdown. >=9 10.16 MIT License
python-dateutil Extensions to the standard Python datetime module >=2.8.1 2.9.0.post0 Dual License
pyyaml YAML parser and emitter for Python >=5.1 6.0.2 MIT
pyyaml-env-tag A custom YAML tag for referencing environment variables in YAML files. >=0.1 1.1 ?
regex Alternative regular expression module, to replace re. ~=2023.8 2023.12.25 Apache Software License
requests Python HTTP for Humans. ~=2.31 2.32.4 Apache-2.0
semver Python helper for Semantic Versioning (https://semver.org) >=2.13 3.0.4 BSD License
six Python 2 and 3 compatibility utilities >=1.5 1.17.0 MIT
toml Python Library for Tom's Obvious, Minimal Language >=0.10 0.10.2 MIT
tomli A lil' TOML parser >=2.0.1; python_version < "3.11" 2.2.1 ?
typing-extensions Backported and Experimental Type Hints for Python 3.9+ >=4.0.1; python_version < "3.11" 4.14.0 ?
urllib3 HTTP library with thread-safe connection pooling, file post, and more. <3,>=1.21.1 2.5.0 ?
urlopen A simple printer of automated lists >=1.0.0 1.0.0 ?
watchdog Filesystem events monitoring >=2.0 6.0.0 Apache-2.0
zipp Backport of pathlib-compatible object wrapper for zip files >=3.20 3.23.0 ?