Skip to main content

CHACHACHA

Build Status codecov Package version PyPI - Downloads Language grade: Python

Chachacha changes changelogs. This is a tool you can use to keep your changelog tidy, following the Keep a Changelog specification which is the most implemented plugin at the moment.

Installation

pip install chachacha

Quickstart

Init a new changelog and then add some changes:

chachacha init
chachacha added Glad to meet you
cat CHANGELOG.md

Subcommands are modeled from Keep a Changelog specification:

chachacha --help
Usage: chachacha [OPTIONS] COMMAND [ARGS]...

Options:
  --filename TEXT  changelog filename
  --driver TEXT    changelog format driver
  --help           Show this message and exit.

Commands:
  init        initialize a new file
  config      configure changelog options
  release     release a version
  added       add an "added" entry
  changed     add a "changed" entry
  deprecated  add a "deprecated" entry
  fixed       add a "fixed" entry
  removed     add a "removed" entry
  security    add a "security" entry

So you can add, change, deprecate, fix, remove and security announce your changes.

KAC format plugin driver heavily depends on Colin Bounouar's keepachangelog library.

Releasing a version is simple as:

chachacha release --help

Usage: main.py release [OPTIONS] [SPEC]

  Update the changelog to release version SPEC.

  SPEC should either be the version number to release or the strings
  "major", "minor" or "patch".

Options:
  --help  Show this message and exit.

Specification follows Semantic Versioning thanks to python semver library.

Configuration

Starting from 0.1.3, Chachacha supports a small configuration system directly embedded in the file via a hack on Markdown link syntax. This allow for a number of features like generating compare history:

chachacha init

chachacha config git_provider GH
chachacha config repo_name aogier/chachacha
chachacha config tag_template 'v{t}'

chachacha added one feature
chachacha added another feature
chachacha release
chachacha security hole
chachacha added capability
cat CHANGELOG.md


[...]
- another feature

[Unreleased]: https://github.com/aogier/chachacha/compare/v0.0.1...HEAD
[0.0.1]: https://github.com/aogier/chachacha/releases/tag/v0.0.1

[//]: # (C3-1-DKAC-GGH-Raogier/chachacha-Tv{t})

Configuration system keys are:

  • git_provider: a git repo provider driver (supported: GH for github.com)
  • repo_name: repo name + namespace your repo is
  • tag_template: a tag template which maps release versions with tag names. Variable t will be expanded with the version number.

Examples

Start a changelog, add entries and then release

chachacha init
# quoting is supported
chachacha added "this is a new feature I'm excited about"
chachacha added this is also good
chachacha deprecated this is no longer valid

File is now:

cat CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- this is a new feature I'm excited about
- this is also good

### Deprecated

- this is no longer valid

[//]: # (C3-1-DKAC)

Now release it:

chachacha release
chachacha added new version added item

File is now:

cat CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- new version added item

## [0.0.1] - 2020-02-26

### Added

- this is a new feature I'm excited about
- this is also good

### Deprecated

- this is no longer valid

[//]: # (C3-1-DKAC)

Metadata

Release files for chachacha 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chachacha 0.3.1
File Size Uploaded Provenance Actions
chachacha-0.3.1.tar.gz 7.3 kB Without provenance Details for chachacha-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for chachacha 0.3.1
File Interpreter ABI Platform Actions
chachacha-0.3.1-py3-none-any.whl Python 3 none any Details for chachacha-0.3.1-py3-none-any.whl

Total release size: 15.5 kB

Release files / chachacha-0.3.1.tar.gz

Download URL chachacha-0.3.1.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4d5503519091afa8277090b82eef553221ed166a3aa82101b83d78bdc40504eb
BLAKE2b-256 checksum
How to use checksums
c66c8a1dda2dd130537a5013518fcd0a5b9fc84abc0dbc1fc8400af26aae8fec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.10.12 Linux/5.15.0-1041-azure

Release files / chachacha-0.3.1-py3-none-any.whl

Download URL chachacha-0.3.1-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b7668010fd742cf679ba9357c924fe96dbb462f4b58a213615aeabeeef6a9022
BLAKE2b-256 checksum
How to use checksums
1bf7360f6e83d04382a4bf9921e114a9665bcc734bd50a00cdb87aa386f9f248
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.10.12 Linux/5.15.0-1041-azure

Security for chachacha 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page