## ChangeLog and Release Management Tooling
A simple standalone Python module for CHANGELOG and release management. Spun out of [octoDNS](https://github.com/octodns/octodns/).
### Installation
#### Command line
```console
pip install changelet
```
### Usage
For help with using the command
```console
changelet --help
```
In most cases the only command you're likely to encounter is `create`. It will be used to add a changelog entry to your branch/PR.
```console
changelet create --type (TYPE) Short description of your change to be included in the changelog
```
The options for type are
* `major` - rare for non-maintainers, a change that will break backwards compatibility and require users to take care when updating
* `minor` - adds new functionality that is either self contained or done in a completely backwards compatible manner
* `patch` - fixes an issue or bug with existing functionality
* `none` - change that should not be included in the CHANGELOG and will not directly impact users, e.g. documentation, README, tooling, ...
### Using changlet
Currently the tooling has only been tested with repositories in the octoDNS org, but it should be usable elsewhere. You'll want to have a look at the following for how to incorporate it into your repo and workflows.
* [script/changelog](script/changelog)
* [.git_hooks_pre-commit](.git_hooks_pre-commit) (and [script/bootstrap](script/bootstrap) which installs it)
* [.github/workflows/changelog.yml](.github/workflows/changelog.yml)
### Development
See the [/script/](/script/) directory for some tools to help with the development process. They generally follow the [Script to rule them all](https://github.com/github/scripts-to-rule-them-all) pattern. Most useful is `./script/bootstrap` which will create a venv and install both the runtime and development related requirements. It will also hook up a pre-commit hook that covers most of what's run by CI.
Raw data
{
"_id": null,
"home_page": "https://github.com/octodns/changelet",
"name": "changelet",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Ross McFarland",
"author_email": "rwmcfa1@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/0c/77/1f17df8af6285b7236c54ec30fb7686edbd9e3aefc3a1fff47a058873530/changelet-0.1.0.tar.gz",
"platform": null,
"description": "## ChangeLog and Release Management Tooling\n\nA simple standalone Python module for CHANGELOG and release management. Spun out of [octoDNS](https://github.com/octodns/octodns/).\n\n### Installation\n\n#### Command line\n\n```console\npip install changelet\n```\n\n### Usage\n\nFor help with using the command\n\n```console\nchangelet --help\n```\n\nIn most cases the only command you're likely to encounter is `create`. It will be used to add a changelog entry to your branch/PR.\n\n```console\nchangelet create --type (TYPE) Short description of your change to be included in the changelog\n```\n\nThe options for type are\n* `major` - rare for non-maintainers, a change that will break backwards compatibility and require users to take care when updating\n* `minor` - adds new functionality that is either self contained or done in a completely backwards compatible manner\n* `patch` - fixes an issue or bug with existing functionality\n* `none` - change that should not be included in the CHANGELOG and will not directly impact users, e.g. documentation, README, tooling, ...\n\n### Using changlet\n\nCurrently the tooling has only been tested with repositories in the octoDNS org, but it should be usable elsewhere. You'll want to have a look at the following for how to incorporate it into your repo and workflows.\n\n* [script/changelog](script/changelog)\n* [.git_hooks_pre-commit](.git_hooks_pre-commit) (and [script/bootstrap](script/bootstrap) which installs it)\n* [.github/workflows/changelog.yml](.github/workflows/changelog.yml)\n\n### Development\n\nSee the [/script/](/script/) directory for some tools to help with the development process. They generally follow the [Script to rule them all](https://github.com/github/scripts-to-rule-them-all) pattern. Most useful is `./script/bootstrap` which will create a venv and install both the runtime and development related requirements. It will also hook up a pre-commit hook that covers most of what's run by CI.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "ChangeLog and Release Management Tooling",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/octodns/changelet"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e7f724f7a1518edd141327d31e9074ee92ab92e37fc2f04b0222876a8787b81f",
"md5": "cb99727f6e2f561d746b5accd91a7718",
"sha256": "70e594fff22bd61dcbeaed436ecb5ec6b11d3971e86d03ce68e9eeff6bba66a4"
},
"downloads": -1,
"filename": "changelet-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cb99727f6e2f561d746b5accd91a7718",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 14546,
"upload_time": "2025-07-26T22:10:45",
"upload_time_iso_8601": "2025-07-26T22:10:45.582030Z",
"url": "https://files.pythonhosted.org/packages/e7/f7/24f7a1518edd141327d31e9074ee92ab92e37fc2f04b0222876a8787b81f/changelet-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0c771f17df8af6285b7236c54ec30fb7686edbd9e3aefc3a1fff47a058873530",
"md5": "3cb99f198cebdfdcb7bf0167c596643b",
"sha256": "ad0bfe9217bb88118ec32951ce2252cec25ebfc441f04b022a7ed19a6fac9820"
},
"downloads": -1,
"filename": "changelet-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "3cb99f198cebdfdcb7bf0167c596643b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 17810,
"upload_time": "2025-07-26T22:10:47",
"upload_time_iso_8601": "2025-07-26T22:10:47.127641Z",
"url": "https://files.pythonhosted.org/packages/0c/77/1f17df8af6285b7236c54ec30fb7686edbd9e3aefc3a1fff47a058873530/changelet-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-26 22:10:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "octodns",
"github_project": "changelet",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "PyYAML",
"specs": [
[
"==",
"6.0.2"
]
]
},
{
"name": "semver",
"specs": [
[
"==",
"3.0.4"
]
]
}
],
"lcname": "changelet"
}