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

package:
  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.1.0.tar.gz (46.6 kB view details)

Uploaded Source

Built Distribution

shut-0.1.0-py3-none-any.whl (155.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for shut-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6e22a5a0d12b8e83580075da19e92b1408410a85b0f8609098924db9dbecd3aa
MD5 ef59dbdaece87f9d3e40dc31a1ba42ec
BLAKE2b-256 9e927850a7cd57d457a5b980f8670cdb73ecf9bd3342e32e0699a3ed80e41e1b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: shut-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 155.9 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/40.8.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.3

File hashes

Hashes for shut-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c9fe3bebd792d430cf416f44fc7dbbc665df6d844703e0fc67efcdc6b78c6a96
MD5 a03467da6521369269c27c60444cbe9a
BLAKE2b-256 ad2e9602c2cbb0bdecf371158e59803488f829fdbf40150589be3ca7165db89e

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