Skip to main content

Python bindings for the scinumtools3 C++ core

Project description

Scientific Numerical Tools v3 (SciNumTools3, SNT)

SciNumTools3 is a C++ library for unit-safe, validated parameters—eliminating hidden assumptions in scientific code.

Linux Build macOS Build License: MIT GitHub release C++20 GCC Clang


Overview

Scientific software often suffers from inconsistent parameter definitions, ad hoc unit handling, and missing validation. These issues become particularly problematic in workflows that span multiple components or languages.

SciNumTools3 (or SNT) addresses this by providing a unified system that combines:

  • Runtime expression evaluation → define relationships without recompilation
  • Unit-aware quantities → prevent scaling and conversion errors
  • Validated input parameters → detect invalid configurations early
  • Cross-language consistency → shared parameter logic between C++, Python and CLI
  • Lightweight integration → header-based design with CMake support

into a single configuration layer that can be used consistently across workflows.

SNT is a C++ library, with optional Python bindings, designed for safer and more transparent numerical computation. It is built around four core components:

Value Layer (VAL) — a unified, typed multidimensional data model for booleans, numeric values, and strings, forming the core runtime representation shared across all components

Expression Solver (EXS) — a generic, extensible evaluation framework capable of operating on arbitrary data types defined as atoms; its behavior is fully determined by the set of atom types, operators/functions, and evaluation rules (precedence and semantics), making it adaptable to domain-specific evaluation systems

Physical Units & Quantities (PUQ) (built on VAL + EXS) — extends the value system with physical units, enabling unit-aware arithmetic, dimensional consistency, and automatic conversions through EXS-based evaluation

Dimensional Input Parameters (DIP) (built on VAL + EXS + PUQ) — a declarative parameter definition layer that enforces types, units, constraints, and structure, while delegating all numerical, logical, and unit-aware expression evaluation to EXS via PUQ

Together, these components establish a validated, unit-aware configuration framework that can be consistently shared across heterogeneous environments, including C++ simulations, Python-based analysis workflows, and Bash-driven processing pipelines.

This design enables:

  • a single source of truth for parameters
  • consistent interpretation of units and values across codebases
  • early detection of invalid or inconsistent inputs

As a result, discrepancies between simulation and analysis pipelines are significantly reduced.

This project is the C++ counterpart to the original Python SciNumTools v2, with a focus on performance, static typing, and integration into high-performance computing workflows.

Why use SNT?

Compared to alternatives:

  • Boost.Units → compile-time only, no runtime expressions
  • pint → Python-only, no C++ integration
  • ad hoc configs → no validation, no unit safety

SNT combines:

  • runtime expressions → dynamic configs without recompilation
  • unit safety → prevents silent scaling errors
  • validated parameters → fail fast instead of corrupting simulations

in a single system.

Target Use Cases

  • scientific simulations (C/C++, HPC)
  • physics / engineering pipelines
  • parameter-heavy workflows with unit safety requirements
  • hybrid C++ / Python environments

Installation

Download and install

  1. Manually

    # download repository
    git clone https://github.com/vrtulka23/scinumtools3.git
    cd scinumtools3
    
    # compile
    cmake -B build
    cd build
    make
    
    # run tests
    ctest
    
    # install
    sudo make install
    
  2. Using setup script

    sudo ./setup.sh -b -t -i  # build, run tests, install
    

Link SciNumTools3 in your CMAKE project

  1. Find the package

    # find the `SNT` package
    find_package(snt REQUIRED)
    
    # link to your executable
    add_executable(${EXEC_NAME} ${SOURCE_FILES})
    target_link_libraries(${EXEC_NAME} PRIVATE snt-exs snt-puq snt-dip)
    

Quick Example

Domain Specific Languages

SciNumTools is built around two domain-specific languages that form the foundation of the framework and enable consistent handling of scientific notation and dimensional analysis. The first language, PUEL, defines a formal notation system for representing physical units and quantities in a precise and machine-readable way. The second language, DIPL, provides a textual specification format for defining dimensional parameters and their relationships. Together, these languages establish the core abstraction layer of SciNumTools, allowing scientific data, units, and dimensional constraints to be expressed in a structured, interoperable, and extensible manner.

Physical Units Expression Language - PUEL

Expressions of physical units must account for several important aspects, including the underlying unit system (such as SI, CGS, Atomic Units, or US Customary Units), unit prefixes and scaling factors (such as kg, mm, or MJ), the associated numerical values (whether scalar values or arrays), uncertainties arising from measurements, the relationship between base units and physical dimensions, as well as support for integer and fractional exponents of units.

PUEL provides a minimal, coherent and extensible notation that integrates all of these concerns into a unified representation.

# General form
<SYSTEM>_[<VALUE>]*<UNIT><EXPONENT>

