[build-system]
requires = ["flit_core>=3.2.0,<4"]
build-backend = "flit_core.buildapi"

[project]
name = "tomli"
version = "2.0.1"  # DO NOT EDIT THIS LINE MANUALLY. LET bump2version UTILITY DO IT
description = "A lil' TOML parser"
authors = [
    { name = "Taneli Hukkinen", email = "hukkin@users.noreply.github.com" },
]
license = { file = "LICENSE" }
requires-python = ">=3.7"
readme = "README.md"
classifiers = [
    "License :: OSI Approved :: MIT License",
    "Operating System :: MacOS",
    "Operating System :: Microsoft :: Windows",
    "Operating System :: POSIX :: Linux",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Typing :: Typed",
]
keywords = ["toml"]

[project.urls]
"Homepage" = "https://github.com/hukkin/tomli"
"Changelog" = "https://github.com/hukkin/tomli/blob/master/CHANGELOG.md"


[tool.isort]
# Force imports to be sorted by module, independent of import type
force_sort_within_sections = true
# Group first party and local folder imports together
no_lines_before = ["LOCALFOLDER"]

# Configure isort to work without access to site-packages
known_first_party = ["tomli", "tests"]

# Settings for Black compatibility
profile = "black"


[tool.tox]
legacy_tox_ini = '''
[tox]
# Only run unittest envs when no args given to tox
envlist = py{37,38,39,310}
isolated_build = True

[testenv:py{37,38,39,310}]
description = run tests against a built package
commands =
    python -m unittest {posargs}

[testenv:profile]
description = run profiler (use e.g. `firefox .tox/prof/output.svg` to open)
deps =
    -r profiler/requirements.txt
allowlist_externals =
    mkdir
    dot
commands =
    mkdir -p "{toxworkdir}/prof"
    python -m cProfile -o "{toxworkdir}/prof/output.pstats" profiler/profiler_script.py
    gprof2dot -f pstats -o "{toxworkdir}/prof/output.dot" "{toxworkdir}/prof/output.pstats"
    dot -Tsvg -o "{toxworkdir}/prof/output.svg" "{toxworkdir}/prof/output.dot"
    python -c 'import pathlib; print("profiler svg output under file://\{0\}".format(pathlib.Path(r"{toxworkdir}") / "prof" / "output.svg"))'

[testenv:pre-commit]
description = run linters
skip_install = True
deps = pre-commit
commands = pre-commit run {posargs:--all}

[testenv:benchmark]
description = run the benchmark script against a local Tomli version
deps =
    -r benchmark/requirements.txt
commands =
    python -c 'import datetime; print(datetime.date.today())'
    python --version
    python benchmark/run.py

[testenv:benchmark-pypi]
description = run the benchmark script against the latest Tomli in PyPI
skip_install = True
deps =
    tomli
    -r benchmark/requirements.txt
commands =
    python -c 'import datetime; print(datetime.date.today())'
    python --version
    python benchmark/run.py

[testenv:fuzz]
description = run the fuzzer against a local Tomli version (needs "apt install clang")
deps =
    -r fuzzer/requirements.txt
allowlist_externals =
    mkdir
    cp
commands =
    # Create a folder for persistent corpus and use benchmark data as initial seed
    mkdir -p {toxworkdir}/fuzzer-corpus
    cp -n benchmark/data.toml {toxworkdir}/fuzzer-corpus/data.toml
    # Run fuzzer
    python fuzzer/fuzz.py {toxworkdir}/fuzzer-corpus {posargs:-len_control=10000}
'''


[tool.coverage.run]
branch = true
source = ['tomli']

[tool.coverage.report]
# Regexes for lines to exclude from consideration
exclude_lines = [
    # Re-enable the standard pragma (with extra strictness)
    '# pragma: no cover\b',
    # Code for static type checkers
    'if TYPE_CHECKING:',
    # Scripts
    'if __name__ == .__main__.:',
]


[tool.mypy]
show_error_codes = true
warn_unreachable = true
warn_unused_ignores = true
warn_redundant_casts = true
warn_unused_configs = true
# Disabling incremental mode is required for `warn_unused_configs = true` to work
incremental = false
disallow_untyped_defs = true
check_untyped_defs = true
strict_equality = true
implicit_reexport = false
no_implicit_optional = true

[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false

[[tool.mypy.overrides]]
# This matches `benchmark/run.py`. Since benchmark/ is
# not a package, we use the module name here.
module = "run"
ignore_errors = true

[[tool.mypy.overrides]]
# This matches `fuzzer/fuzz.py`.
module = "fuzz"
ignore_errors = true
