Skip to main content

Metadata tracking tools help to manage an increasingly diverse set of life science, environmental and biomedical experiments

Project description

ISA-API Logo







Py versions Build Status Coverage Status PyPI version Documentation Status

The open source ISA metadata tracking tools help to manage an increasingly diverse set of life science, environmental and biomedical experiments that employing one or a combination of technologies.

Built around the ‘Investigation’ (the project context), Study’ (a unit of research) and ‘Assay’ (analytical measurement) general-purpose Tabular format, the ISA tools helps you to provide rich description of the experimental metadata (i.e. sample characteristics, technology and measurement types, sample-to-data relationships) so that the resulting data and discoveries are reproducible and reusable.

To find out more about ISA, see https://isa-tools.org/

To find out who's using ISA and about the ISA development and user community, see www.isacommons.org

The ISA API aims to provide you, the developer, with a set of tools to help you easily and quickly build your own ISA objects, validate, and convert between serializations of ISA-formatted datasets and other formats/schemas (e.g. SRA schemas). The ISA API is published on PyPI as the isatools package.

isatools currently supports Python 3.8+.


Read the Publication...

Read our open access publication "ISA API: An open platform for interoperable life science experimental metadata", published in GigaScience as a technical note

David Johnson, Dominique Batista, Keeva Cochrane, Robert P. Davey, Anthony Etuk, Alejandra Gonzalez-Beltran, Kenneth Haug, Massimiliano Izzo, Martin Larralde, Thomas N. Lawson, Alice Minotto, Pablo Moreno, Venkata Chandrasekhar Nainala, Claire O'Donovan, Luca Pireddu, Pierrick Roger, Felix Shaw, Christoph Steinbeck, Ralf J. M. Weber, Susanna-Assunta Sansone, Philippe Rocca-Serra. ISA API: An open platform for interoperable life science experimental metadata. 2020.11.13.382119; doi: 10.1093/gigascience/giab060



Authors: The ISA team.

License: This code is licensed under the CPAL License.

Repository: https://github.com/ISA-tools/isa-api

ISA team email: isatools@googlegroups.com

ISA discussion group: https://groups.google.com/forum/#!forum/isaforum

Github issue tracker: https://github.com/ISA-tools/isa-api/issues


Using the ISA-API

The documentation to install and use the ISA-API (v0.14.3 and above) can be found here.

For the previous versions (up to v0.11) check the documentation here.

Contributing

The ISA-API is still in development. We would be very happy to receive any help and contributions (testing, feature requests, pull requests). Please feel free to contact our development team at isatools@googlegroups.com, or ask a question, report a bug or file a feature request in the GitHub issue tracker at https://github.com/ISA-tools/isa-api/issues.

Setup Development Environment

# install python package manager uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# add $HOME/.local/bin to your PATH, either restart your shell or run
export PATH=$HOME/.local/bin:$PATH

# install git from https://git-scm.com/downloads
# Linux command
apt update; apt install git -y

# Mac command
# brew install git

# clone project from github
git clone https://github.com/ISA-tools/isa-api.git

cd isa-api

# install python if it is not installed
uv python install 3.13

# uv python install 3.12
# uv python install 3.11
# uv python install 3.10

# pin a python version
uv python pin 3.13

# install python dependencies
uv sync

# install pre-commit to check repository integrity and format checking
uv run pre-commit

# run package and module dependencies
uv run lint-imports

# list all possible linters. selected linters are defined in pyproject.toml
uv run ruff linter

# run lint tool
uv run ruff check

# check specific linter
uv run ruff check --select I

# check specific lint rule
uv run ruff check --select F841

# check imports and update imports order
uv run ruff check --select I --fix

# run format check
uv run ruff format --check

# run unit tests with specific version
uv run --python 3.11 pytest

uv run --python 3.13 pytest

# open your IDE (vscode, pycharm, etc.) and set python interpreter as .venv/bin/python

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isatools-0.14.3.tar.gz (7.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isatools-0.14.3-py3-none-any.whl (8.2 MB view details)

Uploaded Python 3

File details

Details for the file isatools-0.14.3.tar.gz.

File metadata

  • Download URL: isatools-0.14.3.tar.gz
  • Upload date:
  • Size: 7.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for isatools-0.14.3.tar.gz
Algorithm Hash digest
SHA256 002443ea1a3b55ae7589bda71d15c64ecbd82ad9f0d17bab46dd5ff70d54ebac
MD5 2978263a4f990e6e2dbdd79cade8e04b
BLAKE2b-256 172b6280a817b93a163ba502d11ca7ca4347ede4acc705a66565f00d5e175e93

See more details on using hashes here.

File details

Details for the file isatools-0.14.3-py3-none-any.whl.

File metadata

  • Download URL: isatools-0.14.3-py3-none-any.whl
  • Upload date:
  • Size: 8.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for isatools-0.14.3-py3-none-any.whl
Algorithm Hash digest
SHA256 924a8bb4b3d1f2a188bb797811d038f347453d323c1d066481a6a2ef6f38561f
MD5 f6ade6ff4f12ba24e97ac358a9b2126a
BLAKE2b-256 ac49c43ff8a60499e090a30d389b84c33f88ab175e8f8c3747d617eb15ca4a13

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page