diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e75fcf8..b27db29 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,5 +15,14 @@ jobs: steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v5 + - name: Verify tag matches pyproject version + if: github.event_name == 'release' + run: | + tag="${GITHUB_REF_NAME#v}" + pkg="$(uv version --short)" + if [ "$tag" != "$pkg" ]; then + echo "::error::tag v$tag does not match pyproject version $pkg — bump version in pyproject.toml" + exit 1 + fi - run: uv build - uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/pyproject.toml b/pyproject.toml index 8f322c8..a3c0899 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "bruin-sdk" -version = "0.5.0" +version = "0.5.2" description = "Python SDK for Bruin CLI — query databases, parse context, and access connections with zero boilerplate." readme = "README.md" license = "Apache-2.0" diff --git a/src/bruin/__init__.py b/src/bruin/__init__.py index 101525d..776c815 100644 --- a/src/bruin/__init__.py +++ b/src/bruin/__init__.py @@ -1,8 +1,14 @@ """Bruin SDK — zero-boilerplate access to Bruin-managed connections and context.""" +from importlib.metadata import PackageNotFoundError, version + from bruin._connection import get_connection from bruin._context import context from bruin._query import query -__version__ = "0.4.0" +try: + __version__ = version("bruin-sdk") +except PackageNotFoundError: # source tree without an installed distribution + __version__ = "0.0.0.dev0" + __all__ = ["__version__", "context", "get_connection", "query"]