CLI for Python in a Box
Project description
PIB CLI
A development environment CLI, complete with tooling.
Develop Branch
Master Branch
Installation
This is a development environment CLI, with a customizable yaml config.
It's built into this Cookie Cutter template:
To install, simply use: pip install pib_cli
Usage
- use the
dev
command for details once inside the container
Container
License
Installed Packages:
package | Description |
---|---|
bandit | Finds common security issues |
commitizen | Standardizes commit messages |
isort | Sorts imports |
pylint | Static Code Analysis |
pytest | Test suite |
pytest-cov | Coverage support for pytest |
sphinx | Generating documentation |
safety | Dependency vulnerability scanning |
wheel | Package distribution tools |
yamllint | Lint yaml configuration files |
yapf | Customizable Code Formatting |
Customizing the Command Line Interface
The CLI has some defaults built in, but is customizable by setting the PIB_CONFIG_FILE_LOCATION
environment variable.
The default config file can be found here.
Each command is described by a yaml key in this format :
- name: "command-name"
path_method: "location_string"
commands:
- "one or more"
- "shell commands"
- "each run in a discrete environment"
success: "Success Message"
failure: "Failure Message"
where location_string
is one of:
project_root
(/app
)project_docs
(/app/documentation
)project_home
(/app/${PROJECT_HOME}
)
Installing a virtual environment on your host machine
The scripts/hostmachine.sh script does this for you.
It will use pipenv
to create a virtual environment and install both requirements files in the assets folder.
This is useful if you want to make your local IDE aware of what's installed.
(pip install pipenv
or brew install pipenv
may be necessary on your system.)
Executing the script will install (or re-install) a complete pipenv environment, with the following dependency files installed automatically:
Running the script the shell
argument, is a convenience wrapper around pipenv shell
.
Development Dependencies
You'll need to install:
Setup the Development Environment
Build the development environment container (this takes a few minutes):
docker-compose build
Start the environment container:
docker-compose up -d
Spawn a shell inside the container:
./container
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.