civilutils
A lightweight Civil Engineering Python utility package.
Overview
civilutils provides practical utilities for civil engineering workflows. The initial focus is a concrete mix design implementation based on Indian Standards (IS). The package is designed to be extended later to support other standards (e.g. ACI) and additional domains such as structural analysis and survey calculations.
Installation
Install from source (example):
pip install civilutils
Quick start
Example usage (basic):
from civilutils.indian_standards.concrete import (
ConcreteMixDesign, ConcreteGrade, MaximumNominalSize,
ExposureCondition, SpecificGravity, Materials
)
sg_list = [
SpecificGravity(Materials.CEMENT, 3.15),
SpecificGravity(Materials.FINE_AGGREGATE, 2.60),
SpecificGravity(Materials.COARSE_AGGREGATE, 2.70),
SpecificGravity(Materials.WATER, 1.00),
SpecificGravity(Materials.ADMIXTURE, 1.145),
]
design = ConcreteMixDesign(
concrete_grade=ConcreteGrade.M25,
exposure_condition=ExposureCondition.MODERATE,
specific_gravities=sg_list,
maximum_nominal_size=MaximumNominalSize.SIZE_20,
slump_mm=50.0
)
# compute and optionally print summary
result = design.compute_mix_design(display_result=True)
API and source
Detailed documentation is available at: https://civilutils.readthedocs.io/en/latest/. The documentation site provides downloadable formats — you can download the docs as PDF or EPUB from the Read the Docs site.
Running tests
Run unit tests:
python -m unittest discover -s tests -p "test_*.py"
Roadmap
- Add support for other standards (ACI, Eurocode).
- Extend modules for structural calculations (beams, columns, load combinations).
- Add survey utilities (coordinate transforms, area/volume computations).
- Improve documentation and examples.
Contributing
Contributions via PRs are welcome. Please:
- Follow standard Python packaging practices.
- Include tests for new features.
- Keep changes small and documented.
License
MIT — see LICENSE
If you find this project useful, A small cup helps a lot!
More from the developer
Reach out or explore other projects by the developer at: https://amraja.in/
If any link in this README does not redirect or returns "Not Found", please locate the referenced document in the parent GitHub repository: https://github.com/amrajacivil/civilutils
Metadata
Release files for civilutils 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| civilutils-0.1.1.tar.gz | 16.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| civilutils-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.9 kB
Release files / civilutils-0.1.1.tar.gz
| Download URL | civilutils-0.1.1.tar.gz |
|---|---|
| Size | 16.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5485397d496766ba8c6d320ca19b0a0cf800b8bc8816ad24148ed8fa1701db24
|
|
BLAKE2b-256 checksum How to use checksums |
581f5dd139065add018e0c11fcc33886ee3ac832f2449c01919f956d91f9cc79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 26, 2026.
Transparency logRelease files / civilutils-0.1.1-py3-none-any.whl
| Download URL | civilutils-0.1.1-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
249a5bcbf1238000d1e860607aad88c2651f3d5a3727cd043fcef6c7fd0928f4
|
|
BLAKE2b-256 checksum How to use checksums |
a6b9ad996b6de99d6bde77670ceb919658d1648da3c549f85517647cbd55d423
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 26, 2026.
Transparency log