SciNumTools3 for Python
Unit-safe quantities, runtime expressions, and validated scientific parameters for Python.
SciNumTools3 helps eliminate hidden assumptions in scientific software by providing:
- ✅ Physical quantities with units
- ✅ Automatic unit conversion
- ✅ Runtime expression evaluation
- ✅ Validated input parameters
- ✅ Structured scientific configuration files
- ✅ Consistent parameter handling across simulation and analysis workflows
Relationship to the C++ Core
scinumtools3 is the official Python binding for the SciNumTools3 C++ project.
The Python package exposes the same core concepts used by the C++ implementation, including:
- Physical Units & Quantities (PUQ)
- Dimensional Input Parameters (DIP)
- Runtime expression evaluation
- Unit-aware validation and conversion
This enables consistent parameter definitions and unit handling across Python analysis workflows and C++ simulation codebases.
C++ Project
The underlying C++ implementation is available on GitHub:
https://github.com/vrtulka23/scinumtools3
The C++ project serves as the reference implementation and provides high-performance support for scientific computing, numerical simulations, and HPC workflows.
Installation
Install directly from PyPI:
pip install scinumtools3
PyPI package:
https://pypi.org/project/scinumtools3/
Why SciNumTools3?
Scientific workflows frequently suffer from:
- inconsistent unit handling
- manual conversion mistakes
- duplicated parameter definitions
- missing validation
- configuration drift between simulation and analysis code
SciNumTools3 provides a unified framework for defining, validating, and evaluating scientific parameters while preserving physical units throughout calculations.
Core Features
Physical Quantities
Create quantities with physical units and perform automatic conversions:
from scinumtools3.puq import Quantity
length = Quantity("1*m")
length = length.convert("km")
print(length)
# 1e-3*km
Unit-Aware Arithmetic
from scinumtools3.puq import Quantity
distance = Quantity("1000*m")
time = Quantity("100*s")
velocity = distance / time
print(velocity)
# 10*m*s-1
Validated Parameters (DIP)
Define scientific parameters with units, constraints, and dependencies.
from scinumtools3.dip import DIP
dip = DIP()
dip.add_string("temperature float = 300 K")
dip.add_string("pressure float = 1 atm")
env = dip.parse()
Example parameter specification:
simulation
timestep float = 0.5 fs
!condition ({.} > 0.0 fs)
temperature float = 300 K
!condition ({.} > 0 K)
pressure float = 1 atm
steps int = 1000000
!condition ({.} > 1)
duration float = ( {?simulation.timestep} * {?simulation.steps} )
ensemble string = "NPT"
!options ["NVE", "NVT", "NPT"]
Domain-Specific Languages
SciNumTools3 is built around two scientific DSLs.
PUEL — Physical Units Expression Language
A concise language for representing physical quantities, units, dimensions, uncertainties, and arrays.
Examples:
ESU_erg
m2*kg*s-2
kg2*ms3:2*cm
1.346591(30)e27*kg
[2,3,4,5]*km
PUEL powers:
- quantity parsing
- dimensional analysis
- unit conversions
- unit-aware calculations
DIPL — Dimensional Input Parameter Language
A declarative language for defining scientific parameters with:
- types
- units
- constraints
- dependencies
- validation rules
This allows scientific applications to maintain a single source of truth for configuration and input validation.
Quick Example
from scinumtools3.puq import Quantity
from scinumtools3.dip import DIP
# Unit conversion
length = Quantity("1*m")
length = length.convert("km")
print(length)
# 1e-3*km
# Validated parameters
dip = DIP()
dip.add_string("foo int m")
dip.add_string("foo = 3 km")
env = dip.parse()
print(env.nodes[0])
# 3000 m
Documentation
Full documentation, API reference, language specifications, and examples:
https://vrtulka23.github.io/scinumtools3/
Documentation includes:
- Python API reference
- PUEL specification
- DIPL specification
- Tutorials and examples
Typical Use Cases
- Scientific computing
- Physics simulations
- Engineering applications
- Data analysis pipelines
- Research software
- Hybrid Python/C++ workflows
- Unit-safe parameter management
Contributing
Contributions are welcome.
git clone https://github.com/vrtulka23/scinumtools3.git
cd scinumtools3
Please open an issue or pull request for bug fixes, improvements, or new features.
License
SciNumTools3 is released under the MIT License.
See the LICENSE file for details.
Links
Metadata
Release files for scinumtools3 0.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scinumtools3-0.6.4.tar.gz | 300.7 kB | Details |
Built distributions (wheels)
Total release size: 241.2 MB
Release files / scinumtools3-0.6.4.tar.gz
| Download URL | scinumtools3-0.6.4.tar.gz |
|---|---|
| Size | 300.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0ae17ded440e53880a82d70427b2d451ae1998e001aa95a441c685c5893f05ba
|
|
BLAKE2b-256 checksum How to use checksums |
3475289312fe67a8f46316c7075e5a42d8a547d23457710ede1dc5edb0dcd001
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp313-cp313-win_amd64.whl
| Download URL | scinumtools3-0.6.4-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 25.4 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
66cdbae6bad2730768cf6595405ce72d56619284e19c9aab1a37cc0ec54ad256
|
|
BLAKE2b-256 checksum How to use checksums |
4868fa0d7ecc2057ae48338998f35d418e7b95c41522bede9f1f11db670b2f4f
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
8017670662e180fb283b7552bc679f22d5869d3927f100a10edfd7a064477e80
|
|
BLAKE2b-256 checksum How to use checksums |
ca4f1c8e03d53cf9809212f639ce484f336043f153cb75b6d582e503307ce167
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
871f713e65c70c6ca73e90e121efb2f6e821973e48bf70f0bd7ee44f31b48e87
|
|
BLAKE2b-256 checksum How to use checksums |
3def81f44f015aa055018119fd330b6b0f10d1fb9c8b5d2140a5e46fb9ca9864
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | scinumtools3-0.6.4-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
06da3492e8238fb6a7709b945cade0a28673be44f7afc4b9a8cded7eb764ba9c
|
|
BLAKE2b-256 checksum How to use checksums |
f3ab7ac3fb332f0e7a824ee0e5e6157e01c7fd7b576cd65b7783f8c102cbc70e
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp312-cp312-win_amd64.whl
| Download URL | scinumtools3-0.6.4-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 25.4 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a7c5e7c245fa92e00113e48e61125411afca449d03ae7364f264a914eb6dc76d
|
|
BLAKE2b-256 checksum How to use checksums |
d8d48d682473fc5a3059a58aacf17faeffd5a99093c6fce3a43ffdd15495d612
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c823cd97dbfdd8e483a54599d4d3d43f71472afdd3a48bc0e6e915c203d24569
|
|
BLAKE2b-256 checksum How to use checksums |
3b5df9663e546644235807e743cc039a634a99016eed19324390d3778dd97420
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
db6418eb8be03aa5a6134808e567054a7a2416429ab44cff4e5476a4410adf06
|
|
BLAKE2b-256 checksum How to use checksums |
fc6743e71318cc31b4286468420e7d8a1a08916b651850b34c83778afdc01bec
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | scinumtools3-0.6.4-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e7325ed062403719e9fd63adc58caed857bf506f9e36a7142361eb3aceb7176c
|
|
BLAKE2b-256 checksum How to use checksums |
469351a9006bb0bc7562c1ae5f8d6226920cd25e065a847555d4e69edad6bc24
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp311-cp311-win_amd64.whl
| Download URL | scinumtools3-0.6.4-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 25.4 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6cb7c700150286d6654c81077a3f465422893e321335aa7fc08badceab56c691
|
|
BLAKE2b-256 checksum How to use checksums |
cfdfaad8c9d9f4fea84ad922c5ad4e75b7ea895c129f346b0a18f5667d01c55d
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
4fc4f63bdecf6ec9d05346cda21d9752ddc5e213f314be63cdc2cd1dc851dddd
|
|
BLAKE2b-256 checksum How to use checksums |
0f8f69f8e7256f7fbf3f3392371fea5acf55fd25d68a3e4ebac2c7d6b276dc4a
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7a53a8d6318a6feab373ee74010425049b360f11084d28ac8404330c4661e704
|
|
BLAKE2b-256 checksum How to use checksums |
d9da3cb3f8e3d39ec466c517a9682ecb84855e5bc5130213fa5784e42da56230
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | scinumtools3-0.6.4-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7c5bd697d3fc55be7bb36e0cf8ac491baf537893f5474646ff90516f1d71809e
|
|
BLAKE2b-256 checksum How to use checksums |
f1264fa9d8bd3cfba506ba894876e2739cafb6900b37affd809211ff6511500f
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp310-cp310-win_amd64.whl
| Download URL | scinumtools3-0.6.4-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 25.4 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
52c2d7176c0ede2f28faad318f391af89f439cebabbe155c43d2402e3a3b3466
|
|
BLAKE2b-256 checksum How to use checksums |
0049d40880c92a77a9dd2d13a77019c579c10a74b94f14de6773e419f445cbbc
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
9d7a64138490d39168fff88d1070510a8505fcaf3cc0e1f93d058c48f434ac30
|
|
BLAKE2b-256 checksum How to use checksums |
448fac57a65e2bfce9d9983867e984ac44bf326947f6524c01828d641a687365
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | scinumtools3-0.6.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 12.3 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9631ac1aca10d00a8e8d32898796a97bf1c6de3232d31d040a60e60b4748d52a
|
|
BLAKE2b-256 checksum How to use checksums |
6303aa105f1cc0d9c47a853e4ea1ba577a66a07b13ecba76338208e0f3e21878
|
| 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 16, 2026.
Transparency logRelease files / scinumtools3-0.6.4-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | scinumtools3-0.6.4-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
59687f85fc19b412d5b574c79bc6740f6fa333905d4dea1bd5212e1cde296d4e
|
|
BLAKE2b-256 checksum How to use checksums |
f7e7e62f533c84f64f057c215152dec0282234896892a393e169e1623e07c14e
|
| 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 16, 2026.
Transparency log