bump-anything


Namebump-anything JSON
Version 2.0.0 PyPI version JSON
download
home_page
SummaryA CLI utility for bumping the version of any file type
upload_time2023-08-02 02:34:11
maintainer
docs_urlNone
author
requires_python>=3.9
licenseThe MIT License (MIT) Copyright (c) 2019-2023 Caleb Evans Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords semver semantic version versioning bump increment
VCS
bugtrack_url
requirements black build click coverage flake8 flake8-black mccabe mypy-extensions nose2 packaging pathspec platformdirs pycodestyle pyflakes pyproject_hooks semver tomli
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Bump Anything

*Copyright 2019-2023 Caleb Evans*  
*Released under the MIT license*

[![tests](https://github.com/caleb531/bump-anything/actions/workflows/tests.yml/badge.svg)](https://github.com/caleb531/bump-anything/actions/workflows/tests.yml)
[![Coverage Status](https://coveralls.io/repos/caleb531/bump-anything/badge.svg?branch=main)](https://coveralls.io/r/caleb531/bump-anything?branch=main)

Bump Anything is a command-line utility for incrementing the version  It serves
as a more-flexible alternative to `npm version` and similar tools because
Bump Anything can handle any arbitrary text file and has built-in support for
different types of projects.

## Features

- Bump the version number in any arbitrary file
- Supports most project types (if no paths are supplied, automatically detects
  `package.json` in Node, `setup.py` or `pyproject.toml` in Python, `style.css`
  for WordPress themes, etc.)

## Installation

Bump Anything requires Python 3.9 or newer to run, so please ensure you have it
installed.

```sh
pip3 install bump-anything
```

## Usage

Bump Anything exposes to your shell a `bump-anything` command (also aliased to
`bump`). The only required argument is a keyword indicating how you want to
increment each version. It can be either `major`, `minor`, or `patch`.


```sh
bump major # 1.2.3 -> 2.0.0
```

```sh
bump minor # 1.2.3 -> 1.3.0
```

```sh
bump patch # 1.2.3 -> 1.2.4
```

```sh
bump prerelease # 1.2.3-beta.1 -> 1.2.3-beta.2
```

```sh
bump 2.3.4
```

```sh
bump v2.3.4 # same as `bump 2.3.4`
```

With this syntax, Bump Anything will do its best to find the relevant files to
bump. However, Bump Anything can also accept an optional list of one or more
file paths whose versions to bump. Only the first occurrence of the version
field in each file will be updated.

```sh
bump minor subdir/myfile1.json subdir/myfile2.toml
```

### Git Integration

The `bump` command will automatically create a tagged commit if the current
directory is a Git repository. Only the files that have been modified by `bump`
will be staged.

### Custom commit message

You can explicitly specify the commit message with `--commit-message` or `-m`.
The default is `Prepare v<new_version> release`. You can use the `{new_version}`
placeholder to represent the new version (without any prefix).

```sh
bump --commit-message 'Release v{new_version}' major
```

```sh
bump -m 'Release v{new_version}' major
```

### Custom tag name

You can explicitly specify the tag name with `--tag-name` or `-t` (default:
`v<new_version>`). You can use the `{new_version}` placeholder to represent the
new version (without any prefix).

```sh
bump --tag-name 'release/{new_version}' patch
```

```sh
bump -t 'release/{new_version}' patch
```

### Disabling committing and/or tagging

If you do not wish for `bump` to automatically create a commit and tag, you can
pass the `--no-commit` flag (alias: `-n`):

```sh
bump --no-commit minor
```

```sh
bump -n minor
```

### Disabling tagging only

If you wish to disable the automatic tag creation but still create a commit, you
can pass the `--no-tag` flag:

```sh
bump --no-tag patch
```

## Auto-Detected Files

- `package.json` (Node)
- `package-lock.json` (Node)
- `setup.py` (Python)
- `pyproject.toml` (Python)
- `style.css` (WordPress Theme)
- `<cwd name>.php` (WordPress Plugin)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "bump-anything",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Caleb Evans <caleb@calebevans.me>",
    "keywords": "semver,semantic,version,versioning,bump,increment",
    "author": "",
    "author_email": "Caleb Evans <caleb@calebevans.me>",
    "download_url": "https://files.pythonhosted.org/packages/70/d3/290195033d0221694e9ee39b6fca76df76226c43f77cdee8733b2870b491/bump-anything-2.0.0.tar.gz",
    "platform": null,
    "description": "# Bump Anything\n\n*Copyright 2019-2023 Caleb Evans*  \n*Released under the MIT license*\n\n[![tests](https://github.com/caleb531/bump-anything/actions/workflows/tests.yml/badge.svg)](https://github.com/caleb531/bump-anything/actions/workflows/tests.yml)\n[![Coverage Status](https://coveralls.io/repos/caleb531/bump-anything/badge.svg?branch=main)](https://coveralls.io/r/caleb531/bump-anything?branch=main)\n\nBump Anything is a command-line utility for incrementing the version  It serves\nas a more-flexible alternative to `npm version` and similar tools because\nBump Anything can handle any arbitrary text file and has built-in support for\ndifferent types of projects.\n\n## Features\n\n- Bump the version number in any arbitrary file\n- Supports most project types (if no paths are supplied, automatically detects\n  `package.json` in Node, `setup.py` or `pyproject.toml` in Python, `style.css`\n  for WordPress themes, etc.)\n\n## Installation\n\nBump Anything requires Python 3.9 or newer to run, so please ensure you have it\ninstalled.\n\n```sh\npip3 install bump-anything\n```\n\n## Usage\n\nBump Anything exposes to your shell a `bump-anything` command (also aliased to\n`bump`). The only required argument is a keyword indicating how you want to\nincrement each version. It can be either `major`, `minor`, or `patch`.\n\n\n```sh\nbump major # 1.2.3 -> 2.0.0\n```\n\n```sh\nbump minor # 1.2.3 -> 1.3.0\n```\n\n```sh\nbump patch # 1.2.3 -> 1.2.4\n```\n\n```sh\nbump prerelease # 1.2.3-beta.1 -> 1.2.3-beta.2\n```\n\n```sh\nbump 2.3.4\n```\n\n```sh\nbump v2.3.4 # same as `bump 2.3.4`\n```\n\nWith this syntax, Bump Anything will do its best to find the relevant files to\nbump. However, Bump Anything can also accept an optional list of one or more\nfile paths whose versions to bump. Only the first occurrence of the version\nfield in each file will be updated.\n\n```sh\nbump minor subdir/myfile1.json subdir/myfile2.toml\n```\n\n### Git Integration\n\nThe `bump` command will automatically create a tagged commit if the current\ndirectory is a Git repository. Only the files that have been modified by `bump`\nwill be staged.\n\n### Custom commit message\n\nYou can explicitly specify the commit message with `--commit-message` or `-m`.\nThe default is `Prepare v<new_version> release`. You can use the `{new_version}`\nplaceholder to represent the new version (without any prefix).\n\n```sh\nbump --commit-message 'Release v{new_version}' major\n```\n\n```sh\nbump -m 'Release v{new_version}' major\n```\n\n### Custom tag name\n\nYou can explicitly specify the tag name with `--tag-name` or `-t` (default:\n`v<new_version>`). You can use the `{new_version}` placeholder to represent the\nnew version (without any prefix).\n\n```sh\nbump --tag-name 'release/{new_version}' patch\n```\n\n```sh\nbump -t 'release/{new_version}' patch\n```\n\n### Disabling committing and/or tagging\n\nIf you do not wish for `bump` to automatically create a commit and tag, you can\npass the `--no-commit` flag (alias: `-n`):\n\n```sh\nbump --no-commit minor\n```\n\n```sh\nbump -n minor\n```\n\n### Disabling tagging only\n\nIf you wish to disable the automatic tag creation but still create a commit, you\ncan pass the `--no-tag` flag:\n\n```sh\nbump --no-tag patch\n```\n\n## Auto-Detected Files\n\n- `package.json` (Node)\n- `package-lock.json` (Node)\n- `setup.py` (Python)\n- `pyproject.toml` (Python)\n- `style.css` (WordPress Theme)\n- `<cwd name>.php` (WordPress Plugin)\n",
    "bugtrack_url": null,
    "license": "The MIT License (MIT)  Copyright (c) 2019-2023 Caleb Evans  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "A CLI utility for bumping the version of any file type",
    "version": "2.0.0",
    "project_urls": {
        "changelog": "https://github.com/caleb531/bump-anything/releases",
        "documentation": "https://github.com/caleb531/bump-anything#readme",
        "homepage": "https://github.com/caleb531/bump-anything",
        "repository": "https://github.com/caleb531/bump-anything"
    },
    "split_keywords": [
        "semver",
        "semantic",
        "version",
        "versioning",
        "bump",
        "increment"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c34934540ea56dbf4ecd5ecc3f75e6f37eb45f24443e4c28af978baedfdff721",
                "md5": "25e4c051df4ce53d3246ef1c873f9375",
                "sha256": "0266a466bd20aafc078189044d8c54b9682557276334945c2a8ae7d02bf7c852"
            },
            "downloads": -1,
            "filename": "bump_anything-2.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "25e4c051df4ce53d3246ef1c873f9375",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 7762,
            "upload_time": "2023-08-02T02:34:09",
            "upload_time_iso_8601": "2023-08-02T02:34:09.903731Z",
            "url": "https://files.pythonhosted.org/packages/c3/49/34540ea56dbf4ecd5ecc3f75e6f37eb45f24443e4c28af978baedfdff721/bump_anything-2.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70d3290195033d0221694e9ee39b6fca76df76226c43f77cdee8733b2870b491",
                "md5": "a24eda7624e32f5f8e828b25a51e0c1c",
                "sha256": "54faa520370dcbea74fbee4e3927c4f10270c99d9ff31793a981bfcd6f4d5d30"
            },
            "downloads": -1,
            "filename": "bump-anything-2.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a24eda7624e32f5f8e828b25a51e0c1c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 8200,
            "upload_time": "2023-08-02T02:34:11",
            "upload_time_iso_8601": "2023-08-02T02:34:11.246800Z",
            "url": "https://files.pythonhosted.org/packages/70/d3/290195033d0221694e9ee39b6fca76df76226c43f77cdee8733b2870b491/bump-anything-2.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-02 02:34:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "caleb531",
    "github_project": "bump-anything",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "black",
            "specs": [
                [
                    "==",
                    "23.7.0"
                ]
            ]
        },
        {
            "name": "build",
            "specs": [
                [
                    "==",
                    "0.10.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.6"
                ]
            ]
        },
        {
            "name": "coverage",
            "specs": [
                [
                    "==",
                    "7.2.7"
                ]
            ]
        },
        {
            "name": "flake8",
            "specs": [
                [
                    "==",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "flake8-black",
            "specs": [
                [
                    "==",
                    "0.3.6"
                ]
            ]
        },
        {
            "name": "mccabe",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "mypy-extensions",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "nose2",
            "specs": [
                [
                    "==",
                    "0.13.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "23.1"
                ]
            ]
        },
        {
            "name": "pathspec",
            "specs": [
                [
                    "==",
                    "0.11.1"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "3.9.1"
                ]
            ]
        },
        {
            "name": "pycodestyle",
            "specs": [
                [
                    "==",
                    "2.10.0"
                ]
            ]
        },
        {
            "name": "pyflakes",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "pyproject_hooks",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "semver",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "tomli",
            "specs": [
                [
                    "==",
                    "2.0.1"
                ]
            ]
        }
    ],
    "lcname": "bump-anything"
}
        
Elapsed time: 0.09706s