Metadata-Version: 2.1
Name: shut
Version: 0.9.0
Summary: Automates the heavy lifting of release and distribution management for pure Python packages.
Home-page: https://github.com/NiklasRosenstein/shut
Author: Niklas Rosenstein
Author-email: rosensteinniklas@gmail.com
License: MIT
Requires-Python: >=3.6.0,<4.0.0
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: beautifulsoup4<5.0.0,>=4.8.1
Requires-Dist: databind.core<1.0.0,>=0.4.0
Requires-Dist: databind.json<1.0.0,>=0.4.0
Requires-Dist: click<8.0.0,>=7.0.0
Requires-Dist: jinja2<3.0.0,>=2.11.1
Requires-Dist: networkx<3.0.0,>=2.4.0
Requires-Dist: nr.fs<2.0.0,>=1.5.0
Requires-Dist: nr.parsing.date<1.0.0,>=0.4.0
Requires-Dist: nr.proxy<2.0.0,>=1.0.0
Requires-Dist: nr.pylang.utils<1.0.0,>=0.0.1
Requires-Dist: nr.utils.git<0.2.0,>=0.1.3
Requires-Dist: nr.stream<0.1.0,>=0.0.4
Requires-Dist: requests<3.0.0,>=2.22.0
Requires-Dist: packaging<21.0.0,>=20.1.0
Requires-Dist: PyYAML<6.0.0,>=5.1.0
Requires-Dist: termcolor<2.0.0,>=1.1.0
Requires-Dist: twine
Requires-Dist: wheel

# shut

Shut is an opinionated tool that allows you to configure everything around the Python
packaging and release process from a single source of truth. It is intended to simplify
the process of publishing Python packages and prevent common pitfalls.

## At a glance

* Bootstrap Python packages: `shut pkg new --name my-package`
* Install and save dependencies: `shut pkg requirements add <package>`
* Document changes: ``shut changelog --add fix --commit --message "Fixed `TypeError` in `foo()`"``
* Bump the version according to changelog: `shut pkg bump --minor --tag --push`
* Publish on PyPI: `shut pkg publish warehouse:pypi`

## Configuration

**`package.yml`**

```yml
name: my-package
modulename: my_module
version: 0.1.0
license: MIT
description: My first every package built with Shut
author: Me <me@example.org>
requirements:
- python ^3.5
- requests ^2.22.0
entrypoints:
  console_scripts:
  - mycli = my_module.__main__:mycli
```

__Todo__

* [ ] Package data / data files
* [ ] Conda recipe generator
* [ ] Automatic check for license headers in files / automatically insert license headers

---

<p align="center">Copyright &copy; 2020, Niklas Rosenstein</p>
