Skip to content
This repository was archived by the owner on Apr 14, 2026. It is now read-only.

Commit 383b68d

Browse files
committed
[Chore] update project metadata + CI
1 parent 1541548 commit 383b68d

8 files changed

Lines changed: 728 additions & 734 deletions

File tree

.github/workflows/docs.yaml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
name: Build and publish docs
22

33
permissions:
4-
contents: write
4+
contents: read
5+
pages: write
6+
id-token: write
7+
8+
concurrency:
9+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
10+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
11+
group: pages
12+
cancel-in-progress: false
513

614
on:
715
workflow_run:
@@ -10,25 +18,38 @@ on:
1018
- completed
1119
branches:
1220
- main
21+
workflow_dispatch:
22+
1323

1424
jobs:
1525
build-and-publish-docs:
1626
if: ${{ github.event.workflow_run.conclusion == 'success' }}
1727
runs-on: ubuntu-latest
28+
environment:
29+
name: github-pages
30+
url: ${{ steps.deployment.outputs.page_url }}
1831
steps:
1932
- uses: actions/checkout@v4
20-
- uses: actions/setup-python@v5
33+
- name: Install uv
34+
uses: astral-sh/setup-uv@v5
35+
with:
36+
enable-cache: true
37+
- name: Set up Python
38+
uses: actions/setup-python@v5
2139
with:
2240
python-version-file: pyproject.toml
23-
- name: Install dependencies
24-
run: |
25-
python -m pip install poetry
26-
poetry install --with docs
41+
- name: Install the project
42+
run: uv sync --only-group docs
2743
- name: Build docs
2844
run: |
2945
APP_MODULE_NAME=$(ls src -U | head -1) # Get the first module name in the src directory
30-
poetry run pdoc src/"$APP_MODULE_NAME" -o docs_build -t docs/pdoc-theme --docformat google
31-
touch docs_build/.nojekyll
32-
- uses: JamesIves/github-pages-deploy-action@v4
46+
uv run pdoc src/"$APP_MODULE_NAME" -o docs_build -t docs/pdoc-theme --docformat google
47+
- name: Setup Pages
48+
uses: actions/configure-pages@v5
49+
- name: Upload artifact
50+
uses: actions/upload-pages-artifact@v4
3351
with:
34-
folder: docs_build
52+
path: ./docs_build
53+
- name: Deploy to GitHub Pages
54+
id: deployment
55+
uses: actions/deploy-pages@v4

.github/workflows/publish-pypi.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@ jobs:
1515

1616
steps:
1717
- uses: actions/checkout@v4
18-
- name: Install poetry
19-
run: pipx install poetry
20-
- uses: actions/setup-python@v5
18+
19+
- name: Setup uv
20+
uses: astral-sh/setup-uv@v6
2121
with:
22-
python-version-file: pyproject.toml
23-
cache: poetry
22+
enable-cache: true
23+
2424
- name: Install dependencies and build
2525
run: |
26-
poetry install
27-
poetry build
26+
uv sync --frozen --no-dev --no-install-project
27+
uv build
2828
2929
- name: Publish to PyPi
3030
id: pypi_publish

.github/workflows/test.yaml

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,25 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- uses: actions/checkout@v4
14-
- name: Install poetry
15-
run: pipx install poetry
16-
- uses: actions/setup-python@v5
14+
15+
- name: Setup uv
16+
uses: astral-sh/setup-uv@v6
1717
with:
18-
python-version-file: pyproject.toml
19-
cache: poetry
20-
- name: Install dependencies
21-
run: |
22-
poetry install
18+
enable-cache: true
19+
2320
- name: Run tests
2421
id: run-tests
2522
run: >
26-
poetry run pytest \
23+
uv run --frozen pytest \
2724
--junitxml=pytest.xml \
2825
--cov-report=term-missing:skip-covered \
2926
--cov-report=xml:coverage.xml \
3027
--cov=src tests \
3128
--log-level=DEBUG \
3229
--verbose
30+
3331
- name: Upload coverage to Codecov
34-
uses: codecov/codecov-action@v4
32+
uses: codecov/codecov-action@v5
3533
with:
3634
token: ${{ secrets.CODECOV_TOKEN }}
3735
verbose: true
@@ -40,30 +38,26 @@ jobs:
4038
runs-on: ubuntu-latest
4139
steps:
4240
- uses: actions/checkout@v4
43-
- name: Install poetry
44-
run: pipx install poetry
45-
- uses: actions/setup-python@v5
41+
42+
- name: Setup uv
43+
uses: astral-sh/setup-uv@v6
4644
with:
47-
python-version-file: pyproject.toml
48-
cache: poetry
49-
- name: Install dependencies
50-
run: |
51-
poetry install
45+
enable-cache: true
46+
5247
- name: Ruff format
53-
run: poetry run ruff format --check
48+
run: uv run ruff format --check
49+
5450
- name: Ruff check
55-
run: poetry run ruff check
51+
run: uv run ruff check
5652

5753
mypy:
5854
runs-on: ubuntu-latest
5955
steps:
6056
- uses: actions/checkout@v4
61-
- name: Install poetry
62-
run: pipx install poetry
63-
- uses: actions/setup-python@v5
57+
58+
- name: Setup uv
59+
uses: astral-sh/setup-uv@v6
6460
with:
65-
python-version: '3.11'
66-
cache: poetry
67-
- run: |
68-
poetry install
69-
poetry run mypy .
61+
enable-cache: true
62+
63+
- run: uv run mypy .

