Skip to content

Commit

Permalink
Drop unsupported Python versions
Browse files Browse the repository at this point in the history
* Upgrade pre-commit dependencies
* Rename codecov config file
* Add manifest file
* Update tests configuration
* Migrate to pyproject.toml
* Update requirements files
* Remove vcrpy
* Do not create universal wheels
* Add make rules for pip-compile commands
* Add GitHub workflow for uploading to PyPI
  • Loading branch information
replaceafill authored Nov 8, 2023
1 parent 2722386 commit 6abd88f
Show file tree
Hide file tree
Showing 75 changed files with 3,476 additions and 110,529 deletions.
File renamed without changes.
3 changes: 0 additions & 3 deletions .coveragerc

This file was deleted.

16 changes: 16 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[flake8]
exclude = .tox, .git, __pycache__, .cache, build, dist, *.pyc, *.egg-info, .eggs
# Error codes:
# - https://flake8.pycqa.org/en/latest/user/error-codes.html
# - https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes
# - https://github.com/PyCQA/flake8-bugbear#list-of-warnings
#
# E203: whitespace before `,`, `;` or `:`
# E402: module level import not at top of file
# E501: line too long
# W503: line break before binary operator
ignore =
E203,
E402,
E501,
W503
5 changes: 0 additions & 5 deletions .gitattributes

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: "Release"
on: "workflow_dispatch"
jobs:
build:
name: "Build"
runs-on: "ubuntu-22.04"
steps:
- name: "Check out repository"
uses: "actions/checkout@v4"
- name: "Set up Python"
uses: "actions/setup-python@v4"
with:
python-version: "3.9"
- name: "Build distribution packages"
run: make package-check
- name: "Save distribution directory"
uses: "actions/upload-artifact@v3"
with:
name: "distribution"
path: |
dist
upload:
name: "Upload"
needs: "build"
runs-on: "ubuntu-22.04"
environment: "release"
permissions:
id-token: "write"
steps:
- name: "Restore distribution directory"
uses: "actions/download-artifact@v3"
with:
name: "distribution"
path: |
dist
- name: "Upload distribution packages to PyPI"
uses: "pypa/gh-action-pypi-publish@release/v1"
58 changes: 25 additions & 33 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,66 +6,58 @@ on:
branches:
- "master"
jobs:
tox:
name: "Test ${{ matrix.toxenv }}"
runs-on: "ubuntu-20.04"
test:
name: "Test Python ${{ matrix.python-version }}"
runs-on: "ubuntu-22.04"
strategy:
fail-fast: false
matrix:
include:
- python-version: "3.6"
toxenv: "py36"
- python-version: "3.7"
toxenv: "py37"
- python-version: "3.8"
toxenv: "py38"
- python-version: "3.9"
toxenv: "py39"
python-version: [
"3.8",
"3.9",
"3.10",
"3.11",
"3.12",
]
steps:
- name: "Check out repository"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
- name: "Set up Python ${{ matrix.python-version }}"
uses: "actions/setup-python@v4"
with:
python-version: "${{ matrix.python-version }}"
- name: "Get pip cache dir"
id: "pip-cache"
run: |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
- name: "Cache pip packages"
uses: "actions/cache@v3"
with:
path: "${{ steps.pip-cache.outputs.dir }}"
key: "${{ runner.os }}-pip-${{ hashFiles('**/base.txt', '**/local.txt', '**/production.txt') }}"
restore-keys: |
${{ runner.os }}-pip-
cache: "pip"
cache-dependency-path: |
requirements.txt
requirements-dev.txt
- name: "Install tox"
run: |
python -m pip install --upgrade pip
pip install tox
pip install tox tox-gh-actions
- name: "Run tox"
env:
TOXENV: ${{ matrix.toxenv }}
run: |
tox -- --cov amclient --cov-config .coveragerc --cov-report xml:coverage.xml
tox -- --cov amclient --cov-report xml:coverage.xml
- name: "Upload coverage report"
if: github.repository == 'artefactual-labs/amclient'
uses: "codecov/codecov-action@v3"
with:
files: ./coverage.xml
fail_ci_if_error: true
fail_ci_if_error: false
verbose: true
name: ${{ matrix.toxenv }}
flags: ${{ matrix.toxenv }}
lint:
name: "Lint"
runs-on: "ubuntu-22.04"
steps:
- name: "Check out repository"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
- name: "Set up Python"
uses: "actions/setup-python@v4"
with:
python-version: "3.8"
python-version: "3.12"
cache: "pip"
cache-dependency-path: |
requirements.txt
requirements-dev.txt
- name: "Install tox"
run: |
python -m pip install --upgrade pip
Expand Down
19 changes: 10 additions & 9 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
repos:
- repo: https://github.com/asottile/pyupgrade
rev: v2.31.0
rev: v3.15.0
hooks:
- id: pyupgrade
args: [--py3-plus, --py36-plus]
args: [--py38-plus]
- repo: https://github.com/asottile/reorder_python_imports
rev: v2.6.0
rev: v3.12.0
hooks:
- id: reorder-python-imports
args: [--py3-plus, --py36-plus]
- repo: https://github.com/ambv/black
rev: 22.8.0
args: [--py38-plus]
- repo: https://github.com/psf/black
rev: "23.10.1"
hooks:
- id: black
args: [--safe, --quiet]
language_version: python3
- repo: https://github.com/pycqa/flake8
rev: 5.0.4
rev: "6.1.0"
hooks:
- id: flake8
language_version: python3
additional_dependencies:
- flake8-bugbear==23.9.16
- flake8-comprehensions==3.14.0
3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
include LICENSE
include README.md
include TRADEMARK
31 changes: 18 additions & 13 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
.DEFAULT_GOAL := help

