EC-21: FEAT: Added commands to publish to pypi.
All checks were successful
PR Title Checker / Validate PR Title Format (pull_request) Successful in 2s
PR Management Bot / pr-bot (pull_request) Successful in 6s

Refers: Evercatch/evercatch-board#21
This commit is contained in:
2026-02-22 23:19:08 +00:00
parent 67db786b42
commit d401423646

View File

@@ -2,6 +2,39 @@
requires = ["poetry-core"] requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"
# ---------------------------------------------------------------------------
# PEP 621 metadata — read by PyPI, pip, and other standard tools
# ---------------------------------------------------------------------------
[project]
name = "evercatch"
version = "0.0.1"
authors = [
{ name = "Evercatch", email = "support@evercatch.dev" },
]
description = "Official Python SDK for Evercatch webhook infrastructure platform."
readme = "README.md"
requires-python = ">=3.12"
keywords = ["evercatch", "sdk", "api", "webhooks"]
license = "MIT"
license-files = ["LICEN[CS]E*"]
classifiers = [
"Development Status :: 1 - Planning",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
]
[project.urls]
Homepage = "https://git.psmattas.com/evercatch/evercatch-python"
Issues = "https://git.psmattas.com/evercatch/evercatch-python/issues"
# ---------------------------------------------------------------------------
# Poetry-specific settings (dependency management, packaging)
# ---------------------------------------------------------------------------
[tool.poetry] [tool.poetry]
name = "evercatch" name = "evercatch"
version = "0.0.1" version = "0.0.1"
@@ -11,17 +44,14 @@ license = "MIT"
readme = "README.md" readme = "README.md"
repository = "https://git.psmattas.com/evercatch/evercatch-python" repository = "https://git.psmattas.com/evercatch/evercatch-python"
keywords = ["evercatch", "sdk", "api", "webhooks"] keywords = ["evercatch", "sdk", "api", "webhooks"]
# These classifiers are important for PyPI to categorize your package correctly
classifiers = [ classifiers = [
"Development Status :: 1 - Planning", "Development Status :: 1 - Planning",
"Intended Audience :: Developers", "Intended Audience :: Developers",
"License :: OSI Approved :: MIT License", "License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
] ]
# This tells Poetry that your package code is in the 'evercatch' folder
packages = [{ include = "evercatch" }] packages = [{ include = "evercatch" }]
[tool.poetry.dependencies] [tool.poetry.dependencies]
@@ -36,17 +66,24 @@ poethepoet = ">=0.24"
# Usage: # Usage:
# poetry run poe build build sdist + wheel into dist/ # poetry run poe build build sdist + wheel into dist/
# poetry run poe publish-gitea upload dist/* to the Gitea registry # poetry run poe publish-gitea upload dist/* to the Gitea registry
# poetry run poe release build then publish (one shot) # poetry run poe publish-pypi upload dist/* to PyPI
# poetry run poe release build then publish to both (one shot)
# #
# Before running publish-gitea, make sure ~/.pypirc contains: # ~/.pypirc must be configured with both registries:
# #
# [distutils] # [distutils]
# index-servers = gitea # index-servers =
# gitea
# pypi
# #
# [gitea] # [gitea]
# repository = https://git.psmattas.com/api/packages/Evercatch/pypi # repository = https://git.psmattas.com/api/packages/Evercatch/pypi
# username = <your-gitea-username> # username = <your-gitea-username>
# password = <your-gitea-password-or-token> # password = <your-gitea-token>
#
# [pypi]
# username = __token__
# password = pypi-<your-pypi-api-token>
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
[tool.poe.tasks.build] [tool.poe.tasks.build]
@@ -57,6 +94,10 @@ help = "Build sdist and wheel into dist/"
cmd = "python -m twine upload --repository gitea dist/*" cmd = "python -m twine upload --repository gitea dist/*"
help = "Upload dist/* to the Gitea package registry" help = "Upload dist/* to the Gitea package registry"
[tool.poe.tasks.publish-pypi]
cmd = "python -m twine upload --repository pypi dist/*"
help = "Upload dist/* to PyPI"
[tool.poe.tasks.release] [tool.poe.tasks.release]
sequence = [{ref = "build"}, {ref = "publish-gitea"}] sequence = [{ ref = "build" }, { ref = "publish-gitea" }, { ref = "publish-pypi" }]
help = "Build and publish to Gitea in one step" help = "Build and publish to Gitea and PyPI in one step"