Skip to main content

Package for maintaining robust, reproducible data management.

Project description

rushd

Stable documentation PyPI-downloads PyPI-version PyPI-license Supported python versions codecov

A package for maintaining robust, reproducible data management.

Rationale

Science relies on repeatable results. rushd is a Python package that helps with this, both by making sure that the execution context (e.g. the state of all of the Pip packages) is saved, alongside helper functions that help you cleanly, but repeatedly, separate data from code.

Install

This package is on Pip, so you can just:

pip install rushd

Alternatively, you can get built wheels from the Releases tab on Github.

Quickstart

Simply import rushd!

import rushd as rd

Documentation

See the documentation available at https://gallowaylabmit.github.io/rushd

Developer install

If you'd like to hack locally on rushd, after cloning this repository:

$ git clone https://github.com/GallowayLabMIT/rushd.git
$ cd rushd

you can create a local virtual environment, and install rushd in "development (editable) mode" with the extra requirements for tests.

$ python -m venv env
$ .\env\Scripts\activate    (on Windows)
$ source env/bin/activate   (on Mac/Linux)
$ pip install -e .[dev]     (on most shells)
$ pip install -e '.[dev]'   (on zsh)

After this 'local install', you can use and import rushd freely without having to re-install after each update.

Changelog

See the CHANGELOG for detailed changes.

## [0.5.0] - 2024-04-15
### Added
- Added new `rd.plot.debug_axes` which draws guide lines to help with axis alignment.
- Added new `rd.plot.adjust_subplot_margins_inches` which allows subplot configuring
  using inch offsets (instead of subfigure coordinate offsets)

### Modified
- `rd.flow.load_csv_with_metadata` and
  `rd.flow.load_groups_with_metadata` can now load a subset of columns.
- The `datadir.txt` can include paths that use `~` to represent the home directory.
- `rd.plot.generate_xticklabels` does not include metadata key labels in plots without yticklabels
- `rd.plot.generate_xticklabels` no longer throws an error when xticklabels don't match the dictionary passed (instead leaves labels as-is)
- `rd.plot.generate_xticklabels` now enables user-specified line spacing

License

This is licensed by the MIT license. Use freely!

What does the name mean?

The name is a reference to Ibn Rushd, a Muslim scholar born in Córdoba who was responsible for translating and adding scholastic commentary to ancient Greek works, especially Aristotle. His translations spurred further translations into Latin and Hebrew, reigniting interest in ancient Greek works for the first time since the fall of the Roman empire.

His name is pronounced rush-id.

If we take the first and last letter, we also get rd: repeatable data!

Project details


Download files

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

Source Distribution

rushd-0.5.0.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

rushd-0.5.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file rushd-0.5.0.tar.gz.

File metadata

  • Download URL: rushd-0.5.0.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for rushd-0.5.0.tar.gz
Algorithm Hash digest
SHA256 af7f44afd4a60a75e0a166383e94bb6cf29505a1337fe07e4ace4a95a7a95ec2
MD5 3fbc742323012d1c6f1c93a79fe1987f
BLAKE2b-256 2d1f60f9ed37f2ee75d152cece71bbd8e6b9aa9f88c92dbee8620a5f441b5ed1

See more details on using hashes here.

File details

Details for the file rushd-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: rushd-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for rushd-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3fa287aba93d1ec147a17200deb4122d10633f66865c3bc7a1d2b085c94d50cd
MD5 29e472ae80d3221298aaa8cc892b2c7d
BLAKE2b-256 6658e74c8aa44602f36d58a29eba080c525204000783006065a30c246815726d

See more details on using hashes here.

Supported by

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