Skip to content

Commit 10e2d2a

Browse files
committed
chore: add PyPI publish workflow and update install instructions
CI runs lint + tests on Python 3.9/3.12 for push/PR to main. Publish job triggers on v* tags using trusted publishing.
1 parent 0e215b4 commit 10e2d2a

2 files changed

Lines changed: 68 additions & 5 deletions

File tree

.github/workflows/workflow.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: CI & Publish
2+
3+
on:
4+
push:
5+
branches: [main]
6+
tags: ["v*"]
7+
pull_request:
8+
branches: [main]
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
test:
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
python-version: ["3.9", "3.12"]
19+
steps:
20+
- uses: actions/checkout@v4
21+
22+
- uses: actions/setup-python@v5
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
26+
- name: Install dependencies
27+
run: |
28+
python -m pip install --upgrade pip
29+
pip install -e ".[dev,viz]"
30+
31+
- name: Lint
32+
run: ruff check src/ tests/
33+
34+
- name: Test
35+
run: pytest tests/ -v
36+
37+
publish:
38+
needs: test
39+
runs-on: ubuntu-latest
40+
if: startsWith(github.ref, 'refs/tags/v')
41+
permissions:
42+
id-token: write
43+
environment:
44+
name: pypi
45+
url: https://pypi.org/p/fisher-simplex
46+
steps:
47+
- uses: actions/checkout@v4
48+
49+
- uses: actions/setup-python@v5
50+
with:
51+
python-version: "3.12"
52+
53+
- name: Build
54+
run: |
55+
python -m pip install --upgrade pip build
56+
python -m build
57+
58+
- name: Publish to PyPI
59+
uses: pypa/gh-action-pypi-publish@release/v1

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,21 @@ Need a different language than Python? `fisher-simplex` maintains a [SPEC.md](/S
1414

1515
## Installation
1616

17-
Not yet published to PyPI. Install from source:
18-
1917
```bash
20-
git clone <repo-url> && cd fisher-simplex
21-
uv sync # or: pip install -e .
18+
pip install fisher-simplex
2219
```
2320

2421
For visualization support:
2522

2623
```bash
27-
uv sync --extra viz # or: pip install -e ".[viz]"
24+
pip install "fisher-simplex[viz]"
25+
```
26+
27+
Or install from source:
28+
29+
```bash
30+
git clone <repo-url> && cd fisher-simplex
31+
pip install -e ".[dev,viz]"
2832
```
2933

3034
## Quick usage

0 commit comments

Comments
 (0)