@open_resources/semantic-release-uv v1.1.15
⚙️🐍 semantic-release-uv
A semantic-release plugin to publish Python packages built with uv.\
\
CI Environment
Build System Interface
semantic-release-uv uses uv to build and publish Python packages defined with pyproject.toml.
- Supports only PEP 621-compliant
pyproject.tomlconfiguration - Does not support legacy
setup.py/setup.cfg-based builds - Requires
uvto be installed and discoverable
Steps
| Step | Description |
|---|---|
verifyConditions | - Verify the presence and validity of PYPI_TOKEN- Validate the pyproject.toml structure |
prepare | Update the version in pyproject.toml, locking and build the distribution with uv |
publish | Upload the package to PyPI or a custom index using uv publish |
Environment Variables
| Variable | Description | Required | Default |
|---|---|---|---|
PYPI_TOKEN | API token for PyPI | ✅ | — |
PYPI_REPO_URL | Custom repository URL | ❌ | https://upload.pypi.org/legacy/ |
PYPI_USERNAME | Username for repository | ❌ | token |
Usage
Add the plugin to your semantic-release configuration:
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@open_resources/semantic-release-uv"
]
}Note that this plugin modifies the version inside of pyproject.toml and potentially change uv.lock. Make sure to commit pyproject.toml using the @semantic-release/git plugin, if you want to save the changes:
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"semantic-release-uv",
[
"@semantic-release/git",
{
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}",
"assets": ["pyproject.toml", "uv.lock"],
}
]
]
}Options
| Option | Type | Default | Description |
|---|---|---|---|
srcDir | string | . | Path to the project root |
distDir | string | dist | Output directory for built distributions |
repoUrl | string | https://upload.pypi.org/legacy/ | URL of the package index |
Development
TODO
License
Author Information
Deltamir - ITN Security Expert, DevSecOps Engineer and Certified Pentester in a Telecom company Contact via Github/Gitlab inbox
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago