From 415ddd43dac151ecef0b8f2fc99c7bf0eb2f36ef Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Tue, 9 Jun 2026 14:57:03 -0600 Subject: [PATCH 1/6] Update workflows to include matrix testing --- .github/workflows/publish.yml | 46 +++++++++++++++++++++++ .github/workflows/python-make-package.yml | 22 ----------- .github/workflows/python-publish.yml | 29 -------------- .github/workflows/test.yml | 28 ++++++++++++++ Makefile | 2 +- README.md | 2 +- 6 files changed, 76 insertions(+), 53 deletions(-) create mode 100644 .github/workflows/publish.yml delete mode 100644 .github/workflows/python-make-package.yml delete mode 100644 .github/workflows/python-publish.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..4fe41f9 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,46 @@ +name: Publish Python Package + +on: + push: + tags: + - '*' + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + matrix: + python-version: ['3.10', '3.11', '3.12', '3.13'] + + steps: + - uses: actions/checkout@master + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Test + run: make test + + publish: + needs: [test] + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@master + + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Package + run: VERSION="${GITHUB_REF#refs/tags/}" make package + + - name: Publish Package to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/python-make-package.yml b/.github/workflows/python-make-package.yml deleted file mode 100644 index e9a8c2f..0000000 --- a/.github/workflows/python-make-package.yml +++ /dev/null @@ -1,22 +0,0 @@ - - -name: Make Package # whenever you push to any branch you should run make test - -on: - push: - branches: - - '*' - -jobs: - publish: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@master - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - - name: Package - run: VERSION="${GITHUB_REF#refs/*/}" make test \ No newline at end of file diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml deleted file mode 100644 index 4532590..0000000 --- a/.github/workflows/python-publish.yml +++ /dev/null @@ -1,29 +0,0 @@ -# This workflow will upload a Python Package using Twine when a release is created - -name: Upload Python Package - -on: - push: - tags: - - '*' - -jobs: - publish: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@master - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: '3.10' - - - name: Package - run: VERSION="${GITHUB_REF#refs/*/}" make package - - - name: Publish Package to PyPI - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..22e0bbe --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,28 @@ +name: Python Tests + +on: + push: + branches: + - master + pull_request: + branches: + - '**' + +jobs: + test: + runs-on: ubuntu-latest + + strategy: + matrix: + python-version: ['3.10', '3.11', '3.12', '3.13'] + + steps: + - uses: actions/checkout@master + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Test + run: make test diff --git a/Makefile b/Makefile index 651d103..93ac2b8 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ test: clean dependencies dependencies: python3 -m pip install -r requirements.txt -package: test +package: python3 -m pip install build \ && echo "__version__=\"${VERSION}\"" >> "$(VERSION_FILE)" \ && python3 -m build diff --git a/README.md b/README.md index 2a2015b..d123586 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # SmartyStreets Python SDK -The official client libraries for accessing SmartyStreets APIs from Python 2.7 and 3.5 +The official client libraries for accessing SmartyStreets APIs from Python 3.10 and later. You may have noticed this page is curiously sparse. Don't panic, there's [documentation](https://smartystreets.com/docs/sdk/python) and [examples](examples). From c4d5ea21aee267cc20c9964844663dfc50371c31 Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Thu, 11 Jun 2026 08:42:22 -0600 Subject: [PATCH 2/6] Updated CLAUDE.md with runtime version --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index fe61f20..bba3253 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -28,7 +28,7 @@ No linting or type-checking tools are configured in this project. ## Architecture Overview -This is the official SmartyStreets Python SDK. It provides clients for 9 address validation/geocoding APIs. +This is the official SmartyStreets Python SDK. It provides clients for 9 address validation/geocoding APIs. It is compatible with Python 3.10 and later. ### HTTP Pipeline Architecture From 737f1b1c47811172a51941939481fc147d695c8b Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Thu, 11 Jun 2026 11:42:23 -0600 Subject: [PATCH 3/6] Refactored workflows --- .github/workflows/ci.yml | 13 +++++++++++++ .github/workflows/publish.yml | 19 ++----------------- .github/workflows/test.yml | 9 ++------- Makefile | 2 +- 4 files changed, 18 insertions(+), 25 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..4a2b01a --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,13 @@ +name: Python Tests + +on: + push: + branches: + - master + pull_request: + branches: + - '**' + +jobs: + test: + uses: ./.github/workflows/test.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4fe41f9..85f8be7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,25 +7,10 @@ on: jobs: test: - runs-on: ubuntu-latest - - strategy: - matrix: - python-version: ['3.10', '3.11', '3.12', '3.13'] - - steps: - - uses: actions/checkout@master - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Test - run: make test + uses: ./.github/workflows/test.yml publish: - needs: [test] + needs: test runs-on: ubuntu-latest steps: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 22e0bbe..5274892 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,12 +1,7 @@ -name: Python Tests +name: Test on: - push: - branches: - - master - pull_request: - branches: - - '**' + workflow_call: jobs: test: diff --git a/Makefile b/Makefile index 93ac2b8..b8a203d 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ test: clean dependencies dependencies: python3 -m pip install -r requirements.txt -package: +package: clean python3 -m pip install build \ && echo "__version__=\"${VERSION}\"" >> "$(VERSION_FILE)" \ && python3 -m build From 1c6d24f26d5d232c0812b4501dfdafd24f670a7c Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Mon, 15 Jun 2026 15:27:02 -0600 Subject: [PATCH 4/6] runs workflow on push --- .github/workflows/ci.yml | 5 ----- .github/workflows/publish.yml | 2 +- .github/workflows/test.yml | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4a2b01a..3646e79 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,11 +2,6 @@ name: Python Tests on: push: - branches: - - master - pull_request: - branches: - - '**' jobs: test: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 85f8be7..cc39ad4 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,7 +3,7 @@ name: Publish Python Package on: push: tags: - - '*' + - '**' jobs: test: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5274892..58f21e0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,7 @@ jobs: python-version: ['3.10', '3.11', '3.12', '3.13'] steps: - - uses: actions/checkout@master + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From e838cb520c06adbfbc72539156515e917f9fe8f2 Mon Sep 17 00:00:00 2001 From: Andrea Wait Date: Tue, 16 Jun 2026 09:16:43 -0600 Subject: [PATCH 5/6] update actions version --- .github/workflows/ci.yml | 2 ++ .github/workflows/publish.yml | 2 +- .github/workflows/test.yml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3646e79..5b502c4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,6 +2,8 @@ name: Python Tests on: push: + branches: + - '**' jobs: test: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cc39ad4..84725b6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@master - name: Set up Python 3.10 - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: '3.10' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 58f21e0..34b0dd1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} From e4a8ffb21280866b77d0435560e14670bfe20220 Mon Sep 17 00:00:00 2001 From: Andy Johnson Date: Wed, 17 Jun 2026 11:17:31 -0600 Subject: [PATCH 6/6] Update actions/checkout in publish.yml to v6. --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 84725b6..0d50d44 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master + - uses: actions/checkout@v6 - name: Set up Python 3.10 uses: actions/setup-python@v6