Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 0 additions & 22 deletions .appveyor.yml

This file was deleted.

1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/* @PTNobel
35 changes: 35 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Problem/Motivation

> (Why the issue was filed)

## Specifications

Please fill in the following table:

| Field | Description |
| --------------- | ----------- |
| OS | |
| Library version | |
| Python version | |

## Description

> (A clear and concise description of the problem.)

## Expected behavior

> (What you expected to happen)

## Actual behavior

> (What actually happened)

## Steps to reproduce

> (**Adding a reproducible example will greatly increase the chances of your issue being
> resolved quickly**)

## Proposed changes

> (If you have a proposed change, workaround or fix,
> describe the rationale behind it)
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Proposed Changes

> (Describe the changes and rationale behind them)

## Related Issues

> ([Github link][autolink-references] to related issues or pull requests)

[autolink-references]: https://help.github.com/articles/autolinked-references-and-urls/
100 changes: 100 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
- name: "breaking-change"
color: d93f0b
description: "A breaking change for existing users."
- name: "bug"
color: fc2929
description: "Inconsistencies or issues which will cause a problem for users."
- name: "bugfix"
color: ededed
description: "Fixing a bug."
- name: "documentation"
color: 0052cc
description: "Solely about the documentation of the project."
- name: "enhancement"
color: 1d76db
description: "Enhancement of the code, not introducing new features."
- name: "refactor"
color: 1d76db
description: "Improvement of existing code, not introducing new features."
- name: "performance"
color: 1d76db
description: "Improving performance, not introducing new features."
- name: "new-feature"
color: 0e8a16
description: "New features or request."
- name: "maintenance"
color: 2af79e
description: "Generic maintenance tasks."
- name: "ci"
color: 1d76db
description: "Work that improves the continue integration."
- name: "dependencies"
color: 1d76db
description: "Upgrade or downgrade of project dependencies."

- name: "in-progress"
color: fbca04
description: "Issue is currently being resolved by a developer."
- name: "stale"
color: fef2c0
description: "There has not been activity on this issue or PR for quite some time."
- name: "no-stale"
color: fef2c0
description: "This issue or PR is exempted from the stable bot."
- name: "wontfix"
color: ffffff
description: "This issue or PR will not be fixed."
- name: "cleanup"
color: ef75d5
description: "Cleanup of code."
- name: "sync"
color: 00a6ed
description: "Syncing with upstream github config repository."

- name: "security"
color: ee0701
description: "Marks a security issue that needs to be resolved asap."
- name: "incomplete"
color: fef2c0
description: "Marks a PR or issue that is missing information."
- name: "invalid"
color: fef2c0
description: "Marks a PR or issue that is missing information."
- name: "duplicate"
color: cfd3d7
description: "This issue or pull request already exists."

- name: "beginner-friendly"
color: 0e8a16
description: "Good first issue for people wanting to contribute to the project."
- name: "help-wanted"
color: 0e8a16
description: "We need some extra helping hands or expertise in order to resolve this."

- name: "hacktoberfest"
description: "Issues/PRs are participating in the Hacktoberfest."
color: fbca04
- name: "hacktoberfest-accepted"
description: "Issues/PRs are participating in the Hacktoberfest."
color: fbca04

- name: "priority-critical"
color: ee0701
description: "This should be dealt with ASAP. Not fixing this issue would be a serious error."
- name: "priority-high"
color: b60205
description: "After critical issues are fixed, these should be dealt with before any further issues."
- name: "priority-medium"
color: 0e8a16
description: "This issue may be useful, and needs some attention."
- name: "priority-low"
color: e4ea8a
description: "Nice addition, maybe... someday..."

- name: "major"
color: b60205
description: "This PR causes a major version bump in the version number."
- name: "minor"
color: 0e8a16
description: "This PR causes a minor version bump in the version number."
65 changes: 65 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
name-template: "v$RESOLVED_VERSION"
tag-template: "v$RESOLVED_VERSION"
change-template: "- #$NUMBER $TITLE @$AUTHOR"
sort-direction: ascending

categories:
- title: "🚨 Breaking changes"
labels:
- "breaking-change"
- title: "✨ New features"
labels:
- "new-feature"
- title: "🐛 Bug fixes"
labels:
- "bugfix"
- title: "🚀 Enhancements"
labels:
- "enhancement"
- "refactor"
- "performance"
- title: "🧰 Maintenance"
labels:
- "maintenance"
- "ci"
- title: "📚 Documentation"
labels:
- "documentation"
- title: "⬆️ Dependency updates"
collapse-after: 5
labels:
- "dependencies"

exclude-labels:
- "sync"

version-resolver:
major:
labels:
- "major"
- "breaking-change"
minor:
labels:
- "minor"
- "new-feature"
patch:
labels:
- "bugfix"
- "chore"
- "ci"
- "dependencies"
- "documentation"
- "enhancement"
- "performance"
- "refactor"
default: patch

template: |
## What's changed

_To receive a notification on new releases, click on **Watch** > **Custom** > **Releases** on the top._

$CHANGES

**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
File renamed without changes.
58 changes: 58 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: deploy-docs

on:
push:
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

env:
DEFAULT_PYTHON: "3.12"

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup uv and python
uses: astral-sh/setup-uv@v6
with:
version: latest
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Install pandoc
run: sudo apt-get update && sudo apt-get install -y pandoc
- name: Install deps and build Sphinx docs
run: |
uv sync --group doc
uv run sphinx-build -W --keep-going -b html docs/src docs/_build/html
- name: Add .nojekyll file
run: touch docs/.nojekyll
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/_build/html

deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}

steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
67 changes: 67 additions & 0 deletions .github/workflows/linting.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
name: Linting

# yamllint disable-line rule:truthy
on:
push:
pull_request:
workflow_dispatch:

jobs:
ruff:
name: Ruff
runs-on: ubuntu-latest
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v4.2.2
- name: 🏗 Set up UV
uses: astral-sh/setup-uv@v6.4.3
with:
version: "latest"
enable-cache: true
- name: 🏗 Install project dependencies
run: uv sync --all-extras --dev
- name: 🚀 Run ruff linter
run: uv run ruff check --output-format=github .
- name: 🚀 Run ruff formatter
run: uv run ruff format --check .

pre-commit-hooks:
name: Pre-commit hooks
runs-on: ubuntu-latest
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v4.2.2
- name: 🏗 Set up UV
uses: astral-sh/setup-uv@v6.4.3
with:
version: "latest"
enable-cache: true
- name: 🏗 Install project dependencies
run: uv sync --all-extras --dev
- name: 🚀 Check Python AST
run: uv run pre-commit run check-ast --all-files
- name: 🚀 Check for case conflicts
run: uv run pre-commit run check-case-conflict --all-files
- name: 🚀 Check docstring is first
run: uv run pre-commit run check-docstring-first --all-files
- name: 🚀 Check that executables have shebangs
run: uv run pre-commit run check-executables-have-shebangs --all-files
- name: 🚀 Check JSON files
run: uv run pre-commit run check-json --all-files
- name: 🚀 Check for merge conflicts
run: uv run pre-commit run check-merge-conflict --all-files
- name: 🚀 Check for broken symlinks
run: uv run pre-commit run check-symlinks --all-files
- name: 🚀 Check TOML files
run: uv run pre-commit run check-toml --all-files
- name: 🚀 Check XML files
run: uv run pre-commit run check-xml --all-files
- name: 🚀 Check YAML files
run: uv run pre-commit run check-yaml --all-files
- name: 🚀 Detect Private Keys
run: uv run pre-commit run detect-private-key --all-files
- name: 🚀 Check End of Files
run: uv run pre-commit run end-of-file-fixer --all-files
- name: 🚀 Trim Trailing Whitespace
run: uv run pre-commit run trailing-whitespace --all-files
21 changes: 21 additions & 0 deletions .github/workflows/lock.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Lock

# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 9 * * *"
workflow_dispatch:

jobs:
lock:
name: 🔒 Lock closed issues and PRs
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5.0.1
with:
github-token: ${{ github.token }}
issue-inactive-days: "30"
issue-lock-reason: ""
pr-inactive-days: "1"
pr-lock-reason: ""
Loading