CHACHACHA
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:GHfor github.com)repo_name: repo name + namespace your repo istag_template: a tag template which maps release versions with tag names. Variabletwill 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.