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.19.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.19-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: civix-0.0.19.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.19.tar.gz
Algorithm Hash digest
SHA256 c4599d4a7e94cada3050e308b6d213749f928e08fedf1894c8d8d933d0ed4f79
MD5 45eab58ea86ac2dc51a9d5708b1ae8d7
BLAKE2b-256 0c9b8744cc9bafd95943b8aa7fbd355c5829d9957b6355ff6b2ccbd40ed1242d

See more details on using hashes here.

Provenance

The following attestation bundles were made for civix-0.0.19.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.19-py3-none-any.whl.

File metadata

  • Download URL: civix-0.0.19-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.19-py3-none-any.whl
Algorithm Hash digest
SHA256 3db9a7442199846c0f25d49aadef7c57b3bbe2067a35c815f1d609aa09a867be
MD5 64a73830040046bb4055fdc4986e17ba
BLAKE2b-256 626e40a61a015f0793d6fd55d25de42d6001c3ceba92d40d5dd2442481d0ac60

See more details on using hashes here.

Provenance

The following attestation bundles were made for civix-0.0.19-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