v2.0.0
FinanceQuery v2.0.0 - Complete Rust Rewrite 🦀
We're excited to announce FinanceQuery v2.0.0, a complete rewrite of the library in Rust! This major release brings significant improvements in performance, type safety, and developer experience while preserving the Python v1 implementation for existing users.
What's New
Core Library
FinanceQuery v2 is now a native Rust library published to crates.io
Quick Start
[dependencies]
finance-query = "2.0"use finance_query::Ticker;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let ticker = Ticker::new("AAPL").await?;
let quote = ticker.quote(true).await?;
println!("{}: ${}", quote.short_name, quote.regular_market_price);
Ok(())
}HTTP/WebSocket Server
A production-ready server is available in the repository:
- REST API at
/v2/*endpoints - WebSocket streaming at
/v2/stream - Optional Redis caching for high-performance deployments
- Rate limiting built-in
- Interactive API documentation with Swagger UI
Run locally:
git clone https://github.com/Verdenroz/finance-query.git
cd finance-query
make serve # Starts server at http://localhost:8000Or with Docker Compose (runs both v1 and v2):
make docker-compose⚠️ Hosting Notice
Important deployment information:
- V2 endpoints are currently only accessible by running from source (see above)
- AWS and Render hosting for v1 will remain available until further notice
- AWS:
https://43pk30s7aj.execute-api.us-east-2.amazonaws.com/prod - Render:
https://finance-query.onrender.com
- AWS:
- Future migration: Planning to migrate to self-hosted VPS with both v1 and v2 endpoints
- Updates will be announced when the VPS hosting is ready
For now, to use v2 endpoints, you'll need to either:
- Run the server locally (
make serve) - Deploy using Docker (
make docker) - Use the library directly in your Rust application
📚 Documentation
Complete documentation is now available at verdenroz.github.io/finance-query:
- Library Guide - Getting started with the Rust library
- REST API Reference - Interactive OpenAPI docs
- WebSocket API - Real-time streaming API
- API Docs - Detailed Rust documentation
📦 What's Included
Published Crates
finance-query- Main library for fetching financial datafinance-query-derive- Procedural macros for DataFrame support
Repository Structure
finance-query/
├── src/ # Rust library (published to crates.io)
├── server/ # HTTP/WebSocket server
├── finance-query-derive/ # Proc-macro crate
├── docs/ # MkDocs documentation
├── v1/ # Python v1 (preserved)
└── .github/workflows/ # Rust CI/CD
🎉 Acknowledgements
Special thanks to:
- Yahoo Finance for providing the data
- yfinance for API pattern inspiration
- The Rust community for excellent tooling and libraries
- All contributors who helped make this rewrite possible
🚀 Future Plans
- ✅ Core library published to crates.io
- ✅ Comprehensive documentation
- ✅ Interactive API reference
- 🔜 Self-hosted VPS with both v1 and v2 endpoints
- 🔜 Additional endpoints and features
- 🔜 Performance optimizations
🐛 Known Issues
- V2 endpoints are currently source-only (no hosted instance yet)
- Some Yahoo Finance endpoints may have rate limits
- WebSocket streaming requires stable connection
📝 Full Changelog
See the complete diff for all changes.
Get Started: https://verdenroz.github.io/finance-query/library/getting-started/
Report Issues: https://github.com/Verdenroz/finance-query/issues
Discussions: https://github.com/Verdenroz/finance-query/discussions