Skip to content

Commit 878fbb9

Browse files
committed
chore: set up the initial repo
0 parents  commit 878fbb9

16 files changed

Lines changed: 1242 additions & 0 deletions

.github/workflows/ci.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
concurrency:
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: true
14+
15+
jobs:
16+
pre-commit:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v5
20+
- uses: actions/setup-python@v6
21+
with:
22+
python-version: 3.x
23+
- uses: pre-commit/action@v3.0.1
24+
- uses: pre-commit-ci/lite-action@v1.1.0
25+
if: always()
26+
27+
unittest:
28+
name: Unit test - ${{ matrix.python-version }}
29+
runs-on: ubuntu-latest
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
python-version:
34+
- py311
35+
- py312
36+
- py313
37+
- py314
38+
steps:
39+
- name: Checkout code
40+
uses: actions/checkout@v6
41+
- uses: prefix-dev/setup-pixi@v0.9.3
42+
with:
43+
run-install: false
44+
post-cleanup: false
45+
- name: Apply workarounds
46+
run: |
47+
# Workaround for https://github.com/prefix-dev/pixi/issues/3762
48+
sed -i.bak 's@editable = true@editable = false@g' pyproject.toml
49+
rm pyproject.toml.bak
50+
# Show any changes
51+
git diff
52+
- uses: prefix-dev/setup-pixi@v0.9.3
53+
with:
54+
cache: false
55+
environments: ${{ matrix.python-version }}
56+
- name: Run pytest
57+
run: pixi run -e ${{ matrix.python-version }} pytest

.github/workflows/deployment.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Publish Python 🐍 distribution 📦 to PyPI
2+
3+
on: push
4+
5+
jobs:
6+
build:
7+
name: Build distribution 📦
8+
runs-on: ubuntu-latest
9+
environment:
10+
name: pypi
11+
url: https://pypi.org/p/intercede
12+
permissions:
13+
id-token: write # IMPORTANT: mandatory for trusted publishing
14+
if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
15+
steps:
16+
- uses: actions/checkout@v6
17+
with:
18+
persist-credentials: false
19+
- name: Set up Python
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: "3.14"
23+
- name: Installing dependencies
24+
run: |
25+
python -m pip install \
26+
build \
27+
python-dateutil \
28+
pytz \
29+
readme_renderer[md] \
30+
requests \
31+
setuptools_scm
32+
- name: Validate README for PyPI
33+
run: |
34+
python -m readme_renderer README.md -o /tmp/README.html
35+
- name: Build a binary wheel and a source tarball
36+
run: python3 -m build
37+
- name: Publish distribution 📦 to PyPI
38+
uses: pypa/gh-action-pypi-publish@release/v1
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
6+
permissions:
7+
contents: write
8+
issues: write
9+
pull-requests: write
10+
11+
name: release-please
12+
13+
jobs:
14+
release-please:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: googleapis/release-please-action@v4
18+
with:
19+
token: ${{ secrets.MY_RELEASE_PLEASE_TOKEN }}
20+
release-type: simple

.gitignore

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Python
2+
*.py[cod]
3+
4+
# Conda
5+
.conda
6+
7+
# C extensions
8+
*.so
9+
var
10+
sdist
11+
lib
12+
lib64
13+
14+
# Packages
15+
*.egg
16+
*.egg-info
17+
dist
18+
build
19+
eggs
20+
parts
21+
bin
22+
develop-eggs
23+
.installed.cfg
24+
*.whl
25+
26+
# Translations
27+
*.mo
28+
29+
# Mr Developer
30+
.mr.developer.cfg
31+
32+
# Installer logs
33+
pip-log.txt
34+
35+
# Unit test / coverage reports
36+
.coverage
37+
.tox
38+
.ruff_cache
39+
.mypy_cache
40+
41+
# Eclipse
42+
.project
43+
.pydevproject
44+
.pyproject
45+
.settings
46+
.metadata
47+
48+
#VSCode
49+
.vscode
50+
.env
51+
*.code-workspace
52+
53+
# Vim
54+
.*.sw[a-z]
55+
*.un~
56+
Session.vim
57+
*~
58+
59+
60+
# MaxOSX files
61+
.DS_Store
62+
63+
# test stuff
64+
.pytest_cache
65+
.cache
66+
__pycache__
67+
pytests.xml
68+
nosetests.xml
69+
coverage.xml
70+
Local_*
71+
.hypothesis
72+
*.gz
73+
htmlcov/
74+
*.xml.temp
75+
76+
#remove in case we want a specific LHCb one
77+
.pylintrc
78+
79+
# docs (auto-generated build output only; docs/assets is tracked)
80+
docs/_build/
81+
site/
82+
83+
84+
# pixi environments
85+
.pixi
86+
pixi.lock
87+
*.egg-info

.pre-commit-config.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# See https://pre-commit.com for more information
2+
# See https://pre-commit.com/hooks.html for more hooks
3+
default_install_hook_types:
4+
- pre-commit
5+
- commit-msg
6+
7+
default_language_version:
8+
python: python3
9+
10+
11+
default_stages: [pre-commit]
12+
13+
repos:
14+
- repo: https://github.com/compilerla/conventional-pre-commit
15+
rev: v4.3.0
16+
hooks:
17+
- id: conventional-pre-commit
18+
stages: [commit-msg]
19+
args: ["--verbose"]
20+
21+
- repo: https://github.com/pre-commit/pre-commit-hooks
22+
rev: v6.0.0
23+
hooks:
24+
- id: trailing-whitespace
25+
- id: end-of-file-fixer
26+
- id: check-yaml
27+
args: ["--unsafe"]
28+
- id: check-added-large-files
29+
30+
- repo: https://github.com/astral-sh/ruff-pre-commit
31+
rev: "v0.14.14"
32+
hooks:
33+
- id: ruff-check
34+
args: ["--fix", "--show-fixes"]
35+
- id: ruff-format
36+
37+
- repo: https://github.com/pre-commit/mirrors-mypy
38+
rev: v1.19.1
39+
hooks:
40+
- id: mypy
41+
exclude: tests

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Changelog

0 commit comments

Comments
 (0)