Utilities for civil engineering: concrete mix design, material-property calculators, unit conversions, and common structural helpers for analysis and design workflows.
Project description
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: [Will be updated soon] . 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file civilutils-0.1.0.tar.gz.
File metadata
- Download URL: civilutils-0.1.0.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea93878c501c95b580c3a0097449fabafb79cd59b83cf4bd4ad20fcfc1d53fdd
|
|
| MD5 |
f438a846c896135387b919a79b5565c1
|
|
| BLAKE2b-256 |
ee251e723480ed933dbbb3e1232c8f29aeafa5b80dde5a1d7f83d8b994659a9c
|
Provenance
The following attestation bundles were made for civilutils-0.1.0.tar.gz:
Publisher:
release.yaml on amrajacivil/civilutils
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
civilutils-0.1.0.tar.gz -
Subject digest:
ea93878c501c95b580c3a0097449fabafb79cd59b83cf4bd4ad20fcfc1d53fdd - Sigstore transparency entry: 842467887
- Sigstore integration time:
-
Permalink:
amrajacivil/civilutils@4b49f4aa717b7b62a518bc93c988c924bf7d079a -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/amrajacivil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@4b49f4aa717b7b62a518bc93c988c924bf7d079a -
Trigger Event:
push
-
Statement type:
File details
Details for the file civilutils-0.1.0-py3-none-any.whl.
File metadata
- Download URL: civilutils-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a66926c290366c8a093e8dfa42224a296456394d5a93577c33fd102d1f7cf1b
|
|
| MD5 |
dcb5dfe9f9fb6c7f11140fca7bb78b3e
|
|
| BLAKE2b-256 |
13bd65593b51ac6b5f0892f750a2c3331c225cdb0810f2d80a69d712c31b5b7e
|
Provenance
The following attestation bundles were made for civilutils-0.1.0-py3-none-any.whl:
Publisher:
release.yaml on amrajacivil/civilutils
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
civilutils-0.1.0-py3-none-any.whl -
Subject digest:
5a66926c290366c8a093e8dfa42224a296456394d5a93577c33fd102d1f7cf1b - Sigstore transparency entry: 842467932
- Sigstore integration time:
-
Permalink:
amrajacivil/civilutils@4b49f4aa717b7b62a518bc93c988c924bf7d079a -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/amrajacivil
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@4b49f4aa717b7b62a518bc93c988c924bf7d079a -
Trigger Event:
push
-
Statement type: