Skip to content

Commit c29955f

Browse files
committed
Collapse skeleton history. Workaround for jaraco/skeleton#87.
0 parents  commit c29955f

File tree

19 files changed

+435
-0
lines changed

19 files changed

+435
-0
lines changed

.coveragerc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[run]
2+
omit =
3+
# leading `*/` for pytest-dev/pytest-cov#456
4+
*/.tox/*
5+
disable_warnings =
6+
couldnt-parse
7+
8+
[report]
9+
show_missing = True

.editorconfig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = tab
6+
indent_size = 4
7+
insert_final_newline = true
8+
end_of_line = lf
9+
10+
[*.py]
11+
indent_style = space
12+
max_line_length = 88
13+
14+
[*.{yml,yaml}]
15+
indent_style = space
16+
indent_size = 2
17+
18+
[*.rst]
19+
indent_style = space

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
allow:
8+
- dependency-type: "all"

.github/workflows/main.yml

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
name: tests
2+
3+
on: [push, pull_request]
4+
5+
permissions:
6+
contents: read
7+
8+
env:
9+
# Environment variables to support color support (jaraco/skeleton#66):
10+
# Request colored output from CLI tools supporting it. Different tools
11+
# interpret the value differently. For some, just being set is sufficient.
12+
# For others, it must be a non-zero integer. For yet others, being set
13+
# to a non-empty value is sufficient. For tox, it must be one of
14+
# <blank>, 0, 1, false, no, off, on, true, yes. The only enabling value
15+
# in common is "1".
16+
FORCE_COLOR: 1
17+
# MyPy's color enforcement (must be a non-zero number)
18+
MYPY_FORCE_COLOR: -42
19+
# Recognized by the `py` package, dependency of `pytest` (must be "1")
20+
PY_COLORS: 1
21+
# Make tox-wrapped tools see color requests
22+
TOX_TESTENV_PASSENV: >-
23+
FORCE_COLOR
24+
MYPY_FORCE_COLOR
25+
NO_COLOR
26+
PY_COLORS
27+
PYTEST_THEME
28+
PYTEST_THEME_MODE
29+
30+
# Suppress noisy pip warnings
31+
PIP_DISABLE_PIP_VERSION_CHECK: 'true'
32+
PIP_NO_PYTHON_VERSION_WARNING: 'true'
33+
PIP_NO_WARN_SCRIPT_LOCATION: 'true'
34+
35+
# Disable the spinner, noise in GHA; TODO(webknjaz): Fix this upstream
36+
# Must be "1".
37+
TOX_PARALLEL_NO_SPINNER: 1
38+
39+
40+
jobs:
41+
test:
42+
strategy:
43+
matrix:
44+
python:
45+
- "3.8"
46+
- "3.11"
47+
- "3.12"
48+
platform:
49+
- ubuntu-latest
50+
- macos-latest
51+
- windows-latest
52+
include:
53+
- python: "3.9"
54+
platform: ubuntu-latest
55+
- python: "3.10"
56+
platform: ubuntu-latest
57+
- python: pypy3.9
58+
platform: ubuntu-latest
59+
runs-on: ${{ matrix.platform }}
60+
continue-on-error: ${{ matrix.python == '3.12' }}
61+
steps:
62+
- uses: actions/checkout@v3
63+
- name: Setup Python
64+
uses: actions/setup-python@v4
65+
with:
66+
python-version: ${{ matrix.python }}
67+
allow-prereleases: true
68+
- name: Install tox
69+
run: |
70+
python -m pip install tox
71+
- name: Run tests
72+
run: tox
73+
74+
docs:
75+
runs-on: ubuntu-latest
76+
env:
77+
TOXENV: docs
78+
steps:
79+
- uses: actions/checkout@v3
80+
- name: Setup Python
81+
uses: actions/setup-python@v4
82+
- name: Install tox
83+
run: |
84+
python -m pip install tox
85+
- name: Run tests
86+
run: tox
87+
88+
check: # This job does nothing and is only used for the branch protection
89+
if: always()
90+
91+
needs:
92+
- test
93+
- docs
94+
95+
runs-on: ubuntu-latest
96+
97+
steps:
98+
- name: Decide whether the needed jobs succeeded or failed
99+
uses: re-actors/alls-green@release/v1
100+
with:
101+
jobs: ${{ toJSON(needs) }}
102+
103+
release:
104+
permissions:
105+
contents: write
106+
needs:
107+
- check
108+
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
109+
runs-on: ubuntu-latest
110+
111+
steps:
112+
- uses: actions/checkout@v3
113+
- name: Setup Python
114+
uses: actions/setup-python@v4
115+
with:
116+
python-version: 3.x
117+
- name: Install tox
118+
run: |
119+
python -m pip install tox
120+
- name: Release
121+
run: tox -e release
122+
env:
123+
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
124+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.pre-commit-config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
repos:
2+
- repo: https://github.com/psf/black
3+
rev: 22.6.0
4+
hooks:
5+
- id: black

.readthedocs.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version: 2
2+
python:
3+
install:
4+
- path: .
5+
extra_requirements:
6+
- docs
7+
8+
# required boilerplate readthedocs/readthedocs.org#10401
9+
build:
10+
os: ubuntu-22.04
11+
tools:
12+
python: "3"

LICENSE

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Permission is hereby granted, free of charge, to any person obtaining a copy
2+
of this software and associated documentation files (the "Software"), to
3+
deal in the Software without restriction, including without limitation the
4+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
5+
sell copies of the Software, and to permit persons to whom the Software is
6+
furnished to do so, subject to the following conditions:
7+
8+
The above copyright notice and this permission notice shall be included in
9+
all copies or substantial portions of the Software.
10+
11+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
16+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
17+
IN THE SOFTWARE.

NEWS.rst

Whitespace-only changes.

README.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
.. image:: https://img.shields.io/pypi/v/PROJECT.svg
2+
:target: https://pypi.org/project/PROJECT
3+
4+
.. image:: https://img.shields.io/pypi/pyversions/PROJECT.svg
5+
6+
.. image:: https://github.com/PROJECT_PATH/workflows/tests/badge.svg
7+
:target: https://github.com/PROJECT_PATH/actions?query=workflow%3A%22tests%22
8+
:alt: tests
9+
10+
.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
11+
:target: https://github.com/astral-sh/ruff
12+
:alt: Ruff
13+
14+
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
15+
:target: https://github.com/psf/black
16+
:alt: Code style: Black
17+
18+
.. .. image:: https://readthedocs.org/projects/PROJECT_RTD/badge/?version=latest
19+
.. :target: https://PROJECT_RTD.readthedocs.io/en/latest/?badge=latest
20+
21+
.. image:: https://img.shields.io/badge/skeleton-2023-informational
22+
:target: https://blog.jaraco.com/skeleton

docs/conf.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
extensions = [
2+
'sphinx.ext.autodoc',
3+
'jaraco.packaging.sphinx',
4+
]
5+
6+
master_doc = "index"
7+
html_theme = "furo"
8+
9+
# Link dates and other references in the changelog
10+
extensions += ['rst.linker']
11+
link_files = {
12+
'../NEWS.rst': dict(
13+
using=dict(GH='https://github.com'),
14+
replace=[
15+
dict(
16+
pattern=r'(Issue #|\B#)(?P<issue>\d+)',
17+
url='{package_url}/issues/{issue}',
18+
),
19+
dict(
20+
pattern=r'(?m:^((?P<scm_version>v?\d+(\.\d+){1,2}))\n[-=]+\n)',
21+
with_scm='{text}\n{rev[timestamp]:%d %b %Y}\n',
22+
),
23+
dict(
24+
pattern=r'PEP[- ](?P<pep_number>\d+)',
25+
url='https://peps.python.org/pep-{pep_number:0>4}/',
26+
),
27+
],
28+
)
29+
}
30+
31+
# Be strict about any broken references
32+
nitpicky = True
33+
34+
# Include Python intersphinx mapping to prevent failures
35+
# jaraco/skeleton#51
36+
extensions += ['sphinx.ext.intersphinx']
37+
intersphinx_mapping = {
38+
'python': ('https://docs.python.org/3', None),
39+
}
40+
41+
# Preserve authored syntax for defaults
42+
autodoc_preserve_defaults = True

0 commit comments

Comments
 (0)