Update readme

This commit is contained in:
Alexander Wainwright 2024-05-20 19:00:54 +10:00
parent fa1e679fe1
commit 3c5905cb85

View file

@ -10,7 +10,7 @@ Usage
git clone https://github.com/kragniz/cookiecutter-pypackage-minimal.git
cookiecutter cookiecutter-pypackage-minimal/
You should then change the classifiers in `{{ package_name }}/setup.py` - it is assumed that the project will run on the latest versions of Python 2 and 3, so you should remove any classifiers that do not apply. The full list of PyPI classifiers can be found [here](https://pypi.org/classifiers/).
You should then change the classifiers in `{{ package_name }}/pyproject.toml` - it is assumed that the project will run on the latest versions of Python 2 and 3, so you should remove any classifiers that do not apply. The full list of PyPI classifiers can be found [here](https://pypi.org/classifiers/).
Fill out the README, and - if necessary - [choose a license](https://choosealicense.com/) for the project.
@ -28,19 +28,8 @@ The decisions `cookiecutter-pypackage-minimal` makes should all be explained her
### LICENSE
* **MIT license by default**
This template provides you the classic [MIT](https://choosealicense.com/licenses/mit/) licence: it lets people do almost anything they want with your project, including to make and distribute closed source versions.
If you [choose another license](https://choosealicense.com/), you also need to update the `{{ package_name }}/setup.py` file:
adjust the `classifiers` and `license` fields accordingly.
* **GPLv3 license by default**
This template provides you the GPLv3 licence.
You can [choose another license](https://choosealicense.com/).
* **A license is a requirement**
Nowadays, people who want to use your library/application want to make sure they can do it legally.
If your library is a private library, you can use a private license. In the `{{ package_name }}/setup.py` file, set `license="Proprietary"`, and choose `'License :: Other/Proprietary License'` in the trove classifiers.
### `setup.py`
* **Use setuptools**
It's the standard packaging library for Python. `distribute` has merged back into `setuptools`, and `distutils` is less capable.
* **setup.py should not import anything from the package**
When installing from source, the user may not have the packages dependencies installed, and importing the package is likely to raise an `ImportError`.
* **setup.py should be the canonical source of package dependencies**
There is no reason to duplicate dependency specifiers (i.e. also using a `requirements.txt` file). See the testing section below for testing dependencies.