.PHONY: clean package package-deps package-source package-upload package-wheel
.PHONY: clean package package-deps package-distribution package-upload pip-compile pip-upgrade

package-deps: ## Upgrade dependencies for packaging
python3 -m pip install --upgrade twine wheel
package-deps: ## Upgrade dependencies for packaging
python3 -m pip install --upgrade build twine

package-source: ## Package the source code
python3 setup.py sdist
package-distribution: package-deps ## Create distribution packages
python3 -m build

package-wheel: package-deps ## Package a Python wheel
python3 setup.py bdist_wheel --universal
package-check: package-distribution ## Check the distribution is valid
python3 -m twine check --strict dist/*

package-check: package-source package-wheel ## Check the distribution is valid
twine check dist/*

package-upload: package-deps package-check ## Upload package
twine upload dist/* --repository-url https://upload.pypi.org/legacy/
package-upload: package-deps package-check ## Upload distribution packages
python3 -m twine upload dist/* --repository-url https://upload.pypi.org/legacy/

package: package-upload

Expand All @@ -24,5 +21,13 @@ clean: ## Clean the package directory
rm -rf build/
rm -rf dist/

help: ## Print this help message.
pip-compile: ## Compile pip requirements
pip-compile --allow-unsafe --output-file=requirements.txt pyproject.toml
pip-compile --allow-unsafe --extra=dev --output-file=requirements-dev.txt pyproject.toml

pip-upgrade: ## Upgrade pip requirements
pip-compile --allow-unsafe --upgrade --output-file=requirements.txt pyproject.toml
pip-compile --allow-unsafe --upgrade --extra=dev --output-file=requirements-dev.txt pyproject.toml

help: ## Print this help message
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
4 changes: 3 additions & 1 deletion amclient/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@

# If the additional module commands need to be included they can also be
# included here.
__all__ = []
__all__ = [
"AMClient",
]
2 changes: 0 additions & 2 deletions fixtures/validate_me.csv

This file was deleted.

55 changes: 0 additions & 55 deletions fixtures/vcr_cassettes/aip2dips_dip.yaml

This file was deleted.

55 changes: 0 additions & 55 deletions fixtures/vcr_cassettes/aip2dips_no_dip.yaml

This file was deleted.

Loading

0 comments on commit 6abd88f

Please sign in to comment.