From de016f4a0f2bc880b377337e0a6ac4ea87d63f88 Mon Sep 17 00:00:00 2001 From: avinashp-plivo Date: Mon, 25 May 2026 15:27:47 +0530 Subject: [PATCH 1/2] feat: expose sub_account_name on Number resource Sub-account name is forwarded automatically via dynamic attribute on PlivoResource (response keys -> instance attrs). This commit adds: - explicit test coverage asserting number.sub_account and number.sub_account_name are set from the mock response - version bump to 4.60.2 and CHANGELOG entry Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 4 ++++ setup.py | 2 +- tests/resources/fixtures/numberGetResponse.json | 3 ++- tests/resources/fixtures/numberListResponse.json | 3 ++- tests/resources/test_numbers.py | 2 ++ 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3bc619d..120adb28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ # Change Log +## [4.60.2](https://github.com/plivo/plivo-python/tree/v4.60.2) (2026-05-25) +**Feature - Expose sub_account_name on Number resource** +- `Number` resource now surfaces `sub_account_name` alongside the existing `sub_account` (auth_id) on rented number listing and get APIs (dynamic attribute, already worked at runtime; this release adds explicit test coverage) + ## [4.60.1](https://github.com/plivo/plivo-python/tree/v4.60.1) (2026-04-17) **Bug Fix - PhoneNumber Compliance API** - Fixed Requirements.get() sending None values as query params when not provided diff --git a/setup.py b/setup.py index 5aa4ad1e..eb9e19ef 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ setup( name='plivo', - version='4.60.1', + version='4.60.2', description='A Python SDK to make voice calls & send SMS using Plivo and to generate Plivo XML', long_description=long_description, url='https://github.com/plivo/plivo-python', diff --git a/tests/resources/fixtures/numberGetResponse.json b/tests/resources/fixtures/numberGetResponse.json index b625ffa7..859526e5 100644 --- a/tests/resources/fixtures/numberGetResponse.json +++ b/tests/resources/fixtures/numberGetResponse.json @@ -23,7 +23,8 @@ "resource_uri": "/v1/Account/MANWVLYTK4ZWU1YTY4ZT/Number/17609915566/", "sms_enabled": true, "sms_rate": "0.00000", - "sub_account": null, + "sub_account": "SAXXXXXXXXXXXXXXXXXX", + "sub_account_name": "Marketing", "voice_enabled": true, "voice_rate": "0.00850" } diff --git a/tests/resources/fixtures/numberListResponse.json b/tests/resources/fixtures/numberListResponse.json index c341595b..fe0007a9 100644 --- a/tests/resources/fixtures/numberListResponse.json +++ b/tests/resources/fixtures/numberListResponse.json @@ -20,7 +20,8 @@ "resource_uri": "/v1/Account/MANWVLYTK4ZWU1YTY4ZT/Number/18135401302/", "sms_enabled": true, "sms_rate": "0.00000", - "sub_account": null, + "sub_account": "SAXXXXXXXXXXXXXXXXXX", + "sub_account_name": "Marketing", "active": true, "city": "USA", "compliance_application_id": null, diff --git a/tests/resources/test_numbers.py b/tests/resources/test_numbers.py index 76b1bfd3..3402e1ed 100644 --- a/tests/resources/test_numbers.py +++ b/tests/resources/test_numbers.py @@ -36,6 +36,8 @@ def test_numbers_list_all_invalid_params(self): def test_get(self): number = self.client.numbers.get(number_id) self.assertResponseMatches(number) + self.assertEqual('SAXXXXXXXXXXXXXXXXXX', number.sub_account) + self.assertEqual('Marketing', number.sub_account_name) self.assertUrlEqual(self.client.current_request.url, self.get_url('Number', number_id)) self.assertEqual(self.client.current_request.method, 'GET') From 123026735f5b6a98f12f8a2a3e292a52a3ede05a Mon Sep 17 00:00:00 2001 From: avinashp-plivo Date: Tue, 26 May 2026 11:23:08 +0530 Subject: [PATCH 2/2] chore: update release date to 2026-05-26 Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 120adb28..ffbeb192 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ # Change Log -## [4.60.2](https://github.com/plivo/plivo-python/tree/v4.60.2) (2026-05-25) +## [4.60.2](https://github.com/plivo/plivo-python/tree/v4.60.2) (2026-05-26) **Feature - Expose sub_account_name on Number resource** - `Number` resource now surfaces `sub_account_name` alongside the existing `sub_account` (auth_id) on rented number listing and get APIs (dynamic attribute, already worked at runtime; this release adds explicit test coverage)