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
8 changes: 3 additions & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@

version: 2
updates:
# Runtime + PEP 735 dependency groups now live together in pyproject.toml,
# so a single pip entry on "/" covers both runtime (requirements.txt /
# pyproject [project.dependencies]) and dev groups.
- package-ecosystem: "pip" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"

- package-ecosystem: "pip" # See documentation for possible values
directory: "/dev_requirements/" # Location of package manifests
schedule:
interval: "weekly"
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Run Tests and Record Coverage
run: |
tox -e coverage
3 changes: 1 addition & 2 deletions .github/workflows/docs_latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ jobs:
fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
pip install tox tox-uv
pip install -r requirements.txt
# Note: The sphinx action below can only install a single requirements file.
- name: Build JSON Schemas
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Run ${{ matrix.linter-env }}
run: |
tox -e ${{ matrix.linter-env }}
4 changes: 1 addition & 3 deletions .github/workflows/packaging_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Run Packaging Test
run: |
tox -e test_packaging
12 changes: 4 additions & 8 deletions .github/workflows/python-publish-scheduled.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Run the Tests
run: |
tox -e tests
Expand Down Expand Up @@ -58,9 +56,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Build JSON Schemas
run: tox -e generate_json_schemas
env:
Expand Down Expand Up @@ -105,8 +101,8 @@ jobs:
python-version: "3.10.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r dev_requirements/requirements-packaging.txt
pip install uv
uv pip install --system --group packaging
- name: Build wheel and source distributions
run: python -m build
- name: Publish distribution 📦 to PyPI
Expand Down
19 changes: 7 additions & 12 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Run the Tests
run: |
tox -e tests
Expand All @@ -47,8 +45,8 @@ jobs:
python-version: "3.12"
- name: Install dependencies for schema generation
run: |
python -m pip install --upgrade pip
pip install -e . -r dev_requirements/requirements-json_schemas.txt
pip install uv
uv pip install --system -e . --group json_schemas
- name: Build JSON Schemas
run: python generate_or_validate_json_schemas.py --mode generate
env:
Expand All @@ -74,9 +72,7 @@ jobs:
with:
python-version: "3.12"
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Build JSON Schemas
run: |
tox -e generate_json_schemas
Expand Down Expand Up @@ -132,8 +128,7 @@ jobs:
python-version: "3.12"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
pip install tox tox-uv
pip install -r requirements.txt
# Note: The sphinx action below can only install a single requirements file.
- name: Build JSON Schemas
Expand Down Expand Up @@ -207,8 +202,8 @@ jobs:
python-version: "3.10.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r dev_requirements/requirements-packaging.txt
pip install uv
uv pip install --system --group packaging
- name: Build wheel and source distributions
run: python -m build
- name: Publish distribution 📦 to PyPI
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ jobs:
- name: Install bo4e CLI
uses: ./.github/actions/setup-bo4e
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Check Docs
run: |
tox -e docs
4 changes: 1 addition & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install tox
run: |
python -m pip install --upgrade pip
pip install tox
run: pip install tox tox-uv
- name: Test with tox
run: |
tox -e tests
21 changes: 21 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,27 @@ Code Beiträge
Änderungsvorschläge (sowohl an das Datenmodell als auch an die Implementierung in Python) können direkt als Code in Form von Pull Requests eingereicht werden.
Details dazu finden sich im `Contribution Guide <https://bo4e.github.io/BO4E-python/latest/contributing_guide.html>`_.

Entwicklungs-Setup
==================
Die Entwicklungs-Abhängigkeiten sind in ``pyproject.toml`` unter ``[dependency-groups]`` (PEP 735) zentral gepflegt und über ``uv.lock`` gepinnt. ``uv`` (https://docs.astral.sh/uv/) wird als Paket-Manager verwendet, ``tox-uv`` integriert ihn in die bestehenden ``tox``-Umgebungen.

.. code-block:: shell

# uv installieren (einmalig), siehe https://docs.astral.sh/uv/getting-started/installation/
curl -LsSf https://astral.sh/uv/install.sh | sh

# Repo klonen und volles Entwickler-Setup installieren
git clone https://github.com/bo4e/BO4E-python.git
cd BO4E-python
uv sync --group dev

# Einzelne tox-Umgebung ausführen (tox + tox-uv werden via uv installiert)
uv run tox -e tests
uv run tox -e linting
uv run tox -e docs

Die verfügbaren Gruppen sind: ``tests``, ``coverage``, ``type_check``, ``linting``, ``formatting``, ``packaging``, ``json_schemas``, ``docs`` und ``dev`` (Sammel-Gruppe, enthält alle anderen plus ``pre-commit``).

Nutzung als Python Library
==========================
In Python kann diese Library als Paket installiert werden:
Expand Down
2 changes: 0 additions & 2 deletions dev_requirements/requirements-coverage.in

This file was deleted.

8 changes: 0 additions & 8 deletions dev_requirements/requirements-coverage.txt

This file was deleted.

3 changes: 0 additions & 3 deletions dev_requirements/requirements-formatting.in

This file was deleted.

22 changes: 0 additions & 22 deletions dev_requirements/requirements-formatting.txt

This file was deleted.

1 change: 0 additions & 1 deletion dev_requirements/requirements-json_schemas.in

This file was deleted.

8 changes: 0 additions & 8 deletions dev_requirements/requirements-json_schemas.txt

This file was deleted.

2 changes: 0 additions & 2 deletions dev_requirements/requirements-linting.in

This file was deleted.

20 changes: 0 additions & 20 deletions dev_requirements/requirements-linting.txt

This file was deleted.

3 changes: 0 additions & 3 deletions dev_requirements/requirements-packaging.in

This file was deleted.

77 changes: 0 additions & 77 deletions dev_requirements/requirements-packaging.txt

This file was deleted.

7 changes: 0 additions & 7 deletions dev_requirements/requirements-tests.in

This file was deleted.

24 changes: 0 additions & 24 deletions dev_requirements/requirements-tests.txt

This file was deleted.

5 changes: 0 additions & 5 deletions dev_requirements/requirements-type_check.in

This file was deleted.

Loading
Loading