Skip to content

Commit 0408c28

Browse files
committed
fix: semantic release as single source of truth for versions
1 parent c66639c commit 0408c28

File tree

6 files changed

+34
-27
lines changed

6 files changed

+34
-27
lines changed

.github/workflows/release_and_docs.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
id: release
5353
env:
5454
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55-
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
55+
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN_PROD }}
5656
PYPI_REPO_URL: https://test.pypi.org/legacy/
5757
run: |
5858
npx semantic-release
@@ -117,7 +117,7 @@ jobs:
117117
fi
118118
119119
if [[ "$v" == "latest" ]]; then
120-
entry="{\"version\": \"latest\", \"url\": \"https://baker-laboratory.github.io/atomworks/latest/\", \"name\": \"dev (latest)\"}"
120+
entry="{\"version\": \"latest\", \"url\": \"https://RosettaCommons.github.io/atomworks/latest/\", \"name\": \"dev (latest)\"}"
121121
else
122122
disp="${v#v}"
123123
# Mark the newest stable version as preferred
@@ -126,7 +126,7 @@ jobs:
126126
else
127127
preferred="false"
128128
fi
129-
entry="{\"version\": \"$disp\", \"url\": \"https://baker-laboratory.github.io/atomworks/$v/\", \"name\": \"v$disp\", \"preferred\": $preferred}"
129+
entry="{\"version\": \"$disp\", \"url\": \"https://RosettaCommons.github.io/atomworks/$v/\", \"name\": \"v$disp\", \"preferred\": $preferred}"
130130
fi
131131
132132
switcher_content="$switcher_content$entry"

.releaserc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module.exports = {
1010
repoUrl: 'https://test.pypi.org/legacy/',
1111
distDir: 'dist/',
1212
setupPy: false,
13-
pypiToken: process.env.PYPI_TOKEN,
13+
pypiToken: process.env.PYPI_TOKEN_PROD,
1414
}
1515
],
1616
'@semantic-release/github',

