Skip to main content

Set of CLI commands to help manage a project

Project description

peltak is a command line tool to automate a lot of project related tasks. The tool should only wrap up existing project tools and not try to replace them. Also when implementing new commands lean towards just calling external tools rather than interfacing through the API. This way the commands implementation should resemble shell scripts in their structure and also serve as a reference on how to call the respective 3rd party tool without the use of peltak. Docker commands are a good example here as docker has a great python support but reading through the command implementation you know exactly what to do to do it manually and you probably don’t even have to know python.

WARNING: Beta: The project is mainly lacking good documentation and tutorials. The commands themselves are documented quite well, but there is no generic documentation or guides on how to extend and customize peltak.

Right now only peltak.core is unit tested. The commands themselves are tested manually in multiple projects that use peltak for day to day management and CI runs. Before 1.0, the commands implementation should also be unit tested. Only the CLI interface shouldn’t (e2e tests for that if any).

Installation

$ pip install peltak

Enabling auto-completion

peltak has a great auto-completion thanks to the underlying click library. The steps to enable it vary slightly depending on what shell you are using

Bash users

Either run this command or to make the change permanent add it to your ~/.bashrc:

eval "$(_PELTAK_COMPLETE=source peltak)"
ZSH users

Either run this command or to make the change permanent add it to your ~/.zshrc:

eval "$(_PELTAK_COMPLETE=source_zsh peltak)"

Contributing

Setting up development repo

$ git clone git@github.com:novopl/peltak.git
$ cd peltak
$ virtualenv env
$ source ./env/bin/activate
$ pip install -r requirements.txt -r ops/devrequirements.txt
$ peltak git add-hooks

Running tests

Config: The types of tests are defined in pelconf.py and the pytest configuration is defined in ops/tools/pytest.ini.

$ peltak test

Linting

Config: The list of locations to lint is defined in pelconf.py and the linters configuration is defined in ops/tools/{pylint,pep8}.ini.

$ peltak lint

Generating docs

Config: The list of documented files and general configuration is in pelconf.py and the Sphinx configuration is defined in docs/conf.py.

$ peltak docs

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

peltak-0.24.5.tar.gz (52.5 kB view details)

Uploaded Source

File details

Details for the file peltak-0.24.5.tar.gz.

File metadata

  • Download URL: peltak-0.24.5.tar.gz
  • Upload date:
  • Size: 52.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for peltak-0.24.5.tar.gz
Algorithm Hash digest
SHA256 bd56c1f4829e562eb839259747679f15815e8e6b7e7bf3621fb9e60e1ac5deb4
MD5 43c9d806bb7f9a1986b455e91bdfe798
BLAKE2b-256 a1eec82c773d9e1622a1b355b4360762a729ed81fa3b1b79d9216c9e92219360

See more details on using hashes here.

Provenance

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