Skip to main content

useful tools for civil engineering that are needed regularly in the daily tasks for a civil engineer

Project description

civix

python tools for Civil and Structural Engineering

Release workflow

1. Pre-release checks (run locally)

Ruff is not enforced in CI — run manually before merging:

uv tool run ruff check .        # lint (Pyflakes F-rules)
uv tool run ruff format .       # auto-format
uv run pytest                   # all tests green

2. Merge feature branch → develop (squash)

git checkout develop
git merge --squash feature/<branch-name>
git commit -m "squashed: <short description>"

3. Bump version

Edit version in pyproject.toml, then commit:

git add pyproject.toml
git commit -m "bump version to <new-version>"

4. Merge develop → main

git checkout main
git merge develop
git push origin main

CI detects the version change on main, creates the tag, runs tests, builds, and publishes to PyPI automatically.

Streamlit app

uv run streamlit run streamlit_app/app.py

Installation

pip install civix                      # core only (numpy, loguru, pyyaml, plotly, openpyxl)
pip install "civix[etabs]"             # + ETABS automation (Windows)
pip install "civix[ifc]"              # + IFC parsing (ifcopenshell)
pip install "civix[geom]"             # + Rhino/Grasshopper geometry
pip install "civix[notebook]"         # + Jupyter notebook + handcalcs rendering
pip install "civix[streamlit]"        # + Streamlit app
pip install "civix[all]"              # everything

With uv:

uv add civix
uv add "civix[etabs,ifc,geom]"
uv add "civix[all]"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

civix-0.0.18.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

civix-0.0.18-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file civix-0.0.18.tar.gz.

File metadata

  • Download URL: civix-0.0.18.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for civix-0.0.18.tar.gz
Algorithm Hash digest
SHA256 a05972f91cfc740c5bce1fc82d53b95ee683c91612fc3d2ec455f7f633e219bb
MD5 e89b53e0ad7976f4cc57b555e8aa7b34
BLAKE2b-256 3357f4038a4506f83b81d568b1396acc3f1030b04919f9c94ff908523d5d6e6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for civix-0.0.18.tar.gz:

Publisher: release.yml on mohamadalitellawi/civix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file civix-0.0.18-py3-none-any.whl.

File metadata

  • Download URL: civix-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for civix-0.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 47eb87e27b18177db8acdbd957675518f162ad06da58a816c3fc7c4781e59dc8
MD5 f570bbeb60dae9d99268e391f5d3dd6f
BLAKE2b-256 01488a213d30fd49b3c0bc8beb501c5c3620bab562f3e156ca49bd02a24aadcd

See more details on using hashes here.

Provenance

The following attestation bundles were made for civix-0.0.18-py3-none-any.whl:

Publisher: release.yml on mohamadalitellawi/civix

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page