# Examples
ESU_erg              # defining erg in ESU unit system
m2*kg*s-2            # definition of complex units
kg2*ms3:2*cm         # fractional exponents
1.346591(30)e27*kg   # uncertainties in measurements
[2, 3, 4, 5]*km      # arrays of values

Building upon this specification, the PUQ module of SciNumTools implements parsing, dimensional analysis, arithmetic operations, and unit conversion both within a single unit system and across different systems.

Dimensional Input Parameter Language - DIPL

The definition of input parameters for scientific and engineering software involves several recurring requirements that are common across many numerical codes. High-performance applications often require strongly typed parameters with explicitly defined numerical precision. Numerical values frequently carry associated physical units, and many parameters consist not only of scalar values, but also arrays, matrices, or tabulated datasets.

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"]

In addition, parameters commonly require validation rules, numerical constraints, admissible ranges, or configurable options that govern their behavior and interpretation. Parameter definitions are often interdependent as well, where the validity, availability, or meaning of one setting depends on the values of others. DIPL provides a coherent and extensible framework for expressing these definitions, relationships, and constraints in a structured, machine-readable, and implementation-independent form.

Example of Use

Below is a quick example how to use the core functionality of scinumtools3. For more examples and patterns please look into the tests, exec, apps and bindings folders.

with C++

#include <snt/exs/atom.h>
#include <snt/exs/solver.h>
#include <snt/val/values_array.h>
#include <snt/dip/dip.h>
#include <snt/dip/environment.h>
#include <snt/dip/nodes/node_value.h>
#include <iostream>

using namespace snt;

int main() {

  exs::Solver<exs::Atom> solver;
  exs::Atom atom = solver.solve("23 * 34.5 + 4");
  std::cout << atom.to_string() << std::endl;
  // 797.5

  val::ArrayValue<double> value({1.23, 4.56e7});
  std::cout << value.to_string() << std::endl;
  // [1.23, 4.56e7]

  puq::Quantity length("1*m");
  length = length.convert("km");
  std::cout << length.to_string() << std::endl;
  // 1e-3*km

  dip::DIP d;
  d.add_string("foo int m");
  d.add_string("foo = 3 km");
  dip::Environment env = d.parse();
  dip::ValueNode::PointerType vnode = env.nodes.at(0);
  std::cout << vnode->value->to_string() << std::endl;
  // 3000
}

with Python

from scinumtools3.puq import Quantity
from scinumtools3.dip import DIP, Environment

length = Quantity("1*m")
length = length.convert("km");
print(length) 
# 1e-3*km

dip = DIP()
dip.add_string("foo int m");
dip.add_string("foo = 3 km");
env = dip.parse();
print(env.nodes[0])
# 3000 m

with CLI (e.g. BASH)

snt puq convert "12*statA" "A" -s ESU -S SI -Q "I"
# 4.00277e-9*A

snt dip parse \
    -f parameters.dip \
    -r "?family.father" \
    --print
# father = 184 cm

Documentation

The docs/ directory contains the complete API reference and user guides for the project. The online documentation for the C++ reference implementation, including Python bindings and the CLI, is available here.

It also provides detailed specifications for the DIPL and PUEL domain-specific languages:

DIPL is used to define validated, structured input parameters.
PUEL defines a syntax for unit-aware expressions and calculations.


Contributing

Contributions are welcome — please follow these guidelines:

  1. Fork the repo and create a feature branch:

    git clone https://github.com/vrtulka23/scinumtools3.git
    git checkout -b feature/my-feature
    
  2. Follow the coding style (.clang-format) and use modern C++ (C++17+).

  3. Add unit tests for new features or bug fixes (see tests/).

  4. Build and run tests locally:

    ./setup.sh -b -t   # build, run tests
    
  5. Open a Pull Request with a clear description and link to any related issues.

See CONTRIBUTING.md for full instructions.

License

This project is licensed under the MIT License. See the LICENSE file for full text.

Contact / Issues

Found a bug or have a feature request? Open an issue at: https://github.com/vrtulka23/scinumtools3/issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scinumtools3-0.4.1.tar.gz (260.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_i686.whl (13.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (9.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

