Skip to main content

Chachacha changes changelogs.

Project description

CHACHACHA

Build Status codecov Package version

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

Grab latest copy from releases page and place it where you can invoke it.

Alternatively you can choose to install Python package and cope with $PATH configuration.

$ 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: chachacha release [OPTIONS]

  release a version

Options:
  --major  bump a major version
  --minor  bump a minor version
  --patch  bump a patch version
  --help   Show this message and exit.

Where:

  • major: release a major
  • minor: release a minor
  • patch: release a patch

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for chachacha, version 0.1.5
Filename, size File type Python version Upload date Hashes
Filename, size chachacha-0.1.5-py3-none-any.whl (20.6 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page