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.4.tar.gz (53.4 kB view details)

Uploaded Source

Built Distribution

shut-0.5.4-py3-none-any.whl (169.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shut-0.5.4.tar.gz
  • Upload date:
  • Size: 53.4 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.4.tar.gz
Algorithm Hash digest
SHA256 ddeda2116e67453f0fc847fbf1b7ebddef8d61069c7ac4106dd82e589a26983d
MD5 65690d5a6d65f2d92c4e6dfc6a23d782
BLAKE2b-256 aeb565ff38021d9f7437d8aa1908a03049a228d7b131769b05390ef08f0ac5a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shut-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 169.8 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6c86f057ab21d46bec4239b292229c7b0d04c06f77c835a2e6420fa2edab2652
MD5 d19fdd669231a1f56daff12d8fd2860e
BLAKE2b-256 284f4ec2b080a13bf7cac1c78d7624e3efeb89d1308b970955e3e71ed0b84dd9

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