diff --git a/.github/workflows/flake8.yml b/.github/workflows/flake8.yml index 819104d..a934906 100644 --- a/.github/workflows/flake8.yml +++ b/.github/workflows/flake8.yml @@ -8,9 +8,9 @@ jobs: name: Lint steps: - name: Check out source repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Set up Python environment - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: "3.9" - name: flake8 Lint diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d98c199..ddda541 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,6 +1,10 @@ name: Tests and Codecov on: push: + branches: + - master + - main + - "release/*" pull_request: workflow_dispatch: @@ -10,14 +14,14 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', 'pypy-3.9-7.3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', 'pypy-3.9-7.3.13'] steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} @@ -34,7 +38,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install dependencies run: | @@ -49,7 +53,7 @@ jobs: run: poetry run coverage xml - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v5 with: files: coverage.xml fail_ci_if_error: true diff --git a/pyproject.toml b/pyproject.toml index 5944f4b..d0772f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,16 @@ -[tool.poetry] +[project] name = "pipreqs" version = "0.5.0" description = "Pip requirements.txt generator based on imports in project" -authors = ["Vadim Kravcenko "] +authors = [ + { name = "Vadim Kravcenko", email = "vadim.kravcenko@gmail.com" } +] +maintainers = [ + {name = "Jonas Eschle", email = "jonas.eschle@gmail.com"} +] license = "Apache-2.0" -readme = ["README.rst", "HISTORY.rst"] -packages = [{include = "pipreqs"}] +readme = "README.rst" +packages = [{ include = "pipreqs" }] repository = "https://github.com/bndr/pipreqs" keywords = ["pip", "requirements", "imports"] classifiers = [ @@ -14,29 +19,31 @@ classifiers = [ "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "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" + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ] +requires-python = ">=3.9, <3.14" +dependencies = [ + "yarg>=0.1.9", + "docopt>=0.6.2", + "nbconvert>=7.11.0", + "ipython>=8.12.3", +] +[project.optional-dependencies] +dev = [ + "flake8>=6.1.0", + "tox>=4.11.3", + "coverage>=7.3.2", + "sphinx>=7.2.6;python_version>='3.9'", +] + [tool.poetry.scripts] pipreqs = "pipreqs.pipreqs:main" -[tool.poetry.dependencies] -python = ">=3.8.1,<3.13" -yarg = "0.1.9" -docopt = "0.6.2" -nbconvert = "^7.11.0" -ipython = "8.12.3" - -[tool.poetry.group.dev.dependencies] -flake8 = "^6.1.0" -tox = "^4.11.3" -coverage = "^7.3.2" -sphinx = { version = "^7.2.6", python = ">=3.9" } - [build-system] -requires = ["poetry-core"] +requires = ["poetry-core>=2.0.0,<3.0.0"] build-backend = "poetry.core.masonry.api" diff --git a/tox.ini b/tox.ini index 13f090e..6b4c648 100644 --- a/tox.ini +++ b/tox.ini @@ -1,20 +1,20 @@ [tox] isolated_build = true -envlist = py38, py39, py310, py311, py312, pypy3, flake8 +envlist = py39, py310, py311, py312, py313, pypy3, flake8 [gh-actions] python = - 3.8: py38 3.9: py39 3.10: py310 3.11: py311 3.12: py312 - pypy-3.9-7.3.12: pypy3 + 3.13: py313 + pypy-3.9-7.3.13: pypy3 [testenv] setenv = PYTHONPATH = {toxinidir}:{toxinidir}/pipreqs -commands = +commands = python -m unittest discover [testenv:flake8] @@ -28,4 +28,4 @@ exclude = tests/_data_duplicated_deps/ tests/_data_ignore/ tests/_invalid_data/ -max-line-length = 120 \ No newline at end of file +max-line-length = 120