diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..015d40e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,37 @@ +name: Publish release to PyPI + +on: + release: + types: [published] + +permissions: + contents: read + +jobs: + publish: + name: Build and publish + runs-on: ubuntu-latest + environment: pypi + permissions: + contents: read + id-token: write + + steps: + - uses: actions/checkout@v6.0.2 + + - uses: astral-sh/setup-uv@v8.1.0 + + - name: Install Python + run: uv python install 3.13 + + - name: Build distributions + run: uv build --no-sources + + - name: Smoke test wheel + run: uv run --isolated --no-project --with dist/*.whl stericrender --help + + - name: Smoke test source distribution + run: uv run --isolated --no-project --with dist/*.tar.gz stericrender --help + + - name: Publish to PyPI + run: uv publish diff --git a/CITATION.cff b/CITATION.cff index caa03be..02faa7b 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -6,7 +6,9 @@ authors: - given-names: James family-names: "O'Brien" affiliation: "Department of Chemistry, The University of Manchester" -version: "1.1.0" +version: "1.1.1" +doi: "10.5281/zenodo.21475425" +date-released: 2026-07-21 repository-code: "https://github.com/JamesOBrien2/StericRender" url: "https://github.com/JamesOBrien2/StericRender" license: MIT diff --git a/README.md b/README.md index 87e799f..6381205 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ StericRender computes topographic steric maps and buried volume (%V*Bur*) for an [![Typing: ty](https://img.shields.io/badge/typing-ty-EFC621.svg)](https://github.com/astral-sh/ty) [![CI](https://github.com/JamesOBrien2/StericRender/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/JamesOBrien2/StericRender/actions/workflows/ci.yml) [![Codecov](https://codecov.io/gh/JamesOBrien2/StericRender/branch/main/graph/badge.svg)](https://codecov.io/gh/JamesOBrien2/StericRender) -[![DOI](https://zenodo.org/badge/1225515679.svg)](https://doi.org/10.5281/zenodo.21475425) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21475425.svg)](https://doi.org/10.5281/zenodo.21475425) ![zoomed out overlay](examples/images/controls/zoom_overlay.svg) @@ -143,16 +143,18 @@ steric_map = compute_steric_map(oriented.positions[selected], radii) ## Citation -If you use StericRender in published research, cite the software version used: +If you use StericRender in published research, cite the software version used. +To cite the project as a whole: > James O'Brien, *StericRender: Topographic Steric Mapping with Molecular -> Visualisation*, version 1.1.0, computer software, Zenodo, 2026, -> https://doi.org/10.5281/zenodo.21474975 +> Visualisation*, computer software, Zenodo, 2026, +> https://doi.org/10.5281/zenodo.21475425 Machine-readable citation metadata is available in [`CITATION.cff`](CITATION.cff). GitHub also provides APA and BibTeX entries through the **Cite this repository** -menu. Cite the version-specific Zenodo DOI so that the exact software used can -be recovered. +menu. The DOI above represents all StericRender versions and always resolves to +the latest release. For reproducibility, use the version-specific DOI shown on +the relevant Zenodo release page. Please also cite the methodological works on which StericRender builds: diff --git a/pyproject.toml b/pyproject.toml index d80f5cc..f718a0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "stericrender" -version = "1.1.0" +version = "1.1.1" description = "Topographic steric maps and buried volume (%VBur) with publication-quality SVG output." authors = [ { name = "James O'Brien" }, @@ -20,6 +20,7 @@ dependencies = [ [project.urls] Homepage = "https://github.com/JamesOBrien2/StericRender" Repository = "https://github.com/JamesOBrien2/StericRender" +DOI = "https://doi.org/10.5281/zenodo.21475425" [project.optional-dependencies] test = [ diff --git a/uv.lock b/uv.lock index bcb67fc..7d83bf0 100644 --- a/uv.lock +++ b/uv.lock @@ -1423,7 +1423,7 @@ wheels = [ [[package]] name = "stericrender" -version = "1.1.0" +version = "1.1.1" source = { editable = "." } dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },