passagemath-gap
passagemath: Computational Group Theory with GAP
What it is and what it does
passagemath-gap is a Python distribution that wraps the GAP computational algebra system, providing interfaces for group-theoretic computation. It bundles GAP with a comprehensive set of GAP packages covering group representations, cohomology, combinatorics, Lie algebras, and related areas. The package is part of the passagemath project, a modularized fork focused on pip-installable binary wheels and integration with the scientific Python ecosystem.
It depends on passagemath-environment, passagemath-categories, passagemath-repl, and data packages for specific GAP libraries (factint, primgrp, smallgrp). Installation is straightforward on Linux and macOS via prebuilt wheels; Windows users currently need WSL or virtualization for full functionality. The package supports Python 3.11–3.14 and has no known vulnerabilities.
Use it for:
- Computing properties of finite groups, permutation groups, and group actions using GAP algorithms from Python.
- Accessing the GAP Small Groups Library and primitive permutation groups library for group classification.
- Performing cohomology calculations and representation theory computations via bundled GAP packages.
- Integrating group-theoretic computations into scientific Python workflows alongside other ecosystem tools.
- Prototyping and teaching group theory and computational algebra in interactive environments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python interfaces to the GAP computational algebra system through Cython-based libgap and Pexpect-based interactive access, bundled with GAP and a comprehensive set of GAP packages for group theory and related mathematics.
Yes, if you need Python access to GAP's group-theoretic algorithms and can use Linux/macOS or WSL on Windows. The package is actively maintained, has no known vulnerabilities, and provides binary wheels that eliminate compilation friction on supported platforms. The copyleft GPL-2.0-or-later license is a constraint for proprietary use. Install friction is moderate but manageable for academic and research use.
Install
passagemath-gap on PyPI
pip
pip install passagemath-gapuv
uv add passagemath-gappoetry
poetry add passagemath-gapInstalling passagemath-gap
Before you install
Medium install friction due to compiled dependencies and bundled GAP binaries. Package is actively maintained with recent releases and supports Python 3.11–3.14 across Linux, macOS, and partial Windows coverage via binary wheels.
License in practice
Licensed under GPL-2.0-or-later (copyleft). Use in proprietary or closed-source projects requires either licensing compliance or distribution under compatible open-source terms.
Quickstart
pip install passagemath-gap
import passagemath_gap
Requires Python 3.11–3.14; binary wheels available for Linux (x86_64, aarch64), macOS (x86_64, arm64), and limited Windows support. Full Windows functionality requires WSL or virtualization.
Verify before relying
- Specific API surface and usage patterns for the Cython libgap interface and Pexpect interface.
- Whether the prebuilt GAP binary and bundled packages are sufficient for typical workflows without additional installation.
- Performance characteristics of libgap versus Pexpect interface for large computations.
- Compatibility and testing coverage with the listed GAP packages on all supported platforms.
Package facts
| License | GPL-2.0-or-later (copyleft) |
| Python support | supports the current Python release (<3.15,>=3.11) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 10 — cysignals, dot2tex, memory_allocator, pexpect, passagemath-environment, passagemath-categories, passagemath-gap-pkg-factint-data, passagemath-gap-pkg-primgrp-data, passagemath-gap-pkg-smallgrp-data, passagemath-repl |
| Maintenance | actively maintained — 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 128,435/month — #11,707 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: passagemath_gap-10.8.9-cp311-cp311-macosx_13_0_arm64.whl; passagemath_gap-10.8.9-cp311-cp311-macosx_13_0_x86_64.whl; passagemath_gap-10.8.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; passagemath_gap-10.8.9-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; passagemath_gap-10.8.9-cp311-cp311-musllinux_1_2_aarch64.whl; passagemath_gap-10.8.9-cp311-cp311-musllinux_1_2_x86_64.whl; passagemath_gap-10.8.9-cp312-cp312-macosx_13_0_arm64.whl; passagemath_gap-10.8.9-cp312-cp312-macosx_13_0_x86_64.whl; passagemath_gap-10.8.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; passagemath_gap-10.8.9-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; passagemath_gap-10.8.9-cp312-cp312-musllinux_1_2_aarch64.whl; passagemath_gap-10.8.9-cp312-cp312-musllinux_1_2_x86_64.whl; passagemath_gap-10.8.9-cp313-cp313-macosx_13_0_arm64.whl; passagemath_gap-10.8.9-cp313-cp313-macosx_13_0_x86_64.whl; passagemath_gap-10.8.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; passagemath_gap-10.8.9-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; passagemath_gap-10.8.9-cp313-cp313-musllinux_1_2_aarch64.whl; passagemath_gap-10.8.9-cp313-cp313-musllinux_1_2_x86_64.whl; passagemath_gap-10.8.9-cp314-cp314-macosx_13_0_arm64.whl; passagemath_gap-10.8.9-cp314-cp314-macosx_13_0_x86_64.whl
Tags
More Mathematics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
kiwisolverkiwisolver is a Python binding to a fast C++…
permissive · top 1,000 on PyPI
sympySymPy is a Python library for symbolic…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
torchPyTorch provides GPU-accelerated tensor…
permissive · top 1,000 on PyPI
onnxruntimeonnxruntime loads and executes Open Neural…
permissive · top 1,000 on PyPI
passagemath-objectsProvides a foundational object system,…
copyleft · top 15,000 on PyPI
permutationProvides a Permutation class for representing…
permissive · top 15,000 on PyPI
passagemath-categoriesProvides Sage categories, basic rings,…
copyleft · top 15,000 on PyPI
cypari2cypari2 provides a Python interface to PARI/GP,…
copyleft · top 15,000 on PyPI
onemkl-sycl-blasProvides optimized C and Data Parallel C++…
unclear · top 15,000 on PyPI
nvidia-cusolverProvides CUDA solver native runtime libraries…
unclear · top 1,000 on PyPI
jaxliejaxlie implements Lie groups (SO2, SE2, SO3,…
permissive · top 15,000 on PyPI