[metadata] name = settngs description = A library for managing settings long_description = file: README.md long_description_content_type = text/markdown url = https://github.com/lordwelch/settngs author = Timmy Welch author_email = timmy@narnian.us license = MIT license_files = LICENSE classifiers = License :: OSI Approved :: MIT License Programming Language :: Python :: 3 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy [options] packages = find: install_requires = typing-extensions>=4.3.0;python_version < '3.11' python_requires = >=3.8 include_package_data = True [options.packages.find] exclude = tests* testing* [options.package_data] settngs = py.typed [tox:tox] envlist = py3.8,py3.9,py3.10,py3.11,pypy3 [testenv] deps = -rrequirements-dev.txt commands = coverage erase coverage run -m pytest {posargs:tests} coverage report [testenv:wheel] description = Generate wheel and tar.gz labels = release build skip_install = true deps = build commands_pre = -python -c 'import shutil,pathlib; \ shutil.rmtree("./build/", ignore_errors=True); \ shutil.rmtree("./dist/", ignore_errors=True)' commands = python -m build [testenv:pypi-upload] description = Upload wheel to PyPi platform = Linux labels = release skip_install = true depends = wheel deps = twine passenv = TWINE_* setenv = TWINE_NON_INTERACTIVE=true commands = python -m twine upload dist/*.whl dist/*.tar.gz [pep8] ignore = E265,E501 max_line_length = 120 [flake8] extend-ignore = E501, A003 max_line_length = 120 [coverage:run] plugins = covdefaults [coverage:report] fail_under = 95 [mypy] check_untyped_defs = true disallow_any_generics = true disallow_incomplete_defs = true disallow_untyped_defs = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true [mypy-testing.*] disallow_untyped_defs = false [mypy-tests.*] disallow_untyped_defs = false