You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
gget cellxgene: Added support for the three non-human primate species available in the CZ CELLxGENE Census LTS 2025-11-08: rhesus macaque (macaca_mulatta), common marmoset (callithrix_jacchus), and chimpanzee (pan_troglodytes).
The species argument (both Python and command line) now accepts all five supported organisms; the CLI choices, help text, and docstrings list them.
Added early validation of the species argument that raises a clear ValueError listing the supported species, instead of failing later inside the Census API call.
Note: the new primate species require census_version="2025-11-08" (LTS) or newer.
Docs/README: updated gget repository and manual URLs from pachterlab to scverse (github.com/scverse/gget, scverse.org/gget) to reflect the project's move under the scverse organization. Links to separate resources (pachterlab/gget_examples, pachterlab/kvar, pachterlab/varseek, and the Pachter Lab homepage) were left unchanged. Resolves issue 217.
gget g2p: New module to query the Genomics 2 Proteins (G2P) portal for residue-level protein structure/function annotations — per-residue features (AlphaFold pLDDT, UniProt sites, predicted pockets, PTMs), the gene–transcript–protein–isoform–structure map, and isoform alignments. Resolves issue 138.
Deprecations:
gget alphafold and gget gpt are no longer actively maintained. Both now emit a warning when invoked, and a deprecation notice was added to the top of each module's docs.
Bug fixes:
gget search: Missing values are now consistently returned as None instead of NaN, both in scalar cells and inside synonym lists ([None] rather than [nan] for genes with no synonyms). The previous output was an artifact of SQL LEFT JOINs surfacing as pandas NaNs; the JSON output was already null either way, so this only affects the DataFrame return path.
gget mutate: Fixed pyarrow.lib.ArrowNotImplementedError: Function 'binary_join_element_wise' has no kernel matching input types (large_string, null, large_string) when the input contained no substitutions (only deletions/insertions/delins/duplications/inversions). The substitution-only sequence-build branches now short-circuit on an empty selection instead of triggering an arrow-string kernel that older pyarrow versions don't implement.
gget muscle and gget diamond: When the bundled MUSCLE / DIAMOND binary fails because a system library is missing (most commonly libgomp / libomp on macOS without Homebrew gcc/libomp installed), gget now raises a clear RuntimeError naming the missing library and the exact brew install / apt install command to fix it — instead of the raw dyld / ld.so error spilling onto stderr.
gget muscle: When the MUSCLE binary fails, gget now exits with a non-zero status code instead of silently exiting 0. Pipelines and CI scripts can finally detect MUSCLE failures programmatically.
Developer tooling / packaging:
Migrated packaging to a single pyproject.toml (the hatchling build backend); removed setup.py, setup.cfg, requirements.txt, dev-requirements.txt, and MANIFEST.in. Runtime dependencies and the test dependency group are now declared in pyproject.toml.
The minimum supported Python version is now 3.12; CI tests on 3.12, 3.13, and 3.14.
cellxgene-census is now declared as an optional extra (pip install gget[cellxgene]) because it has no wheels for Python 3.14 yet. Users who install it via gget setup cellxgene are unaffected.
Added a pre-commit configuration (lint + format via ruff, plus standard hygiene hooks). Run prek run --all-files (or pre-commit run --all-files) before opening a PR.
Added type annotations across the entire gget/ source tree (175 functions across all 28 source files) and wired mypy into the pre-commit config with a permissive baseline. IDE intellisense and downstream typed-code consumers benefit immediately; the type-error baseline can be tightened module-by-module over time.
Modernized the test CI to use uv and run on pull requests, and added package-build-check and PyPI trusted-publishing workflows.