If you already have a project, but it is missing some important
aspects like proper
setup.py, license file,
.gitignore or other,
you can add that easily with manati.
This is what you can add with manati in the current version:
> manati add --help Usage: manati add [OPTIONS] COMMAND [ARGS]... Adds something to the current project. Options: --help Show this message and exit. Commands: docs Add a docs folder with Sphinx documentation to the current... github-action Add github default action gitignore Add a default .gitignore file to the current directory. license Add a license to the current project. package Add a package to the current directory. setup.py Add a setup.py file to the current directory
Documentation for Python projects (not docstrings) in usually stored in
./docs folder under the project root directory. The quasi standard
for generating documentation in Python is Sphinx.
If your project is missing a documentation, you can set it up with
manati add docs
and the folder and an initial documentation is set up. You can modify
the documentation settings and plugins used by editing the
./docs/conf.py file, which is the central configuration file for
Now the initial documentation is ready to be generated, which can be done by typing
manati run docs
from the project root directory. After the building process, a browser opens up showing the resulting HTML files, which should look very similar to the documentation you are currently reading.
Adding .gitignore file¶
It is important not to clutter your git repository with files that are
not needed for the code itself. If your project does not yet have a suitable
.gitignore file that catches must of the irrelevant stuff, you can add one
to your project by typing
manati add gitignore
Adding setup.py file¶
When you want to install your project to your Python environment so that
it can be used from anywhere in your file system, you need to have a
setup.py file for proper installation. You can add such a file to
your project by simply typing
manati add setup.py
After that, you may want to edit some of the settings in the file, like author, email, name of the package, etc.
Adding a license¶
Defining a license for your project is important if you want other people to use your code and control how they may use it. If your project is missing a suitable license file, you can add one by
manati add license
You have the choice between several different typical license types. If you are unsure which one to select, take a look at choosealicense.com.
Adding a package¶
Suppose you have a package
mypackage. If you want to create a subpackage
foo, and inside this one
bar, you can do this in one step with manati:
manati add package mypackage.foo.bar
__init__.py files are also created of course.
When you want to host your git repository on github.com, you may
want to use their continuous integration / continuos deployment tools, Github Actions.
To use that, your repository needs a hidden directory
configuration files that define what actions to perform. With manati you can quickly
set that up for your project by simply typing
manati add github-action
You will be asked about the name of the package and the folder with the tests, so that the tests can be run properly. You may not see the folder immediately, because it is hidden, but it is there. :-)
After you commit and push your repository to github, the action will be triggered. And it will also be triggered on every future push.