Skip to main content

Housekeeper

Housekeeper tests Coverage Status CodeFactor Code style: black

Store, tag, fetch, and archive files with ease 🗃

Housekeeper is a tool that aims to provide:

  • a backend for storing versioned bundles of files
  • different interfaces (Python, CLI, REST) for fetching files based on tags
  • a way to backup and retrieve bundles from long-term storage

Installation

Housekeeper written in Python 3.6+ and is available on the Python Package Index (PyPI).

poetry install

If you would like to install the latest development version:

git clone https://github.com/Clinical-Genomics/housekeeper
cd housekeeper
poetry install

Contributing

Housekeeper is using GitHub flow branching model as described in our development manual.

Documentation

Command line interface

Config file

Housekeeper supports a basic YAML config. The following options are supported:

---
database: mysql+pymysql://userName:passWord@domain.com/database
root: /path/to/root/dir

The root option is used to store files within the Housekeeper context.

Command: init

Setup (or reset) the database. It will simply setup all the tables in the database. You can reset an existing database by using the --reset option.

housekeeper --database "sqlite:///hk.sqlite3" init
Success! New tables: bundle, file, file_tag_link, tag, version

Command: include

Include (hard-link) all files of an existing bundle version into Housekeeper and the root path.

housekeeper myBundle

This will only work if the bundle only has a single version which can be "imported". If you want to import a specific version of a bundle you can use the --version option.

Command: delete files

Delete files that are not on disk anymore like his: housekeeper delete files --tag fastq --notondisk

Remove all bam files before a certain date: housekeeper delete files --tag bam --before 2017-06-15

Remove fastq files from a flowcell: housekeeper delete files --tag fastq --tag H0HKKALXX

It'll always ask for confirmation, unless you add --yes: housekeeper delete files --bundle sillyfish --yes

If you do not provide a --tag or --bundle, essentially deleting everything, the function will not let you do that.

Metadata

Release files for housekeeper 4.13.19

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for housekeeper 4.13.19
File Size Uploaded Provenance Actions
housekeeper-4.13.19.tar.gz 45.1 kB Without provenance Details for housekeeper-4.13.19.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for housekeeper 4.13.19
File Interpreter ABI Platform Actions
housekeeper-4.13.19-py3-none-any.whl Python 3 none any Details for housekeeper-4.13.19-py3-none-any.whl

Total release size: 79.9 kB

Release files / housekeeper-4.13.19.tar.gz

Download URL housekeeper-4.13.19.tar.gz
Size 45.1 kB
Tags Source
SHA-256 checksum
How to use checksums
dcd94af8fda8bb27e6173d1d3126ed9db1a4a78c1bb7059db41d158ff1d1bbd1
BLAKE2b-256 checksum
How to use checksums
24fe9773b1f04b54cead2c11a2e195d4a0dae0f7db6d308675dfaa272d613794
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.15 Linux/7.0.0-1017-azure

Release files / housekeeper-4.13.19-py3-none-any.whl

Download URL housekeeper-4.13.19-py3-none-any.whl
Size 34.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88d8ed64f5f630f480778f9c96ea3ae78cff2630365667976079c06a2d7ff39f
BLAKE2b-256 checksum
How to use checksums
f973e84dd8adf99e0b2046b30951f303ec86a3e45ff6c472198ac0fbd1d14dd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.12.15 Linux/7.0.0-1017-azure

Security for housekeeper 4.13.19

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

4.13.19 This release

2 release files No provenance

1.0.0b1

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page