Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Housekeeper takes care of files.

Project description

# Housekeeper [![Build Status][travis-image]][travis-url] [![Coverage Status][coveralls-image]][coveralls-url]

### 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

### Todo

  • [ ] re-implement the archive/encryption interface [@ingkebil]
  • [ ] handle clean up of expired bundles [@robinandeer]
  • [ ] expand the CLI with get command etc. [@robinandeer]

## Installation

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

`bash pip install housekeeper `

If you would like to install the latest development version:

`bash git clone https://github.com/Clinical-Genomics/housekeeper cd housekeeper pip install --editable . `

## Documentation

### Command line interface

#### Config file

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

`yaml --- 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.

`bash 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.

`bash 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.

[pypi]: https://pypi.python.org/pypi/housekeeper/ [travis-url]: https://travis-ci.org/Clinical-Genomics/housekeeper [travis-image]: https://img.shields.io/travis/Clinical-Genomics/housekeeper.svg?style=flat-square [coveralls-url]: https://coveralls.io/r/Clinical-Genomics/housekeeper [coveralls-image]: https://img.shields.io/coveralls/Clinical-Genomics/housekeeper.svg?style=flat-square

Project details


Release history Release notifications

This version
History Node

2.2.3

History Node

2.2.2

History Node

2.2.1

History Node

2.2.0

History Node

2.0.0

History Node

2.0.0b2

History Node

2.0.0b1

History Node

1.2.0

History Node

1.0.0

History Node

1.0.0b9

History Node

1.0.0b8

History Node

1.0.0b7

History Node

1.0.0b6

History Node

1.0.0b5

History Node

1.0.0b4

History Node

1.0.0b3

History Node

1.0.0b2

History Node

1.0.0b1

History Node

0.0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
housekeeper-2.2.3.tar.gz (17.5 kB) Copy SHA256 hash SHA256 Source None Mar 27, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page