# Poetry pyproject.toml: https://python-poetry.org/docs/pyproject/ [build-system] requires = ["poetry_core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "tlc" version = "0.9.0" description = "Transfer List Compiler (TLC) is a Python-based CLI for efficiently handling transfer lists." authors = ["Arm Ltd "] license = "BSD-3" repository = "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/" homepage = "https://trustedfirmware-a.readthedocs.io/en/latest/index.html" # Keywords description https://python-poetry.org/docs/pyproject/#keywords keywords = [] #! Update me # Pypi classifiers: https://pypi.org/classifiers/ classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Operating System :: OS Independent", "Topic :: Software Development :: Libraries :: Python Modules", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", ] [tool.poetry.scripts] # Entry points for the package https://python-poetry.org/docs/pyproject/#scripts "tlc" = "tlc.__main__:cli" [tool.poetry.dependencies] python = "^3.8" typer = {extras = ["all"], version = "^0.4.0"} rich = "^10.14.0" click = "^8.1.7" pyyaml = "^6.0.1" tox = "^4.18.0" jinja2 = "^3.1.4" [tool.poetry.group.dev] optional = true [tool.poetry.group.dev.dependencies] bandit = "^1.7.1" tox = "^4.18.0" darglint = "^1.8.1" black = "^24.4.2" isort = {extras = ["colors"], version = "^5.10.1"} mypy = "^0.910" mypy-extensions = "^0.4.3" pre-commit = "^2.15.0" pydocstyle = "^6.1.1" pylint = "^2.11.1" pytest = "^8.0.0" pyupgrade = "^2.29.1" safety = "^2.2.0" coverage = "^6.1.2" coverage-badge = "^1.1.0" pytest-html = "^4.1.1" pytest-cov = "5.0.0" [tool.black] # https://github.com/psf/black target-version = ["py38"] line-length = 88 color = true exclude = ''' /( \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist | env | venv )/ ''' [tool.isort] # https://github.com/timothycrosley/isort/ py_version = 38 line_length = 88 known_typing = ["typing", "types", "typing_extensions", "mypy", "mypy_extensions"] sections = ["FUTURE", "TYPING", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] include_trailing_comma = true profile = "black" multi_line_output = 3 indent = 4 color_output = true [tool.mypy] # https://mypy.readthedocs.io/en/latest/config_file.html#using-a-pyproject-toml-file python_version = 3.8 pretty = true show_traceback = true color_output = true allow_redefinition = false check_untyped_defs = true disallow_any_generics = true disallow_incomplete_defs = true ignore_missing_imports = true implicit_reexport = false no_implicit_optional = true show_column_numbers = true show_error_codes = true show_error_context = true strict_equality = true strict_optional = true warn_no_return = true warn_redundant_casts = true warn_return_any = true warn_unreachable = true warn_unused_configs = true warn_unused_ignores = true [tool.pytest.ini_options] # https://docs.pytest.org/en/6.2.x/customize.html#pyproject-toml # Directories that are not visited by pytest collector: norecursedirs =["hooks", "*.egg", ".eggs", "dist", "build", "docs", ".tox", ".git", "__pycache__"] doctest_optionflags = ["NUMBER", "NORMALIZE_WHITESPACE", "IGNORE_EXCEPTION_DETAIL"] # Extra options: addopts = [ "--strict-markers", "--tb=short", "--doctest-modules", "--doctest-continue-on-failure", ] [tool.coverage.run] source = ["tests"] branch = true [tool.coverage.paths] source = ["tlc"] [tool.coverage.report] fail_under = 50 show_missing = true