strideutils 0.7.9__tar.gz → 0.7.10__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {strideutils-0.7.9 → strideutils-0.7.10}/.bumpversion.cfg +1 -1
  2. {strideutils-0.7.9 → strideutils-0.7.10}/PKG-INFO +1 -1
  3. {strideutils-0.7.9 → strideutils-0.7.10}/pyproject.toml +1 -1
  4. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/redis_connector.py +10 -6
  5. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils.egg-info/PKG-INFO +1 -1
  6. {strideutils-0.7.9 → strideutils-0.7.10}/tests/test_redis_connector.py +12 -6
  7. {strideutils-0.7.9 → strideutils-0.7.10}/.github/workflows/lint.yml +0 -0
  8. {strideutils-0.7.9 → strideutils-0.7.10}/.github/workflows/publish.yml +0 -0
  9. {strideutils-0.7.9 → strideutils-0.7.10}/.github/workflows/test.yml +0 -0
  10. {strideutils-0.7.9 → strideutils-0.7.10}/.github/workflows/version.yaml +0 -0
  11. {strideutils-0.7.9 → strideutils-0.7.10}/.gitignore +0 -0
  12. {strideutils-0.7.9 → strideutils-0.7.10}/LICENSE +0 -0
  13. {strideutils-0.7.9 → strideutils-0.7.10}/MANIFEST.in +0 -0
  14. {strideutils-0.7.9 → strideutils-0.7.10}/Makefile +0 -0
  15. {strideutils-0.7.9 → strideutils-0.7.10}/README.md +0 -0
  16. {strideutils-0.7.9 → strideutils-0.7.10}/setup.cfg +0 -0
  17. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/Makefile +0 -0
  18. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/__init__.py +0 -0
  19. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/coingecko.py +0 -0
  20. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/config_examples/env.local.example +0 -0
  21. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/config_examples/strideutils_config.yaml.example +0 -0
  22. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/cryptography.py +0 -0
  23. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/exec_tx.py +0 -0
  24. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/invariant_helpers.py +0 -0
  25. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/run_safely.py +0 -0
  26. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/sheets_connector.py +0 -0
  27. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/slack_connector.py +0 -0
  28. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/stride_alerts.py +0 -0
  29. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/stride_config.py +0 -0
  30. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/stride_requests.py +0 -0
  31. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/strideutils/__init__.pyi +0 -0
  32. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/twilio_connector.py +0 -0
  33. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils/types.py +0 -0
  34. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils.egg-info/SOURCES.txt +0 -0
  35. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils.egg-info/dependency_links.txt +0 -0
  36. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils.egg-info/requires.txt +0 -0
  37. {strideutils-0.7.9 → strideutils-0.7.10}/strideutils.egg-info/top_level.txt +0 -0
  38. {strideutils-0.7.9 → strideutils-0.7.10}/tests/test_config.py +0 -0
  39. {strideutils-0.7.9 → strideutils-0.7.10}/tests/test_encryption.py +0 -0
  40. {strideutils-0.7.9 → strideutils-0.7.10}/tests/test_sheets_connector.py +0 -0
  41. {strideutils-0.7.9 → strideutils-0.7.10}/tests/test_slack_connector.py +0 -0
  42. {strideutils-0.7.9 → strideutils-0.7.10}/tests/test_twilio_connector.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.7.9
2
+ current_version = 0.7.10
3
3
  commit = False
4
4
  tag = False
5
5
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strideutils
3
- Version: 0.7.9
3
+ Version: 0.7.10
4
4
  Summary: Utility functions for monitoring the Stride blockchain
5
5
  Author-email: Stride Labs <hello@stridelabs.co>
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "strideutils"
7
- version = "0.7.9"
7
+ version = "0.7.10"
8
8
  authors = [
9
9
  {name = "Stride Labs", email = "hello@stridelabs.co"},
10
10
  ]
@@ -63,7 +63,7 @@ ALL_DATABASE_NAMES = list(DATABASE_ENVIRONMENT_CONFIGS.keys())
63
63
 
64
64
 
65
65
  class RedisClient:
66
- """Redis client to connect to mulitple databases at once"""
66
+ """Redis client to connect to multiple databases at once"""
67
67
 
68
68
  # Mapping of database name to redis client
69
69
  _dbs: Dict[str, redis.Redis] = {}
@@ -73,17 +73,21 @@ class RedisClient:
73
73
  Initializes Redis database connections.
74
74
 
75
75
  Args:
76
- db_names: Optional database name or list of database names to initialize.
77
- If None, initializes all databases.
76
+ db_name_or_names: Optional database name or list of database names to initialize.
77
+ If None, initializes all databases.
78
78
 
79
79
  Raises:
80
- ValueError: If db_names is an empty list or contains invalid database names.
80
+ ValueError: If db_name_or_names is an empty list or contains invalid database names.
81
81
  """
82
- db_names = [db_name_or_names] if type(db_name_or_names) is str else db_name_or_names
82
+ self._dbs: Dict[str, redis.Redis] = {}
83
+
84
+ db_names = [db_name_or_names] if isinstance(db_name_or_names, str) else db_name_or_names
85
+
83
86
  if db_names is not None and len(db_names) == 0:
84
- raise ValueError("db_names cannot be an empty list")
87
+ raise ValueError("db_name_or_names cannot be an empty list")
85
88
 
86
89
  db_names = db_names or ALL_DATABASE_NAMES
90
+
87
91
  invalid_db_names = [name for name in db_names if name not in ALL_DATABASE_NAMES]
88
92
  if invalid_db_names:
89
93
  raise ValueError(f"Invalid Redis database names: {invalid_db_names}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strideutils
3
- Version: 0.7.9
3
+ Version: 0.7.10
4
4
  Summary: Utility functions for monitoring the Stride blockchain
5
5
  Author-email: Stride Labs <hello@stridelabs.co>
6
6
  License: MIT License
@@ -4,9 +4,7 @@ from strideutils.redis_connector import RedisClient
4
4
 
5
5
  @pytest.fixture(autouse=True)
6
6
  def reset_redis_client():
7
- RedisClient._reset()
8
7
  yield
9
- RedisClient._reset()
10
8
 
11
9
  @pytest.fixture
12
10
  def mock_redis():
@@ -36,10 +34,18 @@ def redis_client(mock_redis, mock_env_vars):
36
34
  client = RedisClient()
37
35
  return client
38
36
 
39
- def test_redis_client_singleton():
40
- client1 = RedisClient()
41
- client2 = RedisClient()
42
- assert client1 is client2
37
+
38
+ def test_redis_client_non_singleton():
39
+ """Test that each RedisClient instance is independent"""
40
+ client1 = RedisClient(['public'])
41
+ client2 = RedisClient(['frontend'])
42
+
43
+ # Different instances
44
+ assert client1 is not client2
45
+
46
+ # Different database connections
47
+ assert set(client1._dbs.keys()) == {'public'}
48
+ assert set(client2._dbs.keys()) == {'frontend'}
43
49
 
44
50
  def test_init_with_specific_dbs():
45
51
  client = RedisClient(['public', 'frontend'])
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes