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


🔍 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

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

  • Attention le programme ne supporte pas les versions supérieures à Python 3.12, les bibliothèques tierces n'étant pas disponible pour ces versions.
pip install ourocode

Installez directement depuis le dépôt :

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

Avec les dépendances optionnelles (GUI PySide6 et/ou MEF Pynite) :

pip install "ourocode[full]"    # GUI + MEF
pip install "ourocode[gui]"     # PySide6 uniquement
pip install "ourocode[mef]"     # PyNiteFEA + pyvista uniquement

✨ Fonctionnalités

  • Calculs normalisés : flexion, traction, cisaillement, flambement, assemblage EC5 et EC3, flèche…
  • Support des classes de résistance bois (C24, GL24h, etc.) et acier (S235, S355…)
  • Prise en compte des effets de feu (EN 1995-1-2)
  • 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 (EN1990, EN1991, etc.)

🛠 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 --cov=. --cov-report html

Les tests couvrent les modules principaux.


🤝 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-1.10.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

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

ourocode-1.10.0-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ourocode-1.10.0.tar.gz
Algorithm Hash digest
SHA256 e7f018dde6c210b8c9d73cc6aea52afdec41ef66f57ad28b56536123b65a29d9
MD5 2b8f898c50003140b8cd8246d3819265
BLAKE2b-256 de8d42dc1a117b61f52bef75bbac38ab961e5446f478f47ca8187e9d66bac8bf

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for ourocode-1.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7de11ff0531f23b6b46ff2dbfbe31aaf06b386c74968a0ead385f2d49b136c44
MD5 b6759fc014b0c1db87f8464ec6d76781
BLAKE2b-256 69be7d42d9ab1a22e8c61205084fc19b84757dec08336a433080e1be566dd940

See more details on using hashes here.

Provenance

The following attestation bundles were made for ourocode-1.10.0-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