scinumtools3-0.4.1-cp313-cp313-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_i686.whl (13.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (9.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

scinumtools3-0.4.1-cp312-cp312-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl (13.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_i686.whl (13.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (9.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

scinumtools3-0.4.1-cp311-cp311-macosx_11_0_arm64.whl (10.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file scinumtools3-0.4.1.tar.gz.

File metadata

  • Download URL: scinumtools3-0.4.1.tar.gz
  • Upload date:
  • Size: 260.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scinumtools3-0.4.1.tar.gz
Algorithm Hash digest
SHA256 086a57393a17f04003eefeabd2157b4c18606e908042a78d3ea99c0f04effc4e
MD5 e54e8b7eb4b8ab9e56191c11e2f42230
BLAKE2b-256 d4e39fe90d44853f8729642e5f0a10989438c9a3a3753c0994817afd5812e2d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1.tar.gz:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 13fea5a908594fb99feb87d9a0017b69dac456e85951477b5c41424964edbdc8
MD5 960270ae462cff118f915f95be89ef56
BLAKE2b-256 7b14a880de2e2b2245c5652f92da42287f709fb17ab3b58246c264da43772913

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1c8f256684b2bb8de0d0e022ea228362789478e455ebbcc8695adb8b80a5d58c
MD5 59ed090429b3fc20550b4c8367570e5e
BLAKE2b-256 73d0fc6b347bd1c7030285502e6432d5fa423ea6d81e792218b2beccab209b30

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 296d83f139073ecc8c2768136ea976582875e3333d648197fdcf65d8ddb00eed
MD5 b56e85875577da98cd505fa260889972
BLAKE2b-256 b23643692240773ffb61f47446f604dbd61c8975cbe410ef8fa81580528f152c

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9cd9c17aae5183eece057e398e7f491078a67c9905687049c9f7641e30c36780
MD5 772bf43bda371f41e30fde4cbf6c028b
BLAKE2b-256 e0b622bcacc9a77ae2fcd27a8dce6eb5b41ba1368bc38071cc8b0db367216c51

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8344381178347b0404453ae7f004c921c4dc9066f3b76f5521d4b519e1713fb2
MD5 e011e9730acc2f7aa4c037b296559903
BLAKE2b-256 b635fbbf8ebb873c1abed8e08914738c1d312a6b2e62cfeebb9cee9248304b82

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 66cfd06cff5c7e6a4bc023f9366532acc30c442e023f414f587c868e3f1733a4
MD5 429e4c6720554597d2385d53b297da37
BLAKE2b-256 2349070fe2e396c38ac7e2f34d4963c257fe0aad2a86cb012483665ca299c79b

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 fb512ae1dac0521f6eb0d563852509d9fe6fedf9e9575d070350b442329e6e07
MD5 c8b50b9367c679003adbbb6b353bf86b
BLAKE2b-256 c4a789d0d4fcc2acfe6f3a322fd1166a54441771bfac92e061e0861729908f47

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7419461bc06412cbdb6ddf6b7ed7e8d0eb50452d47e4799bee0aa28bbeee18fa
MD5 4a8df3c4a312c701a202b607d6901588
BLAKE2b-256 62cd74e343529712b412f06a28b3cab569cad9d78bf5f7504d85fab6dac4f329

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb7e73e358a0a07567319b6e03a11a05d32bf0f75878892f43cc9d5925cf3b3c
MD5 09603aa9f995a057cb0b0844450bdae5
BLAKE2b-256 b2c40d7dd7f45977785c97148973ead3ec0ef6434ca2e96eb47ddc33d591d556

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 195882f0aac2f072036bbbba648d679e67d3b78c029f350a5d3477a44cf03ff5
MD5 221b8106353d47e7d8b4161b5b808ce8
BLAKE2b-256 67733575803ad424159fcbbae49925a71927d060e8d141e0679cd2b07aead785

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 16886ddec6a15d44534ece30a69376e0975cf4fe751d10138c0636bae3329473
MD5 3e5079badece30718aa17ef393202443
BLAKE2b-256 2c768da5498f7e1b1c8bf623448d0ef64af6d1f53a4a585b55e8b73906784c1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8ec25e440c7ace5b5ca2c64882b32770aedb5f202606f6010524c76ac6465e80
MD5 66a9fa5b1348ab43e079e82e9cb0f5a7
BLAKE2b-256 54c312d3bd3b2351d96331c27d91138975271aeb338f7cf4ea76db75b7ba8db8

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42a69b2f4092c7cc0a0b06410bb5631213d8c2811d96854ef1336862f94c299b
MD5 150bad6bde8b87ee047219bafaddbd80
BLAKE2b-256 fcc2f0f4a33c5f40ed4a65f19eff2e626e57ec6093b0abbc75210d5ab9109e17

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 135cd5a4abd80829186fbf1c35d0a6ce5a54232d51772f0fe1d8067fbeda29dd
MD5 987ff1700a5e745d7cba9b228db62446
BLAKE2b-256 bf5312ba7c838ff63dcdfcaa905c395035f1c21abdf63b59ab1e14fd1a4ee010

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scinumtools3-0.4.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scinumtools3-0.4.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 502e4837614174fff8409ed071a3d5650727b9ab60bf551589e08dfe19456422
MD5 7dc650288106517780b55fc07c30002f
BLAKE2b-256 626bd5f6e88f7c587f56cc6d9866754a51fe2cf3bfd9380e53844169443516b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for scinumtools3-0.4.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi-wheels.yml on vrtulka23/scinumtools3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page