PynamiX
Documentation here, or compile it yourself following the details below.
Installation
You can install via pip install pynamix.
Developers
Clone from github and then run:
pip install -e .
Running Tests
Run the test suite:
python -m unittest discover -s pynamix/tests -p "test_*.py"
See RUN_TESTS.md for more details.
Pre-commit Hooks
This project uses pre-commit hooks for code quality. Install them with:
pip install pre-commit
pre-commit install
pre-commit install --hook-type pre-push
The hooks will run:
- black - code formatting (on commit)
- flake8 - linting (on commit)
- tests - test suite (on push)
Releasing to PyPI (via GitHub tags)
This repo is configured to publish to PyPI from GitHub Actions when you push a version tag like v0.34.
Release steps:
- Update the version in
pyproject.toml. - Commit the change to
main. - Create and push a tag:
git tag v0.34
git push origin v0.34
Notes:
- Publishing uses PyPI Trusted Publishing (OIDC), which works with PyPI 2FA.
- PyPI will reject uploads if the version already exists, so the version must be bumped.
Examples
Try out the included Jupyter notebook to see how to use the package.
Dependencies
Should be handled in pip install for you. Currently requires:
- python3
- matplotlib
- numpy
- scipy
- imageio
Documentation
We use sphinx to manage the docs. Update documentation with:
cd docs
make html
Once these are built, you can commit and push the changes to github to have them refreshed on github pages. You can also view them locally.
Roadmap
A sorted implementation list is as follows:
1. Size measurement using the FFT technique
2. Option to choose between FFT and wavelet transform for size measurement
3. Wrapper for James's PIV code
4. Wrapper for James's fake radiograph generator
Release files for pynamix 0.35.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pynamix-0.35.0.tar.gz | 54.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pynamix-0.35.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 112.9 kB
Release files / pynamix-0.35.0.tar.gz
| Download URL | pynamix-0.35.0.tar.gz |
|---|---|
| Size | 54.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e135caaf90cb5aac2a1eb457a5dda0b762e16b5d07a7bae8fcd0fb3bf57a27de
|
|
BLAKE2b-256 checksum How to use checksums |
c21dbdf84a30397d08459c8e22efb6ad578d461be75f42c700fa9ee3bdc5cf60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.
Transparency logRelease files / pynamix-0.35.0-py3-none-any.whl
| Download URL | pynamix-0.35.0-py3-none-any.whl |
|---|---|
| Size | 58.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
169dbdc5f89f05164b122bd1963ca8a8a290f447536ca73a0b06294c4558b28a
|
|
BLAKE2b-256 checksum How to use checksums |
29c285a58749e41d388322af3f7d81441790b14e300d0d56a5215b8e74c74458
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 25, 2026.
Transparency log