From 487080361adf290235cf7a74813fdcc208eaf14a Mon Sep 17 00:00:00 2001 From: Jovial Joe Jayarson Date: Wed, 12 Apr 2023 19:56:01 +0530 Subject: [PATCH] feat: zero required dependencies --- .github/workflows/build.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/pages.yml | 2 +- poetry.lock | 11 +++---- pyproject.toml | 60 +++++++++++++++++++++++++++++-------- 5 files changed, 57 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bf0d7e91..8250c41e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: virtualenvs-in-project: true # install dependencies - name: Install dependencies - run: poetry install --no-interaction --no-ansi --only sphinx + run: poetry install --no-interaction --no-ansi --no-root --only sphinx # build package - name: Build package run: | diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 03402e26..92392aeb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,7 +31,7 @@ jobs: virtualenvs-in-project: true # install dependencies - name: Install dependencies - run: poetry install --no-interaction --no-ansi --without docs,hooks,sast + run: poetry install --no-interaction --no-ansi --no-root --only tooling # run preflight checks - name: Preflight checks with tox run: | diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 1cc91b9a..2c097cc4 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -33,7 +33,7 @@ jobs: virtualenvs-create: true virtualenvs-in-project: true - name: Install dependencies - run: poetry install --no-interaction --no-root --no-ansi --only docs + run: poetry install --no-interaction --no-ansi --no-root --only docs - name: Build documentation run: | source .venv/bin/activate diff --git a/poetry.lock b/poetry.lock index 340b323b..75bb4a63 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.4.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. [[package]] name = "alabaster" @@ -763,14 +763,14 @@ files = [ [[package]] name = "mkdocstrings" -version = "0.20.0" +version = "0.21.2" description = "Automatic documentation from sources, for MkDocs." category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "mkdocstrings-0.20.0-py3-none-any.whl", hash = "sha256:f17fc2c4f760ec302b069075ef9e31045aa6372ca91d2f35ded3adba8e25a472"}, - {file = "mkdocstrings-0.20.0.tar.gz", hash = "sha256:c757f4f646d4f939491d6bc9256bfe33e36c5f8026392f49eaa351d241c838e5"}, + {file = "mkdocstrings-0.21.2-py3-none-any.whl", hash = "sha256:949ef8da92df9d692ca07be50616459a6b536083a25520fd54b00e8814ce019b"}, + {file = "mkdocstrings-0.21.2.tar.gz", hash = "sha256:304e56a2e90595708a38a13a278e538a67ad82052dd5c8b71f77a604a4f3d911"}, ] [package.dependencies] @@ -781,6 +781,7 @@ mkdocs = ">=1.2" mkdocs-autorefs = ">=0.3.1" mkdocstrings-python = {version = ">=0.5.2", optional = true, markers = "extra == \"python\""} pymdown-extensions = ">=6.3" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.10\""} [package.extras] crystal = ["mkdocstrings-crystal (>=0.3.4)"] @@ -1661,4 +1662,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "556ac6389a41805fc1b4b2ca9ddd63fd8214587d17f0ef8509d06ca62a5571f5" +content-hash = "228af2ad6c7eccee9ea51a5667ef5b0cd5ae287fdc084ff8fb66ff9c4649ccb4" diff --git a/pyproject.toml b/pyproject.toml index e287fd0d..d0993845 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,21 @@ +# Utils PEP 621 is enhanced or some fancy build +# system comes up with a clever mechanism to +# itegrate it all. For now poetry works best. + + +#################### +# Build System # +#################### + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" + + +#################### +# Metadata # +#################### + [tool.poetry] name = "validators" version = "0.21.1" @@ -24,46 +42,64 @@ classifiers = [ ] include = ["CHANGES.md", "docs/*", "docs/validators.1", "validators/py.typed"] + +#################### +# Dependencies # +#################### + [tool.poetry.dependencies] python = "^3.8" -[tool.poetry.group.dev.dependencies] -tox = "^4.4.11" +[tool.poetry.group.docs] +optional = true [tool.poetry.group.docs.dependencies] mkdocs = "^1.4.2" mkdocs-material = "^9.1.6" -mkdocstrings = { extras = ["python"], version = "^0.20.0" } +mkdocstrings = { extras = ["python"], version = "^0.21.2" } pyaml = "^21.10.1" +[tool.poetry.group.hooks] +optional = true + [tool.poetry.group.hooks.dependencies] pre-commit = "^3.2.2" +[tool.poetry.group.sast] +optional = true + [tool.poetry.group.sast.dependencies] bandit = "^1.7.5" +[tool.poetry.group.sphinx] +optional = true + [tool.poetry.group.sphinx.dependencies] sphinx = "^6.1.3" myst-parser = "^1.0.0" pypandoc-binary = "^1.11" -[tool.poetry.group.tests.dependencies] +[tool.poetry.group.testing] +optional = true + +[tool.poetry.group.testing.dependencies] pytest = "^7.3.0" -[tool.poetry.group.type-lint-format.dependencies] +[tool.poetry.group.tooling] +optional = true + +[tool.poetry.group.tooling.dependencies] black = "^23.3.0" flake8 = "^5.0.4" flake8-docstrings = "^1.7.0" isort = "^5.12.0" pyright = "^1.1.302" +tox = "^4.4.11" -[build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" -####################### -# misc configurations # -####################### +#################### +# Configurations # +#################### [tool.black] line-length = 100 @@ -112,7 +148,7 @@ env_list = [testenv] description = run unit tests deps = pytest -commands = pytest tests/ +commands = pytest [testenv:format_black] description = run formatter