yaclog


Nameyaclog JSON
Version 1.5.2 PyPI version JSON
download
home_pageNone
SummaryYet another changelog CLI tool.
upload_time2025-08-10 22:00:28
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords changelog commandline markdown
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Yaclog: Yet Another Commandline Changelog Tool

[![Documentation Status](https://readthedocs.org/projects/yaclog/badge/?version=latest)](https://yaclog.readthedocs.io/en/)
[![build](https://github.com/drewcassidy/yaclog/actions/workflows/build.yml/badge.svg)](https://github.com/drewcassidy/yaclog/actions/workflows/build.yml)
[![PyPI version](https://badge.fury.io/py/yaclog.svg)](https://pypi.org/project/yaclog/)

Yaclog is a python library and command line tool to make it easier to keep track of changes to your projects. It includes commands for appending new changes to a markdown changelog file, as well as releasing new versions for deployment via git tags.

![a yak who is a log](https://github.com/drewcassidy/yaclog/raw/main/logo.png)

*Logo by Erin Cassidy*

## Installation

Install and update using [pip](https://pip.pypa.io/en/stable/quickstart/):

```shell
$ pip install -U yaclog
```

## Usage

For usage from the command line, yaclog provides the `yaclog` command:
```
Usage: yaclog [OPTIONS] COMMAND [ARGS]...

  Manipulate markdown changelog files.

Options:
  --path FILE  Location of the changelog file.  [default: CHANGELOG.md]
  --version    Show the version and exit.
  --help       Show this message and exit.

Commands:
  entry    Add entries to the changelog.
  format   Reformat the changelog file.
  init     Create a new changelog file.
  release  Release versions.
  show     Show changes from the changelog file
  tag      Modify version tags
```

### Example workflow

Create a new changelog:
```shell
$ yaclog init
```

Add some new entries to the "Added" section of the current unreleased version:
```shell
$ yaclog entry -b 'Introduced some more bugs'
$ yaclog entry -b 'Introduced some more features'
```

Show the current version:

```shell
$ yaclog show
```
```
Unreleased

- Introduced some more bugs
- Introduced some more features
```

Release the current version and make a git tag for it

```shell
$ yaclog release 0.0.1 -c
```
```
Renamed version "Unreleased" to "0.0.1".
Commit and create tag for version 0.0.1? [y/N]: y
Created commit a7b6789
Created tag "0.0.1".
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "yaclog",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "changelog, commandline, markdown",
    "author": null,
    "author_email": "Andrew Cassidy <drewcassidy@me.com>",
    "download_url": "https://files.pythonhosted.org/packages/f8/a1/b46ee7a8cd2a742741828583424d0cdc0d9c041cb136d4b95e8ebf401bed/yaclog-1.5.2.tar.gz",
    "platform": null,
    "description": "# Yaclog: Yet Another Commandline Changelog Tool\n\n[![Documentation Status](https://readthedocs.org/projects/yaclog/badge/?version=latest)](https://yaclog.readthedocs.io/en/)\n[![build](https://github.com/drewcassidy/yaclog/actions/workflows/build.yml/badge.svg)](https://github.com/drewcassidy/yaclog/actions/workflows/build.yml)\n[![PyPI version](https://badge.fury.io/py/yaclog.svg)](https://pypi.org/project/yaclog/)\n\nYaclog is a python library and command line tool to make it easier to keep track of changes to your projects. It includes commands for appending new changes to a markdown changelog file, as well as releasing new versions for deployment via git tags.\n\n![a yak who is a log](https://github.com/drewcassidy/yaclog/raw/main/logo.png)\n\n*Logo by Erin Cassidy*\n\n## Installation\n\nInstall and update using [pip](https://pip.pypa.io/en/stable/quickstart/):\n\n```shell\n$ pip install -U yaclog\n```\n\n## Usage\n\nFor usage from the command line, yaclog provides the `yaclog` command:\n```\nUsage: yaclog [OPTIONS] COMMAND [ARGS]...\n\n  Manipulate markdown changelog files.\n\nOptions:\n  --path FILE  Location of the changelog file.  [default: CHANGELOG.md]\n  --version    Show the version and exit.\n  --help       Show this message and exit.\n\nCommands:\n  entry    Add entries to the changelog.\n  format   Reformat the changelog file.\n  init     Create a new changelog file.\n  release  Release versions.\n  show     Show changes from the changelog file\n  tag      Modify version tags\n```\n\n### Example workflow\n\nCreate a new changelog:\n```shell\n$ yaclog init\n```\n\nAdd some new entries to the \"Added\" section of the current unreleased version:\n```shell\n$ yaclog entry -b 'Introduced some more bugs'\n$ yaclog entry -b 'Introduced some more features'\n```\n\nShow the current version:\n\n```shell\n$ yaclog show\n```\n```\nUnreleased\n\n- Introduced some more bugs\n- Introduced some more features\n```\n\nRelease the current version and make a git tag for it\n\n```shell\n$ yaclog release 0.0.1 -c\n```\n```\nRenamed version \"Unreleased\" to \"0.0.1\".\nCommit and create tag for version 0.0.1? [y/N]: y\nCreated commit a7b6789\nCreated tag \"0.0.1\".\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Yet another changelog CLI tool.",
    "version": "1.5.2",
    "project_urls": {
        "Changelog": "https://github.com/drewcassidy/yaclog/blob/main/CHANGELOG.md",
        "Docs": "https://yaclog.readthedocs.io/",
        "Source": "https://github.com/drewcassidy/yaclog"
    },
    "split_keywords": [
        "changelog",
        " commandline",
        " markdown"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b6e76520624aea4d4db6e50c74602a3f53b93e46115f4c10332ee186f45a447",
                "md5": "75fcabf952ef582bcd986a2667c8877d",
                "sha256": "7990083540379b7e276e7d2f684777d0427a994808924e8b2ddc339bc7487f96"
            },
            "downloads": -1,
            "filename": "yaclog-1.5.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "75fcabf952ef582bcd986a2667c8877d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 20405,
            "upload_time": "2025-08-10T22:00:27",
            "upload_time_iso_8601": "2025-08-10T22:00:27.397824Z",
            "url": "https://files.pythonhosted.org/packages/0b/6e/76520624aea4d4db6e50c74602a3f53b93e46115f4c10332ee186f45a447/yaclog-1.5.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f8a1b46ee7a8cd2a742741828583424d0cdc0d9c041cb136d4b95e8ebf401bed",
                "md5": "a251e4a817eccb3343c76619afd9e723",
                "sha256": "cc39173885311fee6749dd0b667eadba048cfaa07f76d427b7324706b8c3af9c"
            },
            "downloads": -1,
            "filename": "yaclog-1.5.2.tar.gz",
            "has_sig": false,
            "md5_digest": "a251e4a817eccb3343c76619afd9e723",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 87366,
            "upload_time": "2025-08-10T22:00:28",
            "upload_time_iso_8601": "2025-08-10T22:00:28.594421Z",
            "url": "https://files.pythonhosted.org/packages/f8/a1/b46ee7a8cd2a742741828583424d0cdc0d9c041cb136d4b95e8ebf401bed/yaclog-1.5.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-10 22:00:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "drewcassidy",
    "github_project": "yaclog",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "yaclog"
}
        
Elapsed time: 1.88825s