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
4 changes: 4 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: astral-sh/ruff-action@v4.0.0
with:
version: "0.14.x"
args: 'check .'
- uses: astral-sh/ruff-action@v4.0.0
with:
version: "0.14.x"
Expand Down
17 changes: 10 additions & 7 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,28 @@ on:
release:
types: [published]

permissions:
contents: read

jobs:
build:
name: Build distribution
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.x"
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
python-version: "3.11"
- name: Install build and metadata validation tools
run: python -m pip install build twine
- name: Build a binary wheel and a source tarball
run: python3 -m build
- name: Validate distribution metadata
run: python -m twine check --strict dist/*
- name: Store the distribution packages
uses: actions/upload-artifact@v7
with:
Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Changelog

Notable changes to Sequince are documented in this file.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Unreleased]

## [0.1.0b1] - 2026-10-23

First public beta release.

### Added

- Composable Sequential Monte Carlo pipelines for Bayesian inference and
particle filtering.
- Prebuilt samplers for standard Bayesian SMC, persistent Bayesian SMC, and
nested-sampling SMC.
- Array API support for NumPy, JAX, PyTorch, and CuPy backends.
- Posterior sampling, evidence estimates, and diagnostics.
- Checkpoint saving and resuming.

[Unreleased]: https://github.com/sequince-dev/sequince/compare/v0.1.0b1...HEAD
[0.1.0b1]: https://github.com/sequince-dev/sequince/releases/tag/v0.1.0b1
20 changes: 20 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,10 @@ should also follow this format and describe the final change.

## Pull requests and review

For each pull request with user-visible changes, update
[CHANGELOG.md](CHANGELOG.md) under `Unreleased` in the same pull request. Follow
the entry categories and guidance in the releases section below.

Push your branch and open a pull request targeting `sequince-dev/sequince:main`:

```bash
Expand All @@ -319,11 +323,27 @@ needed.

## Releases

Maintain [CHANGELOG.md](CHANGELOG.md) using
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Add user-visible changes
under `Unreleased`, grouped as `Added`, `Changed`, `Deprecated`, `Removed`,
`Fixed`, or `Security`; omit empty groups. Describe the effect on users,
especially changes to scientific results, APIs, RNG behaviour, or checkpoint
compatibility. Routine internal refactoring and CI maintenance do not normally
need entries.

Releases are coordinated by maintainers. Versions are derived from Git tags by
`setuptools-scm`; do not maintain a separate hard-coded version number. Use tags
such as `v0.1.0` and release notes describing user-visible changes and any
incompatibilities.

When preparing a release, move the unreleased entries into a section headed
`## [VERSION] - YYYY-MM-DD`, using the actual release date, and leave a fresh
`Unreleased` section at the top. For the first beta, use a PEP 440 version such
as `0.1.0b1` with the Git tag `v0.1.0b1`. Link its heading to the GitHub release,
and update the `Unreleased` link to compare that tag with `HEAD`. For later
releases, link each version heading to the comparison with the preceding tag.
Use the version's changelog section as the GitHub release notes.

Before publishing, verify the intended commit, applicable CI results, and the
built distribution in a clean environment. Publishing a GitHub release triggers
the PyPI workflow in `.github/workflows/publish.yml`. Check that the workflow
Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ dynamic = [
]

[project.urls]
Homepage = "https://github.com/sequince-dev/sequince"
Homepage = "https://sequince.readthedocs.io/en/latest/"
Repository = "https://github.com/sequince-dev/sequince"
Documentation = "https://sequince.readthedocs.io/en/latest/"

[tool.setuptools]
package-dir = {"" = "src"}
Expand Down
1 change: 0 additions & 1 deletion src/sequince/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
"MCMCResult",
"MarkovChainMonteCarlo",
"SequentialMonteCarlo",
"MetaSequentialMonteCarlo",
"SMCResult",
"SMCConfig",
"SequentialTarget",
Expand Down
Loading