Skip to main content

civilutils

A lightweight Civil Engineering Python utility package.

PyPI - Downloads GitHub License PyPI - Status

Release CI PR Approval Code Quality

GitHub tag (with filter) Static Badge Static Badge

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!

Buy Me A Coffee

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)

Source distribution for civilutils 0.1.1
File Size Uploaded
civilutils-0.1.1.tar.gz 16.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for civilutils 0.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page