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

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: shut-0.5.5.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.5.tar.gz
Algorithm Hash digest
SHA256 1b6e4d619e081784f8438f33b7aae353f107abb05d3c527b0c1129d2fc351367
MD5 cc88a301093b6b415b891de12f078698
BLAKE2b-256 4b9239de0eb17eba0fefe0d49ca1643304f81723845b3808d22fa28cb6145d04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shut-0.5.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 eb58e95777c1549fc8110ef48b23bbc6416ef8a5106b69f7cca4600c0b92599b
MD5 2aaf7f8d82696a7df7edc89e898c810a
BLAKE2b-256 0b7df5e23804dad7870ebbe2637ac19473c4d297a5668eb7f1d2f5be06a6fca6

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