Skip to main content

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.

A 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.

Metadata

Release files for manati 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for manati 0.3.3
File Size Uploaded
manati-0.3.3.tar.gz 43.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for manati 0.3.3
File Interpreter ABI Platform
manati-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 88.7 kB

Release files / manati-0.3.3.tar.gz

Download URL manati-0.3.3.tar.gz
Size 43.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5c0076fc27b0d0e28ec85d5ed60628ca4ddc1b0a2cf97f373048d282b1c4c4ec
BLAKE2b-256 checksum
How to use checksums
80577d1a0efacaf57a7239deffc919f07692860278a978ddfa2b9487e8a26d90
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / manati-0.3.3-py3-none-any.whl

Download URL manati-0.3.3-py3-none-any.whl
Size 45.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7829137cc45523a02f23b86868b098920e622f2b6e09da1bce51337b1f1b6a7e
BLAKE2b-256 checksum
How to use checksums
1cb29ddf68dc178d1972794e0f723288e600f3dbefffefcca62c5ab0ad60ea68
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page