Name | housekeeper JSON |
Version |
4.13.10
JSON |
| download |
home_page | None |
Summary | File data orchestrator |
upload_time | 2024-12-09 08:54:42 |
maintainer | None |
docs_url | None |
author | henrikstranneheim |
requires_python | <4.0,>=3.12 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Housekeeper
![Housekeeper tests][github-url] [![Coverage Status][coveralls-image]][coveralls-url] [![CodeFactor][codefactor-image]][codefactor-url] [![Code style: black][black-image]][black-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
## Installation
Housekeeper written in Python 3.6+ and is available on the [Python Package Index][pypi] (PyPI).
```bash
poetry install
```
If you would like to install the latest development version:
```bash
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][development manual].
## Documentation
### Command line interface
#### Config file
Housekeeper supports a basic 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/
[coveralls-url]: https://coveralls.io/r/Clinical-Genomics/housekeeper
[coveralls-image]: https://img.shields.io/coveralls/Clinical-Genomics/housekeeper.svg?style=flat-square
[github-url]: https://github.com/Clinical-Genomics/housekeeper/workflows/Housekeeper%20tests/badge.svg
[development manual]: http://www.clinicalgenomics.se/development/dev/githubflow/
[codefactor-image]: https://www.codefactor.io/repository/github/clinical-genomics/housekeeper/badge
[codefactor-url]: https://www.codefactor.io/repository/github/clinical-genomics/housekeeper
[black-image]: https://img.shields.io/badge/code%20style-black-000000.svg
[black-url]: https://github.com/psf/black
Raw data
{
"_id": null,
"home_page": null,
"name": "housekeeper",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "henrikstranneheim",
"author_email": "henrik.stranneheim@scilifelab.se",
"download_url": "https://files.pythonhosted.org/packages/b9/18/cff5c748114da3f9320891e84a390ae7ceb5027fe14424fbf2322066a83c/housekeeper-4.13.10.tar.gz",
"platform": null,
"description": "# Housekeeper\n![Housekeeper tests][github-url] [![Coverage Status][coveralls-image]][coveralls-url] [![CodeFactor][codefactor-image]][codefactor-url] [![Code style: black][black-image]][black-url]\n\n### Store, tag, fetch, and archive files with ease \ud83d\uddc3\n\n**Housekeeper** is a tool that aims to provide:\n\n- a backend for storing versioned bundles of files\n- different interfaces (Python, CLI, REST) for fetching files based on tags\n- a way to backup and retrieve bundles from long-term storage\n\n## Installation\n\nHousekeeper written in Python 3.6+ and is available on the [Python Package Index][pypi] (PyPI).\n\n```bash\npoetry install\n```\n\nIf you would like to install the latest development version:\n\n```bash\ngit clone https://github.com/Clinical-Genomics/housekeeper\ncd housekeeper\npoetry install\n```\n\n## Contributing\n\nHousekeeper is using GitHub flow branching model as described in our [development manual][development manual].\n\n## Documentation\n\n### Command line interface\n\n#### Config file\n\nHousekeeper supports a basic YAML config. The following options are supported:\n\n```yaml\n---\ndatabase: mysql+pymysql://userName:passWord@domain.com/database\nroot: /path/to/root/dir\n```\n\nThe `root` option is used to store files within the Housekeeper context.\n\n#### Command: `init`\n\nSetup (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.\n\n```bash\nhousekeeper --database \"sqlite:///hk.sqlite3\" init\nSuccess! New tables: bundle, file, file_tag_link, tag, version\n```\n\n#### Command: `include`\n\nInclude (hard-link) all files of an existing bundle version into Housekeeper and the `root` path.\n\n```bash\nhousekeeper myBundle\n```\n\nThis 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.\n\n#### Command: `delete files`\n\nDelete files that are not on disk anymore like his:\n`housekeeper delete files --tag fastq --notondisk`\n\nRemove all bam files before a certain date:\n`housekeeper delete files --tag bam --before 2017-06-15`\n\nRemove fastq files from a flowcell:\n`housekeeper delete files --tag fastq --tag H0HKKALXX`\n\nIt'll always ask for confirmation, unless you add --yes:\n`housekeeper delete files --bundle sillyfish --yes`\n\nIf you do not provide a --tag or --bundle, essentially deleting everything, the function will not let you do that.\n\n[pypi]: https://pypi.python.org/pypi/housekeeper/\n[coveralls-url]: https://coveralls.io/r/Clinical-Genomics/housekeeper\n[coveralls-image]: https://img.shields.io/coveralls/Clinical-Genomics/housekeeper.svg?style=flat-square\n[github-url]: https://github.com/Clinical-Genomics/housekeeper/workflows/Housekeeper%20tests/badge.svg\n[development manual]: http://www.clinicalgenomics.se/development/dev/githubflow/\n[codefactor-image]: https://www.codefactor.io/repository/github/clinical-genomics/housekeeper/badge\n[codefactor-url]: https://www.codefactor.io/repository/github/clinical-genomics/housekeeper\n[black-image]: https://img.shields.io/badge/code%20style-black-000000.svg\n[black-url]: https://github.com/psf/black",
"bugtrack_url": null,
"license": "MIT",
"summary": "File data orchestrator",
"version": "4.13.10",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9222a784c6da90bdf0f298805d8c037ec75d98d7f1ff91dfb51a9ec7239a2800",
"md5": "154c8ea47bf24813d6d787e0c2334679",
"sha256": "2912c8b818fa833f166c38199c93c2c5cd927eeb116ef828d791c5a3ec3aa21a"
},
"downloads": -1,
"filename": "housekeeper-4.13.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "154c8ea47bf24813d6d787e0c2334679",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 74167,
"upload_time": "2024-12-09T08:54:41",
"upload_time_iso_8601": "2024-12-09T08:54:41.133766Z",
"url": "https://files.pythonhosted.org/packages/92/22/a784c6da90bdf0f298805d8c037ec75d98d7f1ff91dfb51a9ec7239a2800/housekeeper-4.13.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b918cff5c748114da3f9320891e84a390ae7ceb5027fe14424fbf2322066a83c",
"md5": "d2eb57a6327d672f1b2550ab365340cd",
"sha256": "a5f5f1a24bb9db7e9b34362d856916b2e2f9b12ec3eab496ee606fdc141c93dc"
},
"downloads": -1,
"filename": "housekeeper-4.13.10.tar.gz",
"has_sig": false,
"md5_digest": "d2eb57a6327d672f1b2550ab365340cd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 45674,
"upload_time": "2024-12-09T08:54:42",
"upload_time_iso_8601": "2024-12-09T08:54:42.824022Z",
"url": "https://files.pythonhosted.org/packages/b9/18/cff5c748114da3f9320891e84a390ae7ceb5027fe14424fbf2322066a83c/housekeeper-4.13.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-09 08:54:42",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "housekeeper"
}