Changelog¶
0.2.1 (2026-09-01)¶
Changes¶
Rename the PyPI distribution to
acidgenomics-acidgenomes. The import name is unchanged:import acidgenomes as agstill works.Publish to PyPI instead of
python.acidgenomics.com.Pin
[tool.uv.build-backend] module-name = "acidgenomes"explicitly, since the build backend’s default module name now derives from the distribution name (acidgenomics_acidgenomes), not the import name.
0.2.0 (2026-08-21)¶
Bug Fixes¶
Work around a bug in
genomicranges0.8.4, whereGenomicRanges.to_pandas()silently doubles the row count. It sets the range DataFrame’s index togr.namesbefore it concatenatesgr.mcols.to_pandas(), whose index is still a positionalRangeIndex.pandas.concat(..., axis=1)then outer-joins two disjoint indices instead of binding columns positionally, so every row loses either its coordinate columns or its metadata columns.Add
_genomicranges_to_pandas_safe(), and use it in place ofGenomicRanges.to_pandas()at both call sites: the_GRangesWrapper.dataproperty, andmake_ensembl_genes_from_gtf(). Every provider (Ensembl, GENCODE, RefSeq, UCSC, FlyBase, WormBase) routes through the shareddataframe_to_granges/make_granges_from_gffpipeline, so this fixes all of them, not Ensembl alone.The
0.2.0package index artifact was rebuilt in place on 2026-08-21 to carry this fix. Thev0.2.0git tag was moved to match, sogit checkout v0.2.0reproduces the artifact currently served from the index.
Tests¶
Add
tests/test_genomicranges_to_pandas_safe.py. It covers the upstream bug and the workaround through the realdataframe_to_grangesconstruction path.
Changes¶
Handle
None/NaNbiotypevalues in_apply_broad_classthat causedAttributeError: 'float' object has no attribute 'lower'with Ensembl release 116 GTF files.
0.1.0 (2026-06-19)¶
Changes¶
Switch license to Apache-2.0.
Publish to
python.acidgenomics.com(private PEP 503 index).Update installation instructions in README.
0.0.1 (initial)¶
Initial release.