Skip to content
Merged
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
10 changes: 10 additions & 0 deletions .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
_commit: v2025.02.0
_src_path: https://github.com/rmorshea/python-copier-template
author_email: ryan.morshead@gmail.com
author_name: Ryan Morshead
project_description: A Hatch plugin for creating build scripts.
project_title: Hatch Build Scripts
python_package_name: hatch_build_scripts
python_version_range: '>=3.9'
repo_url: https://github.com/rmorshea/hatch-build-scripts
12 changes: 0 additions & 12 deletions .github/FUNDING.yml

This file was deleted.

1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
blank_issues_enabled: false
contact_links:
- name: Start a Discussion
Expand Down
28 changes: 15 additions & 13 deletions .github/ISSUE_TEMPLATE/issue-form.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
---
name: Plan a Task
description: Create a detailed plan of action (ONLY START AFTER DISCUSSION PLEASE 🙏).
labels: ["flag-triage"]
labels: [flag-triage]
body:
- type: textarea
attributes:
label: Current Situation
description: Discuss how things currently are, why they require action, and any relevant prior discussion/context.
validations:
required: false
- type: textarea
attributes:
label: Proposed Actions
description: Describe what ought to be done, and why that will address the reasons for action mentioned above.
validations:
required: false
- type: textarea
attributes:
label: Current Situation
description: Discuss how things currently are, why they require action, and any relevant prior discussion/context.
validations:
required: false
- type: textarea
attributes:
label: Proposed Actions
description: Describe what ought to be done, and why that will address the reasons for action mentioned
above.
validations:
required: false
7 changes: 0 additions & 7 deletions .github/pull_request_template.md

This file was deleted.

48 changes: 0 additions & 48 deletions .github/workflows/.hatch-run.yml

This file was deleted.

118 changes: 98 additions & 20 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,103 @@
---
name: check

on:
push:
branches:
- main
branches: [main]
pull_request:
branches:
- main
schedule:
- cron: "0 0 * * 0"

branches: [main]
env:
latest-python-version: 3.13
jobs:
lint:
uses: ./.github/workflows/.hatch-run.yml
with:
job-name: "python-{0}"
hatch-run: "lint:all"
test-matrix:
uses: ./.github/workflows/.hatch-run.yml
with:
job-name: "python-{0} {1}"
hatch-run: "test"
runs-on-array: '["ubuntu-latest", "macos-latest", "windows-latest"]'
python-version-array: '["3.9", "3.10", "3.11"]'
py-tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.10', '3.11', '3.12', '3.13']
steps:
- uses: actions/checkout@v4
- name: UV cache
uses: actions/cache@v4
with:
path: ~/.cache/uv
key: ${{ runner.os }}-${{ matrix.python-version }}-uv-${{ hashFiles('pyproject.toml') }}
- name: Install UV
uses: astral-sh/setup-uv@v5
with:
version: latest
python-version: ${{ matrix.python-version }}
enable-cache: true
cache-dependency-glob: '**/pyproject.toml'
- name: Run tests
run: uv run dev.py cov
- name: Upload coverage
if: matrix.python-version == env.latest-python-version
uses: actions/upload-artifact@v4
with:
name: coverage-xml
include-hidden-files: true
path: |
${{ github.workspace }}/coverage.xml
${{ github.workspace }}/.coverage
if-no-files-found: error
py-coverage:
runs-on: ubuntu-latest
needs: py-tests
if: github.ref != format('refs/heads/{0}', github.event.repository.default_branch)
steps:
- uses: actions/checkout@v4
with: {fetch-depth: 50}
- name: Download new coverage
uses: actions/download-artifact@v4
with:
name: coverage-xml
path: ${{ github.workspace }}
- name: Download old coverage
uses: dawidd6/action-download-artifact@v6
with:
branch: ${{ github.event.pull_request.base.ref }}
name: coverage-xml
path: ${{ github.workspace }}/old-coverage
- name: UV cache
uses: actions/cache@v4
with:
path: ~/.cache/uv
key: ${{ runner.os }}-${{ env.latest-python-version }}-uv-${{ hashFiles('pyproject.toml') }}
- run: git fetch origin main
- name: Install UV
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Install Python
run: uv python install ${{ matrix.python-version }}
- name: Check coverage
run: uv run dev.py cov --no-test --old-coverage-xml=${{ github.workspace }}/old-coverage/coverage.xml
- name: Coverage summary
run: uv run coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
py-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: UV cache
uses: actions/cache@v4
with:
path: ~/.cache/uv
key: ${{ runner.os }}-${{ env.latest-python-version }}-uv-${{ hashFiles('pyproject.toml') }}
- name: Install UV
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Install Python
run: uv python install ${{ matrix.python-version }}
- name: Check lint
run: uv run dev.py lint --check
py-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: UV cache
uses: actions/cache@v4
with:
path: ~/.cache/uv
key: ${{ runner.os }}-${{ env.latest-python-version }}-uv-${{ hashFiles('pyproject.toml') }}
- name: Install UV
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Install Python
run: uv python install ${{ matrix.python-version }}
- name: Check lint
run: uv build
23 changes: 0 additions & 23 deletions .github/workflows/publish.yml

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: release
on:
release:
types: [published]
env:
latest-python-version: 3.13
jobs:
py-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: UV cache
uses: actions/cache@v4
with:
path: ~/.cache/uv
key: ${{ runner.os }}-${{ env.latest-python-version }}-uv-${{ hashFiles('pyproject.toml') }}
- name: Install UV
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Install Python
run: uv python install ${{ matrix.python-version }}
- name: Build package
run: uv build
- name: Publish package
env:
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
run: uv publish
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,10 @@ ipython_config.py
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
Expand Down
21 changes: 0 additions & 21 deletions LICENSE

This file was deleted.

20 changes: 20 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
MIT License

Copyright (c) 2025 Ryan Morshead <ryan.morshead@gmail.com>

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 furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.

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.
Loading
Loading