Skip to main content

A tool to create and maintain your python projects

Project description

Cobra

PyPI version

Cobra is a project creation and management tool for python and git. It creates a conda environment and a github repository based on your requirements.

Requirements

You can use the base conda to install cobra.

conda config --set auto_activate_base true

Installation

You have three different options to install cobra. Just always keep in mind that the python version need to be > 3.5.

pip

If your pip path is pointing to the pip3 you can also you just pip.

pip3 install cobra-projects

Then execute the command

cobra --install

and follow the instructions.

github

  1. Download the sourcecode from github.
  2. Move into the cobra root directory (folder which contains the setup.py file) cd cobra
  3. Install it pip install .

Then execute the command

cobra --install

and follow the instructions.

Uninstallation

If you have to re-install or uninstall cobra:

  1. Delete the access token from your github page (Settings -> Developer settings -> Personal access tokens -> delete (cobra)
  2. rm -rf ~/.cobra
  3. pip3/pip uninstall cobra-projects

Usage

usage: cobra [-h] [--install] [--test] [--clear] {create,list,remove} ...

Project creation (cobra) command line tool

positional arguments:
  {create,list,remove}  The different functions of cobra
    create              Create a new cobra project
    list                Lists all existing cobra projects
    remove              Remove a cobra project

optional arguments:
  -h, --help            show this help message and exit
  --install             Start the installation wizard.
  --test                Puts cobra into testing mode
  --clear               Clears all user files

Create

To create a new project you can use the create command. The minimum requirements is the -n parameter to give the project a name. You can also lik the project with already existing conda environments or github repos.

CARE: The -gh, --git-hook command is in beta. This command exports before each git commit the conda environment.

usage: cobra create [-h] -n PROJECT_NAME [-p PYTHON_VERSION] [-r REPO_NAME]
                   [-c CONDA_NAME] [-gh]

optional arguments:
  -h, --help            show this help message and exit
  -n PROJECT_NAME, --project-name PROJECT_NAME
                        Name of the project
  -p PYTHON_VERSION, --python-version PYTHON_VERSION
                        Python version for the project. Default: 3.5
  -r REPO_NAME, --repo-name REPO_NAME
                        If you already have a github repo for the project.
                        Enter the repo name.
  -c CONDA_NAME, --conda-name CONDA_NAME
                        If you already have a conda environment for the
                        project. Enter the name.
  -gh, --git-hook       Install a pre-commit git hook which updates the conda
                        environment file before you commit. This is just
                        working, if the current environment is the 
                        environment of the project!

List

This command lists all the cobra project with some additional information.

usage: cobra list [-h]

optional arguments:
  -h, --help  show this help message and exit

Remove

After some time you want to remove a project from your system. This you can do with the remove command. The remove command with out additional options will just delete the cobra project from the system but not the files, environment or the repository. If you want to remove the the files, environment or repository use the below shown parameters.

usage: cobra remove [-h] -n NAME [-r] [-c] [-f] [-a]

optional arguments:
  -h, --help            show this help message and exit
  -n NAME, --name NAME  Name of the cobra project to remove
  -r, --repo            Also removes the remote repository
  -c, --conda           Also removes the conda environment from the system
  -f, --folder          Also removes the local folder
  -a, --remove-all      Remove everything (repo, folder, conda)

TODO

  • Create repo with template
  • Create conda Dockerfile
  • Automatically build docker container and push it to dockerhub

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

cobra-projects-0.1.9a2.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

cobra_projects-0.1.9a2-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file cobra-projects-0.1.9a2.tar.gz.

File metadata

  • Download URL: cobra-projects-0.1.9a2.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.10

File hashes

Hashes for cobra-projects-0.1.9a2.tar.gz
Algorithm Hash digest
SHA256 768d7b067f3d8fbe21ce21a4152d91926c4104d2d0f13513b8c6b103d6f8d4b3
MD5 9a76372d883d0c494fa74a8c7a28a3e5
BLAKE2b-256 6a506e6bdd866144979fe9af77baf71e65e70f14309ba56b8b3cb042391858c8

See more details on using hashes here.

File details

Details for the file cobra_projects-0.1.9a2-py3-none-any.whl.

File metadata

  • Download URL: cobra_projects-0.1.9a2-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.6.10

File hashes

Hashes for cobra_projects-0.1.9a2-py3-none-any.whl
Algorithm Hash digest
SHA256 aa7ff90ce70f2fcdfc5e8c45c9cef7ffd995359fa1d9c6441860f1a4d092c2a9
MD5 7e9af136277ec8065872ea45adf9dce0
BLAKE2b-256 e32fbe80e83884c640f7f06f975955bc8d84116a4950f663a613086d9f4ae27a

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