Skip to main content

Automates the heavy lifting of release and distribution management for pure Python packages.

Project description

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

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

  • Bump version based on changelog
  • Package data / data files
  • Conda recipe generator
  • Automatic check for license headers in files / automatically insert license headers
  • Dev-install packages from mono repositories

Copyright © 2020, Niklas Rosenstein

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shut-0.5.1.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

shut-0.5.1-py3-none-any.whl (169.4 kB view details)

Uploaded Python 3

File details

Details for the file shut-0.5.1.tar.gz.

File metadata

  • Download URL: shut-0.5.1.tar.gz
  • Upload date:
  • Size: 53.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for shut-0.5.1.tar.gz
Algorithm Hash digest
SHA256 1e86c547404a5ca4b7bd51a0b15300d26d5733c4adae9862fc505d6b3bf697b8
MD5 995d6bb5e7517f0179155a0c8bceb207
BLAKE2b-256 0680b55b4393654ff215b5c6f163df0af974bcdf7fc917f25d1d3c7d1646cc71

See more details on using hashes here.

File details

Details for the file shut-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: shut-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 169.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for shut-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7ad9883fc583532448a8d05a277ada3160622b39ab5b6d436ff6bb7e0555fe20
MD5 3e774ddc4a87fcfcfa34dbdef8fc1b7f
BLAKE2b-256 bac87a7d7fb73e84a4d98fc1e547d376027c1c67f082a846ab1bde816f4b37cc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page