Libraries
Recommended libraries and frameworks for various languages.
Bash
- bats-core: A Bash Automated Testing System. GitHub - bats-core/bats-core.
Go
- cobra: A library for creating powerful command-line applications in Go. GitHub - spf13/cobra.
- viper: A complete configuration solution for Go applications, supporting various configuration formats. GitHub - spf13/viper.
Java
- assertj: A fluent assertion library. Website.
- awaitility: A DSL for synchronizing asynchronous operations. GitHub - awaitility/awaitility.
- gatling: A highly capable load testing tool. Website.
- gson:
- guice: A lightweight dependency injection framework. GitHub - google/guice.
- jackson: A multi-purpose Java library for processing JSON, including parsing, generating, transforming, and querying. GitHub - FasterXML/jackson.
- javapoet: A Java API for generating .java source files. GitHub - square/javapoet.
- jsoup: A Java library for HTML parsing, manipulation, and scraping, with an emphasis on safety and ease-of-use. GitHub - jhy/jsoup.
- junit:
- lombok:
- mission control (jmc): production time profiling and diagnostics tools suite. GitHub - openjdk/jmc.
- mockito: A mocking framework for unit tests in Java. Website.
- okhttp: An HTTP client for Java and Kotlin. GitHub - square/okhttp.
- pitest: A mutation testing system for the JVM. GitHub - hcoles/pitest.
- SLF4J: The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks, such as java.util.logging, logback and log4j.
- testcontainers: throwaway, lightweight instances of databases, message brokers, web browsers, or just about anything that can run in a Docker container.testcontainers.com.
Kotlin
- arrow: brings idiomatic functional programming to Kotlin. Website.
- kotlinpoet: A Kotlin and Java API for generating .kt source files. GitHub - square/kotlinpoet.
- kotlinx.coroutines: Library support for Kotlin coroutines. GitHub - Kotlin/kotlinx.coroutines.
- kotlinx.serialization: Kotlin multiplatform / multi-format serialization. GitHub - Kotlin/kotlinx.serialization.
Check out kotlin.link for more Kotlin libraries curated by the Kotlin community.
Python
- langchain: A library for building applications with large language models through composability. GitHub - langchain-ai/langchain.
- openai:
- pydantic:
- sqlalchemy:
- tiktoken:
Rust
Note that Rust distinguishes library crates from binary crates. Library crates are intended to be used as dependencies in other programs, while binary crates are intended to be run as standalone programs. Read more about packages and crates.
- anyhow:
- axum: (+axum-extra, +axum-tracing-opentelemetry) my go to for building web services in Rust. GitHub - tower-rs/axum.
- bigdecimal: arbitrary precision decimal arithmetic. GitHub - akubera/bigdecimal-rs.
- bytes: a utility library for working with bytes. GitHub - tokio-rs/bytes.
- chrono: date and time library. GitHub - chronotope/chrono.
- clap: command line argument parser. GitHub - clap-rs/clap
- comrak: Markdown parser with CommonMark and GitHub extensions in Rust. GitHub - kivikakk/comrak.
- config: layered configuration system for Rust applications with strong support for 12-factor applications. GitHub - mehcode/config-rs.
- dotenv:
- http: HTTP types GitHub - hyperium/http.
- jni: bindings to the JNI API for Rust. GitHub - rust-lang/jni-rs
- lettre: email client library. GitHub - lettre/lettre
- openai-api-rs: (unofficial)
- opentelemetry: (+opentelemetry-zipkin)
- playwright: headless Chrome, Firefox and WebKit with a single API. GitHub - microsoft/playwright-rust.
- prost: Protocol Buffers implementation for the Rust language. GitHub - tokio-rs/prost.
- reqwest: http client GitHub - seanmonstar/reqwest.
- schemars: Generate JSON schema documents from Rust code. GitHub - GREsau/schemars.
- sea-orm: An async & dynamic ORM for Rust. GitHub - SeaQL/sea-orm.
- serde: (+serde_derive, +serde_json) [de]serialization
- slog: structured logging. GitHub - slog-rs/slog.
- spider-rs: A multi-threaded web crawling library for Rust, designed for rapid link gathering and indexing. GitHub - spider-rs/spider.
- sqlx: async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, SQLite, and MSSQL. GitHub - launchbadge/sqlx.
- tiny_http: low-level HTTP server library. GitHub - tiny-http/tiny-http.
- tokio: async runtime tokio.rs
- tonic: a native gRPC client & server implementation with async/await support. GitHub - hyperium/tonic.
- tower: (+tower-http) a library of modular and reusable components for building robust networking clients and servers. GitHub - tower-rs/tower.
- tracing: (+tracing-opentelemetry, +tracing-subscriber)
- uuid: generate and parse UUIDs. GitHub - uuid-rs/uuid.
blessed.rs has a great list of Rust crates too.
For searching crates, Lib.rs gets the job done.