feat!: rebuild py-ft as a pure-python toolkit over pysam + pyMA#119
Open
cademirch wants to merge 2 commits into
Open
feat!: rebuild py-ft as a pure-python toolkit over pysam + pyMA#119cademirch wants to merge 2 commits into
cademirch wants to merge 2 commits into
Conversation
Drops the Rust/pyo3 bindings (Fiberbam, Fiberdata, Fiberwriter, center) and the maturin build. py-ft is now plain Python: Fiberdata wraps a pysam record's molecular_annotation and exposes the fiber-seq accessors (m6a, cpg, nuc, msp, fire) over iter_type. fetch() iterates mapped and unmapped reads (so unaligned fiber-seq BAMs work), and Fiberdata.is_mapped lets callers filter. Plotting moves to an optional [viz] extra. region_to_* and the fiberplot CLI, which drove the old Rust Fiberbam, are stubbed with NotImplementedError until they're ported to fetch(); plot.py is unchanged. Adds a root release workflow for py-ft (py-ft-v* tags) using PyPI trusted publishing; the pyMA release workflow lives with the pyMA changes.
cademirch
force-pushed
the
pyft-pure-python
branch
from
July 21, 2026 20:35
4a2ebcc to
449d2c9
Compare
The docs still built the old Rust/maturin package (rust toolchain + compiling the crate), which is why the Read the Docs build failed. py-ft is pure Python now, so: - .readthedocs.yaml drops rust/cmake; installing the package just pulls pysam + molecular-annotation from PyPI so autodoc can import pyft. - conf.py builds without nbsphinx; api.rst documents pyft.fiberdata via autodoc (Napoleon for the Google-style docstrings). - add __version__ to the package (conf.py reads it). - replace the old Fiberbam notebooks with a quickstart vignette on fetch() and the Fiberdata accessors; refresh index.rst.
Member
|
Lgtm |
mrvollger
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Drops the Rust/pyo3 bindings (Fiberbam, Fiberdata, Fiberwriter, center) and the maturin build. py-ft is now plain Python: Fiberdata wraps a pysam record's molecular_annotation and exposes the fiber-seq accessors (m6a, cpg, nuc, msp, fire) over iter_type. Plotting moves to an optional [viz] extra.
region_to_* and the fiberplot CLI are gone now. These are not currently implemented but can be if we decide this is the right direction for py-ft.
This depends on #118