From 4c994db5a1abfa46b0cdec974b16a09503968bd5 Mon Sep 17 00:00:00 2001 From: James Kebinger Date: Wed, 24 Sep 2025 11:54:42 -0500 Subject: [PATCH 1/2] Add PyPI publishing workflow for reforge-sdk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changed package name from reforge-python to reforge-sdk - Added GitHub workflow to publish to PyPI using OIDC trusted publishing - Workflow runs on main branch pushes after all tests pass - Uses release environment for additional security 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/publish.yml | 52 +++++++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..a50df7e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,52 @@ +name: "Publish to PyPI" + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + publish: + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' + environment: release + permissions: + id-token: write # IMPORTANT: this permission is mandatory for trusted publishing + contents: read + + steps: + - name: Checkout repo + submodules + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: "3.10" + + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: true + + - name: Install dependencies + run: | + poetry install --no-interaction + + - name: Run tests + run: poetry run pytest + env: + REFORGE_INTEGRATION_TEST_SDK_KEY: ${{ secrets.REFORGE_INTEGRATION_TEST_SDK_KEY }} + REFORGE_INTEGRATION_TEST_ENCRYPTION_KEY: "c87ba22d8662282abe8a0e4651327b579cb64a454ab0f4c170b45b15f049a221" + NOT_A_NUMBER: "not a number" + IS_A_NUMBER: 1234 + + - name: Build package + run: poetry build + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: dist/ diff --git a/pyproject.toml b/pyproject.toml index 1bf527b..694de3a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.poetry] -name = "reforge-python" +name = "reforge-sdk" version = "0.12.0" description = "Python client for Reforge Feature Flags, Dynamic log levels, and Config as a Service: https://www.reforge.com" license = "MIT" From 5597ac50d848da56096fadd3995cfd7d728f6205 Mon Sep 17 00:00:00 2001 From: James Kebinger Date: Wed, 24 Sep 2025 11:56:20 -0500 Subject: [PATCH 2/2] Change package name to sdk-reforge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated PyPI package name from reforge-sdk to sdk-reforge. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 694de3a..06a5227 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] -name = "reforge-sdk" +name = "sdk-reforge" version = "0.12.0" -description = "Python client for Reforge Feature Flags, Dynamic log levels, and Config as a Service: https://www.reforge.com" +description = "Python sdk for Reforge Feature Flags and Config as a Service: https://www.reforge.com" license = "MIT" authors = ["Michael Berkowitz ", "James Kebinger "] maintainers = ["Michael Berkowitz ", "James Kebinger "]