Efficiently retrieve and manage financial candlestick data with caching, REST API, and WebSocket support.
Go to file
rob c4bcc19241 Fix SQLite database locking under concurrent access
Add busy_timeout (5 seconds) to both async and sync database connections.
This prevents "database is locked" errors when multiple requests try to
access the database simultaneously.

Changes:
- AsyncSQLitePool: Add busy_timeout=5000 and synchronous=NORMAL pragmas
- DatabaseCache: Add WAL mode, busy_timeout, synchronous=NORMAL, and
  connection timeout for the sync database module

The busy_timeout tells SQLite to wait instead of immediately failing
when the database is locked by another connection.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-06 13:40:58 -04:00
src/exchange_data_manager Fix SQLite database locking under concurrent access 2026-03-06 13:40:58 -04:00
tests Update docs, enable exchanges, and fix tests 2026-03-06 13:36:38 -04:00
.gitignore Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
CLAUDE.md Update docs, enable exchanges, and fix tests 2026-03-06 13:36:38 -04:00
Dockerfile Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
README.md Initial project setup 2026-03-02 22:45:06 -04:00
config.yaml Update docs, enable exchanges, and fix tests 2026-03-06 13:36:38 -04:00
docker-compose.yml Implement M1, M2, M3 milestones - full exchange data manager 2026-03-03 04:05:30 -04:00
pyproject.toml Add real exchange integration tests for three-tier cache system 2026-03-03 17:37:04 -04:00

README.md

Exchange Data Manager

Efficiently retrieve and manage financial candlestick data with caching, REST API, and WebSocket support.

Installation

pip install -e .

Usage

TODO: Add usage instructions

Documentation

Full documentation is available at: https://pages.brrd.tech/rob/exchange-data-manager/

Development

# Clone the repository
git clone https://gitea.brrd.tech/rob/exchange-data-manager.git
cd exchange-data-manager

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install for development
pip install -e ".[dev]"

# Run tests
pytest

License

TODO: Add license