Skip to content

Latest commit

 

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ryan-culverts

An early-stage culvert hydraulics library built around primary hydraulic references, analytical validation, and mixed-group crossings. The retained wheel is an alpha package for integration testing; it is not engineering design software.

The long-term development plan defines the scope and development sequence. The culvert_solver package contains provisional circular and box hydraulics through rating-curve generation, including mixed groups, constant-crest unsubmerged roadway overtopping, and road-level inventories. Geometry, numerical foundations, and several equation-level calculations have analytical or published-example tests; combined-system validation remains bounded. See the maintained release notes before using the package.

Agents should start with the work register, which separates active remediation from deferred scope and links the current acceptance criteria. Coding agents, including web-only agents without HY-8, must also follow the repository agent instructions.

The documentation site is built from the maintained user and engineering documentation, generated API reference, and changelog; GitHub Pages must be enabled for the repository before its first deployment.

The previous culvertflow prototype has been retired. See the cleanup review for retained evidence, potential reuse from the preserved scenarios, and decisions made before implementation.

Additional implementation references are recorded in the reference register.

Development records: progress, computational basis, architecture, validation and HY-8 capability matrix.

Use your selected Python installation. Python 3.14 is the current tested and metadata baseline. See the Python support policy.

python -m pip install --user -e ".[dev]"
python -m pytest -q
python -m ruff check .
python -m pyright
python -m pymarkdown -d MD013 scan -r README.md docs

The Markdown check allows long lines for tables and source URLs. Heading rules, including MD025, remain enabled.

Dependencies and build metadata live in pyproject.toml; there is no separate requirements.txt. Pip installs the package and its dev extra, while Hatchling builds the universal wheel through python -m build --wheel. See the packaging workflow for install and build commands.

On Windows, .\package.bat increments the calendar version, builds and verifies the universal wheel, then replaces the previous project wheel only after success. .\install-latest-wheel.bat installs the newest local wheel, and .\package_and_install.bat performs both steps with fail-fast exit handling. Use .\force-reinstall.bat for the existing wheel or .\package_and_force_install.bat to rebuild before forcing replacement of the installed package.

License

This project is licensed under the Sustainable Use License v1.0 (SUL-1.0).

The software may be used and modified for personal, non-commercial, and internal business purposes, including commercial professional and consulting work where the software itself is not provided as a commercial product or service.

Commercial distribution, incorporation into software supplied commercially to third parties, or provision of the software or its functionality as a paid hosted service, SaaS, or API is not permitted under the free licence.

Separate commercial licensing may be available on request.

About

pure python implementation of HDS-5

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages