All Projects → omnilib → attribution

omnilib / attribution

Licence: MIT license
Generate changelogs from commit tags and shortlogs

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to attribution

generate-changelog
generates changelog from git based on jira tickets
Stars: ✭ 18 (-10%)
Mutual labels:  changelog, release, release-automation, changelog-generator
release-changelog-builder-action
A GitHub action that builds your release notes / changelog fast, easy and exactly the way you want.
Stars: ✭ 515 (+2475%)
Mutual labels:  changelog, release, release-automation
Releaser Tools
Create a GitHub/GitLab/etc. release using a project's commit messages and metadata.
Stars: ✭ 283 (+1315%)
Mutual labels:  changelog, release, release-automation
Github Release Notes
Node module to create a release or a changelog from a tag and uses issues or commits to creating the release notes.
Stars: ✭ 705 (+3425%)
Mutual labels:  changelog, release, release-automation
Git Changelog Lib
Library for parsing and generating a changelog, or releasenotes, from a GIT repository
Stars: ✭ 117 (+485%)
Mutual labels:  changelog, release, release-automation
Release It
🚀 Automate versioning and package publishing
Stars: ✭ 4,773 (+23765%)
Mutual labels:  changelog, release, release-automation
changie
Automated changelog tool for preparing releases with lots of customization options
Stars: ✭ 180 (+800%)
Mutual labels:  changelog, release-automation, changelog-generator
Semantic Release
📦🚀 Fully automated version management and package publishing
Stars: ✭ 14,364 (+71720%)
Mutual labels:  changelog, release, release-automation
yaclt
Yet Another Change Log Tool
Stars: ✭ 24 (+20%)
Mutual labels:  changelog, changelog-generator
Commit Analyzer
💡 semantic-release plugin to analyze commits with conventional-changelog
Stars: ✭ 146 (+630%)
Mutual labels:  changelog, release
Changelog
📘 semantic-release plugin to create or update a changelog file
Stars: ✭ 142 (+610%)
Mutual labels:  changelog, release
Keep A Changelog
If you build software, keep a changelog.
Stars: ✭ 5,065 (+25225%)
Mutual labels:  changelog, release
Github Changelog Generator
Automatically generate change log from your tags, issues, labels and pull requests on GitHub.
Stars: ✭ 6,631 (+33055%)
Mutual labels:  changelog, changelog-generator
Standard Version
🏆 Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
Stars: ✭ 5,806 (+28930%)
Mutual labels:  changelog, release
hubkit
Project maintainance tool for GitHub repositories
Stars: ✭ 27 (+35%)
Mutual labels:  changelog, release-automation
Bump
Bump updates the project's version, updates/creates the changelog, makes the bump commit, tags the bump commit and makes the release to GitHub. Opinionated but configurable.
Stars: ✭ 327 (+1535%)
Mutual labels:  changelog, release
Release Notes Generator
📋 semantic-release plugin to generate changelog content with conventional-changelog
Stars: ✭ 123 (+515%)
Mutual labels:  changelog, release
Gh Release
Create a github release for a node package.
Stars: ✭ 132 (+560%)
Mutual labels:  changelog, release
change
A simple tool that automates generating and updating a changelog
Stars: ✭ 47 (+135%)
Mutual labels:  changelog, release
Cli
🆑📍 Setup automated semver compliant package publishing
Stars: ✭ 272 (+1260%)
Mutual labels:  changelog, release

attribution

Automate releases and changelogs based on commit tags and shortlogs.

MIT Licensed PyPI Release Changelog Documentation Status Code Coverage Build Status Code Style Black

attribution provides a simple tool for automating a basic release workflow for Python projects. At its core, it generates Markdown-formatted changelogs based on the version tags in your repository, and can both fit into existing workflows, or automate the entire release preparation process with a single command.

When generating a changelog, attribution will find all tag names starting with "v" followed by a valid PEP 440 version identifier. It will then use the message from each tag, combined with the "shortlog", to generate an ordered changelog that includes recognition for all contributers to your project. The output can be saved to your preferred changelog file, or piped to other tools as part of your release workflow:

$ attribution generate
project name
============

v0.2
----

Another release

```
$ git shortlog -s v0.1...v0.2
    1 Ash
    3 Misty
```

v0.1
----

First release

```
$ git shortlog -s ...v0.1
    1 Ash
```

If you prefer and end-to-end solution, attribution can also be used for creating release notes, updating a __version__.py file with a matching version, and tagging a signed version bump commit containing the final changelog:

$ attribution tag -m "Final release" 1.0
$ head CHANGELOG.md
project name
============

v1.0
----

Final release

```
$ git shortlog -s v0.2...v1.0
    3 Ash
    2 Brock
```

attribution is a fully bootstrapped project. The Changelog is generated by attribution, and from version 1.2.0 onward, all releases are created with attribution as well.

Install

attribution requires Python 3.7 or newer. You can install it from PyPI:

$ pip install attribution

attribution should guess reasonable defaults for most common Python projects, but for best results, you should initialize your project configuration:

$ attribution init
Project name [attribution]:
Package namespace [attribution]:
Use __version__.py file [Y/n]:

This will automatically add the appropriate configuration to your project's pyproject.toml:

[tool.attribution]
name = "attribution"
package = "attribution"
version_file = true

More details can be found in the User Guide.

License

attribution is copyright Amethyst Reese, and licensed under the MIT license. I am providing code in this repository to you under an open source license. This is my personal repository; the license you receive to my code is from me and not from my employer. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].