Skip to main content
mento_github

An intuitive tool for structural engineers to design concrete elements efficiently.

Tests Docs codecov PyPI Python versions License: MIT DOI Ruff

This repository provides a comprehensive package for the design and structural analysis of concrete sections, beams and columns. The package adheres to multiple design codes, ensuring broad applicability in structural engineering projects.

Installation

pip install mento

Requires Python 3.12 or newer.

Features

  • Check and design for flexure and shear of:
    • Rectangular Concrete Beam
    • Rectangular One way Slab
  • Unit-sensitive design, allowing users to input variables with their respective units for accurate calculations.
  • Interactive usage in Jupyter Notebooks, allowing users to create custom calculations using package modules.
  • Results are presented in markdown format within the notebook and as pandas DataFrames for easy handling of multiple checks.
  • Ability to generate detailed calculation reports in Word.
  • Comprehensive testing for design code compliance, including ACI 318-19, EN 1992-2004, and CIRSOC 201-2025.

Where mento fits

mento designs and verifies structural members against a design code, and documents the result: given a section, its materials and a set of load combinations, it returns the required reinforcement, the demand-to-capacity ratios, and a calculation report you can hand to a reviewer.

mento is also, as far as we know, the only open source package that implements CIRSOC 201-2025, the Argentinian concrete design standard.

Using mento at your company?

mento is free and open-source under MIT. If your team wants help going further, we offer a few things on top:

  • Team onboarding — short remote sessions to get your engineers productive with Python, Jupyter, VS Code and Git, using mento as the starting point.
  • Custom tools — building specific workflows on top of mento (custom reports, integrations with Revit / ETABS / Robot, batch design tools, internal company libraries).
  • Sponsored features — if your firm needs a specific element type, design code, or check that's on the roadmap (or not), we can scope it as paid work and contribute it back.

If any of that is useful for your team, fill out this form and we'll follow up.

Not looking for anything? A ⭐ on the repo or feedback in Discussions is also genuinely appreciated.

Roadmap

The development is structured around key milestones, with ongoing tasks that aim to enhance functionality and compliance with design standards:

  • Rectangular concrete beam section check and design for ACI 318-19 and CIRSOC 201-25.
  • Rectangular concrete beam section check and design for EN 1992-2004.
  • One way concrete slab check and design for ACI 318-19 and CIRSOC 201-25.
  • One way concrete slab check and design for EN 1992-2004.
  • Shear wall shear check and design for ACI 318-19 and CIRSOC 201-25.
  • Slab shear punching check and design for ACI 318-19 and CIRSOC 201-25. (in progress)
  • Slab shear punching check and design for EN 1992-2004.
  • Shear wall shear check and design for EN 1992-2004.

Each milestone incorporates rigorous testing and continuous integration to ensure code quality and reliability.

Documentation

You can read the official documentation in this link: Mento Docs

Contributing

We welcome contributions from the community to expand and enhance the package. Start with the contributing guide, then look through the open issues — those labelled good first issue are a good entry point. Every calculation contributed to mento is validated against a published worked example before it is merged; the guide explains how.

Participation in this project is governed by our Code of Conduct.

Disclaimer

mento is a tool to assist structural engineers, not a replacement for engineering judgement. Results must be reviewed and accepted by a qualified engineer who takes responsibility for the design. The software is provided "as is", without warranty of any kind, and the authors accept no liability for its use. Verify the output against the applicable design code before relying on it for any real structure.

Citing mento

If mento supports your research or professional work, cite it with the DOI 10.5281/zenodo.21956634, which always resolves to the latest release. Citation metadata is in CITATION.cff, and GitHub's "Cite this repository" button will format it for you. The citing guide explains which version to cite and gives a BibTeX entry.

License

This project is licensed under the MIT License. See LICENSE for the full text.

Release files for mento 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mento 1.0.0
File Size Uploaded
mento-1.0.0.tar.gz 252.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mento 1.0.0
File Interpreter ABI Platform
mento-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 415.6 kB

Release files / mento-1.0.0.tar.gz

Download URL mento-1.0.0.tar.gz
Size 252.4 kB
Tags Source
SHA-256 checksum
How to use checksums
116cf912757b88927fb1e011d2bcda896e2a47c5640c5dca217ca2ddd8cc42d8
BLAKE2b-256 checksum
How to use checksums
bee5d6a4943bf689f09ad26ef559cdfe736b1f4ced47c7295bfb66c3633ee3a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 31, 2026.

Transparency log

Release files / mento-1.0.0-py3-none-any.whl

Download URL mento-1.0.0-py3-none-any.whl
Size 163.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
56677436babf03c57859fd77f302f94c55ff72c0f910200fc4ccc3b4ff2291f5
BLAKE2b-256 checksum
How to use checksums
6db62b18166159d20383a114c4adfdea6941fcc602d3f190d31e4d24f79b03ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 31, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

This release

1.0.0 This release

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.0.2

2 release files

0.0.1

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