This release is a pre-release and may not be stable for production use.
OpenSWMM Engine
Open Storm Water Management Model — Next-Generation Computational Engine
Documentation
| Site | Contents | |
|---|---|---|
| C / C++ Engine | hydrocouple.org/openswmm.engine | Full C API reference, hydrology / hydraulics / water-quality reference manuals, engine manual (input format, files, reports, C API), architecture notes. |
| Python Bindings | hydrocouple.org/openswmm.engine/python | Quickstart, per-domain user guide, Cython API reference, SWMM 5 → v6 migration. |
Both sites cross-link from their top navigation.
Python API coverage and testing
The modern bindings include groundwater authoring/results and transport,
surface-quality tables, transport capability diagnostics, batch editing and
live output reading. Guides document their units, lifecycle and immutable
snapshot behavior under python/docs/guide/. The strict API coverage check is
python python/scripts/api_drift_audit.py --strict from the repository root.
For local validation use the openswmm Conda environment. After building and
installing to a staging prefix, run
conda run -n openswmm python python/scripts/test_staged_package.py STAGE python/tests --ignore=python/tests/typing.
This verifies the selected native binaries and avoids an editable install
silently redirecting tests to an older extension. CI runs the complete modern,
legacy and top-level suites against built wheels, plus independent source and
typing gates. Source reachability is not a claim of numerical validation.
openswmm.engine.catalog is a machine-readable map of this API: every target
reachable from a Solver (services such as forcing, element kinds such as
node and sub-views such as node.stats) with each property's type, access,
units and lifecycle phases, and each method's signature. The MCP server and
gymnasium use it to reach the whole API without per-function code. It is
generated by python python/scripts/gen_catalog.py; CI runs the same script
with --check and fails when the catalog is stale or a class is unreachable.
Overview
OpenSWMM Engine is a community-driven, open-source continuation of the EPA Storm Water Management Model — a dynamic hydrology, hydraulic, and water-quality simulator for urban runoff. The project preserves the SWMM legacy under QA/QC and builds the community needed for long-term maintenance, working with ASCE/EWRI and the Water Environment Federation.
What's New in v6.0.0
Architecture & Performance
- Data-Oriented Design — Core state refactored to Structure-of-Arrays for cache efficiency and SIMD-friendly batches.
- Reentrant Engine — All simulation state lives behind an opaque
SWMM_Enginehandle; multiple independent simulations can run in the same process. - Plugin-Based I/O — Output and report writing dispatch through plugin interfaces on a dedicated I/O thread.
- C++20 Codebase — Modern C++20 implementation; the legacy EPA SWMM 5.x solver is preserved unmodified in
src/legacy/.
Process Formulation Enhancements
Implemented
-
Semi-Implicit Node Continuity — Single-equation free-surface/surcharge formulation that removes the legacy two-branch discontinuity. Enabled via
NODE_CONTINUITY SEMI_IMPLICIT(default). Reference » -
Anderson Acceleration for Picard Iteration — Depth-2 mixing of residual history cuts iteration counts 25–50% on stiff surcharge transitions with safe fall-back to standard Picard. Enabled via
ANDERSON_ACCEL YES. -
Spatially Explicit Overland Flow & Groundwater (2D) — 2D overland-flow grid coupled to the 1D pipe network. Surcharge re-routes over terrain to downstream nodes, lateral groundwater exchanges are tracked explicitly, and green-infrastructure placement is spatially resolved.
-
Dynamic Preissmann Slot — Geometry-dependent slot width replaces the fixed-width slot at the free-surface / pressurized transition, improving stability for rapidly filling or draining conduits.
-
Physics-Based Initial Abstraction Recovery — RDII initial abstraction now evolves as an exponential depletion/recovery process with additive base + thermal recovery rates and frozen-ground suppression. Seasonal RDII variation emerges from temperature dynamics on a single RTK set per sewershed — no monthly parameter tables required. Configured via the new
[RDII_DECAY]input section.$$IA_{avail}(t+\Delta t) = IA_{max} - \bigl(IA_{max} - IA_{avail}(t)\bigr) \cdot e^{-k_{rec}(T),\Delta t}, \quad k_{rec}(T) = k_0 + k_T \cdot e^{,\theta(T - T_{ref})}$$
In Development
- Spatially Explicit Inlets — Promotes inlets to mode-switching junction nodes that capture street flow when gutter spread exceeds a threshold and revert to passive junctions otherwise.
- LID as Storage Nodes — Maps LID layers (surface, media, gravel) onto extended storage nodes using a reduced-physics kinematic Richards ODE for two-way hydraulic feedback.
New C API
A domain-split C API replaces the monolithic legacy interface. Full reference at the C engine documentation site.
| Header | Domain |
|---|---|
openswmm_engine.h |
Engine lifecycle, error codes, state machine |
openswmm_model.h |
Model building, validation, serialization, options |
openswmm_nodes.h |
Junctions, outfalls, storage, dividers |
openswmm_links.h |
Conduits, pumps, orifices, weirs, outlets |
openswmm_subcatchments.h |
Subcatchments, infiltration, coverage |
openswmm_gages.h |
Rain gages |
openswmm_pollutants.h |
Pollutant definitions and runtime injection |
openswmm_tables.h |
Time series, curves, patterns |
openswmm_inflows.h |
External inflows, DWF, RDII (incl. [RDII_DECAY]) |
openswmm_controls.h |
Control rules and direct link actions |
openswmm_infrastructure.h |
Transects, streets, inlets, LID controls |
openswmm_spatial.h |
CRS, coordinates, polylines, polygons |
openswmm_quality.h |
Landuse, buildup, washoff, treatment |
openswmm_massbalance.h |
Continuity errors and cumulative flux totals |
openswmm_callbacks.h |
Progress, warning, and step callbacks |
openswmm_hotstart.h |
Hot start file save / load / modify |
openswmm_statistics.h |
Node, link, and subcatchment statistics |
openswmm_geopackage.h |
Optional GeoPackage I/O |
Additional Features
- Hot Start API — Save, load, modify, and query hot-start files through a stable C ABI.
- Cross-Section Geometry —
XSectionGeometryexposes the engine's own geometry kernels (area, top width, hydraulic radius, section factor, critical depth, and their inverses) for all 26 shapes, standalone or per-link, with scalar or NumPy-batch evaluation. - CRS Support — Coordinate reference systems specified in
[OPTIONS]. - User Flags — Typed
[USER_FLAGS]/[USER_FLAG_VALUES]sections attach custom metadata (boolean, integer, real, string) to nodes, links, subcatchments, or gages. - Extension Options — Unrecognized
[OPTIONS]keys are preserved and exposed to plugins at runtime. - Plugin SDK — Header-only SDK in
include/openswmm/plugin_sdk/for input, output, and report plugins; theIPluginComponentInfoentry point advertises capabilities and supports custom.inpsection handlers viaSectionRegistry. - GeoPackage I/O — Optional SQLite + spatial backing store for inputs, results, observed series, and topology in a single
.gpkgfile (-DOPENSWMM_WITH_GEOPACKAGE=ON). - HEC-22 Inlet Analysis — Street inlet capture with grate and curb inlets (SWMM 5.2).
- Variable Speed Pumps — Type 5 pump curves with speed scaling.
- New Storage Shapes — Conical and pyramidal shapes with elliptical and rectangular bases.
- Model Editing with Impact Analysis —
ModelEditorpreviews and cascades deletions across all 22 referenceable object categories (nodes, links, subcatchments, gages, tables, transects, pollutants, patterns, aquifers, snowpacks, LID controls, streets, inlet designs, land uses, unit hydrographs, and more), plus node/link type conversion. - Lenient Model Loading —
Solver.set_lenient_open()loads a model with validation errors into an editableOPENEDstate instead of failing, exposing them viaSolver.open_errors/Solver.open_warningsfor editor/GUI workflows.
Quick Start
# C / C++ engine
git clone https://github.com/HydroCouple/openswmm.engine.git
cd openswmm.engine
git clone https://github.com/microsoft/vcpkg.git && ./vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$(pwd)/vcpkg
cmake --preset=<platform> -B build -DOPENSWMM_WITH_GEOPACKAGE=ON
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failure
# Python bindings (PyPI)
pip install openswmm
Presets: Windows, Windows-debug, Linux, Linux-debug, Darwin, Darwin-debug. Full build, test, and packaging instructions are in the C engine docs.
from openswmm.engine import Solver, Nodes, Links
with Solver("model.inp", "model.rpt", "model.out") as s:
nodes, links = Nodes(s), Links(s)
while s.step():
depth = nodes.get_depth("J1")
flow = links.get_flow("C1")
Forcing, model building, hot-start, bulk NumPy access, mass balance, and statistics are covered in the Python docs.
Glossary
Brief definitions of the domain terms used throughout this README. Full treatment lives in the reference manuals.
- RDII — Rainfall-Dependent Inflow & Infiltration. Stormwater that enters sanitary or combined sewers through cracks, joints, defective laterals, and roof / foundation drains during and after rainfall.
- RTK — The triplet
(R, T, K)that parameterises a SWMM synthetic unit hydrograph for RDII:Ris the long-term fraction of rainfall that becomes RDII,Tis the time to peak (hours), andKis the ratio of base time to peak time. - IA (Initial Abstraction) — Rainfall depth absorbed by the catchment before any RDII response begins (interception, surface storage, soil wetting). Recovers between events.
- DWF — Dry-Weather Flow. Base sanitary flow plus infiltration unrelated to rainfall, typically specified as an average value with diurnal / day-of-week / monthly patterns.
- LID — Low-Impact Development. Distributed green-infrastructure controls (bio-retention cells, permeable pavement, green roofs, infiltration trenches, rain gardens) that intercept, store, and infiltrate runoff at the source.
- CRS — Coordinate Reference System. The geodetic / projected coordinate frame (e.g.
EPSG:4326) the model's spatial data is expressed in. - CFS / CMS — Cubic feet per second / cubic metres per second. The two flow-unit conventions exposed via
FLOW_UNITS. - Dynamic Wave Routing — Full Saint-Venant momentum solver for link flow, used for backwater, surcharge, and pressurized conditions.
- Preissmann Slot — A narrow virtual slot added to a closed conduit's cross-section so that pressurized flow can be solved with the same free-surface equations. The dynamic slot adjusts width with geometry to smooth the surface ↔ pressure transition.
- Surcharge — A pipe flowing full and under pressure (HGL above the crown), typically caused by downstream backwater or capacity exceedance.
- Picard Iteration — Fixed-point iteration used inside the dynamic-wave timestep to converge implicit node depths. Anderson Acceleration is a residual-history accelerator on top of Picard.
- Hot Start — A saved end-of-run state (depths, volumes, IA, snow, GW) that initialises a subsequent simulation, letting long runs be split into checkpoints or warm runs into operational forecasts.
- HEC-22 — FHWA Hydraulic Engineering Circular No. 22, the design reference whose grate and curb-opening capture equations are used by the inlet-analysis module.
- GeoPackage — OGC standard for a SQLite-based, single-file container holding spatial features and tabular data with full CRS metadata.
Prerequisites
| Requirement | Version |
|---|---|
| CMake | 3.21+ |
| C compiler | C17 (GCC 10+, Clang 12+, MSVC 19.29+) |
| C++ compiler | C++20 (GCC 10+, Clang 14+, MSVC 19.29+) |
| vcpkg | 2025.02.14 |
| Python | 3.9 – 3.13 (optional) |
| Ninja | recommended on Linux/macOS |
Project Structure
openswmm.engine/
├── include/openswmm/
│ ├── engine/ # New engine public C API headers
│ └── legacy/ # Legacy SWMM 5.x public headers
├── src/
│ ├── engine/ # New C++20 engine implementation
│ │ ├── input/geopackage/ # Optional GeoPackage I/O
│ │ └── 2d/ # 2D overland-flow & groundwater coupling
│ ├── legacy/ # Original EPA SWMM 5.x solver and output reader
│ ├── plugin_sdk/ # Header-only plugin SDK
│ └── cli/ # Command-line interface
├── tests/
│ ├── unit/legacy/ # Legacy solver & output tests
│ ├── unit/engine/ # New engine unit tests
│ ├── regression/ # New-vs-legacy regression tests
│ └── benchmarks/ # Performance benchmarks
├── python/ # Cython bindings (scikit-build)
├── docs/ # Doxygen config and technical manuals
└── .github/workflows/ # CI/CD pipelines
Libraries Built
| Target | Description |
|---|---|
openswmm_legacy_engine |
Original EPA SWMM 5.x solver (shared) |
openswmm_legacy_output |
Original SWMM binary output reader (shared) |
openswmm_engine |
New refactored C++20 engine (shared) |
openswmm_geopackage |
GeoPackage I/O (static, optional — requires SQLite3) |
openswmm_plugin_sdk |
Header-only plugin SDK (INTERFACE) |
openswmm_cli |
Command-line executable |
Contributing
Contributions are welcome — bug reports, fixes, new features, docs, tests, and benchmarks.
- Read CONTRIBUTING.md for the development workflow and the Code of Conduct.
- Fork the repo and create a feature branch.
- Ensure C++ (
ctest) and Python (pytest) tests pass. - Follow existing style and naming.
- Open a PR against
develop.
Contributor License Agreement
First-time contributors must sign the project CLA before a pull request can be merged. The CLA grants the project a perpetual, royalty-free copyright and patent license to your contributions and preserves the project's ability to relicense in the future; you retain full copyright ownership of your work.
Signing is automated through CLA Assistant — when you open your first PR, a bot comments with a one-click sign-in link. The CLA covers all subsequent contributions, so you only sign once. Corporate contributors should additionally submit a CCLA per CLA §6.
License
Apache License, Version 2.0 — see LICENSE and NOTICE. Original EPA SWMM material is in the public domain under 17 USC § 105 and is not subject to the Apache license grant.
Acknowledgements
OpenSWMM builds on the EPA Storm Water Management Model. See docs/authors.md for the full contributor list.
Metadata
Release files for openswmm 6.0.0a4.dev1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| openswmm-6.0.0a4.dev1.tar.gz | 2.5 MB | Without provenance | Details |
Built distributions (wheels)
Total release size: 498.7 MB
Release files / openswmm-6.0.0a4.dev1.tar.gz
| Download URL | openswmm-6.0.0a4.dev1.tar.gz |
|---|---|
| Size | 2.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f295f48d9c86235b7c276beebd89c3c1fa97f92c00dfba612378d86813206c1
|
|
BLAKE2b-256 checksum How to use checksums |
0e96bfd1d2f2454c292767fe64ba6f0ac8c0ef4013b712b633fee9ec9d4fa63f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp313-cp313-win_amd64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 12.0 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5a3af5d2a012cfc1bc00d41b9e60e3b7a530a901d16de661660161e6901d41d6
|
|
BLAKE2b-256 checksum How to use checksums |
e5b91f8963aacc5529e18b28536ab4ff20b9047c58cff005c995ec700bb408bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 23.0 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ccc2546026c3aa28b09b66471d66fa3868ad801ceed6df32b84a5f5a92899c72
|
|
BLAKE2b-256 checksum How to use checksums |
c5cadd6da5426a47490663739d63465389337a63d6e18e0a3c3c1ada768c56de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 21.0 MB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
281e94cf8e2b20342534b2829bc3d3270b94256aaf350625a852ddc74e25e6a7
|
|
BLAKE2b-256 checksum How to use checksums |
1d85518de9de04cfc2e930aa3ff2d0f3ede475a3092b10177babb49a1b03723c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 19.3 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b5bfba7c354f67e7863ca4916153931178c190d2cb9394600f03884cdc092e61
|
|
BLAKE2b-256 checksum How to use checksums |
0308b173d8755bdd43159541a429dc852b628cced2b4fd491780ff80e6576f9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp313-cp313-manylinux_2_28_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp313-cp313-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 17.9 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
f4f710de78f4109831683d92e655b861c319b8ce1b40604c506ff1f262a3fa9f
|
|
BLAKE2b-256 checksum How to use checksums |
3e99227bd17c8139974e3d5640b8cc53d9ecd5b5c5a55c049e0b592858b82561
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp313-cp313-macosx_11_0_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp313-cp313-macosx_11_0_x86_64.whl |
|---|---|
| Size | 16.3 MB |
| Tags | CPython 3.13 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
c7dc865deecee7af01e810dec1c46c24f1be3f55149c668e1105dee7ff755c13
|
|
BLAKE2b-256 checksum How to use checksums |
caa6b41183d1bd377b2444a9a63525b1321e460f32c00b693c0ddaaefaa78605
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.2 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4620f250286070bf995ec433217061999a55e1db2e6315caeb1caf8477f092a8
|
|
BLAKE2b-256 checksum How to use checksums |
98a7fc445698f01293c9692f26d25a1cf285d557bd16268d52755b6e9fbdb2e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp312-cp312-win_amd64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 12.0 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
03bcc623a984bccc53135964cfa81d98e29ce468757d2e9937535d6c0c651829
|
|
BLAKE2b-256 checksum How to use checksums |
8baf4bc1206b6ca0027d608eaaa1a67657e5c8fec7dbf8da88106b3d17459a86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 23.0 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
0abbe141a535fdb39d94a48054c6f460850469d3102d40d64f1b504c2dd88e46
|
|
BLAKE2b-256 checksum How to use checksums |
44bdc82ccbfc01e0e42dc74843cfd5e4e8e23eedfb4c71e9f7d2cd61fd84188e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 21.0 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
72cce8c41520aca8a280ec880c4ca7ec6eb518ecfbd87a3fbe623e834ebda825
|
|
BLAKE2b-256 checksum How to use checksums |
377003bca4c91b65616ea62de4181918bea7d17fb834f62b7bebc0cf674b0200
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 19.3 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2da243ede106521f323d769b197f457ec889e245149016b0367b91aa8b477caf
|
|
BLAKE2b-256 checksum How to use checksums |
52e6748b79885b8c76040d7ab109c8654ed7156736ec9dc5c2781522d084ed90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp312-cp312-manylinux_2_28_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp312-cp312-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 17.9 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
3c47e87b87f02cd7838cc5a8c6b4ae2dcbbbb0e50e9353cd3b192b3154f83e38
|
|
BLAKE2b-256 checksum How to use checksums |
96c4cd8146e88098e45c3e2f1034b9f647fed34444941c02eb1e8a21974af603
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp312-cp312-macosx_11_0_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp312-cp312-macosx_11_0_x86_64.whl |
|---|---|
| Size | 16.3 MB |
| Tags | CPython 3.12 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
331a14062b8e599828e22bc0e87b20ee59b6241ebf494f86f954664a589a7da8
|
|
BLAKE2b-256 checksum How to use checksums |
54c7073787fd8bd750dfc905f03dd18a34af93c6edd3b7e5e32daef4d700c6cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.2 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7560b8987b45327befd474e5e8ff9301b6cceda66e120bdacd28f35a1818dcf5
|
|
BLAKE2b-256 checksum How to use checksums |
e8a329721213db6fb7719da2c7e81154e1793293d7a17d066b983f8967f99c67
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp311-cp311-win_amd64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 12.1 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
133d18cc53e4ec5a1034e638220ca4182ea841fd72a4c734471aca77f0e7caad
|
|
BLAKE2b-256 checksum How to use checksums |
a5fec3711df5770683d4ab81a80c9a5f9aebe642c15f71a2bf37111ffbeac226
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 23.1 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
d26fc6e78f13ec46000d4fdde792018ddd2a45d733abbaef19c7182b701ad726
|
|
BLAKE2b-256 checksum How to use checksums |
40454ba4ad4184174abf69d9509d7dc8f44db4f112c4fd02968f2b1cf0731169
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 21.1 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
c6bf277a779d8948881ab116ec5e7c0b7a2bc4bc223afbe154aa0cf6a7d72dd9
|
|
BLAKE2b-256 checksum How to use checksums |
b63684f199d823103d0c89379afd74c98a4807d4bb04161326219dff08e88ea8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 19.5 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ad3cafe872c4d3e55bc077af1378fc1472dcf8d162007e77c7ef28c9431d5daa
|
|
BLAKE2b-256 checksum How to use checksums |
888308e3dfae8cde444eb542df7108f185f963d23735f5c06155e9d914f278e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 18.0 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
01099cc956a3955a997b7c3243ecb2c564cbd07294997c55f8243dc4999712f5
|
|
BLAKE2b-256 checksum How to use checksums |
e74d4798f7dc90ea818d5a7761725e9e3db12f806885bd5245a4a504199fe997
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp311-cp311-macosx_11_0_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp311-cp311-macosx_11_0_x86_64.whl |
|---|---|
| Size | 16.3 MB |
| Tags | CPython 3.11 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
86e1da8df44d646c8826a6dc818c99d94c9923b74c5b0bef062f64b99b740c2e
|
|
BLAKE2b-256 checksum How to use checksums |
9e06b8a5f9965f0c4711c759bd1428f37f0839eddc34d23373ad78f26732cb53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.2 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f4ef0e553061ac95d3dd6123b5c85428ec19f781a99e0e1fdbef3ab7dc559a19
|
|
BLAKE2b-256 checksum How to use checksums |
ba40ab65ddb9a49a98332f02e39dea2e4680cecf04ce10d48443838c91971d84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp310-cp310-win_amd64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 12.1 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
258b8480d0d5c135d929c6509b4695245e5631e79ebb8b2848a4251451f52a0e
|
|
BLAKE2b-256 checksum How to use checksums |
313d016c7e424b94bd4ca50bf647849a2d78da28ad8c6a36de59e3fdbb00eaf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 23.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
fe39e34fada488414e03515fd235a2c067bb3a760b60d7b6b599e35eeed5cc48
|
|
BLAKE2b-256 checksum How to use checksums |
fdde616672a348267aad82452e4a030b303bccce3061992c17a134c4ac570bd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 21.1 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
dd34b94a67833e24c8cc286e77c28ace9dec0cea387fede21bcb6426db84af82
|
|
BLAKE2b-256 checksum How to use checksums |
ffbb56bbdbf2cd19e732fc1b3a08958eabae90bdfa674cc81eff0c889a28bb97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 19.5 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
de2abd6751cb45c402f55f9abf8762f59e5ad7e30d25bf5b47ae652685c186a7
|
|
BLAKE2b-256 checksum How to use checksums |
23cb859ca749fbaae651dbc1c578947d2409ddb83781da59a1712590e97d9d27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 18.1 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
ee31b7be4d03b21de612613b242b14306cf3a0b2b538d60f668d4ccb4694f3f8
|
|
BLAKE2b-256 checksum How to use checksums |
9f873431501fb63b0a020eaffb88c517a0d6d23115c3ed92850b6eade9401190
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp310-cp310-macosx_11_0_x86_64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp310-cp310-macosx_11_0_x86_64.whl |
|---|---|
| Size | 16.3 MB |
| Tags | CPython 3.10 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
34b35ef238008d55962e1dbc463ec8c6f1e3650434e8cf7fbadd3eaed0f3fab3
|
|
BLAKE2b-256 checksum How to use checksums |
defd577eb45651396dd0a9aa1d36cf29ac92c784a4475302204875734ddddf24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / openswmm-6.0.0a4.dev1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | openswmm-6.0.0a4.dev1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 14.2 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f379b26550ff4b40493665127c11a2bb2bc334d8f7c2a27d81db206a8e02364b
|
|
BLAKE2b-256 checksum How to use checksums |
359ad1717e3a7298351c6859bf20ea9289e19a23dda0843d5b3a103eefa551a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for openswmm 6.0.0a4.dev1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A 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.