v0.7.0-beta.1 #125
transientlunatic
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This is the first beta release of asimov 0.7 — the largest architectural update since the 0.4 rewrite.
It is intended for early adopters and those migrating existing 0.6 projects.
The core feature set is stable; a release candidate will follow once any issues surfaced during beta testing are resolved.
Install from PyPI:
What's new since 0.6
State machine monitor
The
asimov monitorloop has been completely rewritten around a state machine pattern.Each analysis transitions through well-defined states (waiting → running → finished / failed) with explicit hooks at each boundary.
This makes the control flow easier to reason about, enables pipeline-specific handlers, and provides a stable extension point for plugins.
Flexible dependency system
Analyses can now express complex dependencies using property-based filters and boolean logic (AND / OR / NOT), with optional staleness tracking and workflow graph integration.
The old flat
needs:list still works for simple cases; the extended syntax is opt-in.Strategy expansion
A single blueprint can now expand into a family of analyses by providing a parameter matrix under the
strategies:key.This replaces the previous pattern of duplicating blueprints by hand for parameter studies or systematic variations.
Python API
A programmatic API for project creation and management has been added, with context manager support:
Slurm scheduler support
Asimov now ships a full Slurm backend alongside the existing HTCondor one.
Workflow DAGs are translated bidirectionally, so a blueprint written for HTCondor runs unchanged on a Slurm cluster.
End-to-end CI coverage for Slurm has been added.
Blueprint validator
Blueprints are now validated before being applied to the project, catching configuration errors early with clear error messages rather than silent misbehaviour at job submission time.
Prior handling
Prior specifications are now validated with pydantic, giving type-safe, structured prior objects with clear error messages when required fields are missing or malformed.
Enhanced HTML reports
The monitoring report now includes:
PESummary as SubjectAnalysis
PESummary post-processing is now expressed as a
SubjectAnalysis, giving it access to results from multiple subsidiary analyses and making its dependencies explicit and optional.Miscellaneous
setup.pytopyproject.toml.asimov apply --updaterobustly handles productions with null or variably-structured metadata.Breaking changes
Waveform minimum frequency location
minimum frequencymust now be placed inside thewaveformblock of a blueprint.Placement under
qualityorlikelihoodwas deprecated in 0.6 and is now a hard error — asimov will raise aValueErrorand refuse to apply the blueprint.Monitor loop behaviour
The state machine refactor changes when and how pipeline handlers are called.
Projects running custom monitor hooks may need minor updates; the error message will indicate what is expected.
Dependency specification syntax
The extended dependency syntax (
property:,any:,all:,not:) is new in 0.7.Simple
needs:lists are unchanged.If you have manually constructed ledger entries that relied on undocumented internal dependency resolution behaviour, review them against the updated documentation.
Prior specification format
Priors are now validated by pydantic models.
Prior specifications that relied on undocumented fields or non-standard types may raise validation errors on first use.
What's next
The release candidate (v0.7.0-rc.1) will follow once any issues surfaced during beta are addressed.
The final release will be v0.7.0.
Please report issues at https://github.com/etive-io/asimov/issues.
This discussion was created from the release v0.7.0-beta.1.
All reactions