From ca2fcf69ca03055148c3097e4eda0452d53b3269 Mon Sep 17 00:00:00 2001 From: Max Caldwell Date: Tue, 12 Mar 2024 11:02:52 -0700 Subject: [PATCH 1/5] new toml structure defined by PEP 621 + consistent sphinx --- .gitignore | 3 + pyproject.toml | 60 +++++++------- requirements-dev.lock | 176 ++++++++++++++++++++++++++++++++++++++++++ requirements.lock | 176 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 389 insertions(+), 26 deletions(-) create mode 100644 requirements-dev.lock create mode 100644 requirements.lock diff --git a/.gitignore b/.gitignore index 20995e32..55819c1e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,9 @@ __pycache__/ dist/ /venvs/ /.venvs/ +.venv +.venvs +venv/ # coverage .coverage diff --git a/pyproject.toml b/pyproject.toml index 80e85e7c..b01610d8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,17 +1,17 @@ [build-system] -requires = ["flit_core >=2,<4"] +requires = ["flit_core >=3.2,<4"] build-backend = "flit_core.buildapi" -[tool.flit.metadata] -module = "deal" -license = "MIT" -author = "Gram" -author-email = "gram@orsinium.dev" -home-page = "https://github.com/life4/deal" -description-file = "README.md" +[project] +name = "deal" +authors = [ + { name = "Gram", email = "gram@orsinium.dev" }, +] +license = {text="MIT"} +readme = "README.md" +dynamic = ["version", "description"] requires-python = ">=3.8" -keywords = "deal,contracts,pre,post,invariant,decorators,validation,pythonic,functional" -requires = [] +keywords = ["deal", "contracts", "pre", "post", "invariant", "decorators", "validation", "pythonic", "functional"] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Plugins", @@ -22,17 +22,21 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance", ] +dependencies = [ + "flit>=3.9.0", +] +urls = {Documentation= "https://github.com/life4/deal"} -[tool.flit.metadata.requires-extra] +[project.optional-dependencies] all = [ - "astroid>=2.11.0", # for tyupe inference in linter - "deal-solver>=0.1.2", # for formal verification - "hypothesis", # for test generation - "pygments", # for syntax highlighting in exceptions - "typeguard>=3.0.0", # for runtime type checking in tests - "vaa>=0.2.1", # for supporting schemes (like marshmallow) as validators + "astroid>=2.11.0", + "deal-solver>=0.1.2", + "hypothesis", + "pygments", + "typeguard>=3.0.0", + "vaa>=0.2.1", ] -integration = [ # integration tests +integration = [ "astroid>=2.11.0", "deal-solver>=0.1.2", "hypothesis", @@ -59,23 +63,29 @@ lint = [ "mypy_test>=0.1.1", "isort", "unify", - - # copy-pasted "all" extra "deal-solver>=0.1.2", "hypothesis", "pygments", "typeguard<4.0.0", ] docs = [ - "m2r2", # markdown support in docstrings for sphinx - "myst-parser", # markdown support for dcs in sphinx - "sphinx==3.5.*", # documentation + "m2r2", + "myst-parser", + "sphinx>=4.5.0", "sphinx-rtd-theme==0.5.*", ] -[tool.flit.entrypoints."flake8.extension"] +[project.scripts] DEL = "deal.linter:Checker" +[project.entry-points."flake8.extension"] +DEL = "deal.linter:Checker" + +[tool] +rye = { dev-dependencies = [ + "flit>=3.9.0", +] } + [tool.pytest.ini_options] python_classes = "" addopts = [ @@ -113,10 +123,8 @@ show_error_codes = true allow_redefinition = true check_untyped_defs = true -# no_implicit_optional = true strict_equality = true warn_redundant_casts = true -# warn_unreachable = true warn_unused_ignores = true [[tool.mypy.overrides]] diff --git a/requirements-dev.lock b/requirements-dev.lock new file mode 100644 index 00000000..d0250dfd --- /dev/null +++ b/requirements-dev.lock @@ -0,0 +1,176 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: true +# with-sources: false + +-e file:. +alabaster==0.7.13 + # via sphinx +astroid==3.1.0 + # via deal + # via deal-solver +attrs==23.2.0 + # via hypothesis +babel==2.14.0 + # via sphinx +certifi==2024.2.2 + # via requests +charset-normalizer==3.3.2 + # via requests +coverage==7.4.3 + # via coverage-conditional-plugin + # via deal + # via pytest-cov +coverage-conditional-plugin==0.9.0 + # via deal +deal-solver==0.1.2 + # via deal +docstring-parser==0.15 + # via deal +docutils==0.20.1 + # via flit + # via m2r2 + # via myst-parser + # via sphinx +exceptiongroup==1.2.0 + # via hypothesis + # via pytest +flake8==7.0.0 + # via deal + # via flake8-commas + # via flake8-quotes +flake8-commas==2.1.0 + # via deal +flake8-quotes==3.4.0 + # via deal +flit==3.9.0 + # via deal +flit-core==3.9.0 + # via flit +hypothesis==6.99.5 + # via deal +idna==3.6 + # via requests +imagesize==1.4.1 + # via sphinx +importlib-metadata==7.0.2 + # via coverage-conditional-plugin + # via sphinx + # via typeguard +importlib-resources==6.1.3 + # via z3-solver +iniconfig==2.0.0 + # via pytest +isort==5.13.2 + # via deal +jinja2==3.1.3 + # via myst-parser + # via sphinx +lxml==5.1.0 + # via mypy-test +m2r2==0.3.3.post2 + # via deal +markdown-it-py==3.0.0 + # via mdit-py-plugins + # via myst-parser +markupsafe==2.1.5 + # via jinja2 +marshmallow==3.21.1 + # via deal +mccabe==0.7.0 + # via flake8 +mdit-py-plugins==0.4.0 + # via myst-parser +mdurl==0.1.2 + # via markdown-it-py +mistune==0.8.4 + # via m2r2 +mypy==1.9.0 + # via deal + # via mypy-test +mypy-extensions==1.0.0 + # via mypy +mypy-test==0.1.4 + # via deal +myst-parser==2.0.0 + # via deal +packaging==24.0 + # via coverage-conditional-plugin + # via marshmallow + # via pytest + # via sphinx +pluggy==1.4.0 + # via pytest +pycodestyle==2.11.1 + # via flake8 +pyflakes==3.2.0 + # via flake8 +pygments==2.17.2 + # via deal + # via sphinx +pytest==8.1.1 + # via deal + # via pytest-cov +pytest-cov==4.1.0 + # via deal +pytz==2024.1 + # via babel +pyyaml==6.0.1 + # via myst-parser +requests==2.31.0 + # via flit + # via sphinx +setuptools==69.1.1 + # via flake8-quotes +snowballstemmer==2.2.0 + # via sphinx +sortedcontainers==2.4.0 + # via hypothesis +sphinx==7.1.2 + # via deal + # via myst-parser + # via sphinx-rtd-theme +sphinx-rtd-theme==0.5.1 + # via deal +sphinxcontrib-applehelp==1.0.4 + # via sphinx +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.1 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +tomli==2.0.1 + # via coverage + # via mypy + # via pytest +tomli-w==1.0.0 + # via flit +typeguard==3.0.2 + # via deal +typing-extensions==4.10.0 + # via astroid + # via mypy + # via typeguard +unify==0.5 + # via deal +untokenize==0.1.1 + # via unify +urllib3==2.2.1 + # via deal + # via requests +vaa==0.2.1 + # via deal +z3-solver==4.13.0.0 + # via deal-solver +zipp==3.17.0 + # via importlib-metadata + # via importlib-resources diff --git a/requirements.lock b/requirements.lock new file mode 100644 index 00000000..d0250dfd --- /dev/null +++ b/requirements.lock @@ -0,0 +1,176 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: true +# with-sources: false + +-e file:. +alabaster==0.7.13 + # via sphinx +astroid==3.1.0 + # via deal + # via deal-solver +attrs==23.2.0 + # via hypothesis +babel==2.14.0 + # via sphinx +certifi==2024.2.2 + # via requests +charset-normalizer==3.3.2 + # via requests +coverage==7.4.3 + # via coverage-conditional-plugin + # via deal + # via pytest-cov +coverage-conditional-plugin==0.9.0 + # via deal +deal-solver==0.1.2 + # via deal +docstring-parser==0.15 + # via deal +docutils==0.20.1 + # via flit + # via m2r2 + # via myst-parser + # via sphinx +exceptiongroup==1.2.0 + # via hypothesis + # via pytest +flake8==7.0.0 + # via deal + # via flake8-commas + # via flake8-quotes +flake8-commas==2.1.0 + # via deal +flake8-quotes==3.4.0 + # via deal +flit==3.9.0 + # via deal +flit-core==3.9.0 + # via flit +hypothesis==6.99.5 + # via deal +idna==3.6 + # via requests +imagesize==1.4.1 + # via sphinx +importlib-metadata==7.0.2 + # via coverage-conditional-plugin + # via sphinx + # via typeguard +importlib-resources==6.1.3 + # via z3-solver +iniconfig==2.0.0 + # via pytest +isort==5.13.2 + # via deal +jinja2==3.1.3 + # via myst-parser + # via sphinx +lxml==5.1.0 + # via mypy-test +m2r2==0.3.3.post2 + # via deal +markdown-it-py==3.0.0 + # via mdit-py-plugins + # via myst-parser +markupsafe==2.1.5 + # via jinja2 +marshmallow==3.21.1 + # via deal +mccabe==0.7.0 + # via flake8 +mdit-py-plugins==0.4.0 + # via myst-parser +mdurl==0.1.2 + # via markdown-it-py +mistune==0.8.4 + # via m2r2 +mypy==1.9.0 + # via deal + # via mypy-test +mypy-extensions==1.0.0 + # via mypy +mypy-test==0.1.4 + # via deal +myst-parser==2.0.0 + # via deal +packaging==24.0 + # via coverage-conditional-plugin + # via marshmallow + # via pytest + # via sphinx +pluggy==1.4.0 + # via pytest +pycodestyle==2.11.1 + # via flake8 +pyflakes==3.2.0 + # via flake8 +pygments==2.17.2 + # via deal + # via sphinx +pytest==8.1.1 + # via deal + # via pytest-cov +pytest-cov==4.1.0 + # via deal +pytz==2024.1 + # via babel +pyyaml==6.0.1 + # via myst-parser +requests==2.31.0 + # via flit + # via sphinx +setuptools==69.1.1 + # via flake8-quotes +snowballstemmer==2.2.0 + # via sphinx +sortedcontainers==2.4.0 + # via hypothesis +sphinx==7.1.2 + # via deal + # via myst-parser + # via sphinx-rtd-theme +sphinx-rtd-theme==0.5.1 + # via deal +sphinxcontrib-applehelp==1.0.4 + # via sphinx +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.1 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +tomli==2.0.1 + # via coverage + # via mypy + # via pytest +tomli-w==1.0.0 + # via flit +typeguard==3.0.2 + # via deal +typing-extensions==4.10.0 + # via astroid + # via mypy + # via typeguard +unify==0.5 + # via deal +untokenize==0.1.1 + # via unify +urllib3==2.2.1 + # via deal + # via requests +vaa==0.2.1 + # via deal +z3-solver==4.13.0.0 + # via deal-solver +zipp==3.17.0 + # via importlib-metadata + # via importlib-resources From 49b08760687dec8bc3faac7ee958885d6af57ebc Mon Sep 17 00:00:00 2001 From: Max Caldwell Date: Tue, 12 Mar 2024 11:20:55 -0700 Subject: [PATCH 2/5] deleted rye cruft and bumped astroid --- pyproject.toml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b01610d8..269acc24 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ urls = {Documentation= "https://github.com/life4/deal"} [project.optional-dependencies] all = [ - "astroid>=2.11.0", + "astroid>=3.1.0", "deal-solver>=0.1.2", "hypothesis", "pygments", @@ -37,7 +37,7 @@ all = [ "vaa>=0.2.1", ] integration = [ - "astroid>=2.11.0", + "astroid>=3.1.0", "deal-solver>=0.1.2", "hypothesis", "pygments", @@ -81,11 +81,6 @@ DEL = "deal.linter:Checker" [project.entry-points."flake8.extension"] DEL = "deal.linter:Checker" -[tool] -rye = { dev-dependencies = [ - "flit>=3.9.0", -] } - [tool.pytest.ini_options] python_classes = "" addopts = [ From c48b4f3a1b2d6d1d400d5221850cf5dd121b3275 Mon Sep 17 00:00:00 2001 From: gram Date: Thu, 21 Mar 2024 16:20:29 +0100 Subject: [PATCH 3/5] drop lock files, fix pyproject.toml formatting --- pyproject.toml | 33 ++++---- requirements-dev.lock | 176 ------------------------------------------ requirements.lock | 176 ------------------------------------------ 3 files changed, 15 insertions(+), 370 deletions(-) delete mode 100644 requirements-dev.lock delete mode 100644 requirements.lock diff --git a/pyproject.toml b/pyproject.toml index fc6f53b7..44eacb8a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,14 +4,22 @@ build-backend = "flit_core.buildapi" [project] name = "deal" -authors = [ - { name = "Gram", email = "gram@orsinium.dev" }, -] -license = {text="MIT"} +authors = [{ name = "Gram", email = "gram@orsinium.dev" }] +license = { text = "MIT" } readme = "README.md" dynamic = ["version", "description"] requires-python = ">=3.8" -keywords = ["deal", "contracts", "pre", "post", "invariant", "decorators", "validation", "pythonic", "functional"] +keywords = [ + "deal", + "contracts", + "pre", + "post", + "invariant", + "decorators", + "validation", + "pythonic", + "functional", +] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Plugins", @@ -22,10 +30,7 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance", ] -dependencies = [ - "flit>=3.9.0", -] -urls = {Documentation= "https://github.com/life4/deal"} +urls = { Documentation = "https://github.com/life4/deal" } [project.optional-dependencies] all = [ @@ -68,15 +73,7 @@ lint = [ "pygments", "typeguard<4.0.0", ] -docs = [ - "m2r2", - "myst-parser", - "sphinx>=4.5.0", - "sphinx-rtd-theme==0.5.*", -] - -[project.scripts] -DEL = "deal.linter:Checker" +docs = ["m2r2", "myst-parser", "sphinx>=4.5.0", "sphinx-rtd-theme==0.5.*"] [project.entry-points."flake8.extension"] DEL = "deal.linter:Checker" diff --git a/requirements-dev.lock b/requirements-dev.lock deleted file mode 100644 index d0250dfd..00000000 --- a/requirements-dev.lock +++ /dev/null @@ -1,176 +0,0 @@ -# generated by rye -# use `rye lock` or `rye sync` to update this lockfile -# -# last locked with the following flags: -# pre: false -# features: [] -# all-features: true -# with-sources: false - --e file:. -alabaster==0.7.13 - # via sphinx -astroid==3.1.0 - # via deal - # via deal-solver -attrs==23.2.0 - # via hypothesis -babel==2.14.0 - # via sphinx -certifi==2024.2.2 - # via requests -charset-normalizer==3.3.2 - # via requests -coverage==7.4.3 - # via coverage-conditional-plugin - # via deal - # via pytest-cov -coverage-conditional-plugin==0.9.0 - # via deal -deal-solver==0.1.2 - # via deal -docstring-parser==0.15 - # via deal -docutils==0.20.1 - # via flit - # via m2r2 - # via myst-parser - # via sphinx -exceptiongroup==1.2.0 - # via hypothesis - # via pytest -flake8==7.0.0 - # via deal - # via flake8-commas - # via flake8-quotes -flake8-commas==2.1.0 - # via deal -flake8-quotes==3.4.0 - # via deal -flit==3.9.0 - # via deal -flit-core==3.9.0 - # via flit -hypothesis==6.99.5 - # via deal -idna==3.6 - # via requests -imagesize==1.4.1 - # via sphinx -importlib-metadata==7.0.2 - # via coverage-conditional-plugin - # via sphinx - # via typeguard -importlib-resources==6.1.3 - # via z3-solver -iniconfig==2.0.0 - # via pytest -isort==5.13.2 - # via deal -jinja2==3.1.3 - # via myst-parser - # via sphinx -lxml==5.1.0 - # via mypy-test -m2r2==0.3.3.post2 - # via deal -markdown-it-py==3.0.0 - # via mdit-py-plugins - # via myst-parser -markupsafe==2.1.5 - # via jinja2 -marshmallow==3.21.1 - # via deal -mccabe==0.7.0 - # via flake8 -mdit-py-plugins==0.4.0 - # via myst-parser -mdurl==0.1.2 - # via markdown-it-py -mistune==0.8.4 - # via m2r2 -mypy==1.9.0 - # via deal - # via mypy-test -mypy-extensions==1.0.0 - # via mypy -mypy-test==0.1.4 - # via deal -myst-parser==2.0.0 - # via deal -packaging==24.0 - # via coverage-conditional-plugin - # via marshmallow - # via pytest - # via sphinx -pluggy==1.4.0 - # via pytest -pycodestyle==2.11.1 - # via flake8 -pyflakes==3.2.0 - # via flake8 -pygments==2.17.2 - # via deal - # via sphinx -pytest==8.1.1 - # via deal - # via pytest-cov -pytest-cov==4.1.0 - # via deal -pytz==2024.1 - # via babel -pyyaml==6.0.1 - # via myst-parser -requests==2.31.0 - # via flit - # via sphinx -setuptools==69.1.1 - # via flake8-quotes -snowballstemmer==2.2.0 - # via sphinx -sortedcontainers==2.4.0 - # via hypothesis -sphinx==7.1.2 - # via deal - # via myst-parser - # via sphinx-rtd-theme -sphinx-rtd-theme==0.5.1 - # via deal -sphinxcontrib-applehelp==1.0.4 - # via sphinx -sphinxcontrib-devhelp==1.0.2 - # via sphinx -sphinxcontrib-htmlhelp==2.0.1 - # via sphinx -sphinxcontrib-jsmath==1.0.1 - # via sphinx -sphinxcontrib-qthelp==1.0.3 - # via sphinx -sphinxcontrib-serializinghtml==1.1.5 - # via sphinx -tomli==2.0.1 - # via coverage - # via mypy - # via pytest -tomli-w==1.0.0 - # via flit -typeguard==3.0.2 - # via deal -typing-extensions==4.10.0 - # via astroid - # via mypy - # via typeguard -unify==0.5 - # via deal -untokenize==0.1.1 - # via unify -urllib3==2.2.1 - # via deal - # via requests -vaa==0.2.1 - # via deal -z3-solver==4.13.0.0 - # via deal-solver -zipp==3.17.0 - # via importlib-metadata - # via importlib-resources diff --git a/requirements.lock b/requirements.lock deleted file mode 100644 index d0250dfd..00000000 --- a/requirements.lock +++ /dev/null @@ -1,176 +0,0 @@ -# generated by rye -# use `rye lock` or `rye sync` to update this lockfile -# -# last locked with the following flags: -# pre: false -# features: [] -# all-features: true -# with-sources: false - --e file:. -alabaster==0.7.13 - # via sphinx -astroid==3.1.0 - # via deal - # via deal-solver -attrs==23.2.0 - # via hypothesis -babel==2.14.0 - # via sphinx -certifi==2024.2.2 - # via requests -charset-normalizer==3.3.2 - # via requests -coverage==7.4.3 - # via coverage-conditional-plugin - # via deal - # via pytest-cov -coverage-conditional-plugin==0.9.0 - # via deal -deal-solver==0.1.2 - # via deal -docstring-parser==0.15 - # via deal -docutils==0.20.1 - # via flit - # via m2r2 - # via myst-parser - # via sphinx -exceptiongroup==1.2.0 - # via hypothesis - # via pytest -flake8==7.0.0 - # via deal - # via flake8-commas - # via flake8-quotes -flake8-commas==2.1.0 - # via deal -flake8-quotes==3.4.0 - # via deal -flit==3.9.0 - # via deal -flit-core==3.9.0 - # via flit -hypothesis==6.99.5 - # via deal -idna==3.6 - # via requests -imagesize==1.4.1 - # via sphinx -importlib-metadata==7.0.2 - # via coverage-conditional-plugin - # via sphinx - # via typeguard -importlib-resources==6.1.3 - # via z3-solver -iniconfig==2.0.0 - # via pytest -isort==5.13.2 - # via deal -jinja2==3.1.3 - # via myst-parser - # via sphinx -lxml==5.1.0 - # via mypy-test -m2r2==0.3.3.post2 - # via deal -markdown-it-py==3.0.0 - # via mdit-py-plugins - # via myst-parser -markupsafe==2.1.5 - # via jinja2 -marshmallow==3.21.1 - # via deal -mccabe==0.7.0 - # via flake8 -mdit-py-plugins==0.4.0 - # via myst-parser -mdurl==0.1.2 - # via markdown-it-py -mistune==0.8.4 - # via m2r2 -mypy==1.9.0 - # via deal - # via mypy-test -mypy-extensions==1.0.0 - # via mypy -mypy-test==0.1.4 - # via deal -myst-parser==2.0.0 - # via deal -packaging==24.0 - # via coverage-conditional-plugin - # via marshmallow - # via pytest - # via sphinx -pluggy==1.4.0 - # via pytest -pycodestyle==2.11.1 - # via flake8 -pyflakes==3.2.0 - # via flake8 -pygments==2.17.2 - # via deal - # via sphinx -pytest==8.1.1 - # via deal - # via pytest-cov -pytest-cov==4.1.0 - # via deal -pytz==2024.1 - # via babel -pyyaml==6.0.1 - # via myst-parser -requests==2.31.0 - # via flit - # via sphinx -setuptools==69.1.1 - # via flake8-quotes -snowballstemmer==2.2.0 - # via sphinx -sortedcontainers==2.4.0 - # via hypothesis -sphinx==7.1.2 - # via deal - # via myst-parser - # via sphinx-rtd-theme -sphinx-rtd-theme==0.5.1 - # via deal -sphinxcontrib-applehelp==1.0.4 - # via sphinx -sphinxcontrib-devhelp==1.0.2 - # via sphinx -sphinxcontrib-htmlhelp==2.0.1 - # via sphinx -sphinxcontrib-jsmath==1.0.1 - # via sphinx -sphinxcontrib-qthelp==1.0.3 - # via sphinx -sphinxcontrib-serializinghtml==1.1.5 - # via sphinx -tomli==2.0.1 - # via coverage - # via mypy - # via pytest -tomli-w==1.0.0 - # via flit -typeguard==3.0.2 - # via deal -typing-extensions==4.10.0 - # via astroid - # via mypy - # via typeguard -unify==0.5 - # via deal -untokenize==0.1.1 - # via unify -urllib3==2.2.1 - # via deal - # via requests -vaa==0.2.1 - # via deal -z3-solver==4.13.0.0 - # via deal-solver -zipp==3.17.0 - # via importlib-metadata - # via importlib-resources From 54e0fcc5816ca6e0ee524db5612ca2d67e78da07 Mon Sep 17 00:00:00 2001 From: Max Caldwell Date: Fri, 22 Mar 2024 19:16:29 -0700 Subject: [PATCH 4/5] putting back comments and pinning jinja and docutils. --- pyproject.toml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 44eacb8a..4e33b211 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,21 +34,20 @@ urls = { Documentation = "https://github.com/life4/deal" } [project.optional-dependencies] all = [ - "astroid>=3.1.0", - "deal-solver>=0.1.2", - "hypothesis", - "pygments", - "typeguard>=3.0.0", - "vaa>=0.2.1", + "astroid>=3.1.0", # for type inference in linter + "deal-solver>=0.1.2", # for formal verification + "hypothesis", # for property based testing + "pygments", # for syntax highlighting in exceptions + "typeguard>=3.0.0", # for runtime type checking in tests + "vaa>=0.2.1", # for supporting schemes (like marshmallow) as validators ] -integration = [ +integration = [ # for integration testing "astroid>=3.1.0", "deal-solver>=0.1.2", "hypothesis", "pygments", "typeguard<4.0.0", "vaa>=0.2.1", - "sphinx>=4.5.0", "flake8", "marshmallow", ] @@ -73,7 +72,14 @@ lint = [ "pygments", "typeguard<4.0.0", ] -docs = ["m2r2", "myst-parser", "sphinx>=4.5.0", "sphinx-rtd-theme==0.5.*"] +docs = [ + "m2r2", # markdown support in docstrings for sphinx + "Jinja2<3.1", # jinja2 is not supported in sphinx 3 + "docutils==0.17.*", # docutils above 0.17.x is not supported in sphinx 3.5 + "myst-parser", # markdown support for dcs in sphinx + "sphinx==3.5.*", # documentation + "sphinx-rtd-theme==0.5.*", # theme for documentation +] [project.entry-points."flake8.extension"] DEL = "deal.linter:Checker" From b2a89b251e39abc272594c8975ab05c375ce62bb Mon Sep 17 00:00:00 2001 From: gram Date: Sat, 23 Mar 2024 11:02:41 +0100 Subject: [PATCH 5/5] clean metadata, drop sphinx and astroid constraint changes --- pyproject.toml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4e33b211..eb05ed77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,24 +30,28 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance", ] -urls = { Documentation = "https://github.com/life4/deal" } + +[project.urls] +Repository = "https://github.com/life4/deal" +Documentation = "https://deal.readthedocs.io/" [project.optional-dependencies] all = [ - "astroid>=3.1.0", # for type inference in linter + "astroid>=2.11.0", # for type inference in linter "deal-solver>=0.1.2", # for formal verification - "hypothesis", # for property based testing - "pygments", # for syntax highlighting in exceptions - "typeguard>=3.0.0", # for runtime type checking in tests - "vaa>=0.2.1", # for supporting schemes (like marshmallow) as validators + "hypothesis", # for property based testing + "pygments", # for syntax highlighting in exceptions + "typeguard>=3.0.0", # for runtime type checking in tests + "vaa>=0.2.1", # for supporting schemes (like marshmallow) as validators ] integration = [ # for integration testing - "astroid>=3.1.0", + "astroid>=2.11.0", "deal-solver>=0.1.2", "hypothesis", "pygments", "typeguard<4.0.0", "vaa>=0.2.1", + "sphinx>=4.5.0", "flake8", "marshmallow", ] @@ -67,6 +71,8 @@ lint = [ "mypy_test>=0.1.1", "isort", "unify", + + # copy-pasted "all" extra "deal-solver>=0.1.2", "hypothesis", "pygments", @@ -74,11 +80,9 @@ lint = [ ] docs = [ "m2r2", # markdown support in docstrings for sphinx - "Jinja2<3.1", # jinja2 is not supported in sphinx 3 - "docutils==0.17.*", # docutils above 0.17.x is not supported in sphinx 3.5 "myst-parser", # markdown support for dcs in sphinx "sphinx==3.5.*", # documentation - "sphinx-rtd-theme==0.5.*", # theme for documentation + "sphinx-rtd-theme==0.5.*", # theme for documentation ] [project.entry-points."flake8.extension"]