shareddata 6.86.0__tar.gz → 6.86.1__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.
- shareddata-6.86.1/PKG-INFO +164 -0
- shareddata-6.86.1/README.md +89 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/setup.py +2 -2
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/apidocs.yml +1 -1
- shareddata-6.86.1/src/shareddata.egg-info/PKG-INFO +164 -0
- shareddata-6.86.0/PKG-INFO +0 -245
- shareddata-6.86.0/README.md +0 -170
- shareddata-6.86.0/src/shareddata.egg-info/PKG-INFO +0 -245
- {shareddata-6.86.0 → shareddata-6.86.1}/LICENSE +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/MANIFEST.in +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/pyproject.toml +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/setup.cfg +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/ServerGunicorn.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/ServerWaitress.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/apidocs-dark.css +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/auth.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/constants.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/download_paths.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/download_slots.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/install/worker.ps1 +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/install/worker.sh +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/listcache.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/cache.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/collections.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/data.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/downloads.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/metadata.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/operations.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/schedules.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/sqlite.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/system.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/tables.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/timeseries.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/web_routes.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/routes/workers.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/API/utils.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Auth/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Auth/bootstrap.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Auth/migrate.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Auth/store.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Auth/workers.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/CacheRedis.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/CollectionMongoDB.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/catalog.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/config.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/errors.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/indexes.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/readers.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/resolve.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/DataAPI/service.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Database.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Defaults.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/AWSEC2.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/AWSS3.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/AutoDocstrings.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/ClientAPI.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/ClientSocket.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/ClientWebSocket.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/LogHandlerAPI.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/LogReader.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/MongoDBClient.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/SaveTables.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/ServerSocket.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/ServerWebSocket.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/StreamsCache.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/StreamsPersist.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/SyncTable.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/TunnelWebSocket.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/IO/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Listing.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/LockWaiters.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Logger.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/MCP/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/MCP/__main__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/MCP/client.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/MCP/server.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Metadata.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/MultiProc.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/OpenFIGI.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Redaction.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/ArchiveOldCollections.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/BatchJob.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/ContainerHealth.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/JobStore.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/RoutineCommand.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/RoutineOrigin.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/Schedule.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/ScheduleMirror.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/ScheduleMonitor.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/ScheduleStore.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/Scheduler.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/UpdateActiveJobs.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/Worker.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/WorkerBootstrap.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/WorkerLib.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/WorkerPool.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Routines/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/SQLite.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/SharedData.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/SharedNumpy.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/StreamKafka.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Symbol.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Table.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableDisk.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableIndex.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableIndexJitFunctions.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableIndexJitFunctionsManual.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableIndexJitGenerate.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableIndexJitHash.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableIndexJitLoc.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableProtocol.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableRead.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TableRewrite.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TimeSeriesDisk.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/TimeseriesContainer.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Users.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Utils.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/ADDING_A_PAGE.md +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/activity_logger.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/app.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/assets/dashAgGridComponentFunctions.js +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/assets/dashAgGridFunctions.js +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/assets/google_logo.png +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/assets/kafka_keys.js +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/assets/logs.css +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/assets/sched.css +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/assets/styles.css +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/auth.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/backends.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/config.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/containers.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/identity.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/kafka_view.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/mongo_view.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/proc.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/redis_view.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/route_health.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/route_registry.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/sched.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/schedule_editor.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/server.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/services.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/shell.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/standalone.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/account.js +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/custom.css +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/favicon.ico +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/favicon.png +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/logo.png +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/logo_96x96.png +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/shareddata-mark.svg +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/shell.css +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/shell.js +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/standalone.css +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/static/standalone.js +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/suggest.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/account.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/base.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/claim.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/claim_done.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/dash.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/index.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/login.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/login_2fa.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/partials/navbar.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/partials/scripts.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/recovery_codes.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/shell.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/templates/standalone.html +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/twofactor.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/utils.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/Web/workerpool.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/__init__.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/build_info.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/fleet.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/preflight.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/private_files.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/release_backup.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/server.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/services.py +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/SharedData/sharedmutexwin.pyd +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/shareddata.egg-info/SOURCES.txt +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/shareddata.egg-info/dependency_links.txt +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/shareddata.egg-info/entry_points.txt +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/shareddata.egg-info/requires.txt +0 -0
- {shareddata-6.86.0 → shareddata-6.86.1}/src/shareddata.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: shareddata
|
|
3
|
+
Version: 6.86.1
|
|
4
|
+
Summary: Memory-mapped record and time-series store with an HTTP API and a distributed scheduler
|
|
5
|
+
Home-page: https://shareddata.net
|
|
6
|
+
Author: shareddata
|
|
7
|
+
Author-email: admin@shareddata.net
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Homepage, https://shareddata.net
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Requires-Python: >=3.11, <3.13
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: ipykernel<8,>=7.4
|
|
19
|
+
Requires-Dist: python-json-logger<5,>=4.2
|
|
20
|
+
Requires-Dist: python-dotenv<2,>=1.2.4
|
|
21
|
+
Requires-Dist: pandas<3,>=2.2
|
|
22
|
+
Requires-Dist: scipy<1.18,>=1.14
|
|
23
|
+
Requires-Dist: numpy<1.27,>=1.26.4
|
|
24
|
+
Requires-Dist: numba==0.59.1
|
|
25
|
+
Requires-Dist: XlsxWriter<4,>=3.2.9
|
|
26
|
+
Requires-Dist: openpyxl<4,>=3.1.5
|
|
27
|
+
Requires-Dist: tqdm<5,>=4.70.1
|
|
28
|
+
Requires-Dist: cffi<3,>=2.1
|
|
29
|
+
Requires-Dist: tzlocal<6,>=5.4.4
|
|
30
|
+
Requires-Dist: websockets<18,>=17.1
|
|
31
|
+
Requires-Dist: lz4<5,>=4.4.5
|
|
32
|
+
Requires-Dist: flask<4,>=3.1.3
|
|
33
|
+
Requires-Dist: waitress<4,>=3.0.2
|
|
34
|
+
Requires-Dist: requests<3,>=2.34.2
|
|
35
|
+
Requires-Dist: flasgger==0.9.7.1
|
|
36
|
+
Requires-Dist: pymongo<5,>=4.18.2
|
|
37
|
+
Requires-Dist: setuptools>=84
|
|
38
|
+
Requires-Dist: filelock<5,>=4.0.9
|
|
39
|
+
Requires-Dist: gunicorn<27,>=26.2
|
|
40
|
+
Requires-Dist: aiohttp<4,>=3.14.3
|
|
41
|
+
Requires-Dist: boto3<2,>=1.43
|
|
42
|
+
Requires-Dist: confluent-kafka<3,>=2.15.1
|
|
43
|
+
Requires-Dist: aiokafka<1,>=0.14
|
|
44
|
+
Requires-Dist: redis<9,>=8.1
|
|
45
|
+
Requires-Dist: Authlib<2,>=1.8
|
|
46
|
+
Requires-Dist: PyJWT<3,>=2.8
|
|
47
|
+
Requires-Dist: argon2-cffi<26,>=25.1
|
|
48
|
+
Requires-Dist: flask-jwt-extended<5,>=4.6
|
|
49
|
+
Requires-Dist: cryptography<51,>=50.0.2
|
|
50
|
+
Requires-Dist: segno<2,>=1.6
|
|
51
|
+
Requires-Dist: psutil<8,>=5.9
|
|
52
|
+
Requires-Dist: mcp>=1.27
|
|
53
|
+
Requires-Dist: httpx>=0.27
|
|
54
|
+
Provides-Extra: test
|
|
55
|
+
Requires-Dist: pytest<10,>=8.3.4; extra == "test"
|
|
56
|
+
Requires-Dist: pytest-asyncio<2,>=0.24; extra == "test"
|
|
57
|
+
Requires-Dist: playwright<2,>=1.63; extra == "test"
|
|
58
|
+
Provides-Extra: s3
|
|
59
|
+
Provides-Extra: kafka
|
|
60
|
+
Provides-Extra: redis
|
|
61
|
+
Provides-Extra: all
|
|
62
|
+
Dynamic: author
|
|
63
|
+
Dynamic: author-email
|
|
64
|
+
Dynamic: classifier
|
|
65
|
+
Dynamic: description
|
|
66
|
+
Dynamic: description-content-type
|
|
67
|
+
Dynamic: home-page
|
|
68
|
+
Dynamic: license
|
|
69
|
+
Dynamic: license-file
|
|
70
|
+
Dynamic: project-url
|
|
71
|
+
Dynamic: provides-extra
|
|
72
|
+
Dynamic: requires-dist
|
|
73
|
+
Dynamic: requires-python
|
|
74
|
+
Dynamic: summary
|
|
75
|
+
|
|
76
|
+
# SharedData
|
|
77
|
+
|
|
78
|
+
SharedData is an open-source memory-mapped store for records and time series —
|
|
79
|
+
in the workload category of tick stores such as kdb+ — plus the scheduler and
|
|
80
|
+
worker fleet that produce the data. Local processes map the same files through
|
|
81
|
+
the operating system's page cache; indexed writes coordinate through a
|
|
82
|
+
per-table process lock. Remote clients use an authenticated HTTP API; shared
|
|
83
|
+
memory does not span hosts.
|
|
84
|
+
|
|
85
|
+
Website and manual: <https://shareddata.net>
|
|
86
|
+
|
|
87
|
+
## Install
|
|
88
|
+
|
|
89
|
+
Python 3.11 or 3.12:
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
python -m pip install shareddata
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The [quick start](https://shareddata.net/docs/QUICK_START/) uses illustrative
|
|
96
|
+
records in isolated storage. See [configuration](https://shareddata.net/docs/CONFIGURATION/)
|
|
97
|
+
for public environment names and [Windows limitations](https://shareddata.net/docs/WINDOWS/)
|
|
98
|
+
for native requirements and rewrite behavior.
|
|
99
|
+
|
|
100
|
+
## A record in one minute
|
|
101
|
+
|
|
102
|
+
Save as `example.py` after setting up isolated storage in the
|
|
103
|
+
[quick start](https://shareddata.net/docs/QUICK_START/), then run `python example.py`:
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
from SharedData.SharedData import SharedData
|
|
107
|
+
import pandas as pd
|
|
108
|
+
|
|
109
|
+
store = SharedData(__file__, user="example")
|
|
110
|
+
index = pd.MultiIndex.from_tuples(
|
|
111
|
+
[(pd.Timestamp("2026-01-02"), "EXAMPLE")],
|
|
112
|
+
names=["date", "symbol"],
|
|
113
|
+
)
|
|
114
|
+
rows = pd.DataFrame({"close": [100.0]}, index=index)
|
|
115
|
+
records = store.table(
|
|
116
|
+
"MarketData", "D1", "DEMO", "PRICES",
|
|
117
|
+
value=rows,
|
|
118
|
+
)
|
|
119
|
+
print(records.loc["2026-01-02", "EXAMPLE"])
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Containers and execution
|
|
123
|
+
|
|
124
|
+
- [Tables](https://shareddata.net/docs/core/table/): structured NumPy records and primary-key lookup.
|
|
125
|
+
- [Time series](https://shareddata.net/docs/core/timeseries/): timestamped float matrices.
|
|
126
|
+
- Collections, Redis caches, Kafka streams and optional S3 integration.
|
|
127
|
+
- [HTTP API](https://shareddata.net/docs/guide/swagger/): authenticated remote access.
|
|
128
|
+
- [Measured latency](https://shareddata.net/docs/performance/): what the containers cost in practice.
|
|
129
|
+
|
|
130
|
+
## A store and the fleet that fills it
|
|
131
|
+
|
|
132
|
+
A routine is any program the Scheduler owns — a feed collector, a parser, a
|
|
133
|
+
consolidation job, an API server. A schedule lists the routines that should
|
|
134
|
+
stay alive or run at their times. Batch routines wait for their batch dependencies
|
|
135
|
+
to complete; realtime routines wait for their realtime dependencies to be running.
|
|
136
|
+
Dependencies between the two kinds are not enforced at runtime. Commands travel
|
|
137
|
+
through a per-host worker pool that validates the requested source revision
|
|
138
|
+
before every launch; routines report heartbeats and lifecycle messages through
|
|
139
|
+
the logging plane, and the Scheduler writes queryable state into the store.
|
|
140
|
+
|
|
141
|
+
- [Orchestration](https://shareddata.net/docs/orchestration/): the routine model, the Scheduler's tick and the worker pool.
|
|
142
|
+
- [Use cases](https://shareddata.net/docs/use-cases/): the workloads a production deployment runs, generalized.
|
|
143
|
+
- [Schedules](https://shareddata.net/docs/scheduler-store/) and [batch jobs](https://shareddata.net/docs/job-store/): where the state lives.
|
|
144
|
+
|
|
145
|
+
## Data by symbol
|
|
146
|
+
|
|
147
|
+
The [semantic data API](https://shareddata.net/docs/data-api/) resolves a
|
|
148
|
+
symbol or entity to a dataset and includes provenance. It is a convenience,
|
|
149
|
+
not the fast path: producers keep using direct container interfaces for
|
|
150
|
+
performance-critical work.
|
|
151
|
+
|
|
152
|
+
## Client integration
|
|
153
|
+
|
|
154
|
+
[Client integration](https://shareddata.net/docs/ecosystem/) covers
|
|
155
|
+
authenticated API access, the MCP server for compatible agent clients, and
|
|
156
|
+
worker access.
|
|
157
|
+
|
|
158
|
+
## Development and license
|
|
159
|
+
|
|
160
|
+
Submit changes through the repository's review process. Read the
|
|
161
|
+
[development guide](https://shareddata.net/docs/DEVELOPMENT/) and run the
|
|
162
|
+
checks relevant to your change; [building and publishing](https://shareddata.net/docs/guide/building/)
|
|
163
|
+
explains how the public site is produced and audited. SharedData is released
|
|
164
|
+
under the MIT license; see `LICENSE` in the source distribution.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# SharedData
|
|
2
|
+
|
|
3
|
+
SharedData is an open-source memory-mapped store for records and time series —
|
|
4
|
+
in the workload category of tick stores such as kdb+ — plus the scheduler and
|
|
5
|
+
worker fleet that produce the data. Local processes map the same files through
|
|
6
|
+
the operating system's page cache; indexed writes coordinate through a
|
|
7
|
+
per-table process lock. Remote clients use an authenticated HTTP API; shared
|
|
8
|
+
memory does not span hosts.
|
|
9
|
+
|
|
10
|
+
Website and manual: <https://shareddata.net>
|
|
11
|
+
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
Python 3.11 or 3.12:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
python -m pip install shareddata
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
The [quick start](https://shareddata.net/docs/QUICK_START/) uses illustrative
|
|
21
|
+
records in isolated storage. See [configuration](https://shareddata.net/docs/CONFIGURATION/)
|
|
22
|
+
for public environment names and [Windows limitations](https://shareddata.net/docs/WINDOWS/)
|
|
23
|
+
for native requirements and rewrite behavior.
|
|
24
|
+
|
|
25
|
+
## A record in one minute
|
|
26
|
+
|
|
27
|
+
Save as `example.py` after setting up isolated storage in the
|
|
28
|
+
[quick start](https://shareddata.net/docs/QUICK_START/), then run `python example.py`:
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
from SharedData.SharedData import SharedData
|
|
32
|
+
import pandas as pd
|
|
33
|
+
|
|
34
|
+
store = SharedData(__file__, user="example")
|
|
35
|
+
index = pd.MultiIndex.from_tuples(
|
|
36
|
+
[(pd.Timestamp("2026-01-02"), "EXAMPLE")],
|
|
37
|
+
names=["date", "symbol"],
|
|
38
|
+
)
|
|
39
|
+
rows = pd.DataFrame({"close": [100.0]}, index=index)
|
|
40
|
+
records = store.table(
|
|
41
|
+
"MarketData", "D1", "DEMO", "PRICES",
|
|
42
|
+
value=rows,
|
|
43
|
+
)
|
|
44
|
+
print(records.loc["2026-01-02", "EXAMPLE"])
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Containers and execution
|
|
48
|
+
|
|
49
|
+
- [Tables](https://shareddata.net/docs/core/table/): structured NumPy records and primary-key lookup.
|
|
50
|
+
- [Time series](https://shareddata.net/docs/core/timeseries/): timestamped float matrices.
|
|
51
|
+
- Collections, Redis caches, Kafka streams and optional S3 integration.
|
|
52
|
+
- [HTTP API](https://shareddata.net/docs/guide/swagger/): authenticated remote access.
|
|
53
|
+
- [Measured latency](https://shareddata.net/docs/performance/): what the containers cost in practice.
|
|
54
|
+
|
|
55
|
+
## A store and the fleet that fills it
|
|
56
|
+
|
|
57
|
+
A routine is any program the Scheduler owns — a feed collector, a parser, a
|
|
58
|
+
consolidation job, an API server. A schedule lists the routines that should
|
|
59
|
+
stay alive or run at their times. Batch routines wait for their batch dependencies
|
|
60
|
+
to complete; realtime routines wait for their realtime dependencies to be running.
|
|
61
|
+
Dependencies between the two kinds are not enforced at runtime. Commands travel
|
|
62
|
+
through a per-host worker pool that validates the requested source revision
|
|
63
|
+
before every launch; routines report heartbeats and lifecycle messages through
|
|
64
|
+
the logging plane, and the Scheduler writes queryable state into the store.
|
|
65
|
+
|
|
66
|
+
- [Orchestration](https://shareddata.net/docs/orchestration/): the routine model, the Scheduler's tick and the worker pool.
|
|
67
|
+
- [Use cases](https://shareddata.net/docs/use-cases/): the workloads a production deployment runs, generalized.
|
|
68
|
+
- [Schedules](https://shareddata.net/docs/scheduler-store/) and [batch jobs](https://shareddata.net/docs/job-store/): where the state lives.
|
|
69
|
+
|
|
70
|
+
## Data by symbol
|
|
71
|
+
|
|
72
|
+
The [semantic data API](https://shareddata.net/docs/data-api/) resolves a
|
|
73
|
+
symbol or entity to a dataset and includes provenance. It is a convenience,
|
|
74
|
+
not the fast path: producers keep using direct container interfaces for
|
|
75
|
+
performance-critical work.
|
|
76
|
+
|
|
77
|
+
## Client integration
|
|
78
|
+
|
|
79
|
+
[Client integration](https://shareddata.net/docs/ecosystem/) covers
|
|
80
|
+
authenticated API access, the MCP server for compatible agent clients, and
|
|
81
|
+
worker access.
|
|
82
|
+
|
|
83
|
+
## Development and license
|
|
84
|
+
|
|
85
|
+
Submit changes through the repository's review process. Read the
|
|
86
|
+
[development guide](https://shareddata.net/docs/DEVELOPMENT/) and run the
|
|
87
|
+
checks relevant to your change; [building and publishing](https://shareddata.net/docs/guide/building/)
|
|
88
|
+
explains how the public site is produced and audited. SharedData is released
|
|
89
|
+
under the MIT license; see `LICENSE` in the source distribution.
|
|
@@ -66,8 +66,8 @@ test_requires = [
|
|
|
66
66
|
|
|
67
67
|
setup(
|
|
68
68
|
name='shareddata',
|
|
69
|
-
version='6.86.
|
|
70
|
-
description='Memory
|
|
69
|
+
version='6.86.1',
|
|
70
|
+
description='Memory-mapped record and time-series store with an HTTP API and a distributed scheduler',
|
|
71
71
|
author='shareddata',
|
|
72
72
|
author_email='admin@shareddata.net',
|
|
73
73
|
url='https://shareddata.net',
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: shareddata
|
|
3
|
+
Version: 6.86.1
|
|
4
|
+
Summary: Memory-mapped record and time-series store with an HTTP API and a distributed scheduler
|
|
5
|
+
Home-page: https://shareddata.net
|
|
6
|
+
Author: shareddata
|
|
7
|
+
Author-email: admin@shareddata.net
|
|
8
|
+
License: MIT
|
|
9
|
+
Project-URL: Homepage, https://shareddata.net
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Requires-Python: >=3.11, <3.13
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: ipykernel<8,>=7.4
|
|
19
|
+
Requires-Dist: python-json-logger<5,>=4.2
|
|
20
|
+
Requires-Dist: python-dotenv<2,>=1.2.4
|
|
21
|
+
Requires-Dist: pandas<3,>=2.2
|
|
22
|
+
Requires-Dist: scipy<1.18,>=1.14
|
|
23
|
+
Requires-Dist: numpy<1.27,>=1.26.4
|
|
24
|
+
Requires-Dist: numba==0.59.1
|
|
25
|
+
Requires-Dist: XlsxWriter<4,>=3.2.9
|
|
26
|
+
Requires-Dist: openpyxl<4,>=3.1.5
|
|
27
|
+
Requires-Dist: tqdm<5,>=4.70.1
|
|
28
|
+
Requires-Dist: cffi<3,>=2.1
|
|
29
|
+
Requires-Dist: tzlocal<6,>=5.4.4
|
|
30
|
+
Requires-Dist: websockets<18,>=17.1
|
|
31
|
+
Requires-Dist: lz4<5,>=4.4.5
|
|
32
|
+
Requires-Dist: flask<4,>=3.1.3
|
|
33
|
+
Requires-Dist: waitress<4,>=3.0.2
|
|
34
|
+
Requires-Dist: requests<3,>=2.34.2
|
|
35
|
+
Requires-Dist: flasgger==0.9.7.1
|
|
36
|
+
Requires-Dist: pymongo<5,>=4.18.2
|
|
37
|
+
Requires-Dist: setuptools>=84
|
|
38
|
+
Requires-Dist: filelock<5,>=4.0.9
|
|
39
|
+
Requires-Dist: gunicorn<27,>=26.2
|
|
40
|
+
Requires-Dist: aiohttp<4,>=3.14.3
|
|
41
|
+
Requires-Dist: boto3<2,>=1.43
|
|
42
|
+
Requires-Dist: confluent-kafka<3,>=2.15.1
|
|
43
|
+
Requires-Dist: aiokafka<1,>=0.14
|
|
44
|
+
Requires-Dist: redis<9,>=8.1
|
|
45
|
+
Requires-Dist: Authlib<2,>=1.8
|
|
46
|
+
Requires-Dist: PyJWT<3,>=2.8
|
|
47
|
+
Requires-Dist: argon2-cffi<26,>=25.1
|
|
48
|
+
Requires-Dist: flask-jwt-extended<5,>=4.6
|
|
49
|
+
Requires-Dist: cryptography<51,>=50.0.2
|
|
50
|
+
Requires-Dist: segno<2,>=1.6
|
|
51
|
+
Requires-Dist: psutil<8,>=5.9
|
|
52
|
+
Requires-Dist: mcp>=1.27
|
|
53
|
+
Requires-Dist: httpx>=0.27
|
|
54
|
+
Provides-Extra: test
|
|
55
|
+
Requires-Dist: pytest<10,>=8.3.4; extra == "test"
|
|
56
|
+
Requires-Dist: pytest-asyncio<2,>=0.24; extra == "test"
|
|
57
|
+
Requires-Dist: playwright<2,>=1.63; extra == "test"
|
|
58
|
+
Provides-Extra: s3
|
|
59
|
+
Provides-Extra: kafka
|
|
60
|
+
Provides-Extra: redis
|
|
61
|
+
Provides-Extra: all
|
|
62
|
+
Dynamic: author
|
|
63
|
+
Dynamic: author-email
|
|
64
|
+
Dynamic: classifier
|
|
65
|
+
Dynamic: description
|
|
66
|
+
Dynamic: description-content-type
|
|
67
|
+
Dynamic: home-page
|
|
68
|
+
Dynamic: license
|
|
69
|
+
Dynamic: license-file
|
|
70
|
+
Dynamic: project-url
|
|
71
|
+
Dynamic: provides-extra
|
|
72
|
+
Dynamic: requires-dist
|
|
73
|
+
Dynamic: requires-python
|
|
74
|
+
Dynamic: summary
|
|
75
|
+
|
|
76
|
+
# SharedData
|
|
77
|
+
|
|
78
|
+
SharedData is an open-source memory-mapped store for records and time series —
|
|
79
|
+
in the workload category of tick stores such as kdb+ — plus the scheduler and
|
|
80
|
+
worker fleet that produce the data. Local processes map the same files through
|
|
81
|
+
the operating system's page cache; indexed writes coordinate through a
|
|
82
|
+
per-table process lock. Remote clients use an authenticated HTTP API; shared
|
|
83
|
+
memory does not span hosts.
|
|
84
|
+
|
|
85
|
+
Website and manual: <https://shareddata.net>
|
|
86
|
+
|
|
87
|
+
## Install
|
|
88
|
+
|
|
89
|
+
Python 3.11 or 3.12:
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
python -m pip install shareddata
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The [quick start](https://shareddata.net/docs/QUICK_START/) uses illustrative
|
|
96
|
+
records in isolated storage. See [configuration](https://shareddata.net/docs/CONFIGURATION/)
|
|
97
|
+
for public environment names and [Windows limitations](https://shareddata.net/docs/WINDOWS/)
|
|
98
|
+
for native requirements and rewrite behavior.
|
|
99
|
+
|
|
100
|
+
## A record in one minute
|
|
101
|
+
|
|
102
|
+
Save as `example.py` after setting up isolated storage in the
|
|
103
|
+
[quick start](https://shareddata.net/docs/QUICK_START/), then run `python example.py`:
|
|
104
|
+
|
|
105
|
+
```python
|
|
106
|
+
from SharedData.SharedData import SharedData
|
|
107
|
+
import pandas as pd
|
|
108
|
+
|
|
109
|
+
store = SharedData(__file__, user="example")
|
|
110
|
+
index = pd.MultiIndex.from_tuples(
|
|
111
|
+
[(pd.Timestamp("2026-01-02"), "EXAMPLE")],
|
|
112
|
+
names=["date", "symbol"],
|
|
113
|
+
)
|
|
114
|
+
rows = pd.DataFrame({"close": [100.0]}, index=index)
|
|
115
|
+
records = store.table(
|
|
116
|
+
"MarketData", "D1", "DEMO", "PRICES",
|
|
117
|
+
value=rows,
|
|
118
|
+
)
|
|
119
|
+
print(records.loc["2026-01-02", "EXAMPLE"])
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Containers and execution
|
|
123
|
+
|
|
124
|
+
- [Tables](https://shareddata.net/docs/core/table/): structured NumPy records and primary-key lookup.
|
|
125
|
+
- [Time series](https://shareddata.net/docs/core/timeseries/): timestamped float matrices.
|
|
126
|
+
- Collections, Redis caches, Kafka streams and optional S3 integration.
|
|
127
|
+
- [HTTP API](https://shareddata.net/docs/guide/swagger/): authenticated remote access.
|
|
128
|
+
- [Measured latency](https://shareddata.net/docs/performance/): what the containers cost in practice.
|
|
129
|
+
|
|
130
|
+
## A store and the fleet that fills it
|
|
131
|
+
|
|
132
|
+
A routine is any program the Scheduler owns — a feed collector, a parser, a
|
|
133
|
+
consolidation job, an API server. A schedule lists the routines that should
|
|
134
|
+
stay alive or run at their times. Batch routines wait for their batch dependencies
|
|
135
|
+
to complete; realtime routines wait for their realtime dependencies to be running.
|
|
136
|
+
Dependencies between the two kinds are not enforced at runtime. Commands travel
|
|
137
|
+
through a per-host worker pool that validates the requested source revision
|
|
138
|
+
before every launch; routines report heartbeats and lifecycle messages through
|
|
139
|
+
the logging plane, and the Scheduler writes queryable state into the store.
|
|
140
|
+
|
|
141
|
+
- [Orchestration](https://shareddata.net/docs/orchestration/): the routine model, the Scheduler's tick and the worker pool.
|
|
142
|
+
- [Use cases](https://shareddata.net/docs/use-cases/): the workloads a production deployment runs, generalized.
|
|
143
|
+
- [Schedules](https://shareddata.net/docs/scheduler-store/) and [batch jobs](https://shareddata.net/docs/job-store/): where the state lives.
|
|
144
|
+
|
|
145
|
+
## Data by symbol
|
|
146
|
+
|
|
147
|
+
The [semantic data API](https://shareddata.net/docs/data-api/) resolves a
|
|
148
|
+
symbol or entity to a dataset and includes provenance. It is a convenience,
|
|
149
|
+
not the fast path: producers keep using direct container interfaces for
|
|
150
|
+
performance-critical work.
|
|
151
|
+
|
|
152
|
+
## Client integration
|
|
153
|
+
|
|
154
|
+
[Client integration](https://shareddata.net/docs/ecosystem/) covers
|
|
155
|
+
authenticated API access, the MCP server for compatible agent clients, and
|
|
156
|
+
worker access.
|
|
157
|
+
|
|
158
|
+
## Development and license
|
|
159
|
+
|
|
160
|
+
Submit changes through the repository's review process. Read the
|
|
161
|
+
[development guide](https://shareddata.net/docs/DEVELOPMENT/) and run the
|
|
162
|
+
checks relevant to your change; [building and publishing](https://shareddata.net/docs/guide/building/)
|
|
163
|
+
explains how the public site is produced and audited. SharedData is released
|
|
164
|
+
under the MIT license; see `LICENSE` in the source distribution.
|
shareddata-6.86.0/PKG-INFO
DELETED
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: shareddata
|
|
3
|
-
Version: 6.86.0
|
|
4
|
-
Summary: Memory Mapped / Shared Memory Database with S3 repository
|
|
5
|
-
Home-page: https://shareddata.net
|
|
6
|
-
Author: shareddata
|
|
7
|
-
Author-email: admin@shareddata.net
|
|
8
|
-
License: MIT
|
|
9
|
-
Project-URL: Homepage, https://shareddata.net
|
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
-
Classifier: Operating System :: OS Independent
|
|
15
|
-
Requires-Python: >=3.11, <3.13
|
|
16
|
-
Description-Content-Type: text/markdown
|
|
17
|
-
License-File: LICENSE
|
|
18
|
-
Requires-Dist: ipykernel<8,>=7.4
|
|
19
|
-
Requires-Dist: python-json-logger<5,>=4.2
|
|
20
|
-
Requires-Dist: python-dotenv<2,>=1.2.4
|
|
21
|
-
Requires-Dist: pandas<3,>=2.2
|
|
22
|
-
Requires-Dist: scipy<1.18,>=1.14
|
|
23
|
-
Requires-Dist: numpy<1.27,>=1.26.4
|
|
24
|
-
Requires-Dist: numba==0.59.1
|
|
25
|
-
Requires-Dist: XlsxWriter<4,>=3.2.9
|
|
26
|
-
Requires-Dist: openpyxl<4,>=3.1.5
|
|
27
|
-
Requires-Dist: tqdm<5,>=4.70.1
|
|
28
|
-
Requires-Dist: cffi<3,>=2.1
|
|
29
|
-
Requires-Dist: tzlocal<6,>=5.4.4
|
|
30
|
-
Requires-Dist: websockets<18,>=17.1
|
|
31
|
-
Requires-Dist: lz4<5,>=4.4.5
|
|
32
|
-
Requires-Dist: flask<4,>=3.1.3
|
|
33
|
-
Requires-Dist: waitress<4,>=3.0.2
|
|
34
|
-
Requires-Dist: requests<3,>=2.34.2
|
|
35
|
-
Requires-Dist: flasgger==0.9.7.1
|
|
36
|
-
Requires-Dist: pymongo<5,>=4.18.2
|
|
37
|
-
Requires-Dist: setuptools>=84
|
|
38
|
-
Requires-Dist: filelock<5,>=4.0.9
|
|
39
|
-
Requires-Dist: gunicorn<27,>=26.2
|
|
40
|
-
Requires-Dist: aiohttp<4,>=3.14.3
|
|
41
|
-
Requires-Dist: boto3<2,>=1.43
|
|
42
|
-
Requires-Dist: confluent-kafka<3,>=2.15.1
|
|
43
|
-
Requires-Dist: aiokafka<1,>=0.14
|
|
44
|
-
Requires-Dist: redis<9,>=8.1
|
|
45
|
-
Requires-Dist: Authlib<2,>=1.8
|
|
46
|
-
Requires-Dist: PyJWT<3,>=2.8
|
|
47
|
-
Requires-Dist: argon2-cffi<26,>=25.1
|
|
48
|
-
Requires-Dist: flask-jwt-extended<5,>=4.6
|
|
49
|
-
Requires-Dist: cryptography<51,>=50.0.2
|
|
50
|
-
Requires-Dist: segno<2,>=1.6
|
|
51
|
-
Requires-Dist: psutil<8,>=5.9
|
|
52
|
-
Requires-Dist: mcp>=1.27
|
|
53
|
-
Requires-Dist: httpx>=0.27
|
|
54
|
-
Provides-Extra: test
|
|
55
|
-
Requires-Dist: pytest<10,>=8.3.4; extra == "test"
|
|
56
|
-
Requires-Dist: pytest-asyncio<2,>=0.24; extra == "test"
|
|
57
|
-
Requires-Dist: playwright<2,>=1.63; extra == "test"
|
|
58
|
-
Provides-Extra: s3
|
|
59
|
-
Provides-Extra: kafka
|
|
60
|
-
Provides-Extra: redis
|
|
61
|
-
Provides-Extra: all
|
|
62
|
-
Dynamic: author
|
|
63
|
-
Dynamic: author-email
|
|
64
|
-
Dynamic: classifier
|
|
65
|
-
Dynamic: description
|
|
66
|
-
Dynamic: description-content-type
|
|
67
|
-
Dynamic: home-page
|
|
68
|
-
Dynamic: license
|
|
69
|
-
Dynamic: license-file
|
|
70
|
-
Dynamic: project-url
|
|
71
|
-
Dynamic: provides-extra
|
|
72
|
-
Dynamic: requires-dist
|
|
73
|
-
Dynamic: requires-python
|
|
74
|
-
Dynamic: summary
|
|
75
|
-
|
|
76
|
-
# SharedData
|
|
77
|
-
|
|
78
|
-
A comprehensive ultrafast Python library for financial data.
|
|
79
|
-
|
|
80
|
-
## 📖 Table of Contents
|
|
81
|
-
|
|
82
|
-
- [🏗️ Core Features](#-core-features)
|
|
83
|
-
- [⚡ Quick Start](#-quick-start)
|
|
84
|
-
- [🔧 Configuration](#-configuration)
|
|
85
|
-
- [🚀 Advanced Usage](#-advanced-usage)
|
|
86
|
-
- [🔄 Development & Documentation](#-development--documentation)
|
|
87
|
-
- [📄 License](#-license)
|
|
88
|
-
- [🤝 Contributing](#-contributing)
|
|
89
|
-
|
|
90
|
-
## 🏗️ Core Features
|
|
91
|
-
|
|
92
|
-
SharedData provides a comprehensive set of features for high-performance financial data management:
|
|
93
|
-
|
|
94
|
-
- **🗃️ Database Schema & Indexing** - Optimized schemas for financial data types
|
|
95
|
-
- **🌐 Storage & Integration** - Multi-storage support (Local, S3, MongoDB, Redis)
|
|
96
|
-
- **📈 Performance & Scalability** - Parallel processing and advanced querying
|
|
97
|
-
- **📊 Data Containers** - Tables, Collections, Time Series, Streams, Cache, Metadata
|
|
98
|
-
- **⚡ Multiprocessing & Parallel Computing** - Sophisticated parallel processing library
|
|
99
|
-
- **🤖 Distributed Worker System** - Automated task execution and job scheduling
|
|
100
|
-
- **📋 Comprehensive Logging System** - Enterprise-grade logging with multiple destinations
|
|
101
|
-
- **🌐 Remote API Client** - REST API for remote data access and operations
|
|
102
|
-
|
|
103
|
-
**[Read the manual](docs/index.md)** — [Table](docs/core/table.md) and [Time series](docs/core/timeseries.md) are the core. The HTTP spec is [Swagger](docs/guide/swagger.md).
|
|
104
|
-
|
|
105
|
-
## ⚡ Quick Start
|
|
106
|
-
|
|
107
|
-
Get up and running with SharedData in minutes:
|
|
108
|
-
|
|
109
|
-
### Installation
|
|
110
|
-
|
|
111
|
-
```bash
|
|
112
|
-
# Create virtual environment
|
|
113
|
-
python -m venv venv
|
|
114
|
-
source venv/bin/activate
|
|
115
|
-
|
|
116
|
-
# Install SharedData
|
|
117
|
-
pip install -r requirements.txt
|
|
118
|
-
pip install -e .
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### Basic Usage
|
|
122
|
-
|
|
123
|
-
```python
|
|
124
|
-
import pandas as pd
|
|
125
|
-
from SharedData.SharedData import SharedData
|
|
126
|
-
|
|
127
|
-
# Initialize SharedData
|
|
128
|
-
shdata = SharedData(__file__, user='master')
|
|
129
|
-
|
|
130
|
-
# Quick example - Tables
|
|
131
|
-
dates = pd.date_range('2025-01-01', '2025-01-10', freq='D')
|
|
132
|
-
symbols = ['AAPL', 'GOOGL', 'MSFT']
|
|
133
|
-
idx = pd.MultiIndex.from_product([dates, symbols], names=['date', 'symbol'])
|
|
134
|
-
df = pd.DataFrame({'price': 100, 'volume': 1000}, index=idx)
|
|
135
|
-
|
|
136
|
-
# Write and read data
|
|
137
|
-
tbl = shdata.table('MarketData', 'D1', 'TEST', 'PRICES', value=df)
|
|
138
|
-
tbl.write()
|
|
139
|
-
data = tbl.loc['2025-01-05':, 'AAPL'] # Fast symbol lookup
|
|
140
|
-
print(f"Retrieved {data.shape[0]} rows")
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**📚 [Read the complete Quick Start guide →](https://shareddata.net/docs/QUICK_START.md)**
|
|
144
|
-
|
|
145
|
-
## 🔧 Configuration
|
|
146
|
-
|
|
147
|
-
Configure SharedData with environment variables for your specific needs:
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
# Required Variables
|
|
151
|
-
SHAREDDATA_SECRET_KEY="your-secret-key"
|
|
152
|
-
SHAREDDATA_TOKEN="your-auth-token"
|
|
153
|
-
AWS_ACCESS_KEY_ID="your-aws-access-key"
|
|
154
|
-
S3_BUCKET="s3://your-bucket-name"
|
|
155
|
-
MONGODB_HOST="your-mongodb-host"
|
|
156
|
-
SHAREDDATA_ENDPOINT="http://your-server:port"
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
**📚 [Read the complete Configuration guide →](https://shareddata.net/docs/CONFIGURATION.md)**
|
|
160
|
-
|
|
161
|
-
## 🚀 Advanced Usage
|
|
162
|
-
|
|
163
|
-
For power users and complex scenarios:
|
|
164
|
-
|
|
165
|
-
- **Advanced Data Operations** - Complex queries and aggregations
|
|
166
|
-
- **Performance Optimization** - Memory management and parallel processing
|
|
167
|
-
- **Distributed Computing** - Worker pools and distributed data processing
|
|
168
|
-
- **Custom Extensions** - Custom data containers and worker types
|
|
169
|
-
- **Production Deployment** - High availability and monitoring
|
|
170
|
-
- **Monitoring & Debugging** - Performance profiling and health checks
|
|
171
|
-
|
|
172
|
-
**[Logging templates](docs/patterns/logging.md)** — log at the scheduler boundary; do not log inside the row loop.
|
|
173
|
-
|
|
174
|
-
## 🧭 Data by Symbol
|
|
175
|
-
|
|
176
|
-
Fetch data by what it is instead of where it is stored. The server picks the source, the
|
|
177
|
-
container and the partitions, and every answer says where its rows came from:
|
|
178
|
-
|
|
179
|
-
```python
|
|
180
|
-
bars = shdata.dataframe('marketdata', 'AAPL', period='M15', start='2026-10-05')
|
|
181
|
-
bars.attrs['provenance']['dataset'] # which container answered
|
|
182
|
-
|
|
183
|
-
from SharedData.IO.ClientAPI import ClientAPI
|
|
184
|
-
surface = ClientAPI.get_vol('AAPL', product='tenor', tenor='1M')
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
Market data, signals, portfolios, risk factors and volatility are served this way over
|
|
188
|
-
`GET /api/data/...`. This is a convenience, not the fast path: producers and other
|
|
189
|
-
performance-critical code keep using `table()`, `timeseries()` and `collection()`.
|
|
190
|
-
|
|
191
|
-
**📚 [Read the Data by Symbol guide →](https://shareddata.net/docs/data-api.md)**
|
|
192
|
-
|
|
193
|
-
## 🔄 Development & Documentation
|
|
194
|
-
|
|
195
|
-
For developers contributing to SharedData:
|
|
196
|
-
|
|
197
|
-
### Building Documentation
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
# Generate documentation from docstrings
|
|
201
|
-
make gitea
|
|
202
|
-
|
|
203
|
-
# Alternative methods
|
|
204
|
-
python generate_docs.py
|
|
205
|
-
python update_docs.py
|
|
206
|
-
make all
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### Running Tests
|
|
210
|
-
|
|
211
|
-
```bash
|
|
212
|
-
python -m pytest tests/
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
**📚 [Read the complete Development guide →](https://shareddata.net/docs/DEVELOPMENT.md)**
|
|
216
|
-
|
|
217
|
-
## 📄 License
|
|
218
|
-
|
|
219
|
-
MIT: free to use, change and distribute, commercially too. See the [LICENSE](https://shareddata.net/LICENSE) file.
|
|
220
|
-
|
|
221
|
-
## 🤝 Contributing
|
|
222
|
-
|
|
223
|
-
1. Fork the repository
|
|
224
|
-
2. Create a feature branch
|
|
225
|
-
3. Make your changes
|
|
226
|
-
4. Update documentation: `make gitea`
|
|
227
|
-
5. Submit a pull request
|
|
228
|
-
|
|
229
|
-
**📚 [Read the complete Contributing guide →](https://shareddata.net/docs/DEVELOPMENT.md#contributing-guidelines)**
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## 📚 Documentation Index
|
|
234
|
-
|
|
235
|
-
- **[Manual](docs/index.md)** — current Read the Docs home
|
|
236
|
-
- **[Table](docs/core/table.md)** and **[Time series](docs/core/timeseries.md)**
|
|
237
|
-
- **[Swagger](docs/guide/swagger.md)** — `src/SharedData/API/apidocs.yml`, version 6.86.0
|
|
238
|
-
- **[⚡ Quick Start](https://shareddata.net/docs/QUICK_START.md)** - Get started with SharedData in minutes
|
|
239
|
-
- **[🔧 Configuration](https://shareddata.net/docs/CONFIGURATION.md)** - Complete configuration reference
|
|
240
|
-
- **[Logging templates](docs/patterns/logging.md)** — scheduler heartbeat vs a quiet data loop
|
|
241
|
-
- **[🔄 Development](https://shareddata.net/docs/DEVELOPMENT.md)** - Contributing and development guidelines
|
|
242
|
-
|
|
243
|
-
---
|
|
244
|
-
|
|
245
|
-
[⬆️ Back to top](#shareddata)
|