Skip to main content

stochas is a Python framework built to handle the complexity of Monte Carlo simulations, parametric studies, and probabilistic modeling.

Project description

Stochas

stochas: Smart Data Orchestration

PyPI version Python versions Tests & Release Status Coverage Ruff Pydantic v2 License Documentation GitHub Discussions PyPI Downloads

stochas is a Python framework built to handle the complexity of Monte Carlo simulations, parametric studies, and probabilistic modeling.

It provides a robust bridge between abstract statistical rules and concrete simulation data, ensuring your experiments are repeatable, traceable, and easy to manage.


Installation

Install the package via your preferred manager:

uv add stochas

or with pip:

pip install stochas

Core Features

  • Salted Seeding: Combines Global Seeds, Parameter Names, and Trial Numbers for unique but deterministic draws.
  • Numeric Mixins: Use your data containers directly in math operations (container * 5.0) without manually extracting values.
  • Nominal Support: Easily toggle between "Perfect World" (Trial 0) and "Probabilistic World" (Monte Carlo) results.
  • Pydantic Foundation: Every component is a Pydantic model, providing out-of-the-box validation and effortless JSON serialization.
  • Unit System: Declare SI, IPS, FPS, or a custom unit system once and tag distributions with unit=u.inch, sampling paths convert values automatically so your input data stays in familiar units while the simulation receives physically consistent numbers.

Why use stochas?

Managing hundreds of simulation trials can quickly become a mess of manual seeds and inconsistent data. stochas solves this by providing:

  • Repeatable Randomness: Our "Salted Seed" logic ensures that any specific trial can be perfectly recreated, even years later, by tying randomness to simple to set and store values.
  • Smart Containers: NamedValue objects behave like numbers or arrays but protect your data from accidental overwrites using a state-machine logic.
  • Physics-Ready Distributions: A wide range of built-in distributions (Normal, Truncated Normal, Log-Normal, etc.) that handle their own random number generators internally.
  • Automatic Unit Conversion: Attach a UnitDescriptor to any distribution or design variable and let StochasBase multiply the conversion factor at sampling time (without manual scaling in generator code).
  • Serialized Registries: Automatically track exactly which "rules" (Distributions) and "results" (NamedValues) were used in every trial for easy export to JSON or databases.

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

stochas-2.2.2.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

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

stochas-2.2.2-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file stochas-2.2.2.tar.gz.

File metadata

  • Download URL: stochas-2.2.2.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for stochas-2.2.2.tar.gz
Algorithm Hash digest
SHA256 c6982743f6e2762194d4b6da273eaaa5c021c9daa7606e7de77c5f8bbfee80c3
MD5 71d16177fbcf5ef0ff3f75ad5f77d4d5
BLAKE2b-256 c2a705e9fab28a83115231584bb9a49097c225d6f7754535803a93d88b8c3bd8

See more details on using hashes here.

File details

Details for the file stochas-2.2.2-py3-none-any.whl.

File metadata

  • Download URL: stochas-2.2.2-py3-none-any.whl
  • Upload date:
  • Size: 42.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for stochas-2.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0556b232037f0b45fa6aca1be54970c0c3234d9a1b9f096c05de9afa3dca4f84
MD5 8cea9f64bfa8f1cd66f9c95c163a5385
BLAKE2b-256 ba524e4db046df3f267305fa20fecb89dbdf9f2df131bebb16941c745b514e93

See more details on using hashes here.

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