uv-publish


Nameuv-publish JSON
Version 1.2 PyPI version JSON
download
home_pageNone
SummaryWrapper tool ito run `uv publish` using default credentials from `~/.pypirc`
upload_time2024-11-23 12:00:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseGPLv3
keywords uv pypi twine hatch flit pdm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## UV-PUBLISH - run `uv publish` using credentials from your `~/.pypirc`
[![PyPi](https://img.shields.io/pypi/v/uv-publish)](https://pypi.org/project/uv-publish/)

[`uv-publish`][uv-publish] is a simple command line wrapper to run [`uv
publish`][uv_publish] using your configured Python [PyPi][pypi]
credentials from your [`~/.pypirc`][pypirc] file. Simply run
`uv-publish` instead of `uv publish` with any of the options and
arguments that `uv publish` normally accepts. `uv-publish` will read
your `~/.pypirc` and pass those credentials to `uv publish` as arguments
`--username`, `--password`, or `--token`, and `--publish-url`. Those
arguments are passed automatically at the start of the `uv publish`
command line so they can be overridden manually by later arguments if
required. 

Note that similar tools to push your Python packages to [PyPi][pypi]
such as [`twine`][twine], [`hatch`][hatch], and [`flit`][flit] recognise
the common [`~/.pypirc`][pypirc] file so this wrapper is created to
enable [`uv publish`][uv_publish] to do the same.

By default `uv-publish` will use the first repository in your
`~/.pypirc` file (defaulting to `pypi` if the file does not exist). You
can specify the repository to use from your `~./pypirc` file with the
`--repository` (or `--repo`) option. This is the only option that
`uv-publish` accepts itself, all other options and arguments are passed
directly to `uv publish`. Note that `--repository` is the same switch
that `twine` and `flit` accept, and `--repo` is the same switch that
`hatch` accepts so both are supported by `uv-publish`.

This utility has been developed and tested on Linux but should also work
on macOS and Windows although has not been tried on those platforms. The
latest documentation and code is available at
https://github.com/bulletmark/uv-publish.

## How to run

You are a [`uv`][uv] user so you should have `uv` installed. Just run
`uv-publish` as follows (`uv-publish` will get automatically installed
by [`uvx`][uvx] if you don't already have it):

```sh
$ uvx uv-publish [uv publish options]
```

E.g. if you use [`twine`][twine] to publish your package[s] and you
store your PyPi credentials in `~/.pypirc` then you can
swap to [`uv-publish`][uv-publish] by simply changing the command:

```sh
$ twine upload dist/*
```

to:

```sh
$ uvx uv-publish
```

To upgrade:

```sh
$ uvx uv-publish@latest --help
```

To remove:

```sh
$ uv cache clean uv-publish
```

## Usage

Type `uv-publish -h` to view the usage summary:

```
usage: uv-publish [-h] [--repository {pypi,testpypi}]

Command line wrapper to run `uv publish` with given arguments using default
credentials from your `~/.pypirc`.

options:
  -h, --help            show this help message and exit
  --repository {pypi,testpypi}, --repo {pypi,testpypi}
                        Name of the repository to upload to (must match a
                        repository in your .pypirc file). Default is "pypi".
```

## License

Copyright (C) 2024 Mark Blakeney. This program is distributed under the
terms of the GNU General Public License. This program is free software:
you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation,
either version 3 of the License, or any later version. This program is
distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at
<http://www.gnu.org/licenses/> for more details.

[uv-publish]: https://github.com/bulletmark/uv-publish
[uv]: https://docs.astral.sh/uv/
[uvx]: https://docs.astral.sh/uv/guides/tools/
[uv_publish]: https://docs.astral.sh/uv/guides/publish/
[twine]: https://twine.readthedocs.io/
[hatch]: https://hatch.pypa.io/
[flit]: https://flit.readthedocs.io/
[pypirc]: https://packaging.python.org/en/latest/specifications/pypirc/
[pypi]: https://pypi.org/

<!-- vim: se ai syn=markdown: -->

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "uv-publish",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "uv, pypi, twine, hatch, flit, pdm",
    "author": null,
    "author_email": "Mark Blakeney <mark.blakeney@bullet-systems.net>",
    "download_url": "https://files.pythonhosted.org/packages/01/84/6fabbe0bd158a76f83870f7006b917996e2002f7dd24d50eb86846854192/uv_publish-1.2.tar.gz",
    "platform": null,
    "description": "## UV-PUBLISH - run `uv publish` using credentials from your `~/.pypirc`\n[![PyPi](https://img.shields.io/pypi/v/uv-publish)](https://pypi.org/project/uv-publish/)\n\n[`uv-publish`][uv-publish] is a simple command line wrapper to run [`uv\npublish`][uv_publish] using your configured Python [PyPi][pypi]\ncredentials from your [`~/.pypirc`][pypirc] file. Simply run\n`uv-publish` instead of `uv publish` with any of the options and\narguments that `uv publish` normally accepts. `uv-publish` will read\nyour `~/.pypirc` and pass those credentials to `uv publish` as arguments\n`--username`, `--password`, or `--token`, and `--publish-url`. Those\narguments are passed automatically at the start of the `uv publish`\ncommand line so they can be overridden manually by later arguments if\nrequired. \n\nNote that similar tools to push your Python packages to [PyPi][pypi]\nsuch as [`twine`][twine], [`hatch`][hatch], and [`flit`][flit] recognise\nthe common [`~/.pypirc`][pypirc] file so this wrapper is created to\nenable [`uv publish`][uv_publish] to do the same.\n\nBy default `uv-publish` will use the first repository in your\n`~/.pypirc` file (defaulting to `pypi` if the file does not exist). You\ncan specify the repository to use from your `~./pypirc` file with the\n`--repository` (or `--repo`) option. This is the only option that\n`uv-publish` accepts itself, all other options and arguments are passed\ndirectly to `uv publish`. Note that `--repository` is the same switch\nthat `twine` and `flit` accept, and `--repo` is the same switch that\n`hatch` accepts so both are supported by `uv-publish`.\n\nThis utility has been developed and tested on Linux but should also work\non macOS and Windows although has not been tried on those platforms. The\nlatest documentation and code is available at\nhttps://github.com/bulletmark/uv-publish.\n\n## How to run\n\nYou are a [`uv`][uv] user so you should have `uv` installed. Just run\n`uv-publish` as follows (`uv-publish` will get automatically installed\nby [`uvx`][uvx] if you don't already have it):\n\n```sh\n$ uvx uv-publish [uv publish options]\n```\n\nE.g. if you use [`twine`][twine] to publish your package[s] and you\nstore your PyPi credentials in `~/.pypirc` then you can\nswap to [`uv-publish`][uv-publish] by simply changing the command:\n\n```sh\n$ twine upload dist/*\n```\n\nto:\n\n```sh\n$ uvx uv-publish\n```\n\nTo upgrade:\n\n```sh\n$ uvx uv-publish@latest --help\n```\n\nTo remove:\n\n```sh\n$ uv cache clean uv-publish\n```\n\n## Usage\n\nType `uv-publish -h` to view the usage summary:\n\n```\nusage: uv-publish [-h] [--repository {pypi,testpypi}]\n\nCommand line wrapper to run `uv publish` with given arguments using default\ncredentials from your `~/.pypirc`.\n\noptions:\n  -h, --help            show this help message and exit\n  --repository {pypi,testpypi}, --repo {pypi,testpypi}\n                        Name of the repository to upload to (must match a\n                        repository in your .pypirc file). Default is \"pypi\".\n```\n\n## License\n\nCopyright (C) 2024 Mark Blakeney. This program is distributed under the\nterms of the GNU General Public License. This program is free software:\nyou can redistribute it and/or modify it under the terms of the GNU\nGeneral Public License as published by the Free Software Foundation,\neither version 3 of the License, or any later version. This program is\ndistributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or\nFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at\n<http://www.gnu.org/licenses/> for more details.\n\n[uv-publish]: https://github.com/bulletmark/uv-publish\n[uv]: https://docs.astral.sh/uv/\n[uvx]: https://docs.astral.sh/uv/guides/tools/\n[uv_publish]: https://docs.astral.sh/uv/guides/publish/\n[twine]: https://twine.readthedocs.io/\n[hatch]: https://hatch.pypa.io/\n[flit]: https://flit.readthedocs.io/\n[pypirc]: https://packaging.python.org/en/latest/specifications/pypirc/\n[pypi]: https://pypi.org/\n\n<!-- vim: se ai syn=markdown: -->\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "Wrapper tool ito run `uv publish` using default credentials from `~/.pypirc`",
    "version": "1.2",
    "project_urls": {
        "Homepage": "https://github.com/bulletmark/uv-publish"
    },
    "split_keywords": [
        "uv",
        " pypi",
        " twine",
        " hatch",
        " flit",
        " pdm"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2033e5cf9be147012f66c5461e2ecde429117c55bcd5cbcffcf3bf22a8bafe35",
                "md5": "e15e5c82884682aeb2f964415908c02c",
                "sha256": "50300c478293197af8ce56f9f7fec23d85278805344aa756e30c6436c77b05a3"
            },
            "downloads": -1,
            "filename": "uv_publish-1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e15e5c82884682aeb2f964415908c02c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 3972,
            "upload_time": "2024-11-23T12:00:23",
            "upload_time_iso_8601": "2024-11-23T12:00:23.964596Z",
            "url": "https://files.pythonhosted.org/packages/20/33/e5cf9be147012f66c5461e2ecde429117c55bcd5cbcffcf3bf22a8bafe35/uv_publish-1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "01846fabbe0bd158a76f83870f7006b917996e2002f7dd24d50eb86846854192",
                "md5": "81b98ca2b81e5327d82b84778e02aae3",
                "sha256": "84a104b7698a0ea4eecdd0b243113daf2a4b6a206b58ad1b430409dd6bcbcbeb"
            },
            "downloads": -1,
            "filename": "uv_publish-1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "81b98ca2b81e5327d82b84778e02aae3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 4257,
            "upload_time": "2024-11-23T12:00:25",
            "upload_time_iso_8601": "2024-11-23T12:00:25.721585Z",
            "url": "https://files.pythonhosted.org/packages/01/84/6fabbe0bd158a76f83870f7006b917996e2002f7dd24d50eb86846854192/uv_publish-1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-23 12:00:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bulletmark",
    "github_project": "uv-publish",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "uv-publish"
}
        
Elapsed time: 0.37767s