diff --git a/pyproject.toml b/pyproject.toml index 45c3660..26a3aa2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,24 +1,171 @@ +[build-system] +####################### +# Python build system # +####################### +# The build system to use when installing this package. +# Used when installing the package with `pip install .`. +# See also: https://www.python.org/dev/peps/pep-0517/ + +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" + + + [tool.poetry] +################### +# Poetry settings # +################### +# See https://python-poetry.org/docs/pyproject/ for more details! + +# The name of your project. +# Ensure that it is available on PyPI: https://pypi.org/ name = "cfig" -version = "0.2.0" + +# The version of the package. +version = "0.2.1" + +# A brief, one-sentence description about your project. description = "A configuration manager for Python" -authors = ["Stefano Pigozzi "] + +# A list of the authors of the project. +authors = [ + "Stefano Pigozzi ", +] + +# A list of maintainers of the project. +# Often, it is the same as the authors list. +maintainers = [ + "Stefano Pigozzi ", +] + +# The license of the package. +# Uses SPDX format: https://spdx.org/licenses/ license = "MIT" +# The README file. +readme = "README.md" + +# The URL of the project website. +# Not the GitHub repository! +# homepage = "https://example.org/" + +# The URL of the project repository. +repository = "https://github.com/Steffo99/cfig" + +# The URL of the project documentation location. +documentation = "https://cfig.readthedocs.io/en/latest/" + +# Up to five keywords related to your project. +# See also: https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#keywords +keywords = [ + "configuration", + "config", + "lazy", + "environment", + "envvars", +] + +# Any number of trove classifiers that apply to your project. +# See the list at: https://pypi.org/classifiers/ +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Development Status :: 3 - Alpha", + "Environment :: Console", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Topic :: Software Development", + "Topic :: System :: Software Distribution", + "Typing :: Typed", +] + +# ADVANCED: specify the packages exported by your project +# See also: https://python-poetry.org/docs/pyproject/#packages +# packages = [ +# # Regular packages +# { include = "OTHER_PACKAGE_NAME" }, +# # Namespace packages +# { include = "EXTEND/OTHER/NAMESPACE/**/*.py" } +# ] + +# ADVANCED: include additional files in the build +# include = [ +# "FILENAME.txt" +# ] + +# ADVANCED: exclude files from the build +# exclude = [ +# "PACKAGE_NAME/test.py" +# ] + + +[tool.poetry.urls] +################## +# URLs # +################## +# Additional project URLs in a name → link mapping. + + +[tool.poetry.scripts] +##################### +# Scripts # +##################### +# Poetry can create "binaries" to add to the PATH when the project is installed. +# They are specified in the form of a mapping with the command name as key and the function to execute as value. + +# If you are building a library, comment this. +# If you are building an application, replace PACKAGE-NAME and PACKAGE_NAME with your package name in kebab-case and snake_case respectively. + +# PACKAGE-NAME = "PACKAGE_NAME.__main__:main" + + [tool.poetry.dependencies] +########################## +# Dependencies # +########################## +# A mapping of dependencies of the project +# It should be maintained by `poetry add` / `poetry remove`, but it currently adds things after all comments... +# You can manually specify allowed version numbers: +# * means "any release" +# * → any +# ^X.X.X means "newer releases with this major version" +# ^3.10.1 → == 3 && >= 3.10.1 +# ~X.X.X means "newer releases with this minor version" +# ~3.10.1 → == 3.10 && >= 3.10.1 +# nothing means "this specific release" +# 3.10.1 → == 3.10.1 + python = "^3.10" lazy-object-proxy = "^1.7.1" click = { version = "^8.1.2", optional = true } colorama = { version = "^0.4.4", optional = true } + [tool.poetry.extras] +#################### +# Package extras # +#################### +# ADVANCED: specify optional dependency groups. +# See: https://python-poetry.org/docs/pyproject/#extras + cli = ["click", "colorama"] + [tool.poetry.dev-dependencies] +############################## +# Development dependencies # +############################## +# Same as above, but these dependencies are installed only if the project is being installed in development mode. +# They are excluded from the final build. + pytest = "^7.1.1" Sphinx = "^4.5.0" sphinx-rtd-theme = "^1.0.0" -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" + +[tool.pytest.ini_options] +######################### +# Pytest configuration # +#########################