Skip to content

v2.0.0

Choose a tag to compare

@Verdenroz Verdenroz released this 31 Dec 00:08
· 245 commits to master since this release
344bb68

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:8000

Or 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
  • 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:

  1. Run the server locally (make serve)
  2. Deploy using Docker (make docker)
  3. Use the library directly in your Rust application

📚 Documentation

Complete documentation is now available at verdenroz.github.io/finance-query:

📦 What's Included

Published Crates

  • finance-query - Main library for fetching financial data
  • finance-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