com-wyattbaldwin-make-release


Namecom-wyattbaldwin-make-release JSON
Version 1.0a3 PyPI version JSON
download
home_pagehttps://github.com/wylee/com.wyattbaldwin/tree/dev/make_release
SummaryMake a release
upload_time2022-12-13 05:43:03
maintainer
docs_urlNone
authorWyatt Baldwin
requires_python>=3.7,<4.0
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Make a Release

Make a release of a Python package. This automates the tedious steps you
need to go through to make a release--bumping the version number,
tagging, etc.

It does _not_ (currently) create distributions or upload them to PyPI.

## Usage

    make-release --version 1.0 --next-version 2.0

## Steps

By default, all the following steps are run:

- Run the project's test suite (`python -m unittest discover` by
  default)
- Prepare the release by bumping the version number in various files and
  setting the release date in the change log file
- Merge the development branch into the target branch (e.g., `dev` to
  `main`)
- Create an annotated tag pointing at the merge commit (or at the prep
  commit when merging is disabled); if no tag name is specified, the
  release version is used as the tag name
- Resume development by bumping the version to the next anticipated
  version

Any of the steps can be skipped by passing the corresponding
`--no-<step>` flag.

### Tag Name

The tag name can be specified as a simple format string template. The
project `name` and release `version` will be injected (see below in the
Configuration section for an example).

## Configuration

Configuration can be done in `pyproject.toml` or `setup.cfg`. This is
most useful if you want to permanently change one of the default
options.

Use the long names of the command line options without the leading
dashes. For command line flags, set the value to `true` or `false`
(`1` and `0` also work).

For example, if your project only uses a single branch, you could
disable the merge step like so in `pyproject.toml`.

    # pyproject.toml
    [tool.make-release.args]
    merge = false
    tag-name = "{name}-{version}"
    test-command = "my-test-runner"

or like so in `setup.cfg`:

    # setup.cfg
    [make-release.args]
    merge = false
    tag-name = {name}-{version}
    test-command = my-test-runner

This also shows how to specify a tag name template that's derived from
the package `name` and the release `version`.

## Creating and Uploading Distribution

Once you've created a release with this tool, check out the tag for the
release and then run the following commands:

    poetry build           # if using poetry
    python setup.py sdist  # if using pip/setuptools
    twine upload dist/*    # in either case

NOTE: You'll need an account on pypi.org in order to upload
distributions with `twine`.

## Limitations

- Only git repositories are supported
- The package name detection assumes the root directory (i.e., the git
  repo name) is the same as the package name
- For the change log, only markdown files are supported; the change log
  is expected to use second-level (##) headings for each version's
  section (see this project's `CHANGELOG.md` for an example)
- Doesn't build or upload distributions


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/wylee/com.wyattbaldwin/tree/dev/make_release",
    "name": "com-wyattbaldwin-make-release",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Wyatt Baldwin",
    "author_email": "self@wyattbaldwin.com",
    "download_url": "https://files.pythonhosted.org/packages/42/42/1b9ab553a80faf15d9fc59a51407fd340087bbae4c12e6cc4a72062663b1/com_wyattbaldwin_make_release-1.0a3.tar.gz",
    "platform": null,
    "description": "# Make a Release\n\nMake a release of a Python package. This automates the tedious steps you\nneed to go through to make a release--bumping the version number,\ntagging, etc.\n\nIt does _not_ (currently) create distributions or upload them to PyPI.\n\n## Usage\n\n    make-release --version 1.0 --next-version 2.0\n\n## Steps\n\nBy default, all the following steps are run:\n\n- Run the project's test suite (`python -m unittest discover` by\n  default)\n- Prepare the release by bumping the version number in various files and\n  setting the release date in the change log file\n- Merge the development branch into the target branch (e.g., `dev` to\n  `main`)\n- Create an annotated tag pointing at the merge commit (or at the prep\n  commit when merging is disabled); if no tag name is specified, the\n  release version is used as the tag name\n- Resume development by bumping the version to the next anticipated\n  version\n\nAny of the steps can be skipped by passing the corresponding\n`--no-<step>` flag.\n\n### Tag Name\n\nThe tag name can be specified as a simple format string template. The\nproject `name` and release `version` will be injected (see below in the\nConfiguration section for an example).\n\n## Configuration\n\nConfiguration can be done in `pyproject.toml` or `setup.cfg`. This is\nmost useful if you want to permanently change one of the default\noptions.\n\nUse the long names of the command line options without the leading\ndashes. For command line flags, set the value to `true` or `false`\n(`1` and `0` also work).\n\nFor example, if your project only uses a single branch, you could\ndisable the merge step like so in `pyproject.toml`.\n\n    # pyproject.toml\n    [tool.make-release.args]\n    merge = false\n    tag-name = \"{name}-{version}\"\n    test-command = \"my-test-runner\"\n\nor like so in `setup.cfg`:\n\n    # setup.cfg\n    [make-release.args]\n    merge = false\n    tag-name = {name}-{version}\n    test-command = my-test-runner\n\nThis also shows how to specify a tag name template that's derived from\nthe package `name` and the release `version`.\n\n## Creating and Uploading Distribution\n\nOnce you've created a release with this tool, check out the tag for the\nrelease and then run the following commands:\n\n    poetry build           # if using poetry\n    python setup.py sdist  # if using pip/setuptools\n    twine upload dist/*    # in either case\n\nNOTE: You'll need an account on pypi.org in order to upload\ndistributions with `twine`.\n\n## Limitations\n\n- Only git repositories are supported\n- The package name detection assumes the root directory (i.e., the git\n  repo name) is the same as the package name\n- For the change log, only markdown files are supported; the change log\n  is expected to use second-level (##) headings for each version's\n  section (see this project's `CHANGELOG.md` for an example)\n- Doesn't build or upload distributions\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Make a release",
    "version": "1.0a3",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "8d2213abf38357ec4fa71591c5ab0099",
                "sha256": "3a47dd97b153aae492725023af1449c12caca1b55bf310624908edba7c2170e9"
            },
            "downloads": -1,
            "filename": "com_wyattbaldwin_make_release-1.0a3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8d2213abf38357ec4fa71591c5ab0099",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7,<4.0",
            "size": 12399,
            "upload_time": "2022-12-13T05:43:00",
            "upload_time_iso_8601": "2022-12-13T05:43:00.547735Z",
            "url": "https://files.pythonhosted.org/packages/bb/47/2020f4a491d7a2ce422c11877d02cc7539ea2d2afdfa1e856566276f890a/com_wyattbaldwin_make_release-1.0a3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "46f5725f73d71a3ea764e7b3fed26980",
                "sha256": "d6854b5e24fe3070c35d5c83c21ffcc553fddece16a15e18235fb2cd444e5112"
            },
            "downloads": -1,
            "filename": "com_wyattbaldwin_make_release-1.0a3.tar.gz",
            "has_sig": false,
            "md5_digest": "46f5725f73d71a3ea764e7b3fed26980",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7,<4.0",
            "size": 9556,
            "upload_time": "2022-12-13T05:43:03",
            "upload_time_iso_8601": "2022-12-13T05:43:03.018697Z",
            "url": "https://files.pythonhosted.org/packages/42/42/1b9ab553a80faf15d9fc59a51407fd340087bbae4c12e6cc4a72062663b1/com_wyattbaldwin_make_release-1.0a3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-13 05:43:03",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "com-wyattbaldwin-make-release"
}
        
Elapsed time: 0.30860s