Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adopt project skeleton #1

Open
wants to merge 77 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
c29955f
Collapse skeleton history. Workaround for jaraco/skeleton#87.
jaraco Jul 4, 2023
972d1b3
Add links to project home page and pypi. Fixes jaraco/skeleton#77.
jaraco Jul 6, 2023
747c2a3
Replace redundant step names with simple 'Run'.
jaraco Jul 6, 2023
c43962a
Remove TOX_WORK_DIR workaround, no longer necessary with tox 4. Ref t…
jaraco Jul 11, 2023
0e2032c
Pin against sphinx 7.2.5 as workaround for sphinx/sphinx-doc#11662. C…
jaraco Aug 31, 2023
92d2d8e
Allow GITHUB_* settings to pass through to tests.
jaraco Sep 1, 2023
f3dc1f4
Remove spinner disablement. If it's not already fixed upstream, that'…
jaraco Sep 1, 2023
0484daa
Clean up 'color' environment variables.
jaraco Sep 1, 2023
b02bf32
Add diff-cover check to Github Actions CI. Closes jaraco/skeleton#90.
jaraco Sep 10, 2023
a6256e2
Add descriptions to the tox environments. Closes jaraco/skeleton#91.
jaraco Sep 10, 2023
928e9a8
Add FORCE_COLOR to the TOX_OVERRIDE for GHA. Requires tox 4.11.1. Clo…
jaraco Sep 10, 2023
ca1831c
Prefer ``pass_env`` in tox config. Preferred failure mode for tox-dev…
jaraco Sep 18, 2023
03f03e7
Limit sphinxlint jobs to 1. Workaround for sphinx-contrib/sphinx-lint…
jaraco Nov 5, 2023
75d9cc1
Upgrade GitHub Actions checkout (jaraco/skeleton#94)
cclauss Nov 15, 2023
5732ebe
GitHub Actions: Combine tox jobs diffcov and docs (jaraco/skeleton#95)
cclauss Nov 15, 2023
26f420a
Remove news fragment after allowing time to be processed downstream.
jaraco Nov 28, 2023
33dd012
Suppress deprecation warning in dateutil. Workaround for dateutil/dat…
jaraco Nov 29, 2023
97a5f44
Update Github Actions badge per actions/starter-workflows#1525.
jaraco Dec 4, 2023
8bff8b0
Enable testing merge queues @ GitHub Actions CI/CD (jaraco/skeleton#93)
webknjaz Dec 5, 2023
e4bd609
Separate collateral jobs on different lines for easier override/exten…
jaraco Dec 11, 2023
596e683
Drop minimum requirement on pytest-mypy as most environments are alre…
jaraco Dec 19, 2023
b8c6c15
Use the ruff formatter (jaraco/skeleton#99)
DimitriPapadopoulos Dec 22, 2023
a9c5dd5
Remove sole entry for branches-ignore. Workaround for and closes jara…
jaraco Dec 24, 2023
db0d581
ruff: extended-ignore → ignore (jaraco/skeleton#105)
DimitriPapadopoulos Dec 26, 2023
f6d9e10
Bump year on badge
jaraco Jan 2, 2024
dbcb074
Remove build and dist from excludes. It appears they are not needed a…
jaraco Jan 7, 2024
d278905
Exclude docs and tests directories properly per Setuptools behavior.
jaraco Jan 7, 2024
63535c6
Rely on default discovery for good heuristics for finding packages.
jaraco Jan 7, 2024
29e5d34
Enable preview to enable preserving quotes.
jaraco Feb 4, 2024
2a402a3
Tweak coverage configuration for type checking (jaraco/skeleton#97)
bswck Feb 6, 2024
68ac292
Use latest versions in RTD boilerplate.
jaraco Feb 6, 2024
178d254
Remove Sphinx pin. Ref sphinx-doc/sphinx#11662.
jaraco Feb 12, 2024
779219c
Include deps from the base config in diffcov.
jaraco Feb 18, 2024
d1c5444
Enable complexity check and pycodestyle warnings. Closes jaraco/skele…
jaraco Mar 2, 2024
b434f69
Use 'extend-select' to avoid disabling the default config. Ref jaraco…
jaraco Mar 2, 2024
a0d0c4b
Allow mypy on PyPy (jaraco/skeleton#111)
Avasam Mar 21, 2024
c9a7f97
Re-enable ignoring of temporary merge queue branches. Closes jaraco/s…
jaraco Mar 21, 2024
d72c6a0
Fetch unshallow clones in readthedocs. Closes jaraco/skeleton#114.
jaraco Mar 23, 2024
3fc7a93
Move Python 3.11 out of the test matrix.
jaraco Mar 30, 2024
6ff02e0
Configure pytest to support namespace packages. Ref pytest-dev/pytest…
jaraco Mar 31, 2024
34ba6b2
Add link to blog entry from jaraco/skeleton#115 above CI build matrix.
bswck Apr 1, 2024
7ad4f2f
Pin against pytest 8.1.x due to pytest-dev/pytest#12194.
jaraco Apr 16, 2024
f4529af
Move project metadata to `pyproject.toml` (jaraco/skeleton#122)
bswck Apr 16, 2024
744cf2a
Allow macos on Python 3.8 to fail as GitHub CI has dropped support.
jaraco Apr 24, 2024
bcf8f07
Move project.urls to appear in the order that ini2toml generates it. …
jaraco Apr 24, 2024
67aab15
Revert "Allow macos on Python 3.8 to fail as GitHub CI has dropped su…
jaraco May 2, 2024
a595a0f
Rename extras to align with core metadata spec.
jaraco May 31, 2024
c9729e1
Prefer "Source" to "Homepage" for the repository label.
jaraco Jun 21, 2024
33c4896
Exclude pytest-ruff (and thus ruff), which cannot build on cygwin.
jaraco Jul 10, 2024
f087fb4
"preserve" does not require preview any more (jaraco/skeleton#133)
DimitriPapadopoulos Jul 19, 2024
30f940e
Enforce ruff/Perflint rule PERF401 (jaraco/skeleton#132)
DimitriPapadopoulos Jul 19, 2024
ab34814
Re-enable preview, this time not for one specific feature, but for al…
jaraco Jul 19, 2024
06acfd2
Update to the latest ruff version (jaraco/skeleton#137)
DimitriPapadopoulos Aug 8, 2024
dd30b76
Add Protocols, remove @overload, from `.coveragerc` `exclude_also` (j…
Avasam Aug 8, 2024
3841656
Loosen restrictions on mypy (jaraco/skeleton#136)
Avasam Aug 12, 2024
1a27fd5
Split the test dependencies into four classes (test, cover, type, che…
jaraco Aug 12, 2024
f1350e4
Add upstream and local sections for 'type' extra, since many projects…
jaraco Aug 21, 2024
57b8aa8
Add `--fix` flag to ruff pre-commit hook for automatic suggestion of…
abravalheri Aug 25, 2024
d3e83be
Disable mypy for now. Ref jaraco/skeleton#143
jaraco Aug 25, 2024
3fcabf1
Move overload-overlap disablement to its own line for easier diffs an…
jaraco Aug 25, 2024
0c326f3
Add a degenerate nitpick_ignore for downstream consumers. Add a 'loca…
jaraco Aug 29, 2024
2beb8b0
Add support for linking usernames.
jaraco Aug 29, 2024
790fa6e
Include the trailing slash in disable_error_code(overload-overlap), a…
jaraco Aug 29, 2024
1a6e38c
Remove workaround for sphinx-contrib/sphinx-lint#83
jaraco Aug 31, 2024
a675458
Allow the workflow to be triggered manually.
jaraco Sep 7, 2024
81b766c
Fix an incompatibility (and source of merge conflicts) with projects …
Avasam Sep 11, 2024
3fe8c5b
Add Python 3.13 and 3.14 into the matrix. (jaraco/skeleton#146)
jaraco Sep 11, 2024
62b6678
Bump pre-commit hook for ruff to avoid clashes with pytest-ruff (jara…
abravalheri Oct 25, 2024
db4dfc4
Add Python 3.13 and 3.14 into the matrix. (jaraco/skeleton#151)
jaraco Oct 28, 2024
e61a9df
Include pyproject.toml in ruff.toml.
jaraco Oct 28, 2024
750a189
Require Python 3.9 or later now that Python 3.8 is EOL.
jaraco Oct 28, 2024
5c34e69
Use extend for proper workaround.
jaraco Nov 2, 2024
3cc2dfc
Convert readme to ReStructuredText.
jaraco Dec 15, 2024
f44947f
Merge with jaraco/skeleton.
jaraco Dec 15, 2024
0dadd7f
👹 Feed the hobgoblins (delint).
jaraco Dec 15, 2024
3e0146a
Disable other plugins to avoid issues with interactions.
jaraco Dec 15, 2024
3f36c8e
Add news fragment.
jaraco Dec 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[run]
omit =
# leading `*/` for pytest-dev/pytest-cov#456
*/.tox/*
disable_warnings =
couldnt-parse

[report]
show_missing = True
exclude_also =
# Exclude common false positives per
# https://coverage.readthedocs.io/en/latest/excluding.html#advanced-exclusion
# Ref jaraco/skeleton#97 and jaraco/skeleton#135
class .*\bProtocol\):
if TYPE_CHECKING:
19 changes: 19 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
root = true

[*]
charset = utf-8
indent_style = tab
indent_size = 4
insert_final_newline = true
end_of_line = lf

[*.py]
indent_style = space
max_line_length = 88

[*.{yml,yaml}]
indent_style = space
indent_size = 2

[*.rst]
indent_style = space
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
allow:
- dependency-type: "all"
125 changes: 125 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: tests

on:
merge_group:
push:
branches-ignore:
# temporary GH branches relating to merge queues (jaraco/skeleton#93)
- gh-readonly-queue/**
tags:
# required if branches-ignore is supplied (jaraco/skeleton#103)
- '**'
pull_request:
workflow_dispatch:

permissions:
contents: read

env:
# Environment variable to support color support (jaraco/skeleton#66)
FORCE_COLOR: 1

# Suppress noisy pip warnings
PIP_DISABLE_PIP_VERSION_CHECK: 'true'
PIP_NO_PYTHON_VERSION_WARNING: 'true'
PIP_NO_WARN_SCRIPT_LOCATION: 'true'

# Ensure tests can sense settings about the environment
TOX_OVERRIDE: >-
testenv.pass_env+=GITHUB_*,FORCE_COLOR


jobs:
test:
strategy:
# https://blog.jaraco.com/efficient-use-of-ci-resources/
matrix:
python:
- "3.9"
- "3.13"
platform:
- ubuntu-latest
- macos-latest
- windows-latest
include:
- python: "3.10"
platform: ubuntu-latest
- python: "3.11"
platform: ubuntu-latest
- python: "3.12"
platform: ubuntu-latest
- python: "3.14"
platform: ubuntu-latest
- python: pypy3.10
platform: ubuntu-latest
runs-on: ${{ matrix.platform }}
continue-on-error: ${{ matrix.python == '3.14' }}
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
allow-prereleases: true
- name: Install tox
run: python -m pip install tox
- name: Run
run: tox

collateral:
strategy:
fail-fast: false
matrix:
job:
- diffcov
- docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install tox
run: python -m pip install tox
- name: Eval ${{ matrix.job }}
run: tox -e ${{ matrix.job }}

check: # This job does nothing and is only used for the branch protection
if: always()

needs:
- test
- collateral

runs-on: ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}

release:
permissions:
contents: write
needs:
- check
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install tox
run: python -m pip install tox
- name: Run
run: tox -e release
env:
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
77 changes: 0 additions & 77 deletions .gitignore

This file was deleted.

7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.7.1
hooks:
- id: ruff
args: [--fix, --unsafe-fixes]
- id: ruff-format
16 changes: 16 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
python:
install:
- path: .
extra_requirements:
- doc

# required boilerplate readthedocs/readthedocs.org#10401
build:
os: ubuntu-lts-latest
tools:
python: latest
# post-checkout job to ensure the clone isn't shallow jaraco/skeleton#114
jobs:
post_checkout:
- git fetch --unshallow || true
19 changes: 7 additions & 12 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@

The MIT License (MIT)

Copyright (c) 2018 ShopKeep Inc

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
Expand All @@ -17,6 +12,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
Empty file added NEWS.rst
Empty file.
82 changes: 0 additions & 82 deletions README.md

This file was deleted.

Loading
Loading