# What is the import name for passagemath-categories?

**URL:** <https://passagemath.discourse.group/t/what-is-the-import-name-for-passagemath-categories/15>\
**Category:** General\
**Created:** [April 17, 2025, 9:08pm UTC](https://passagemath.discourse.group/t/what-is-the-import-name-for-passagemath-categories/15 "2025-04-17T21:08:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jpgoldberg](https://yyz2.discourse-cdn.com/free1/user_avatar/passagemath.discourse.group/jpgoldberg/32/7_2.png) [@jpgoldberg](https://passagemath.discourse.group/u/jpgoldberg)\
**Post date:** [April 17, 2025, 9:08pm UTC](https://passagemath.discourse.group/t/what-is-the-import-name-for-passagemath-categories/15/1 "2025-04-17T21:08:09Z")

</div>

I have installed [Client Challenge](https://pypi.org/project/passagemath-categories/) using pip, but I can’t figure out how to import into a python module.

```python
from WHAT_DO_I_PUT_HERE import Zmod

```

If my question reflects a failure to understand how this is to be used, I would appreciate some guidance.

## Irrelevant background

First of all, I really want to thank everyone involved in this effort to have pip installable modules for components of Sage. It really is exactly what I need.

In my particular case, I found that one of my methods (expecting a Python `int` was failing when the argument I passed to it was an instance of `<class 'sage.rings.finite_rings.integer_mod.IntegerMod_gmp'>`. The package I am developing doesn’t use SageMath, but I had called my thing from a Jupyter notebook that uses Sage.

I believe that I have fixed my code to behave correctly when passed a member of such a group, but I want to write a test for that. I really do not wish to make all of SageMath a dependency for my tests just for one little test function. All I need is `Zmod()`.

And this has led me to the difficulty I have described above.

---

<div class="post-metadata">

**Author:** ![mkoeppe](https://yyz2.discourse-cdn.com/free1/user_avatar/passagemath.discourse.group/mkoeppe/32/3_2.png) [@mkoeppe](https://passagemath.discourse.group/u/mkoeppe)\
**Post date:** [April 25, 2025, 5:33pm UTC](https://passagemath.discourse.group/t/what-is-the-import-name-for-passagemath-categories/15/2 "2025-04-25T17:33:46Z")

</div>

A quick way to import everything for interactive use that is provided by passagemath-categories, use `from sage.all__sagemath_categories import *`.

In the monolithic Sage, to find the correct specific import to use, you can type:

```auto
sage: import_statements('Zmod')
from sage.rings.finite_rings.integer_mod_ring import Zmod

```

---

<div class="post-metadata">

**Author:** ![mkoeppe](https://yyz2.discourse-cdn.com/free1/user_avatar/passagemath.discourse.group/mkoeppe/32/3_2.png) [@mkoeppe](https://passagemath.discourse.group/u/mkoeppe)\
**Post date:** [December 8, 2025, 6:01am UTC](https://passagemath.discourse.group/t/what-is-the-import-name-for-passagemath-categories/15/3 "2025-12-08T06:01:20Z")

</div>

> [@mkoeppe](#):
>
> A quick way to import everything for interactive use that is provided by passagemath-categories, use `from sage.all__sagemath_categories import *`.

Since [Release passagemath-10.6.37 · passagemath/passagemath · GitHub](https://github.com/passagemath/passagemath/releases/tag/passagemath-10.6.37), there is another way to do the same: `from passagemath_categories import *`
