An asynchronous Scala client library for interacting with InfluxDB, providing non-blocking operations for data writing, querying, and database management.
scala-influxdb-client is an asynchronous client library for InfluxDB written in Scala. It enables developers to interact with InfluxDB's time-series database through a non-blocking API, handling data writing, querying, and administrative tasks. The library solves the need for a reactive, type-safe interface to InfluxDB within Scala ecosystems.
Scala developers building monitoring, analytics, or IoT applications that require efficient, non-blocking integration with InfluxDB for time-series data storage and retrieval.
Developers choose this library for its idiomatic Scala design, comprehensive feature set covering InfluxDB's core APIs, and built-in support for asynchronous operations via Futures, which aligns with reactive programming patterns.
Asynchronous InfluxDB client for Scala
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
All methods return Scala Futures, enabling efficient, reactive integrations perfect for high-performance systems like Akka or Play Framework, as highlighted in the README's usage examples.
Supports single/bulk writes, flexible querying, database/user management, and UDP client—covering core InfluxDB 1.x APIs with configurable precision, consistency, and retention policies.
Uses dedicated exception types like WriteException and QueryException, allowing idiomatic Scala error recovery via Future.recover, as demonstrated in the writing and querying sections.
Includes a UDP client for connectionless data writing, reducing overhead and latency for performance-critical scenarios like IoT or monitoring data ingestion.
At version 0.6.1, the library may introduce breaking changes in future updates, as noted with the JDK 8 shift in 0.5.0, potentially complicating long-term maintenance.
The README shows no mention of Flux queries or InfluxDB 2.0 APIs, making it unsuitable for teams adopting newer InfluxDB versions without significant workarounds.
Requires JDK 8+ and specific Scala compatibility, which could hinder adoption in legacy environments or projects using newer Scala 3 features not yet supported.