Skip to content

Pypi compatible wheel builds#126

Open
carissableker wants to merge 1 commit intohklarner:pypifrom
carissableker:master
Open

Pypi compatible wheel builds#126
carissableker wants to merge 1 commit intohklarner:pypifrom
carissableker:master

Conversation

@carissableker
Copy link
Collaborator

@carissableker carissableker commented Mar 3, 2026

Refactor install process and executable discovery for PyPi compatible wheel builds, created a PyPi project

Now works:

pip install pyboolnet

Changes:

  • moved binaries into pyboolnet (all are distributed OS independently during setup)
  • setup-time OS-specific binary copying is replaced with runtime resolution using importlib.resources
  • settings.cfg now only contain absolute and relative paths, relative paths are resolved using importlib.resources
  • system tools are identified using shutil.which()
  • repository folder included using package_data instead of manually copying
  • updated setup.py with respect to these changes

All test are passed after building with "python3 -m build" and installing the resultant wheel into a new environment.

Upload to PyPi:

Build the distribution:

python3 -m build

Upload:

python3 -m twine upload --repository pypi dist/*

Page: https://pypi.org/project/pyboolnet/

I am happy to transfer project ownership at PyPi (I just need a PyPi username).

Long term, a GitHub Action is probably the way forward:
https://packaging.python.org/en/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/

Caveats:

  • do not know how this affects the colomoto conda install
  • only tested on Linux (Ubuntu)

Related to

Pull request

This pull request is into a new branch "PyPi", to keep it seperate from package functionality, in case it is incompatible and to facilitate contributions from others with a stake in the build/install process.

… wheel builds

- moved binaries into pyboolnet (all are distributed OS independently during setup)
- setup-time OS-specific binary copying is replaced with runtime resolution using importlib.resources
- settings.cfg now only contain absolute and relative paths, relative paths are resolved using importlib.resources
- system tools are identified using shutil.which()
- repository folder included using package_data instead of manually copying
- updated setup.py with respect to these changes

All test are passed after building with "python3 -m build" and installing the resultant wheel into a new environment.

Caveats:
- do not know how this affects the colomoto conda install
- only tested on Linux (Ubuntu)

Related to
- hklarner#124
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant