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

Uploaded Source

Built Distribution

shut-0.5.2-py3-none-any.whl (169.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shut-0.5.2.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.2.tar.gz
Algorithm Hash digest
SHA256 ea334c6bfd0b18b69587e8a18ae726863e629b70c91ad3558bfeb2ec43b1f6f0
MD5 17e9149063c95937677d2a04596ad826
BLAKE2b-256 a880bfd2d54d8833a8183ea6e10be9925addeebdabe7602dafa7fa74ee524ca5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shut-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 169.5 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 633957427f340ba9cb1262fa9896d89b56021f3835a368f16c28dde7401c1e26
MD5 437e6b77114b913f366888f8adfcdc93
BLAKE2b-256 e53f4cba5f7c58ad89a1b8360f1010a8f9a21227d03ccd060ea1731f5eea385b

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