From 122b17202d339ec78ea196df0a4ecb34a631c40e Mon Sep 17 00:00:00 2001 From: Tim Vink Date: Thu, 12 Sep 2024 11:22:30 +0000 Subject: [PATCH] Update to pyproject.toml --- .github/workflows/pythonpublish.yml | 5 +- .github/workflows/unittests.yml | 10 +- .github/workflows/unittests_codecov.yml | 7 +- mkdocs_print_site_plugin/__init__.py | 0 pyproject.toml | 119 ++++++++++++++++++ requirements.txt | 1 + ...t_requirements.txt => requirements_dev.txt | 10 +- setup.py | 44 ------- src/mkdocs_print_site_plugin/__init__.py | 1 + .../css/print-site-enum-headings1.css | 0 .../css/print-site-enum-headings2.css | 0 .../css/print-site-enum-headings3.css | 0 .../css/print-site-enum-headings4.css | 0 .../css/print-site-enum-headings5.css | 0 .../css/print-site-enum-headings6.css | 0 .../css/print-site-material.css | 0 .../css/print-site-mkdocs.css | 0 .../css/print-site-readthedocs.css | 0 .../css/print-site.css | 0 .../mkdocs_print_site_plugin}/exclude.py | 0 .../js/print-site.js | 0 .../mkdocs_print_site_plugin}/plugin.py | 0 .../mkdocs_print_site_plugin}/renderer.py | 0 .../templates/cover_page.tpl | 0 .../templates/print_site_banner.tpl | 0 .../mkdocs_print_site_plugin}/urls.py | 0 .../mkdocs_print_site_plugin}/utils.py | 0 27 files changed, 133 insertions(+), 64 deletions(-) delete mode 100644 mkdocs_print_site_plugin/__init__.py create mode 100644 pyproject.toml create mode 100644 requirements.txt rename tests/test_requirements.txt => requirements_dev.txt (59%) delete mode 100644 setup.py create mode 100644 src/mkdocs_print_site_plugin/__init__.py rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-enum-headings1.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-enum-headings2.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-enum-headings3.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-enum-headings4.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-enum-headings5.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-enum-headings6.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-material.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-mkdocs.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site-readthedocs.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/css/print-site.css (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/exclude.py (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/js/print-site.js (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/plugin.py (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/renderer.py (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/templates/cover_page.tpl (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/templates/print_site_banner.tpl (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/urls.py (100%) rename {mkdocs_print_site_plugin => src/mkdocs_print_site_plugin}/utils.py (100%) diff --git a/.github/workflows/pythonpublish.yml b/.github/workflows/pythonpublish.yml index 06569e6..e2b4d62 100644 --- a/.github/workflows/pythonpublish.yml +++ b/.github/workflows/pythonpublish.yml @@ -23,12 +23,11 @@ jobs: pip install setuptools wheel twine - name: Make sure unit tests succeed run: | - pip install -r tests/test_requirements.txt - pip install . + pip install ".[dev]"" pytest - name: Build package run: | - python setup.py sdist bdist_wheel + python -m build # See https://docs.pypi.org/trusted-publishers/using-a-publisher/ - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index c30595a..0ddf219 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -14,12 +14,8 @@ jobs: uses: actions/setup-python@master with: python-version: ${{ matrix.python-version }} - - name: Static code checking with pyflakes - run: | - pip install pyflakes - pyflakes mkdocs_print_site_plugin - name: Generate coverage report run: | - pip install -r tests/test_requirements.txt - pip install . - pytest --cov=mkdocs_print_site_plugin --cov-report=xml \ No newline at end of file + pip install ".[dev]" + pytest --cov=mkdocs_print_site_plugin --cov-report=xml + \ No newline at end of file diff --git a/.github/workflows/unittests_codecov.yml b/.github/workflows/unittests_codecov.yml index fb3a70a..6ca8f96 100644 --- a/.github/workflows/unittests_codecov.yml +++ b/.github/workflows/unittests_codecov.yml @@ -24,14 +24,9 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: Static code checking with pyflakes - run: | - pip install pyflakes - pyflakes mkdocs_print_site_plugin - name: Generate coverage report run: | - pip install -r tests/test_requirements.txt - pip install . + pip install ".[dev]" pytest --cov=mkdocs_print_site_plugin --cov-report=xml -vvv - name: Upload coverage to Codecov if: "contains(env.USING_COVERAGE, matrix.python-version)" diff --git a/mkdocs_print_site_plugin/__init__.py b/mkdocs_print_site_plugin/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..64e9a02 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,119 @@ +[build-system] +requires = ["setuptools>=70.0", "setuptools-scm>=8.0"] +build-backend = "setuptools.build_meta" + +[project.entry-points."mkdocs.plugins"] +"print-site" = "mkdocs_print_site_plugin.plugin:PrintSitePlugin" + +[project] +name="mkdocs-print-site-plugin" +keywords = ["mkdocs", "plugin","print","pdf"] +authors = [ + { name = "Tim Vink", email = "vinktim@gmail.com" } +] +license = { text = "MIT" } + +description="MkDocs plugin that combines all pages into one, allowing for easy export to PDF and standalone HTML." +readme = { file = "README.md", content-type = "text/markdown" } + +requires-python=">=3.8" + +classifiers=[ + "Operating System :: OS Independent", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "License :: OSI Approved :: MIT License", + "Topic :: Documentation", + "Topic :: Text Processing", +] + +dynamic = ["version","dependencies","optional-dependencies"] + +[project.urls] +"Homepage" = "https://github.com/timvink/mkdocs-print-site-plugin" + +[tool.setuptools.dynamic] +version = {attr = "mkdocs_print_site_plugin.__version__"} + +dependencies={file = ["requirements.txt"]} + +optional-dependencies.dev={file = ["requirements_dev.txt"]} +optional-dependencies.base={file = ["requirements.txt"]} +optional-dependencies.all={file = ["requirements.txt", "requirements_dev.txt"]} + +[tool.pytest.ini_options] +markers = [ + "integration: marks tests as integration, meaning they use databases (deselect with '-m \"not integration\"')", + "serial", + "no_temp_caching", +] + +# https://github.com/charliermarsh/ruff +[tool.ruff] + +# Rules to apply +lint.select= ["E", "F", "I", "UP"] + +# Exclude rules +lint.ignore = ['D104' + ,'D212' + ,'D200' + ,'D412' + ,'E731' + ,'E501' + ,'E722' + ,'D104' + ,'E402' + ,"UP038" # UP038 Use `X | Y` in `isinstance` call instead of `(X, Y)` +] + +# Exclude files in tests dir +lint.exclude = [ + ".bzr", + ".direnv", + ".eggs", + ".git", + ".hg", + ".mypy_cache", + ".nox", + ".pants.d", + ".pytype", + ".ruff_cache", + ".svn", + ".tox", + ".venv", + "__pypackages__", + "_build", + "buck-out", + "build", + "dist", + "node_modules", + "venv", +] + +# Set line length, keep same as black +line-length = 120 + +extend-exclude = [ + "*.yml", + "*.toml", + "*.md", + ".json", + "Makefile", + "*.txt", +] + + #supported for python 3.10 +target-version = "py310" + +# Always autofix +fix = true + +[tool.uv] +dev-dependencies = [ + "ruff", +] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..badceea --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +mkdocs-material>=7.3.0 \ No newline at end of file diff --git a/tests/test_requirements.txt b/requirements_dev.txt similarity index 59% rename from tests/test_requirements.txt rename to requirements_dev.txt index ae0dbec..2cf692e 100644 --- a/tests/test_requirements.txt +++ b/requirements_dev.txt @@ -1,11 +1,13 @@ mkdocs mkdocs-material -pyflakes +mkdocs-git-revision-date-localized-plugin +# building the package +build +# testing pytest pytest-cov click -# docs -mkdocs-git-revision-date-localized-plugin +# testing for compatibility mkdocs-windmill mkdocs-img2fig-plugin -mkdocs-charts-plugin \ No newline at end of file +mkdocs-charts-plugin diff --git a/setup.py b/setup.py deleted file mode 100644 index e64a683..0000000 --- a/setup.py +++ /dev/null @@ -1,44 +0,0 @@ -from setuptools import setup, find_packages - -# Read README in UTF-8 -with open("README.md", "r", encoding="UTF-8") as f: - long_description = "" - for line in f: - long_description += line - - -setup( - name="mkdocs-print-site-plugin", - version="2.5.0", - description="MkDocs plugin that combines all pages into one, allowing for easy export to PDF and standalone HTML.", - long_description=long_description, - long_description_content_type="text/markdown", - keywords="mkdocs plugin print pdf", - url="https://github.com/timvink/mkdocs-print-site-plugin", - author="Tim Vink", - author_email="vinktim@gmail.com", - include_package_data=True, - license="MIT", - python_requires=">=3.8", - classifiers=[ - "Operating System :: OS Independent", - "Intended Audience :: Developers", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "License :: OSI Approved :: MIT License", - "Topic :: Documentation", - "Topic :: Text Processing", - ], - install_requires=["mkdocs-material>=7.3.0"], - packages=find_packages(), - entry_points={ - "mkdocs.plugins": [ - "print-site = mkdocs_print_site_plugin.plugin:PrintSitePlugin" - ] - }, -) diff --git a/src/mkdocs_print_site_plugin/__init__.py b/src/mkdocs_print_site_plugin/__init__.py new file mode 100644 index 0000000..40929b8 --- /dev/null +++ b/src/mkdocs_print_site_plugin/__init__.py @@ -0,0 +1 @@ +__version__ = "2.6.0" \ No newline at end of file diff --git a/mkdocs_print_site_plugin/css/print-site-enum-headings1.css b/src/mkdocs_print_site_plugin/css/print-site-enum-headings1.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-enum-headings1.css rename to src/mkdocs_print_site_plugin/css/print-site-enum-headings1.css diff --git a/mkdocs_print_site_plugin/css/print-site-enum-headings2.css b/src/mkdocs_print_site_plugin/css/print-site-enum-headings2.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-enum-headings2.css rename to src/mkdocs_print_site_plugin/css/print-site-enum-headings2.css diff --git a/mkdocs_print_site_plugin/css/print-site-enum-headings3.css b/src/mkdocs_print_site_plugin/css/print-site-enum-headings3.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-enum-headings3.css rename to src/mkdocs_print_site_plugin/css/print-site-enum-headings3.css diff --git a/mkdocs_print_site_plugin/css/print-site-enum-headings4.css b/src/mkdocs_print_site_plugin/css/print-site-enum-headings4.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-enum-headings4.css rename to src/mkdocs_print_site_plugin/css/print-site-enum-headings4.css diff --git a/mkdocs_print_site_plugin/css/print-site-enum-headings5.css b/src/mkdocs_print_site_plugin/css/print-site-enum-headings5.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-enum-headings5.css rename to src/mkdocs_print_site_plugin/css/print-site-enum-headings5.css diff --git a/mkdocs_print_site_plugin/css/print-site-enum-headings6.css b/src/mkdocs_print_site_plugin/css/print-site-enum-headings6.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-enum-headings6.css rename to src/mkdocs_print_site_plugin/css/print-site-enum-headings6.css diff --git a/mkdocs_print_site_plugin/css/print-site-material.css b/src/mkdocs_print_site_plugin/css/print-site-material.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-material.css rename to src/mkdocs_print_site_plugin/css/print-site-material.css diff --git a/mkdocs_print_site_plugin/css/print-site-mkdocs.css b/src/mkdocs_print_site_plugin/css/print-site-mkdocs.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-mkdocs.css rename to src/mkdocs_print_site_plugin/css/print-site-mkdocs.css diff --git a/mkdocs_print_site_plugin/css/print-site-readthedocs.css b/src/mkdocs_print_site_plugin/css/print-site-readthedocs.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site-readthedocs.css rename to src/mkdocs_print_site_plugin/css/print-site-readthedocs.css diff --git a/mkdocs_print_site_plugin/css/print-site.css b/src/mkdocs_print_site_plugin/css/print-site.css similarity index 100% rename from mkdocs_print_site_plugin/css/print-site.css rename to src/mkdocs_print_site_plugin/css/print-site.css diff --git a/mkdocs_print_site_plugin/exclude.py b/src/mkdocs_print_site_plugin/exclude.py similarity index 100% rename from mkdocs_print_site_plugin/exclude.py rename to src/mkdocs_print_site_plugin/exclude.py diff --git a/mkdocs_print_site_plugin/js/print-site.js b/src/mkdocs_print_site_plugin/js/print-site.js similarity index 100% rename from mkdocs_print_site_plugin/js/print-site.js rename to src/mkdocs_print_site_plugin/js/print-site.js diff --git a/mkdocs_print_site_plugin/plugin.py b/src/mkdocs_print_site_plugin/plugin.py similarity index 100% rename from mkdocs_print_site_plugin/plugin.py rename to src/mkdocs_print_site_plugin/plugin.py diff --git a/mkdocs_print_site_plugin/renderer.py b/src/mkdocs_print_site_plugin/renderer.py similarity index 100% rename from mkdocs_print_site_plugin/renderer.py rename to src/mkdocs_print_site_plugin/renderer.py diff --git a/mkdocs_print_site_plugin/templates/cover_page.tpl b/src/mkdocs_print_site_plugin/templates/cover_page.tpl similarity index 100% rename from mkdocs_print_site_plugin/templates/cover_page.tpl rename to src/mkdocs_print_site_plugin/templates/cover_page.tpl diff --git a/mkdocs_print_site_plugin/templates/print_site_banner.tpl b/src/mkdocs_print_site_plugin/templates/print_site_banner.tpl similarity index 100% rename from mkdocs_print_site_plugin/templates/print_site_banner.tpl rename to src/mkdocs_print_site_plugin/templates/print_site_banner.tpl diff --git a/mkdocs_print_site_plugin/urls.py b/src/mkdocs_print_site_plugin/urls.py similarity index 100% rename from mkdocs_print_site_plugin/urls.py rename to src/mkdocs_print_site_plugin/urls.py diff --git a/mkdocs_print_site_plugin/utils.py b/src/mkdocs_print_site_plugin/utils.py similarity index 100% rename from mkdocs_print_site_plugin/utils.py rename to src/mkdocs_print_site_plugin/utils.py