From 5fc1acf650d40a6fbc643372140e685ff2c4d4d2 Mon Sep 17 00:00:00 2001 From: jguz-pubnub Date: Mon, 26 Jan 2026 10:15:24 +0100 Subject: [PATCH 1/5] feat: Add optional parameters to PNConfiguration.__init__ Add optional parameters to PNConfiguration.__init__ allowing developers to set subscriber_key, publish_key, and uuid during initialization. --- pubnub/pnconfiguration.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pubnub/pnconfiguration.py b/pubnub/pnconfiguration.py index 73c8aa81..8b3310ad 100644 --- a/pubnub/pnconfiguration.py +++ b/pubnub/pnconfiguration.py @@ -14,16 +14,19 @@ class PNConfiguration(object): DEFAULT_CRYPTO_MODULE = LegacyCryptoModule _locked = False - def __init__(self): + def __init__(self, + subscriber_key: str | None = None, + publish_key: str | None = None, + uuid: str | None = None): # TODO: add validation - self._uuid = None + self._uuid = uuid self.origin = "ps.pndsn.com" self.ssl = True self.non_subscribe_request_timeout = 10 self.subscribe_request_timeout = 310 self.connect_timeout = 10 - self.subscribe_key = None - self.publish_key = None + self.subscribe_key = subscriber_key + self.publish_key = publish_key self.secret_key = None self.cipher_key = None self._cipher_mode = AES.MODE_CBC From 208cc98bd29cca0ce933ab28d5a80d6261467d63 Mon Sep 17 00:00:00 2001 From: jguz-pubnub Date: Mon, 26 Jan 2026 13:07:58 +0100 Subject: [PATCH 2/5] fix: Rename subscriber_key parameter to subscribe_key for consistency --- pubnub/pnconfiguration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pubnub/pnconfiguration.py b/pubnub/pnconfiguration.py index 8b3310ad..b34e7687 100644 --- a/pubnub/pnconfiguration.py +++ b/pubnub/pnconfiguration.py @@ -15,7 +15,7 @@ class PNConfiguration(object): _locked = False def __init__(self, - subscriber_key: str | None = None, + subscribe_key: str | None = None, publish_key: str | None = None, uuid: str | None = None): # TODO: add validation @@ -25,7 +25,7 @@ def __init__(self, self.non_subscribe_request_timeout = 10 self.subscribe_request_timeout = 310 self.connect_timeout = 10 - self.subscribe_key = subscriber_key + self.subscribe_key = subscribe_key self.publish_key = publish_key self.secret_key = None self.cipher_key = None From f97858aadbaeb21367c1e3a0d4162afdf29490d9 Mon Sep 17 00:00:00 2001 From: jguz-pubnub Date: Mon, 26 Jan 2026 14:44:13 +0100 Subject: [PATCH 3/5] chore: Update CODEOWNERS list --- .github/CODEOWNERS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 845e69d1..d1a035d2 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,2 @@ -* @seba-aln @jguz-pubnub @wkal-pubnub -README.md @techwritermat @kazydek @seba-aln @jguz-pubnub +* @parfeon @jguz-pubnub +README.md @techwritermat @kazydek @parfeon @jguz-pubnub From fe2e6bf5829434f03868da2b80bd5a8224787097 Mon Sep 17 00:00:00 2001 From: jguz-pubnub Date: Mon, 26 Jan 2026 14:49:42 +0100 Subject: [PATCH 4/5] fix: Use Optional type hint for Python 3.9 compatibility --- pubnub/pnconfiguration.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pubnub/pnconfiguration.py b/pubnub/pnconfiguration.py index b34e7687..4e1d0d3d 100644 --- a/pubnub/pnconfiguration.py +++ b/pubnub/pnconfiguration.py @@ -1,5 +1,5 @@ import warnings -from typing import Any +from typing import Any, Optional from copy import deepcopy from Cryptodome.Cipher import AES from pubnub.enums import PNHeartbeatNotificationOptions, PNReconnectionPolicy @@ -15,9 +15,9 @@ class PNConfiguration(object): _locked = False def __init__(self, - subscribe_key: str | None = None, - publish_key: str | None = None, - uuid: str | None = None): + subscribe_key: Optional[str] = None, + publish_key: Optional[str] = None, + uuid: Optional[str] = None): # TODO: add validation self._uuid = uuid self.origin = "ps.pndsn.com" From 00855afb2666339b1d4354ba505c547318458548 Mon Sep 17 00:00:00 2001 From: PubNub Release Bot <120067856+pubnub-release-bot@users.noreply.github.com> Date: Thu, 29 Jan 2026 15:47:23 +0000 Subject: [PATCH 5/5] PubNub SDK 10.6.0 release. --- .pubnub.yml | 13 +++++++++---- CHANGELOG.md | 6 ++++++ setup.py | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.pubnub.yml b/.pubnub.yml index 31aa5c65..fd5ed533 100644 --- a/.pubnub.yml +++ b/.pubnub.yml @@ -1,5 +1,5 @@ name: python -version: 10.5.0 +version: 10.6.0 schema: 1 scm: github.com/pubnub/python sdks: @@ -18,7 +18,7 @@ sdks: distributions: - distribution-type: library distribution-repository: package - package-name: pubnub-10.5.0 + package-name: pubnub-10.6.0 location: https://pypi.org/project/pubnub/ supported-platforms: supported-operating-systems: @@ -94,8 +94,8 @@ sdks: - distribution-type: library distribution-repository: git release - package-name: pubnub-10.5.0 - location: https://github.com/pubnub/python/releases/download/10.5.0/pubnub-10.5.0.tar.gz + package-name: pubnub-10.6.0 + location: https://github.com/pubnub/python/releases/download/10.6.0/pubnub-10.6.0.tar.gz supported-platforms: supported-operating-systems: Linux: @@ -169,6 +169,11 @@ sdks: license-url: https://github.com/encode/httpx/blob/master/LICENSE.md is-required: Required changelog: + - date: 2026-01-29 + version: 10.6.0 + changes: + - type: feature + text: "Add optional parameters to PNConfiguration.__init__, allowing developers to set subscribe_key, publish_key, and uuid during initialization." - date: 2025-12-02 version: 10.5.0 changes: diff --git a/CHANGELOG.md b/CHANGELOG.md index fcba6b3f..deff9345 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## 10.6.0 +January 29 2026 + +#### Added +- Add optional parameters to PNConfiguration.__init__, allowing developers to set subscribe_key, publish_key, and uuid during initialization. Fixed the following issues reported by [@JanluOfficial](https://github.com/JanluOfficial): [#227](https://github.com/pubnub/python/issues/227). + ## 10.5.0 December 02 2025 diff --git a/setup.py b/setup.py index d04556c1..2ba4cbcd 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='pubnub', - version='10.5.0', + version='10.6.0', description='PubNub Real-time push service in the cloud', author='PubNub', author_email='support@pubnub.com',