|
112 | 112 | "source": [ |
113 | 113 | "import valkey\n", |
114 | 114 | "\n", |
115 | | - "user_connection = valkey.Valkey(host='localhost', port=6380, username='dvora', password='valkey', decode_responses=True)\n", |
| 115 | + "user_connection = valkey.Valkey(\n", |
| 116 | + " host=\"localhost\",\n", |
| 117 | + " port=6380,\n", |
| 118 | + " username=\"dvora\",\n", |
| 119 | + " password=\"valkey\",\n", |
| 120 | + " decode_responses=True,\n", |
| 121 | + ")\n", |
116 | 122 | "user_connection.ping()" |
117 | 123 | ] |
118 | 124 | }, |
|
132 | 138 | "import valkey\n", |
133 | 139 | "\n", |
134 | 140 | "creds_provider = valkey.UsernamePasswordCredentialProvider(\"username\", \"password\")\n", |
135 | | - "user_connection = valkey.Valkey(host=\"localhost\", port=6379, credential_provider=creds_provider)\n", |
| 141 | + "user_connection = valkey.Valkey(\n", |
| 142 | + " host=\"localhost\", port=6379, credential_provider=creds_provider\n", |
| 143 | + ")\n", |
136 | 144 | "user_connection.ping()" |
137 | 145 | ] |
138 | 146 | }, |
|
152 | 160 | "from typing import Tuple\n", |
153 | 161 | "import valkey\n", |
154 | 162 | "\n", |
155 | | - "creds_map = {\"user_1\": \"pass_1\",\n", |
156 | | - " \"user_2\": \"pass_2\"}\n", |
| 163 | + "creds_map = {\"user_1\": \"pass_1\", \"user_2\": \"pass_2\"}\n", |
| 164 | + "\n", |
157 | 165 | "\n", |
158 | 166 | "class UserMapCredentialProvider(valkey.CredentialProvider):\n", |
159 | 167 | " def __init__(self, username: str):\n", |
|
162 | 170 | " def get_credentials(self) -> Tuple[str, str]:\n", |
163 | 171 | " return self.username, creds_map.get(self.username)\n", |
164 | 172 | "\n", |
| 173 | + "\n", |
165 | 174 | "# Create a default connection to set the ACL user\n", |
166 | 175 | "default_connection = valkey.Valkey(host=\"localhost\", port=6379)\n", |
167 | 176 | "default_connection.acl_setuser(\n", |
|
175 | 184 | "# Create a UserMapCredentialProvider instance for user_1\n", |
176 | 185 | "creds_provider = UserMapCredentialProvider(\"user_1\")\n", |
177 | 186 | "# Initiate user connection with the credential provider\n", |
178 | | - "user_connection = valkey.Valkey(host=\"localhost\", port=6379,\n", |
179 | | - " credential_provider=creds_provider)\n", |
| 187 | + "user_connection = valkey.Valkey(\n", |
| 188 | + " host=\"localhost\", port=6379, credential_provider=creds_provider\n", |
| 189 | + ")\n", |
180 | 190 | "user_connection.ping()" |
181 | 191 | ] |
182 | 192 | }, |
|
196 | 206 | "from typing import Union\n", |
197 | 207 | "import valkey\n", |
198 | 208 | "\n", |
| 209 | + "\n", |
199 | 210 | "class InitCredsSetCredentialProvider(valkey.CredentialProvider):\n", |
200 | 211 | " def __init__(self, username, password):\n", |
201 | 212 | " self.username = username\n", |
|
213 | 224 | " self.call_supplier = True\n", |
214 | 225 | " return self.username, self.password\n", |
215 | 226 | "\n", |
216 | | - "cred_provider = InitCredsSetCredentialProvider(username=\"init_user\", password=\"init_pass\")" |
| 227 | + "\n", |
| 228 | + "cred_provider = InitCredsSetCredentialProvider(\n", |
| 229 | + " username=\"init_user\", password=\"init_pass\"\n", |
| 230 | + ")" |
217 | 231 | ] |
218 | 232 | }, |
219 | 233 | { |
|
241 | 255 | "import json\n", |
242 | 256 | "import cachetools.func\n", |
243 | 257 | "\n", |
| 258 | + "\n", |
244 | 259 | "class SecretsManagerProvider(valkey.CredentialProvider):\n", |
245 | | - " def __init__(self, secret_id, version_id=None, version_stage='AWSCURRENT'):\n", |
246 | | - " self.sm_client = boto3.client('secretsmanager')\n", |
| 260 | + " def __init__(self, secret_id, version_id=None, version_stage=\"AWSCURRENT\"):\n", |
| 261 | + " self.sm_client = boto3.client(\"secretsmanager\")\n", |
247 | 262 | " self.secret_id = secret_id\n", |
248 | 263 | " self.version_id = version_id\n", |
249 | 264 | " self.version_stage = version_stage\n", |
250 | 265 | "\n", |
251 | 266 | " def get_credentials(self) -> Union[Tuple[str], Tuple[str, str]]:\n", |
252 | | - " @cachetools.func.ttl_cache(maxsize=128, ttl=24 * 60 * 60) #24h\n", |
| 267 | + " @cachetools.func.ttl_cache(maxsize=128, ttl=24 * 60 * 60) # 24h\n", |
253 | 268 | " def get_sm_user_credentials(secret_id, version_id, version_stage):\n", |
254 | 269 | " secret = self.sm_client.get_secret_value(secret_id, version_id)\n", |
255 | | - " return json.loads(secret['SecretString'])\n", |
256 | | - " creds = get_sm_user_credentials(self.secret_id, self.version_id, self.version_stage)\n", |
257 | | - " return creds['username'], creds['password']\n", |
| 270 | + " return json.loads(secret[\"SecretString\"])\n", |
| 271 | + "\n", |
| 272 | + " creds = get_sm_user_credentials(\n", |
| 273 | + " self.secret_id, self.version_id, self.version_stage\n", |
| 274 | + " )\n", |
| 275 | + " return creds[\"username\"], creds[\"password\"]\n", |
| 276 | + "\n", |
258 | 277 | "\n", |
259 | 278 | "my_secret_id = \"EXAMPLE1-90ab-cdef-fedc-ba987SECRET1\"\n", |
260 | 279 | "creds_provider = SecretsManagerProvider(secret_id=my_secret_id)\n", |
261 | | - "user_connection = valkey.Valkey(host=\"localhost\", port=6379, credential_provider=creds_provider)\n", |
| 280 | + "user_connection = valkey.Valkey(\n", |
| 281 | + " host=\"localhost\", port=6379, credential_provider=creds_provider\n", |
| 282 | + ")\n", |
262 | 283 | "user_connection.ping()" |
263 | 284 | ] |
264 | 285 | }, |
|
295 | 316 | "from botocore.signers import RequestSigner\n", |
296 | 317 | "from cachetools import TTLCache, cached\n", |
297 | 318 | "\n", |
| 319 | + "\n", |
298 | 320 | "class ElastiCacheIAMProvider(valkey.CredentialProvider):\n", |
299 | 321 | " def __init__(self, user, cluster_name, region=\"us-east-1\"):\n", |
300 | 322 | " self.user = user\n", |
|
336 | 358 | " # So strip it off the signed URL before returning\n", |
337 | 359 | " return (self.user, signed_url.removeprefix(\"https://\"))\n", |
338 | 360 | "\n", |
| 361 | + "\n", |
339 | 362 | "username = \"barshaul\"\n", |
340 | 363 | "cluster_name = \"test-001\"\n", |
341 | 364 | "endpoint = \"test-001.use1.cache.amazonaws.com\"\n", |
342 | 365 | "creds_provider = ElastiCacheIAMProvider(user=username, cluster_name=cluster_name)\n", |
343 | | - "user_connection = valkey.Valkey(host=endpoint, port=6379, credential_provider=creds_provider)\n", |
| 366 | + "user_connection = valkey.Valkey(\n", |
| 367 | + " host=endpoint, port=6379, credential_provider=creds_provider\n", |
| 368 | + ")\n", |
344 | 369 | "user_connection.ping()" |
345 | 370 | ] |
346 | 371 | }, |
|
375 | 400 | } |
376 | 401 | ], |
377 | 402 | "source": [ |
378 | | - "url_connection = valkey.from_url(\"valkey://localhost:6379?decode_responses=True&health_check_interval=2\")\n", |
| 403 | + "url_connection = valkey.from_url(\n", |
| 404 | + " \"valkey://localhost:6379?decode_responses=True&health_check_interval=2\"\n", |
| 405 | + ")\n", |
379 | 406 | "url_connection.ping()" |
380 | 407 | ] |
381 | 408 | }, |
|
392 | 419 | "metadata": {}, |
393 | 420 | "outputs": [], |
394 | 421 | "source": [ |
395 | | - "url_connection = valkey.from_url(\"valkey://localhost:6379?decode_responses=True&health_check_interval=2&protocol=3\")\n", |
| 422 | + "url_connection = valkey.from_url(\n", |
| 423 | + " \"valkey://localhost:6379?decode_responses=True&health_check_interval=2&protocol=3\"\n", |
| 424 | + ")\n", |
396 | 425 | "url_connection.ping()" |
397 | 426 | ] |
398 | 427 | }, |
|
410 | 439 | "outputs": [], |
411 | 440 | "source": [ |
412 | 441 | "from valkey.sentinel import Sentinel\n", |
413 | | - "sentinel = Sentinel([('localhost', 26379)], socket_timeout=0.1)\n", |
| 442 | + "\n", |
| 443 | + "sentinel = Sentinel([(\"localhost\", 26379)], socket_timeout=0.1)\n", |
414 | 444 | "sentinel.discover_master(\"valkey-py-test\")" |
415 | 445 | ] |
416 | 446 | } |
|
0 commit comments