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

Uploaded Source

Built Distribution

shut-0.5.3-py3-none-any.whl (169.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shut-0.5.3.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.3.tar.gz
Algorithm Hash digest
SHA256 60878e96b56d29eb1d2549e643c86b81a2df40066bbb3379a113c5a1b7d0d1e0
MD5 47e12f3487056c7e9bf855d489914948
BLAKE2b-256 15ffc11fb37cc0b97377612849d780c3df2da42ec6a7a0bd7831a6b7a71dd813

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shut-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 169.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ed18eb741748c18156c5b1ea46a29a0e6720490fc0fcff58da3e1980e486a2ea
MD5 4a052ce8eb9e4ca0ff4272b6cea675c4
BLAKE2b-256 040804bfdeeb56e9248e51825f2d45206dd9ec3fb19ef0934ec43b0eed894f8f

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