Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • reforme-allegement-general
  • update-ratios
  • update_millesimes_donnees
  • notebook-budget-interface
  • deploiement-ci-manuel
  • fix/deploy_old_commit
  • fix/deploy2
  • analyse_reforme_af
  • update_dependencies
  • fix_preprod_sans_plf
  • maj-agregates-plf-2025
  • fix_csg_retraites
  • add-reform-in-status
  • improve-survey-scenario-memory-leak
15 results

pyproject.toml

Blame
  • pyproject.toml 2.25 KiB
    ############
    ### Configuration of the project
    ############
    
    [tool.poetry]
    name="leximpact_socio_fisca_simu_etat"
    version = "1.5.0"
    description = "French State Budget Simulation"
    license = "AGPL-3.0-or-later"
    authors = ["Leximpact <Leximpact@an.fr>"]
    readme = "README.md"
    homepage = "https://socio-fiscal.leximpact.an.fr/"
    repository = "https://git.leximpact.dev/leximpact/leximpact-socio-fiscal-simu-etat/"
    
    [tool.poetry.dependencies]
    # Set minimal Python version to lower Python reference version in OpenFisca-France
    # Set maximal Python version only when an issue is detected with an upper version
    python = ">= 3.10, < 3.12"
    toolz = ">=0.11.1"
    redis = "^3.5.3"
    python-decouple = "^3.5"
    pydantic = "^1.9.0"
    leximpact-aggregates = "^0.0.37"
    leximpact-survey-scenario = {git = "https://git.leximpact.dev/leximpact/simulateur-socio-fiscal/budget/leximpact-survey-scenario.git", rev = "master", extras = ["france-reforms"]}
    leximpact-common-python-libraries = {version="^0.1.1", extras = ["cache"]}
    tomli = {version = "^2.0.1", python = "3.10"}
    tables = "3.8.0"
    gevent = "24.2.1" # dirty fix version 24.10.1 pas stable
    
    # Following packages are not needed in PyPi package, only by extras API
    fastapi =  { version = "^0.75.0", extras = ["api"], optional = true}
    uvicorn = {extras = ["standard"], version = "^0.22.0", optional = true}
    prometheus-fastapi-instrumentator = { version = "^5.7.1", extras = ["api"], optional = true}
    python-jose = {extras = ["cryptography"], version = "^3.3.0", optional = true}  # python-jose is for JWT
    gunicorn = { version = "^21", optional = true}
    retrying = { version = "^1.3.4", optional = true}
    
    [tool.poetry.extras]
    api = ["fastapi", "uvicorn", "prometheus-fastapi-instrumentator", "python-jose", "gunicorn", "retrying"]
    
    [tool.poetry.group.dev.dependencies]
    plotly = "^5.10.0"
    nbdev = "^2.0.3"
    pre-commit = "^2.13.0"
    seaborn = ">=0.11.1"
    papermill = "^2.3.3"
    locust = "^2.2.3"  # Pour les tests de charge de l'API
    snakeviz = "^2.2.0" # Pour debug l'empreinte mémoire
    
    [tool.poetry.scripts]
    api = "leximpact_socio_fisca_simu_etat_api.server:start_dev"
    
    [build-system]
    requires = ["poetry-core>=1.0.0"]
    build-backend = "poetry.core.masonry.api"
    
    [tool.isort]
    profile = "black"
    multi_line_output = 3
    
    [tool.pytest.ini_options]
    testpaths = "tests"
    norecursedirs = "load_testing"