-
Notifications
You must be signed in to change notification settings - Fork 254
[PyGambit]: Configuration of catalog #823
Copy link
Copy link
Closed
Labels
bugcatalogIssues that relate to the Gambit's Catalog of gamesIssues that relate to the Gambit's Catalog of gamespythonItems which involve coding in PythonItems which involve coding in Python
Milestone
Description
The configuration of how we're packaging the catalog in pygambit doesn't look quite right. I am getting the following warning for each of the directories in the catalog.
/private/var/folders/33/szs2dgz97j7dhgx5zdfjfzs40000gn/T/pip-build-env-ijz85bne/overlay/lib/python3.13/site-packages/setuptools/command/build_py.py:215: _Warning: Package 'pygambit.catalog.myerson1991' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'pygambit.catalog.myerson1991' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'pygambit.catalog.myerson1991' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'pygambit.catalog.myerson1991' to be distributed and are
already explicitly excluding 'pygambit.catalog.myerson1991' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
I am thinking the problem here is that we have the Python code in catalog/__init__py. That should be in perhaps pygambit/catalog.py instead. Then we should copy over the catalog to a different directory (maybe catalog_data or catalog_games? I am thinking it's the __init__.py that is the core of the problem, as that's what makes it look like a package.
It would also be much cleaner to keep all of the Python code under src/pygambit rather than having some of it copied over at build time.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugcatalogIssues that relate to the Gambit's Catalog of gamesIssues that relate to the Gambit's Catalog of gamespythonItems which involve coding in PythonItems which involve coding in Python