Stars PyPI PyPIDownloadsTotal PyPIDownloadsMonth Conda Docs Build Status Coverage

anndata - Annotated Data

AnnData provides a scalable way of keeping track of data and learned annotations.


COVID-19 datasets distributed as h5ad 2020-04-01

In a joint initiative, the Wellcome Sanger Institute, the Human Cell Atlas, and the CZI distribute datasets related to COVID-19 via anndata’s h5ad files: It wasn’t anticipated that the initial idea of sharing and backing an on-disk representation of AnnData would become so widely adopted. Curious? Read up more on the format.

Latest additions

0.7.8 9 November, 2021

Bug fixes

  • Re-include test helpers PR 641 I Virshup

0.7.7 9 November, 2021

Bug fixes

  • Fixed propagation of import error when importing write_zarr but not all dependencies are installed PR 579 R Hillje

  • Fixed issue with .uns sub-dictionaries being referenced by copies PR 576 I Virshup

  • Fixed out-of-bounds integer indices not raising IndexError PR 630 M Klein

  • Fixed backed SparseDataset indexing with scipy 1.7.2 PR 638 I Virshup

Development processes

  • Use PEPs 621 (standardized project metadata), 631 (standardized dependencies), and 660 (standardized editable installs) PR 639 I Virshup

0.7.6 11 April, 2021

New features

Bug fixes

  • Fixed bug where np.str_ column names errored at write time PR 457 I Virshup

  • Fixed “value.index does not match parent’s axis 0/1 names” error triggered when a data frame is stored in obsm/varm after obs_names/var_names is updated PR 461 G Eraslan

  • Fixed adata.write_csvs when adata is a view PR 462 I Virshup

  • Fixed null values being converted to strings when strings are converted to categorical PR 529 I Virshup

  • Fixed handling of compression key word arguments PR 536 I Virshup

  • Fixed copying a backed AnnData from changing which file the original object points at PR 533 ilia-kats

  • Fixed a bug where calling AnnData.concatenate an AnnData with no variables would error PR 537 I Virshup


0.7.5 12 November, 2020


  • Added ipython tab completion and a useful return from .keys to adata.uns PR 415 I Virshup

Bug fixes

  • Compatibility with h5py>=3 strings PR 444 I Virshup

  • Allow adata.raw = None, as is documented PR 447 I Virshup

  • Fix warnings from pandas 1.1 PR 425 I Virshup

0.7.4 10 July, 2020

Concatenation overhaul PR 378 I Virshup

  • New function anndata.concat() for concatenating AnnData objects along either observations or variables

  • New documentation section: Concatenation


  • AnnData object created from dataframes with sparse values will have sparse .X PR 395 I Virshup

Bug fixes

  • Fixed error from AnnData.concatenate by bumping minimum versions of numpy and pandas issue 385

  • Fixed colors being incorrectly changed when AnnData object was subset PR 388

0.7.3 20 May, 2020

Bug fixes

  • Fixed bug where graphs used too much memory when copying PR 381 I Virshup

0.7.2 15 May, 2020

Concatenation overhaul I Virshup

  • Elements of uns can now be merged, see PR 350

  • Outer joins now work for layers and obsm, see PR 352

  • Fill value for outer joins can now be specified

  • Expect improvments in performance, see issue 303


  • obsp and varp can now be transposed PR 370 A Wolf

  • obs_names_make_unique() is now better at making values unique, and will warn if ambiguities arise PR 345 M Weiden

  • obsp is now preferred for storing pairwise relationships between observations. In practice, this means there will be deprecation warnings and reformatting applied to objects which stored connectivities under uns["neighbors"]. Square matrices in uns will no longer be sliced (use .{obs,var}p instead). PR 337 I Virshup

  • ImplicitModificationWarning is now exported PR 315 P Angerer

  • Better support for ndarray subclasses stored in AnnData objects PR 335 michalk8

Bug fixes

  • Fixed inplace modification of Index objects by the make unique function PR 348 I Virshup

  • Passing ambiguous keys to obs_vector() and var_vector() now throws errors PR 340 I Virshup

  • Fix instantiating AnnData objects from DataFrame PR 316 P Angerer

  • Fixed indexing into AnnData objects with arrays like adata[adata[:, gene].X > 0] PR 332 I Virshup

  • Fixed type of version PR 315 P Angerer

  • Fixed deprecated import from pandas PR 319 P Angerer