Skip to main content

Ceci est un catalogue de fonction permettant une utilisation rapide pour la réalisation de note de calcul personnalisée.

Project description

📐 Ourocode - Bibliothèque Python pour le calcul de structure selon les Eurocodes

License: Apache-2.0 CI Release Documentation


🔍 Description

Ourocode est une bibliothèque Python regroupant les formules normalisées issues des différentes parties des Eurocodes aux Annexes Nationales Française :

  • EN 1990 : Bases de calcul
  • EN 1991 : Actions sur les structures
  • EN 1993 : Calcul des structures en acier
  • EN 1995 : Calcul des structures en bois
  • EN 1998 : Calcul des actions sismiques

Elle permet de construire un catalogue de fonctions réutilisables pour générer rapidement des notes de calcul personnalisées, intégrables dans des applications de vérification ou de génération de rapports.


🚀 Objectifs

  • Offrir une implémentation fiable et vérifiée des formules Eurocode.
  • Permettre une utilisation modulaire dans des interfaces No-Code, des scripts ou des applications.
  • Fournir une base open source transparente, adaptée aux ingénieurs, bureaux d’études, enseignants ou développeurs.

📦 Installation

Note : Python 3.12 requis. Les dépendances tierces ne sont pas encore compatibles avec Python 3.13+.

pip install ourocode

Installez directement depuis le dépôt :

pip install git+https://github.com/AnthonyPrst/ourocode.git

Avec les dépendances optionnelles :

pip install "ourocode[full]"    # GUI (PySide6) + MEF (PyNiteFEA + pyvista)
pip install "ourocode[gui]"     # PySide6 uniquement
pip install "ourocode[mef]"     # PyNiteFEA + pyvista uniquement
pip install "ourocode[docs]"    # Génération de la documentation
pip install "ourocode[test]"    # Outils de test (pytest)

✨ Fonctionnalités

  • Calculs normalisés : flexion, traction, cisaillement, flambement, assemblage EC5 et EC3, flèche…
  • Support des classes de résistance bois massif (C14→C40), lamellé-collé (GL20h→GL32h) et acier (S235, S355…)
  • Prise en compte des effets de feu (EN 1993-1-2, EN 1995-1-2)
  • Calcul des actions sismiques et spectre de réponse (EN 1998-1)
  • Vérification des murs à ossature bois — MOB/CVT (EN 1995-1-1 §9)
  • Intégration avec handcalcs pour génération LaTeX des formules
  • Compatible avec le logiciel OUREA-NoCode
  • Organisé en modules clairs par norme et fonction (EN 1990, EN 1991, EN 1993, EN 1995, EN 1998)

🛠 Exemple d'utilisation dans Jupyter

from IPython.display import display, Latex
from ourocode.eurocode.ec5.element_droit import Barre, Flexion

panne = Barre(b=100, h=200, section="Rectangulaire", classe="C24", cs=2, Hi=12, Hf=12)
panne_flexion = Flexion._from_parent_class(panne, lo_rel_y=5000, lo_rel_z=5000, coeflef=0.9, pos="Charge sur fibre comprimée")
latex_fmd, fmd = panne_flexion.f_m_d("Moyen terme", "Fondamentales")
latex_sigmamd, sigmamd = panne_flexion.sigma_m_d(20, 0)
latex_taux, taux = panne_flexion.taux_m_d()
display(Latex(latex_taux))

✅ Tests & couverture

pytest tests/ -v --tb=short
pytest --cov=ourocode --cov-report html

Les tests couvrent les modules principaux.


📚 Documentation

La documentation complète est disponible sur GitHub Pages :

Générer la documentation localement :

pip install "ourocode[docs]"
mkdocs serve

🤝 Contribuer

Les contributions sont les bienvenues ! Pour proposer une amélioration ou corriger un bug n'hésité pas à fork le dépôt !


📄 Licence

Distribué sous licence Apache License 2.0.


👷 Auteur

Développé par Anthony PARISOT, ingénieur structure bois & développeur, dans le cadre du projet open source OUREA STRUCTURE.


⭐ Si vous trouvez ce projet utile...

N'hésitez pas à ⭐️ le repo GitHub pour le soutenir !

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

ourocode-2.1.5.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

ourocode-2.1.5-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file ourocode-2.1.5.tar.gz.

File metadata

  • Download URL: ourocode-2.1.5.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ourocode-2.1.5.tar.gz
Algorithm Hash digest
SHA256 779ba8acba094e59e84e6aedc9aa9ee1f2312090e329619c4d794c5a5c541126
MD5 609d4f85c948a6d64f9052ec9c67b649
BLAKE2b-256 73f3409f66d51630218d7828785853b3cfc4de9ea6f627b4a33e92e2ed324ae7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ourocode-2.1.5.tar.gz:

Publisher: pypi.yml on AnthonyPrst/ourocode

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

File details

Details for the file ourocode-2.1.5-py3-none-any.whl.

File metadata

  • Download URL: ourocode-2.1.5-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ourocode-2.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 06f1726ee0dc7738dbf8c3a37ab2e53df27c03baa6dc063074d78775cf3b4a99
MD5 b24acf9e05b9cd7581357266e21eef42
BLAKE2b-256 84ab41a73453cb9a08f5c324cea4232c0fc7526fc85b97c1e05e8aa48d5ced6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ourocode-2.1.5-py3-none-any.whl:

Publisher: pypi.yml on AnthonyPrst/ourocode

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