|
| 1 | +[build-system] |
| 2 | +requires = ["setuptools>=65.6.3", "wheel>=0.38.4"] |
| 3 | + |
| 4 | +[project] |
| 5 | +name = "jsonargparse" |
| 6 | +dynamic = ["version", "readme"] |
| 7 | +description = "Implement minimal boilerplate CLIs derived from type hints and parse from command line, config files and environment variables." |
| 8 | +authors = [ |
| 9 | + {name = "Mauricio Villegas", email = "mauricio@omnius.com"}, |
| 10 | +] |
| 11 | +license = {file = "LICENSE.rst"} |
| 12 | +requires-python = ">=3.6" |
| 13 | + |
| 14 | +classifiers = [ |
| 15 | + "Development Status :: 5 - Production/Stable", |
| 16 | + "Programming Language :: Python", |
| 17 | + "Programming Language :: Python :: 3", |
| 18 | + "Programming Language :: Python :: 3 :: Only", |
| 19 | + "Programming Language :: Python :: 3.6", |
| 20 | + "Programming Language :: Python :: 3.7", |
| 21 | + "Programming Language :: Python :: 3.8", |
| 22 | + "Programming Language :: Python :: 3.9", |
| 23 | + "Programming Language :: Python :: 3.10", |
| 24 | + "Programming Language :: Python :: 3.11", |
| 25 | + "Intended Audience :: Developers", |
| 26 | + "License :: OSI Approved :: MIT License", |
| 27 | + "Operating System :: POSIX :: Linux", |
| 28 | + "Operating System :: MacOS", |
| 29 | + "Operating System :: Microsoft :: Windows", |
| 30 | +] |
| 31 | + |
| 32 | +dependencies = [ |
| 33 | + "PyYAML>=3.13", |
| 34 | + "contextvars>=2.4; python_version == '3.6'", |
| 35 | + "dataclasses>=0.8; python_version == '3.6'", |
| 36 | +] |
| 37 | + |
| 38 | +[project.optional-dependencies] |
| 39 | +all = [ |
| 40 | + "jsonargparse[signatures]", |
| 41 | + "jsonargparse[jsonschema]", |
| 42 | + "jsonargparse[jsonnet]", |
| 43 | + "jsonargparse[urls]", |
| 44 | + "jsonargparse[fsspec]", |
| 45 | + "jsonargparse[argcomplete]", |
| 46 | + "jsonargparse[ruyaml]", |
| 47 | + "jsonargparse[omegaconf]", |
| 48 | + "jsonargparse[typing-extensions]", |
| 49 | + "jsonargparse[reconplogger]", |
| 50 | +] |
| 51 | +signatures = [ |
| 52 | + "docstring-parser>=0.15", |
| 53 | + "typeshed-client>=2.1.0", |
| 54 | +] |
| 55 | +jsonschema = [ |
| 56 | + "jsonschema>=3.2.0", |
| 57 | +] |
| 58 | +jsonnet = [ |
| 59 | + "jsonnet>=0.13.0; os_name == 'posix'", |
| 60 | + "jsonnet-binary>=0.17.0; os_name != 'posix'", |
| 61 | +] |
| 62 | +urls = [ |
| 63 | + "requests>=2.18.4", |
| 64 | +] |
| 65 | +fsspec = [ |
| 66 | + "fsspec>=0.8.4", |
| 67 | +] |
| 68 | +argcomplete = [ |
| 69 | + "argcomplete>=2.0.0", |
| 70 | +] |
| 71 | +ruyaml = [ |
| 72 | + "ruyaml>=0.20.0", |
| 73 | +] |
| 74 | +omegaconf = [ |
| 75 | + "omegaconf>=2.1.1", |
| 76 | +] |
| 77 | +typing-extensions = [ |
| 78 | + "typing-extensions>=3.10.0.0; python_version < '3.8'", |
| 79 | +] |
| 80 | +reconplogger = [ |
| 81 | + "reconplogger>=4.4.0", |
| 82 | +] |
| 83 | +test = [ |
| 84 | + "jsonargparse[test-no-urls]", |
| 85 | + "jsonargparse[types-pyyaml]", |
| 86 | + "responses>=0.12.0", |
| 87 | + "types-requests>=2.28.9", |
| 88 | +] |
| 89 | +test-no-urls = [ |
| 90 | + "coverage>=4.5.1", |
| 91 | +] |
| 92 | +dev = [ |
| 93 | + "jsonargparse[test]", |
| 94 | + "jsonargparse[doc]", |
| 95 | + "jsonargparse[pylint]", |
| 96 | + "jsonargparse[mypy]", |
| 97 | + "pre-commit>=2.19.0", |
| 98 | + "tox>=3.25.0", |
| 99 | + "pycodestyle>=2.5.0", |
| 100 | +] |
| 101 | +pylint = [ |
| 102 | + "pylint>=2.15.6", |
| 103 | +] |
| 104 | +mypy = [ |
| 105 | + "jsonargparse[types-pyyaml]", |
| 106 | + "mypy>=0.701", |
| 107 | +] |
| 108 | +types-pyyaml = [ |
| 109 | + "types-PyYAML>=6.0.11", |
| 110 | +] |
| 111 | +doc = [ |
| 112 | + "Sphinx>=1.7.9", |
| 113 | + "sphinx-rtd-theme>=0.4.3", |
| 114 | + "autodocsumm>=0.1.10", |
| 115 | + "sphinx-autodoc-typehints>=1.19.5", |
| 116 | +] |
| 117 | +maintainer = [ |
| 118 | + "bump2version>=0.5.11", |
| 119 | +] |
| 120 | + |
| 121 | +[project.urls] |
| 122 | +Documentation-stable = "https://jsonargparse.readthedocs.io/en/stable/" |
| 123 | +Documentation-latest = "https://jsonargparse.readthedocs.io/en/latest/" |
| 124 | +Changes = "https://jsonargparse.readthedocs.io/en/stable/changelog.html" |
| 125 | +GitHub = "https://github.com/omni-us/jsonargparse" |
| 126 | +PyPI = "https://pypi.org/project/jsonargparse" |
| 127 | +CircleCI = "https://circleci.com/gh/omni-us/jsonargparse" |
| 128 | +SonarCloud = "https://sonarcloud.io/dashboard?id=omni-us_jsonargparse" |
| 129 | +Codecov = "https://codecov.io/gh/omni-us/jsonargparse" |
| 130 | + |
| 131 | +[tool.setuptools] |
| 132 | +platforms = ["Any"] |
| 133 | +packages = ["jsonargparse", "jsonargparse_tests"] |
| 134 | + |
| 135 | + |
| 136 | +[tool.setuptools.dynamic] |
| 137 | +version = {attr = "jsonargparse.__version__"} |
| 138 | + |
| 139 | + |
| 140 | +[tool.setuptools.package-data] |
| 141 | +jsonargparse = [ |
| 142 | + "*.pyi", |
| 143 | + "py.typed", |
| 144 | +] |
| 145 | + |
| 146 | + |
| 147 | +[tool.mypy] |
| 148 | +ignore_missing_imports = true |
| 149 | +allow_redefinition = true |
| 150 | +warn_unused_ignores = true |
| 151 | + |
| 152 | + |
| 153 | +[tool.pylint] |
| 154 | +disable = "no-member" |
| 155 | +errors-only = true |
| 156 | + |
| 157 | + |
| 158 | +[tool.isort] |
| 159 | +profile = "black" |
| 160 | +multi_line_output = 3 |
| 161 | + |
| 162 | + |
| 163 | +[tool.tox] |
| 164 | +legacy_tox_ini = """ |
| 165 | +[tox] |
| 166 | +envlist = py{37,38,39,310,311}-{all,no}-extras,pypy3,omegaconf |
| 167 | +skip_missing_interpreters = true |
| 168 | +
|
| 169 | +[testenv] |
| 170 | +extras = |
| 171 | + all-extras: test,all |
| 172 | + no-extras: test-no-urls |
| 173 | +changedir = jsonargparse_tests |
| 174 | +commands = python -m unittest |
| 175 | +usedevelop = true |
| 176 | +
|
| 177 | +[testenv:omegaconf] |
| 178 | +extras = test,all |
| 179 | +setenv = |
| 180 | + JSONARGPARSE_OMEGACONF_FULL_TEST = true |
| 181 | +""" |
0 commit comments