Skip to main content

A CLI for managing Python projects.

Project description

manati

A command line interface (CLI) for managing Python projects.

https://de.vecteezy.com/gratis-vektor/natur

PyPI version Build status Coverage Doc Status Downloads

Create new Python projects with ready-to-go recommended project structure.

Add important files to existing projects like setup.py, .gitignore, Sphinx documentation, choose a license and more.

Run test suites, analyze test coverage and deploy to PyPi.

Even manati is managed using manati... so meta.

Installation

pip install --upgrade manati

Usage

Creating a new project

manati create -n myproject

creates a complete Python project structure inside the current working directory:

myproject
├── docs
│   ├── Makefile
│   ├── conf.py
│   ├── index.rst
│   ├── make.bat
│   └── requirements.txt
├── myproject
│   ├── __init__.py
│   └── main.py
├── LICENSE
├── README.md
├── setup.py
├── .gitignore
└── tests
    └── test_main.py

including sample source, tests, documentation, setup.py, local git repository and a suitable .gitignore file.

After creation, the project is already installed in development (editable) mode, so you can start coding right away.

Adding stuff to an existing project

Sometimes you have an existing project, but initially you did not choose a license, or your .gitignore is missing. You can add those special files with the manati add command.

Add a license

manati add license

where you have the choice between standard license texts like MIT, GPLv3, Apache, ...

Add a .gitignore file

manati add gitignore

The created .gitignore contains all usual patterns that should typically be ignored by git in Python projects.

Add a setup.py file

manati add setup.py 

Add a project documentation folder

manati add docs

makes a ./docs folder and sets up a Sphinx-based documentation in Read-The-Docs-style:

generated docs

Call manati add --help for more information.

Add github actions

Add a standard github action which automatically runs build and tests on the github CI/CD systems whenever you push a commit:

manati add github-action

Run stuff

Run tests

manati run tests

Analyze test coverage

manati run coverage

Re-Build docs and show it browser

manati run docs

Run PEP8 style analyzer

manati run flake8

Deploy your project

To PyPi

manati deploy pypi

After that anyone in the world can install your package using pip.

As a prerequisite for deployment, you need an account at PyPi.

To Github, Gitlab, etc.

Create an empty repository at the platform of your choice, like github, and deploy your local project repository there, e.g.:

manati deploy repo

After that your local repo is in sync the remote one.

Note for Windows users

Depending on your environment settings, you may have to use manati by prepending python -m or py -m like in

python -m manati create

Documentation

The full documentation can be found here.

Requirements

manati requires Python 3. All Python dependencies are installed automatically. However, you need to have git installed.

Credits

Images by Natur Vektoren von Vecteezy.

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

manati-0.3.2.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

manati-0.3.2-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file manati-0.3.2.tar.gz.

File metadata

  • Download URL: manati-0.3.2.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for manati-0.3.2.tar.gz
Algorithm Hash digest
SHA256 9e45cd88861448da829799a3524da3bd96b392655a72899911c704bde78f36d9
MD5 b9190608d58bb0ada7676ae1975b81bf
BLAKE2b-256 4f1487f7f7796df9d0db5a7b08f56f0a238ba64aa3bb33ba55971d0123ade331

See more details on using hashes here.

File details

Details for the file manati-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: manati-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 44.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for manati-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 67202fb2a1cff6d63b99ed19b05a9233cc584c25459a8f227dd52054b7b0ba1f
MD5 4561f67e5955c627130d62b4cc54884d
BLAKE2b-256 7d37c553d54b507f1cc5c0635cb3e064f0f5582c3334831f2781df570784c236

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