nbody-iv-conditioner
A N-body initial values conditioner. Given state vectors and desired first integrals, this lib conditionates these state vectors to obtain these first integrals (as long as it's physically possible).
The theory behind all this thing is in the documentation.
Python interface
The python interface is available on a PyPI repository and to install it just run
pip install nbody-iv-conditioner
The interface is almost the same as the Fortran, and it have two big classes: Utils and Conditioners. Although the modules are available too, the parameters needs to be in Fortran format in many functions (because in Fortran they may be subroutines with intent(inout)), and using the classes Utils and Conditioners all the functions have the automatic conversor.
import nbody_iv_conditioner as nivc
import numpy as np
N = 10
ms = np.ones(N)/N
qs = 2.0 * np.random.random((3,N)) - 1.0
# move the com to origin
ms, qs, ps = nivc.Conditioners.comori(ms, qs)
com = nivc.Utils.center_of_mass(ms, qs)
Fortran interface
To compile the Fortran interface, just go the directory fortran and run
make lib
It's possible to change the directory where the library goes. The default is /lib (at the root of this directory). To change, just use the parameter INSTALL_DIR.
To link the compiled library to your script if you installed it on the directory "/abobrinha", just add the flags to your gfortran command:
-I/abobrinha -L/abobrinha -lconditioners_mod -lutils
Example:
gfortran -o my_program my_script.f90 -I/abobrinha -L/abobrinha -lconditioners_mod -lutils
To use the subroutines, just import the modules:
use conditioners_mod
use utils_mod
Tests/examples
There are some tests to guarantee that all the things works. To run it:
make test
./test
Metadata
Release files for nbody-iv-conditioner 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 5.4 MB
Release files / nbody_iv_conditioner-0.0.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nbody_iv_conditioner-0.0.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9441732c25fbc13f31b0de60985600f6840d91f532af8da97ba2bcdda6326f58
|
|
BLAKE2b-256 checksum How to use checksums |
8f4647c17a45f4c6e25669c491f1bfe640041ca42710ab43a733ff5a0cf64fec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 12, 2026.
Transparency logRelease files / nbody_iv_conditioner-0.0.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nbody_iv_conditioner-0.0.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e274fb43e5f33febb6762de0d5511110d1e8ae3688d33775d2a33125ce1dd43b
|
|
BLAKE2b-256 checksum How to use checksums |
f8bd993e3bec446db8d7840867d7e22eb3cbc2e25a61ffa9dd1475e1cd88af29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 12, 2026.
Transparency logRelease files / nbody_iv_conditioner-0.0.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nbody_iv_conditioner-0.0.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
248cf3ff01cd55e2842217118e510332ec45573d21b9acb2063bf50c1cd3504b
|
|
BLAKE2b-256 checksum How to use checksums |
06371a0d7b09fe121ec6c8959b71a67d62d4b0b5d44ed090bd354424fd64e79c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 12, 2026.
Transparency logRelease files / nbody_iv_conditioner-0.0.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nbody_iv_conditioner-0.0.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8486bb54694b2318bfe43e4a3c74385caa79eba9def40ebf8cc613afe24acbce
|
|
BLAKE2b-256 checksum How to use checksums |
19544a48e2bb520193ea77237e489bef42077146266c51b5f8d504876b98d065
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 12, 2026.
Transparency logRelease files / nbody_iv_conditioner-0.0.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | nbody_iv_conditioner-0.0.3-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
475e09a6bdd1a41d7746e757002bec38852850bdcff34fc6668d3e88930d81d6
|
|
BLAKE2b-256 checksum How to use checksums |
fc19b69b3e727607887597c180865ca1cad8553465062d79a74e493f7957cce1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 12, 2026.
Transparency logSecurity for nbody-iv-conditioner 0.0.3
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.
Full provenance
All 5 files in this release have been uploaded with provenance metadata.
Attestation for nbody_iv_conditioner-0.0.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
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 Aug 12, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.