vortexpy 4.0.27__tar.gz → 4.0.28__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 (103) hide show
  1. {vortexpy-4.0.27/vortexpy.egg-info → vortexpy-4.0.28}/PKG-INFO +1 -3
  2. {vortexpy-4.0.27 → vortexpy-4.0.28}/pyproject.toml +2 -1
  3. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/__init__.py +1 -1
  4. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataObservableHandler.py +14 -0
  5. {vortexpy-4.0.27 → vortexpy-4.0.28/vortexpy.egg-info}/PKG-INFO +1 -3
  6. {vortexpy-4.0.27 → vortexpy-4.0.28}/LICENSE +0 -0
  7. {vortexpy-4.0.27 → vortexpy-4.0.28}/README.md +0 -0
  8. {vortexpy-4.0.27 → vortexpy-4.0.28}/setup.cfg +0 -0
  9. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/DataWrapTuple.py +0 -0
  10. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/DeferUtil.py +0 -0
  11. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/Jsonable.py +0 -0
  12. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/Payload.py +0 -0
  13. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadEndpoint.py +0 -0
  14. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadEndpointTest.py +0 -0
  15. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadEnvelope.py +0 -0
  16. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadFilterKeys.py +0 -0
  17. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadIO.py +0 -0
  18. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadPriority.py +0 -0
  19. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadResponse.py +0 -0
  20. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadResponseTest.py +0 -0
  21. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PayloadTest.py +0 -0
  22. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/PerformTestActionTuple.py +0 -0
  23. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/SerialiseUtil.py +0 -0
  24. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TestTuple.py +0 -0
  25. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/Tuple.py +0 -0
  26. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TupleAction.py +0 -0
  27. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TupleDataForTest.py +0 -0
  28. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TuplePerfTest.py +0 -0
  29. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TuplePolymorphicTupleTypeFieldArgTest.py +0 -0
  30. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TupleRestful.py +0 -0
  31. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TupleRestfulTest.py +0 -0
  32. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TupleSelector.py +0 -0
  33. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/TupleTest.py +0 -0
  34. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexABC.py +0 -0
  35. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexAccessControlContextABC.py +0 -0
  36. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexAuthenticatorABC.py +0 -0
  37. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexClientHttp.py +0 -0
  38. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexClientHttpTest.py +0 -0
  39. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexClientTcp.py +0 -0
  40. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexClientWebsocketFactory.py +0 -0
  41. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexConnectionABC.py +0 -0
  42. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexEndpointPermission.py +0 -0
  43. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexFactory.py +0 -0
  44. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexPayloadProtocol.py +0 -0
  45. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexPermission.py +0 -0
  46. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexPermissionError.py +0 -0
  47. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexServer.py +0 -0
  48. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexServerConnection.py +0 -0
  49. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexServerHttpResource.py +0 -0
  50. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexServerTcp.py +0 -0
  51. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexServerWebsocket.py +0 -0
  52. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexSession.py +0 -0
  53. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexTcpMemoryLeakPayloadTest.py +0 -0
  54. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexTcpMemoryLeakRawTest.py +0 -0
  55. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexTest.py +0 -0
  56. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexUtil.py +0 -0
  57. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/VortexWritePushProducer.py +0 -0
  58. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/data_loader/TupleDataLiveLockManager.py +0 -0
  59. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/data_loader/TupleDataLoader.py +0 -0
  60. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/data_loader/TupleDataLoaderDelegate.py +0 -0
  61. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/data_loader/TupleDataLoaderTupleABC.py +0 -0
  62. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/data_loader/TupleDataLoaderTuples.py +0 -0
  63. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/data_loader/__init__.py +0 -0
  64. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/event_bus/TupleChangeEventABC.py +0 -0
  65. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/event_bus/TupleChangeEventBus.py +0 -0
  66. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/event_bus/TupleChangeEventBusObserverABC.py +0 -0
  67. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/event_bus/__init__.py +0 -0
  68. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleActionProcessor.py +0 -0
  69. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleActionProcessorProxy.py +0 -0
  70. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleActionProcessorTestHandler.py +0 -0
  71. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataAccessGranterABC.py +0 -0
  72. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataActionClient.py +0 -0
  73. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataObservableCache.py +0 -0
  74. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataObservableProxyHandler.py +0 -0
  75. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataObservableTestHandler.py +0 -0
  76. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataObserverClient.py +0 -0
  77. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/TupleDataProviderABC.py +0 -0
  78. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/VortexJSTupleLoaderTestHandler.py +0 -0
  79. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/handler/__init__.py +0 -0
  80. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/mypy_plugin.py +0 -0
  81. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/py.typed +0 -0
  82. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/GzippedDataHttpClient.py +0 -0
  83. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/GzippedDataHttpClientTest.py +0 -0
  84. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/GzippedPayloadHttpClient.py +0 -0
  85. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/RestfulHttpClient.py +0 -0
  86. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/RestfulHttpClientTest.py +0 -0
  87. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/RestfulResource.py +0 -0
  88. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/RestfulResourceTest.py +0 -0
  89. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/restful/__init__.py +0 -0
  90. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/rpc/RPC.py +0 -0
  91. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/rpc/RPCTest.py +0 -0
  92. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/rpc/__init__.py +0 -0
  93. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/sqla_orm/OrmCrudHandler.py +0 -0
  94. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/sqla_orm/TupleProviderForDb.py +0 -0
  95. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/sqla_orm/VortexTupleJson.py +0 -0
  96. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/sqla_orm/__init__.py +0 -0
  97. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/storage/TupleStorageSqlite.py +0 -0
  98. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortex/storage/__init__.py +0 -0
  99. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortexpy.egg-info/SOURCES.txt +0 -0
  100. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortexpy.egg-info/dependency_links.txt +0 -0
  101. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortexpy.egg-info/entry_points.txt +0 -0
  102. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortexpy.egg-info/requires.txt +0 -0
  103. {vortexpy-4.0.27 → vortexpy-4.0.28}/vortexpy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vortexpy