README.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
[![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)
22
[![PyPI version](https://img.shields.io/pypi/v/atomworks.svg)](https://pypi.org/project/atomworks/)
33
[![Python versions](https://img.shields.io/pypi/pyversions/atomworks.svg)](https://pypi.org/project/atomworks/)
4-
[![Documentation Status](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://baker-laboratory.github.io/atomworks/latest)
4+
[![Documentation Status](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://RosettaCommons.github.io/atomworks/latest)
55
[![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
66

7-
<img src="docs/_static/atomworks_logo_color.svg" width="450" alt="atomworks logo">
7+
<img src="docs/_static/atomworks_logo_dark.svg" width="350" alt="atomworks logo">
8+
9+
# atomworks
810

911
**atomworks** is an open-source platform for next-generation biomolecular data processing, conversion, and machine-learning-ready featurization.
1012
It is composed of two symbiotic libraries:
@@ -47,13 +49,20 @@ Built on atomworks.io's structural backbone, atomworks.ml bridges the gap betwee
4749

4850
```
4951
pip install atomworks # base installation version without torch (for only atomworks.io)
52+
pip install "atomworks[openbabel]" # with OpenBabel support (for atomworks.io plus OpenBabel)
5053
pip install "atomworks[ml]" # with torch and ML dependencies (for atomworks.io plus atomworks.ml)
5154
pip install "atomworks[dev]" # with development dependencies
52-
pip install "atomworks[ml,dev]" # with all dependencies
55+
pip install "atomworks[ml,openbabel,dev]" # with all dependencies
56+
57+
```
5358

59+
If you are using [uv](https://docs.astral.sh/uv/reference/policies/versioning/) for package management, you can install atomworks with:
60+
61+
```
62+
uv pip install "atomworks[ml,openbabel,dev]"
5463
```
5564

56-
For more advanced setup options (including how to run workflows via apptainers) see the [full documentation](https://baker-laboratory.github.io/atomworks/latest).
65+
For more advanced setup options (including how to run workflows via apptainers) see the [full documentation](https://RosettaCommons.github.io/atomworks/latest).
5766

5867
---
5968

@@ -77,7 +86,7 @@ Output includes:
7786
- **assemblies** — Built biological assemblies
7887
- **metadata** — Experimental and source information
7988

80-
See [usage examples](https://baker-laboratory.github.io/atomworks/latest/auto_examples/).
89+
See [usage examples](https://RosettaCommons.github.io/atomworks/latest/auto_examples/).
8190

8291
---
8392

@@ -98,4 +107,4 @@ See [usage examples](https://baker-laboratory.github.io/atomworks/latest/auto_ex
98107
## Contribution
99108

100109
We welcome improvements!
101-
Please see the [contributing guide](CONTRIBUTING.md) or [full documentation](https://baker-laboratory.github.io/atomworks/latest).
110+
Please see the [full documentation](https://RosettaCommons.github.io/atomworks/latest) for more information on contributing.

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
},
7272
"navbar_start": ["navbar-logo", "version-switcher"],
7373
"switcher": {
74-
"json_url": "https://baker-laboratory.github.io/atomworks/latest/_static/switcher.json",
74+
"json_url": "https://RosettaCommons.github.io/atomworks/latest/_static/switcher.json",
7575
"version_match": switcher_version,
7676
},
7777
"favicons": [

pyproject.toml

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "atomworks"
3-
dynamic = ["version"]
4-
description = "A research-oriented data toolkit for training biomolecular deep-learning foundation models."
3+
version = "1.0.0"
4+
description = "A research-oriented data toolkit for training biomolecular deep-learning foundation models"
55
readme = "README.md"
66
requires-python = ">=3.12"
77
authors = [
@@ -26,7 +26,8 @@ dependencies = [
2626
"cython>=3.0.0,<4", # Cython compiler for C extensions
2727
"cytoolz>=0.12.3,<1", # Cython-optimized tools for itertools and functional programming
2828
"tqdm>=4.65.0,<5", # Fast, extensible progress bar for loops and more
29-
# ... CLI
29+
# ... CLI & config management
30+
"fire>=0.6.0,<1", # Argument parsing (legacy)
3031
"typer>=0.12.5,<1", # Modern CLI framework
3132
# ... linear algebra, maths & ml
3233
"numpy>=1.25.0,<2", # TODO: Enable numpy 2.x
@@ -48,8 +49,8 @@ dependencies = [
4849
[project.optional-dependencies]
4950
ml = [
5051
# atomworks-ml dependencies
51-
"torch>=2.2.0,<3",
52-
"einops>=0.7.0,<1",
52+
"torch==2.7.0",
53+
"einops==0.7.0",
5354
]
5455

5556
openbabel = [
@@ -60,6 +61,7 @@ openbabel = [
6061
dev = [
6162
# Linters & formatters
6263
"ruff==0.8.3",
64+
"pre-commit==3.7.1",
6365
# Debugger/interactive
6466
"debugpy>=1.8.5,<2",
6567
"ipykernel>=6.29.4,<7",
@@ -87,9 +89,9 @@ docs = ["atomworks[docs]"]
8789
openbabel = ["atomworks[openbabel]"]
8890

8991
[project.urls]
90-
homepage = "https://baker-laboratory.github.io/atomworks/"
91-
repository = "https://github.com/baker-laboratory/atomworks"
92-
documentation = "https://baker-laboratory.github.io/atomworks/"
92+
homepage = "https://RosettaCommons.github.io/atomworks/"
93+
repository = "https://github.com/RosettaCommons/atomworks"
94+
documentation = "https://RosettaCommons.github.io/atomworks/"
9395

9496
[project.scripts]
9597
atomworks = "atomworks.cli.__main__:main"
@@ -99,12 +101,6 @@ atomworks = "atomworks.cli.__main__:main"
99101
requires = ["hatchling", "hatch-vcs"]
100102
build-backend = "hatchling.build"
101103

102-
[tool.hatch.version]
103-
source = "vcs"
104-
105-
[tool.hatch.build.hooks.vcs]
106-
version-file = "src/atomworks/_version.py"
107-
108104
[tool.hatch.metadata]
109105
allow-direct-references = true
110106
dynamic = false # optional – this disables dynamic metadata guessing
@@ -256,4 +252,4 @@ exclude_lines = [
256252
"if __name__ == .__main__.:",
257253
"pass",
258254
"raise ImportError",
259-
]
255+
]

src/atomworks/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
into a unified interface for biological data processing and machine learning.
66
"""
77

8+
import importlib
9+
import importlib.metadata
810
import logging
911
import os
1012
import warnings
1113

1214
try:
13-
from ._version import __version__
15+
__version__ = importlib.metadata.version("atomworks")
1416
except ImportError:
1517
__version__ = "unknown"
1618

0 commit comments

Comments
 (0)