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.10 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 0.5.2

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 0.5.2
File Size Uploaded
mento-0.5.2.tar.gz 176.8 kB Details

Built distribution (wheel)

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

Total release size: 286.9 kB

Release files / mento-0.5.2.tar.gz

Download URL mento-0.5.2.tar.gz
Size 176.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9d7e6462259c4757bb7d31d0efcd05edb8ea6b9b8f77628c00b9ab90037ae685
BLAKE2b-256 checksum
How to use checksums
da8d8e66ee5a3ee9bebbdb101fbb86d1d4968773f7bb34a8af2c4e7a40e7b2e7
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 25, 2026.

Transparency log

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

Download URL mento-0.5.2-py3-none-any.whl
Size 110.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d5853039381bf9188b50fd9b96107f3818a90b589a1af88cfb92ca08447a2d7
BLAKE2b-256 checksum
How to use checksums
306a65a28e0ebfa23ec2ea78b2f72bcf559063dd9ead8579cbba6b151e08236a
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 25, 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

1.0.0

2 release files

This release

0.5.2 This release

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