3
- Version: 4.0.27
3
+ Version: 4.0.28
4
4
  Summary: Flying Ion's observable, routable, data serialisation and transport code.
5
5
  Author-email: Flying Ion Pty Ltd <contact@flyingion.com>
6
6
  License: MIT License
@@ -37,7 +37,6 @@ Classifier: Programming Language :: Python :: 3.10
37
37
  Classifier: Programming Language :: Python :: 3.11
38
38
  Classifier: Programming Language :: Python :: 3.12
39
39
  Description-Content-Type: text/markdown
40
- License-File: LICENSE
41
40
  Requires-Dist: SQLAlchemy>=2.0
42
41
  Requires-Dist: GeoAlchemy2
43
42
  Requires-Dist: txwebsocket>=1.1.0
@@ -49,7 +48,6 @@ Requires-Dist: reactivex>=4.0.4
49
48
  Requires-Dist: ddt>=1.6.0
50
49
  Requires-Dist: psutil
51
50
  Requires-Dist: txhttputil>=1.2.0
52
- Dynamic: license-file
53
51
 
54
52
  # VortexPY
55
53
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "vortexpy"
7
- version = "4.0.27"
7
+ version = "4.0.28"
8
8
  license = {file = "LICENSE"}
9
9
  authors = [{name = "Flying Ion Pty Ltd", email = "contact@flyingion.com"}]
10
10
  description = "Flying Ion's observable, routable, data serialisation and transport code."
@@ -45,6 +45,7 @@ Issues = "https://gitlab.com/flyingion/vortexpy/-/issues"
45
45
 
46
46
  [tool.setuptools]
47
47
  include-package-data = false
48
+ license-files = []
48
49
 
49
50
  [tool.setuptools.packages.find]
50
51
  exclude = ["test"]
@@ -6,4 +6,4 @@
6
6
  # Website : https://flyingion.com
7
7
  # Support : contact@flyingion.com
8
8
 
9
- __version__ = '4.0.27'
9
+ __version__ = '4.0.28'
@@ -176,6 +176,20 @@ class TupleDataObservableHandler:
176
176
  for jsonStr in self._observerDataByTupleSelector
177
177
  ]
178
178
 
179
+ def tupleSubscriberCount(
180
+ self, tupleNames: Optional[frozenset[str]] = None
181
+ ) -> int:
182
+ subscriberVortexUuids: set[str] = set()
183
+ for observerData in self._observerDataByTupleSelector.values():
184
+ if (
185
+ tupleNames is not None
186
+ and observerData.tupleSelector.name not in tupleNames
187
+ ):
188
+ continue
189
+ for observerDetails in observerData.observers:
190
+ subscriberVortexUuids.add(observerDetails.vortexUuid)
191
+ return len(subscriberVortexUuids)
192
+
179
193
  def shutdown(self):
180
194
  self._endpoint.shutdown()
181
195
  self._tupleSelectorUpdateMappers = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vortexpy
3
- Version: 4.0.27
3
+ Version: 4.0.28
4
4
  Summary: Flying Ion's observable, routable, data serialisation and transport code.
5
5
  Author-email: Flying Ion Pty Ltd <contact@flyingion.com>
6
6
  License: MIT License
@@ -37,7 +37,6 @@ Classifier: Programming Language :: Python :: 3.10
37
37
  Classifier: Programming Language :: Python :: 3.11
38
38
  Classifier: Programming Language :: Python :: 3.12
39
39
  Description-Content-Type: text/markdown
40
- License-File: LICENSE
41
40
  Requires-Dist: SQLAlchemy>=2.0
42
41
  Requires-Dist: GeoAlchemy2
43
42
  Requires-Dist: txwebsocket>=1.1.0
@@ -49,7 +48,6 @@ Requires-Dist: reactivex>=4.0.4
49
48
  Requires-Dist: ddt>=1.6.0
50
49
  Requires-Dist: psutil
51
50
  Requires-Dist: txhttputil>=1.2.0
52
- Dynamic: license-file
53
51
 
54
52
  # VortexPY
55
53
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes