Draft: Resolve "CI/CD exits with warnings with the default template."
Compare changes
+ 46
− 1
@@ -13,8 +13,53 @@ To bootstrap a Python project, run:
and fill the required metadata. After filling the required metadata, a folder is created inside the working directory. The name of this folder depends on the metadata provided after running the `cookiecutter` command above. Here, we asume that this folder is named `project_dir`. This is folder is the base directory of the new python project.
Open-source projects often include a changelog file as one of the top-level files in the base directory. The changelog file is a record of all the significant changes made to the project such as bug fixes or new features. There are ways of automating the changelog update based on the git commit messages. One can also edit the `CHANGELOG.rst` file manually and write the relevant changes there.
This file is normally located in the base direcotry of a python project, and it is the most basic requirement for packaging a python project. It defines the configuration of the python project, and it is used by `setuptools` to ensure that this configuration is created at the time of building and using the package. The most important feature of this file is the call to a `setup()` function, to setup the environment. This can receive multiple arguments. In this template, the arguments used in the call to the `setup()` function are obtained from the metadata provided after running the `cookiecutter` command above. A list of the most relevant arguments and their description is given (here)[https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#setup-args]. This template includes the following arguments:
- **packages:** list of packages and subpackages in the project. This list of packages will be made available from the python environment after installing it. By default, the `packages` argument includes a single package with the same name as the project name. A package is a folder which includes a file named `__init__.py` and some other source files. This default package is also generated by the `cookiecutter` (see below).
- **install_requires:** Specifies list of dependencies for this project. These are installed by pip when typing `make` (see below). Instead of writing the list on the `setup.py` file, this template provides a file located on `<project_dir>/requirements/install.txt`. This file is parsed at install time and each of the depencencies defined within, are used as `install_requires` argument.