Registry / data / passagemath-objects

passagemath-objects

JSON →
library10.8.4pypypi✓ verified 86d ago

Core library for mathematical object infrastructure in the passagemath ecosystem. Provides base classes for Sage-like elements, parents, categories, coercion framework, and metaclasses. Part of the passagemath distribution (successor to SageMath components). Current version 10.8.4, supports Python 3.11-3.14. Released as part of passagemath v10.8.x series.

pip install passagemath-objects
INSTALL
IMPORT
SIG · PASSAGEMATH-OBJECT
P
passagemath-objects
datapythonv10.8.4
Install
—
Import
—
Disk
—
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v10.6.48 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
1/2 runs
1/2 runs
py 3.11
1/2 runs
1/2 runs
py 3.12
1/2 runs
1/2 runs
py 3.13
1/2 runs
1/2 runs
py 3.9
1/2 runs
1/2 runs
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Parent
✓ from sage.structure.parent import Parent
✗ from passagemath.objects.parent import Parent
Category
✓ from sage.categories.category import Category
✗ from passagemath.objects.category import Category
Morphism
✓ from sage.categories.morphism import Morphism
✗ from passagemath.objects.morphism import Morphism

Create a custom parent class with category support using passagemath-objects.

from passagemath.objects.parent import Parent from passagemath.objects.element import Element from passagemath.objects.category import Category class MyParent(Parent): def __init__(self): super().__init__(category=Category()) p = MyParent() print(isinstance(p, Parent)) # True
Debug
Known issues
breakingAll import paths changed from sage.* to passagemath.*. Code written for SageMath will not work.
fix
Replace sage structure imports with passagemath.objects.*
affects: >=10.0
deprecatedThe class `CategoryInfinite` is deprecated; use `Category` with appropriate finiteness parameter.
fix
Replace `CategoryInfinite()` with `Category(is_finite=False)`
affects: 10.8.0-10.8.4
gotchaCoercion model initialization requires explicit setup; default model raises ValueError if used directly without configuration.
fix
Call `CoercionModel()._init_coercion()` after creation or use `from passagemath.objects.parent import Parent` which sets it up automatically.
affects: >=10.0
gotchaMemory leaks may occur if elements are not properly garbage collected due to reference cycles in coercion caches.
fix
Use `gc.collect()` after cycles or call `Element._reset_cache()` periodically.
affects: all
Upgrade
Version history
10.8.4latest on PyPI · released Apr 20, 2026
Audit
Dependencies
passagemath-confrequiredConfiguration and global settings for passagemath
cypari2optionalPARI/GP integration for number theory objects
memory_allocatoroptionalEfficient memory allocation for large objects
Agent activity
9 hits · last 30 days
node
6
Resources
passagemath-objects — pip install passagemath-objects · libregistry