A Docker based CLI Tools manager.
Project description
Ctshed - Container Toolshed
Container Toolshed. A CLI tool manager for creating container centric namespaces with specific tools installed. This could possibly help to easier manage cli tools for users (multiple tool versions, no screw-up with os level package executables)
Example
# a single tool executable, debian:stable implicit source
ctshed install --packages=curl --cmd=curl mycurl
# downloads the P04156.fasta file and saves it in the current directory
ctshed-mycurl -LO https://www.uniprot.org/uniprot/P04156.fasta
# a tool namespace
ctshed install --source=biocontainers/blast:2.2.31 myblast
ctshed-myblast curl -LO https://www.uniprot.org/uniprot/P04156.fasta
ctshed-myblast curl -LO ftp://ftp.ncbi.nih.gov/refseq/D_rerio/mRNA_Prot/zebrafish.1.protein.faa.gz
ctshed-myblast gunzip zebrafish.1.protein.faa.gz
ctshed-myblast makeblastdb -in zebrafish.1.protein.faa -dbtype prot
ctshed-myblast blastp -query P04156.fasta -db zebrafish.1.protein.faa -out results.txt
Installation
pip install ctshed
The tool places binaries to ~/bin directory blindly without checking if it
exists or if theres a nameclash. Make sure ~/bin exists in your path. E.g.
place something like this in ~/.bash_rc:
#~/.bash_rc file
export PATH="$HOME/bin:$PATH"
The tool depends on docker binary existing on the host system. You have to
install it if you don't have it. Installation of docker on ubuntu systems is described docker-ce/ubuntu
Features
- Create a docker based tool namespace
- Create an executable with specific tool installation
Principles of working
- An image is created during the install step and some name is automatically given to it.
- An executable is created in executable directory of the users workspace.
- Executable contains a container run command with stdin/stdout/stderr attached and /home directory mounted.
Testing
python -m unittest discover tests
Limitations
There are limitations with using container as a wrapper for command line.
- Configuration might not be picked up by the tool.
- Input/Output works correctly only under /home directory
- Security, because /home is mounted
- More will come.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ctshed-0.1.1.tar.gz.
File metadata
- Download URL: ctshed-0.1.1.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b3cb35b056d37476557cabccec8cad0214840e6083031b45311cc876ce3d837
|
|
| MD5 |
2c07bc875579ddfc3195ed08148ebbe1
|
|
| BLAKE2b-256 |
e17b5f60f018fd7288166609509a9aa12bd1cc2eed2fc571daa0275ec8c513af
|
File details
Details for the file ctshed-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ctshed-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.7.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26d629f61329b79f99b0d6334dc4f7bb37f3f660f4addabf778ac165419d8aba
|
|
| MD5 |
33fc6a86a2f72f94b0c30aec178ac536
|
|
| BLAKE2b-256 |
11b9e9e08d32e501df597990746e84f729527dc10cc6b2952d23d337bb38f9f4
|