content: [project]
  name = "OpenFisca-France"
  version = "174.2.5"
  description = "OpenFisca Rules as Code model for France."
  readme = "README.md"
  keywords = ["microsimulation", "tax", "benefit", "rac", "rules-as-code", "france"]
  authors = [
    {name = "OpenFisca Team", email = "contact@openfisca.fr"},
  ]
  classifiers = [
      "Development Status :: 5 - Production/Stable",
      "License :: OSI Approved :: GNU Affero General Public License v3",
      "Operating System :: POSIX",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Topic :: Scientific/Engineering :: Information Analysis",
  ]
  requires-python = ">= 3.9"
  dependencies = [
      "numpy >=1.24.3, <2",
      "openfisca-core[web-api] >=43, <43.4.0",
  ]
  
  [project.urls]
  Homepage = "https://github.com/openfisca/openfisca-france"
  Repository = "https://github.com/openfisca/openfisca-france"
  Documentation = "https://openfisca.org/doc"
  Issues = "https://github.com/openfisca/openfisca-france/issues"
  Changelog = "https://github.com/openfisca/openfisca-france/blob/main/CHANGELOG.md"
  
  [build-system]
  requires = ["setuptools-scm"]
  build-backend = "setuptools.build_meta"
  
  [dependency-groups]
  dev = [
      "autopep8 >=2.0.2, <3.0",
      "Flake8-pyproject>=1.2.3, <2.0.0",  # To read flake8 configuration from pyproject.toml
      "flake8 >=6.0.0, <7.0.0",
      "flake8-print >=5.0.0, <6.0.0",
      "flake8-quotes >=3.3.2",
      "pytest",  # Let OpenFisca-Core decide pytest version
      "requests >=2.28.2, <3.0",
      "yamllint >=1.30.0, <2.0"
  ]
  
  [project.optional-dependencies]
  inversion_revenus = [
      "scipy >=1.10.1, <2.0",
  ]
  de_net_a_brut = [
      "scipy >=1.10.1, <2.0",
  ]
  taxipp = [
      "pandas >=1.5.3, <2.0",
  ]
  casd-dev = [
      # Same as dev with packages not available at CASD removed
      "autopep8 >=2.0.2, <3.0",
      "pytest",  # Let OpenFisca-Core decide pytest version
      "requests >=2.28.2, <3.0",
      "scipy >=1.10.1, <2.0",  # Only used to test de_net_a_brut reform
  ]
  
  [tool.flake8]
  # ; E128/133: We prefer hang-closing visual indents
  # ; E251:     We prefer `function(x = 1)` over `function(x=1)`
  # ; E501:     We do not enforce a maximum line length
  # ; F403/405: We ignore * imports
  # ; W503/504: We break lines before binary operators (Knuth's style)
  hang-closing = true
  ignore       = ["E128","E251","F403","F405","E501","W503", ]
  docstring-quotes = "single"
  inline-quotes = "single"
  multiline-quotes = "single"
  
  [tool.pep8]
  hang-closing = true
  ignore       = ["E128","E251","F403","F405","E501","W503"]
  in-place     = true
  
  [tool.pytest.ini_options]
  addopts      = "--showlocals --exitfirst --doctest-modules --disable-pytest-warnings"
  testpaths    = "tests"
  python_files = "**/*.py"
  filterwarnings = [
      "error",
      "ignore::UserWarning",
      'ignore:function ham\(\) is deprecated:DeprecationWarning',
      "ignore:invalid value encountered in divide:RuntimeWarning",
      "ignore:invalid value encountered in multiply:RuntimeWarning",
      "ignore:divide by zero encountered in divide:RuntimeWarning",
  ]
  