skillfed

passagemath-objects

passagemath: Sage objects, elements, parents, categories, coercion, metaclasses

passagemath-objects v10.8.9 77.8K downloads/30d#14,492 on PyPI102
Copyleft license GPL-2.0-or-later Active released

What it is and what it does

passagemath-objects is a modularized subset of mathematical software, extracted and distributed as a standalone pip-installable package. It provides foundational object-oriented infrastructure: the element/parent framework for representing mathematical objects, the category system for organizing mathematical structures, the coercion machinery for automatic type conversion, and the metaclasses that power the type hierarchy. This package is part of the passagemath fork, created in October 2024 to bring mathematical software into closer alignment with the scientific Python ecosystem while maintaining GPL-2.0-or-later licensing.

The package is intended for developers who need this object model without installing a full distribution. It depends on gmpy2 (arbitrary-precision arithmetic), cysignals (signal handling for interrupts), and typing_extensions for runtime type hints. Binary wheels are available for macOS, Linux (including musl), and Windows x86_64, though full Windows support still requires WSL or virtualization. The package is actively maintained with support for Python 3.11 through 3.14.

Use it for:

  • Building mathematical libraries that need the element/parent framework and coercion system without a full distribution.
  • Integrating mathematical objects into scientific Python workflows using gmpy2 and other ecosystem packages.
  • Developing educational software that leverages the category system and mathematical object hierarchy.
  • Creating domain-specific mathematical abstractions that inherit from the provided base classes and metaclasses.
  • Prototyping mathematical algorithms using the type coercion and dispatch mechanisms.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a foundational object system, element/parent framework, categories, and coercion machinery as a standalone, pip-installable Python library.

Yes, if you need this object system and coercion framework in lightweight, modular form. The package is actively maintained with no known vulnerabilities and offers binary wheels for major platforms. The GPL-2.0-or-later copyleft license is a hard constraint for proprietary projects; for open-source and academic use, it is straightforward. Install friction is moderate due to compiled dependencies, but pre-built wheels reduce friction on standard platforms.

Install

passagemath-objects on PyPI

pip

pip install passagemath-objects

uv

uv add passagemath-objects

poetry

poetry add passagemath-objects

Installing passagemath-objects

Before you install

Medium install friction due to compiled dependencies (gmpy2, cysignals) requiring system libraries when building from source. Actively maintained with recent releases; last commit 2026-08-14. Supports Python 3.11–3.14.

License in practice

GPL-2.0-or-later copyleft license requires derivative works to be open-source under compatible terms; suitable for academic and open-source projects but requires legal review for proprietary use.

Quickstart

pip install passagemath-objects

from passagemath_objects.structure.element import Element
from passagemath_objects.structure.parent import Parent

Requires Python 3.11–3.14; gmpy2 and cysignals dependencies may require system libraries (gmp, mpfr, mpc) when building from source.

Verify before relying

  • Whether the coercion system and metaclass framework are stable for production use outside their original context.
  • Performance characteristics and memory footprint of the extracted subset.
  • Compatibility guarantees with upstream projects and versioning stability.

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 3 — gmpy2, cysignals, typing_extensions
Maintenance actively maintained — 5 days since the last release
Last repo commit
First released
Downloads 77,809/month — #14,492 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: passagemath_objects-10.8.9-cp311-cp311-macosx_13_0_arm64.whl; passagemath_objects-10.8.9-cp311-cp311-macosx_13_0_x86_64.whl; passagemath_objects-10.8.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; passagemath_objects-10.8.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; passagemath_objects-10.8.9-cp311-cp311-musllinux_1_2_aarch64.whl; passagemath_objects-10.8.9-cp311-cp311-musllinux_1_2_x86_64.whl; passagemath_objects-10.8.9-cp311-cp311-win_amd64.whl; passagemath_objects-10.8.9-cp312-cp312-macosx_13_0_arm64.whl; passagemath_objects-10.8.9-cp312-cp312-macosx_13_0_x86_64.whl; passagemath_objects-10.8.9-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; passagemath_objects-10.8.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; passagemath_objects-10.8.9-cp312-cp312-musllinux_1_2_aarch64.whl; passagemath_objects-10.8.9-cp312-cp312-musllinux_1_2_x86_64.whl; passagemath_objects-10.8.9-cp312-cp312-win_amd64.whl; passagemath_objects-10.8.9-cp313-cp313-macosx_13_0_arm64.whl; passagemath_objects-10.8.9-cp313-cp313-macosx_13_0_x86_64.whl; passagemath_objects-10.8.9-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; passagemath_objects-10.8.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; passagemath_objects-10.8.9-cp313-cp313-musllinux_1_2_aarch64.whl; passagemath_objects-10.8.9-cp313-cp313-musllinux_1_2_x86_64.whl

Development Status :: 6 - MatureIntended Audience :: EducationIntended Audience :: Science/ResearchOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Scientific/Engineering :: Mathematics

Tags

element parent framework pythonmathematical object coercion systemcategories metaclasses mathematicspython mathematical software objectsmodular mathematical library pip
mathematical-objectscoercion-systemmodular-subset

More Mathematics packages