Skip to content

Commit

Permalink
updated all project related files with latest changes from python_pro…
Browse files Browse the repository at this point in the history
…ject_template

(files in root folder, .github, .vscode, as well as selected files in docs and tests)
  • Loading branch information
ClaasRostock committed Oct 6, 2024
1 parent 97dd0d8 commit 1b2de77
Show file tree
Hide file tree
Showing 31 changed files with 2,138 additions and 1,779 deletions.
13 changes: 13 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[paths]
source =
src/farn
*/site-packages/farn

[run]
source = farn
branch = True

[report]
fail_under = 10.0
show_missing = True
skip_covered = True
32 changes: 32 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.py text
*.cpp text
*.hpp text
*.c text
*.h text
*.json text
*.xml text
*.txt text
*.yml text
*.yaml text
*.toml text
*.rst text
*.ini text

# Declare files that will always have CRLF line endings on checkout.
*.vcproj text eol=crlf
*.sln text eol=crlf
*.md text eol=crlf

# Declare files that will always have LF line endings on checkout.
*.sh text eol=lf

# Declare files that will not be normalized regardless of their content.
*.jpg -text
*.png -text
*.gif -text
*.ico -text
27 changes: 12 additions & 15 deletions .github/workflows/_build_and_publish_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ jobs:
- name: Checkout farn (active branch)
uses: actions/checkout@v4
with:
fetch-depth: 1
lfs: true
- name: prepare farn
run: |
Expand All @@ -37,7 +36,6 @@ jobs:
repository: 'dnv-opensource/dictIO'
ref: ${{github.ref}}
path: dictIO
fetch-depth: 1
lfs: true
- name: Prepare dictIO
run: |
Expand All @@ -53,7 +51,6 @@ jobs:
repository: 'dnv-opensource/ospx'
ref: ${{github.ref}}
path: ospx
fetch-depth: 1
lfs: true
- name: Prepare ospx
run: |
Expand All @@ -74,16 +71,17 @@ jobs:
cp -v -f docs/source/combined/* docs/source
rm -v -r docs/source/combined
- name: Install Python
- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install uv
run: |
python -m pip install uv
- name: Install dependencies
run: |
uv uv pip install --system --system -r requirements-dev.txt
python-version-file: "pyproject.toml"
- name: Install the project
run: uv sync --upgrade
- name: Print debugging information
run: |
echo "github.ref:" ${{github.ref}}
Expand All @@ -95,16 +93,15 @@ jobs:
git branch
git branch -a
git remote -v
python -V
pip list --not-required
pip list
uv run python -V
uv pip list
# Build documentation
- uses: sphinx-doc/github-problem-matcher@master
- name: Build documentation
run: |
cd docs
make html
uv run make html
- name: Clone and cleanup gh-pages branch
run: |
Expand Down
56 changes: 28 additions & 28 deletions .github/workflows/_build_package.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
name: Build Package

on: workflow_call

jobs:
build:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1
lfs: true
- uses: actions/setup-python@v5
with:
python-version: '3.11'
name: Build Package

on: workflow_call

jobs:
build:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Install uv
run: |
python -m pip install uv
- name: Install build and twine
run: |
uv uv pip install --system --system build twine
- name: Run build
run: python -m build
- name: Run twine check
run: twine check --strict dist/*
- uses: actions/upload-artifact@v4
with:
path: ./dist/*.tar.gz
uses: astral-sh/setup-uv@v2
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- uses: actions/setup-python@v5
with:
python-version-file: "pyproject.toml"
- name: Build source distribution and wheel
run: uv build
- name: Run twine check
run: uvx twine check --strict dist/*
- uses: actions/upload-artifact@v4
with:
path: |
dist/*.tar.gz
dist/*.whl
139 changes: 77 additions & 62 deletions .github/workflows/_code_quality.yml
Original file line number Diff line number Diff line change
@@ -1,65 +1,80 @@
name: Code Quality

on: workflow_call

jobs:
ruff_format:
runs-on: ubuntu-latest
name: ruff format
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
name: Code Quality

on: workflow_call

jobs:
ruff_format:
runs-on: ubuntu-latest
name: ruff format
steps:
- uses: actions/checkout@v4
- name: Install uv
run: |
python -m pip install uv
- name: Install dependencies
run: |
uv uv pip install --system --system -r requirements.txt
- name: Install ruff
run: |
uv uv pip install --system --system ruff>=0.6.3
- name: Run ruff format
run: ruff format --diff .

ruff_check:
runs-on: ubuntu-latest
name: ruff check
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
uses: astral-sh/setup-uv@v2
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: "pyproject.toml"
- name: Install the project
run: uv sync --upgrade
- name: Run ruff format
run: uv run ruff format --diff

ruff_check:
runs-on: ubuntu-latest
name: ruff check
steps:
- uses: actions/checkout@v4
- name: Install uv
run: |
python -m pip install uv
- name: Install dependencies
run: |
uv uv pip install --system --system -r requirements.txt
- name: Install ruff
run: |
uv uv pip install --system --system ruff>=0.6.3
- name: Run ruff check
run: ruff check --diff .

pyright:
runs-on: ubuntu-latest
name: pyright
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
uses: astral-sh/setup-uv@v2
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: "pyproject.toml"
- name: Install the project
run: uv sync --upgrade
- name: Run ruff check
run: uv run ruff check --diff

pyright:
runs-on: ubuntu-latest
name: pyright
steps:
- uses: actions/checkout@v4
- name: Install uv
run: |
python -m pip install uv
- name: Install dependencies
run: |
uv uv pip install --system --system -r requirements.txt
uv uv pip install --system --system pytest
- name: Install pyright
run: |
uv uv pip install --system --system pyright>=1.1.378
- name: Run pyright
run: pyright .
uses: astral-sh/setup-uv@v2
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: "pyproject.toml"
- name: Install the project
run: uv sync --upgrade
- name: Run pyright
run: uv run pyright

mypy:
runs-on: ubuntu-latest
name: mypy
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version-file: "pyproject.toml"
- name: Install the project
run: uv sync --upgrade
- name: Run mypy
run: uv run mypy
2 changes: 1 addition & 1 deletion .github/workflows/_publish_package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: artifact
path: ./dist/
path: dist
- uses: pypa/gh-action-pypi-publish@release/v1
25 changes: 14 additions & 11 deletions .github/workflows/_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,34 @@ on: workflow_call

jobs:
test:
name: Test on ${{matrix.python.toxenv}}-${{matrix.platform.toxenv}}
name: Test on ${{matrix.python.version}}-${{matrix.platform.runner}}
runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
platform:
- runner: ubuntu-latest
toxenv: linux
- runner: windows-latest
toxenv: windows
- runner: macos-latest
python:
- version: '3.9'
toxenv: 'py39'
- version: '3.10'
toxenv: 'py310'
- version: '3.11'
toxenv: 'py311'
- version: '3.12'
toxenv: 'py312'
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v2
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Install Python ${{ matrix.python.version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
- name: Install tox
run: python -m pip install tox-uv
- name: Install the project
run: uv sync --upgrade -p ${{ matrix.python.version }} --no-dev
- name: Install pytest
run: |
uv pip install pytest
uv pip install pytest-cov
- name: Run pytest
run: tox -e ${{matrix.python.toxenv}}-${{matrix.platform.toxenv}}
run: uv run pytest --cov
Loading

0 comments on commit 1b2de77

Please sign in to comment.