.pre-commit-config.yaml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,33 @@
11
fail_fast: false
22

33
repos:
4-
- repo: https://github.com/python-poetry/poetry
5-
rev: 2.1.1
6-
hooks:
7-
- id: poetry-check
8-
94
- repo: https://github.com/astral-sh/ruff-pre-commit
10-
rev: v0.9.6
5+
rev: v0.12.10
116
hooks:
127
- id: ruff
138
- id: ruff-format
149

1510
- repo: https://github.com/pre-commit/mirrors-mypy
16-
rev: v1.15.0
11+
rev: v1.17.1
1712
hooks:
1813
- id: mypy
1914
args: [--ignore-missing-imports]
2015
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
21-
rev: v2.14.0
16+
rev: v2.15.0
2217
hooks:
2318
- id: pretty-format-yaml
2419
args:
2520
- --autofix
2621
- --indent=2
2722
- id: pretty-format-toml
28-
exclude: ^poetry.lock$
23+
exclude: ^uv.lock$
2924
args:
3025
- --autofix
3126
- --indent=2
3227
- --no-sort
3328

3429
- repo: https://github.com/pre-commit/pre-commit-hooks
35-
rev: v5.0.0
30+
rev: v6.0.0
3631
hooks:
3732
- id: check-case-conflict
3833
- id: end-of-file-fixer
@@ -42,6 +37,7 @@ repos:
4237
- --autofix
4338
- --indent=4
4439
- --no-sort-keys
40+
exclude_types: [jupyter]
4541
- id: check-merge-conflict
4642
- id: check-yaml
4743
- id: check-json

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Singularity/Apptainer Runner for Styx compiled wrappers
22

3-
[![Build](https://github.com/childmindresearch/styxsingularity/actions/workflows/test.yaml/badge.svg?branch=main)](https://github.com/childmindresearch/styxsingularity/actions/workflows/test.yaml?query=branch%3Amain)
4-
[![codecov](https://codecov.io/gh/childmindresearch/styxsingularity/branch/main/graph/badge.svg?token=22HWWFWPW5)](https://codecov.io/gh/childmindresearch/styxsingularity)
3+
[![Build](https://github.com/styx-api/styxsingularity/actions/workflows/test.yaml/badge.svg?branch=main)](https://github.com/styx-api/styxsingularity/actions/workflows/test.yaml?query=branch%3Amain)
4+
[![codecov](https://codecov.io/gh/styx-api/styxsingularity/branch/main/graph/badge.svg?token=22HWWFWPW5)](https://codecov.io/gh/styx-api/styxsingularity)
55
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
66
![stability-stable](https://img.shields.io/badge/stability-stable-green.svg)
7-
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/childmindresearch/styxsingularity/blob/main/LICENSE)
8-
[![pages](https://img.shields.io/badge/api-docs-blue)](https://childmindresearch.github.io/styxsingularity)
7+
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/styx-api/styxsingularity/blob/main/LICENSE)
8+
[![pages](https://img.shields.io/badge/api-docs-blue)](https://styx-api.github.io/styxsingularity)
99

1010
`styxsingularity` is a Python package that provides Singularity/Apptainer integration for Styx compiled wrappers. It allows you to run Styx functions within Singularity containers, offering improved isolation and reproducibility for your workflows.
1111

@@ -63,28 +63,28 @@ runner = SingularityRunner(
6363

6464
## Contributing
6565

66-
Contributions to `styxsingularity` are welcome! Please refer to the [GitHub repository](https://github.com/childmindresearch/styxsingularity) for information on how to contribute, report issues, or submit pull requests.
66+
Contributions to `styxsingularity` are welcome! Please refer to the [GitHub repository](https://github.com/styx-api/styxsingularity) for information on how to contribute, report issues, or submit pull requests.
6767

6868
## License
6969

7070
`styxsingularity` is released under the MIT License. See the LICENSE file for details.
7171

7272
## Documentation
7373

74-
For detailed API documentation, please visit our [API Docs](https://childmindresearch.github.io/styxsingularity).
74+
For detailed API documentation, please visit our [API Docs](https://styx-api.github.io/styxsingularity).
7575

7676
## Support
7777

78-
If you encounter any issues or have questions, please open an issue on the [GitHub repository](https://github.com/childmindresearch/styxsingularity).
78+
If you encounter any issues or have questions, please open an issue on the [GitHub repository](https://github.com/styx-api/styxsingularity).
7979

8080
## Requirements
8181

8282
- Python 3.10+
8383
- Singularity or Apptainer installed and running on your system
8484

85-
## Comparison with [`styxdocker`](https://github.com/childmindresearch/styxdocker)
85+
## Comparison with [`styxdocker`](https://github.com/styx-api/styxdocker)
8686

87-
While [`styxdocker`](https://github.com/childmindresearch/styxdocker) and [`styxsingularity`](https://github.com/childmindresearch/styxsingularity) serve similar purposes, they have some key differences:
87+
While [`styxdocker`](https://github.com/styx-api/styxdocker) and [`styxsingularity`](https://github.com/styx-api/styxsingularity) serve similar purposes, they have some key differences:
8888

8989
- Container Technology: `styxdocker` uses Docker, while `styxsingularity` uses Singularity/Apptainer.
9090
- Platform Support: `styxdocker` works on Windows, Linux, and macOS, whereas `styxsingularity` is not supported on Windows.

0 commit comments

Comments
 (0)