Memory Mapped / Shared Memory Database with S3 repository
Project description
SharedData
A comprehensive ultrafast Python library for financial data.
๐ Table of Contents
- ๐๏ธ Core Features
- โก Quick Start
- ๐ง Configuration
- ๐ Advanced Usage
- ๐ Development & Documentation
- ๐ License
- ๐ค Contributing
๐๏ธ Core Features
SharedData provides a comprehensive set of features for high-performance financial data management:
- ๐๏ธ Database Schema & Indexing - Optimized schemas for financial data types
- ๐ Storage & Integration - Multi-storage support (Local, S3, MongoDB, Redis)
- ๐ Performance & Scalability - Parallel processing and advanced querying
- ๐ Data Containers - Tables, Collections, Time Series, Streams, Cache, Metadata
- โก Multiprocessing & Parallel Computing - Sophisticated parallel processing library
- ๐ค Distributed Worker System - Automated task execution and job scheduling
- ๐ Comprehensive Logging System - Enterprise-grade logging with multiple destinations
- ๐ Remote API Client - REST API for remote data access and operations
๐ Read the complete Core Features guide โ
โก Quick Start
Get up and running with SharedData in minutes:
Installation
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install SharedData
pip install -r requirements.txt
pip install -e .
Basic Usage
import pandas as pd
from SharedData.SharedData import SharedData
# Initialize SharedData
shdata = SharedData(__file__, user='master')
# Quick example - Tables
dates = pd.date_range('2025-01-01', '2025-01-10', freq='D')
symbols = ['AAPL', 'GOOGL', 'MSFT']
idx = pd.MultiIndex.from_product([dates, symbols], names=['date', 'symbol'])
df = pd.DataFrame({'price': 100, 'volume': 1000}, index=idx)
# Write and read data
tbl = shdata.table('MarketData', 'D1', 'TEST', 'PRICES', value=df)
tbl.write()
data = tbl.loc['2025-01-05':, 'AAPL'] # Fast symbol lookup
print(f"Retrieved {data.shape[0]} rows")
๐ Read the complete Quick Start guide โ
๐ง Configuration
Configure SharedData with environment variables for your specific needs:
# Required Variables
SHAREDDATA_SECRET_KEY="your-secret-key"
SHAREDDATA_TOKEN="your-auth-token"
AWS_ACCESS_KEY_ID="your-aws-access-key"
S3_BUCKET="s3://your-bucket-name"
MONGODB_HOST="your-mongodb-host"
SHAREDDATA_ENDPOINT="http://your-server:port"
๐ Read the complete Configuration guide โ
๐ Advanced Usage
For power users and complex scenarios:
- Advanced Data Operations - Complex queries and aggregations
- Performance Optimization - Memory management and parallel processing
- Distributed Computing - Worker pools and distributed data processing
- Custom Extensions - Custom data containers and worker types
- Production Deployment - High availability and monitoring
- Monitoring & Debugging - Performance profiling and health checks
๐ Read the complete Advanced Usage guide โ
๐ Development & Documentation
For developers contributing to SharedData:
Building Documentation
# Generate documentation from docstrings
make gitea
# Alternative methods
python generate_docs.py
python update_docs.py
make all
Running Tests
python -m pytest tests/
๐ Read the complete Development guide โ
๐ License
See LICENSE file for details.
๐ค Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Update documentation:
make gitea - Submit a pull request
๐ Read the complete Contributing guide โ
๐ Documentation Index
- ๐๏ธ Core Features - Comprehensive overview of all SharedData capabilities
- โก Quick Start - Get started with SharedData in minutes
- ๐ง Configuration - Complete configuration reference
- ๐ Advanced Usage - Advanced patterns and optimization
- ๐ Development - Contributing and development guidelines
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters