A Scala wrapper for AWS SDK that provides idiomatic Scala APIs for interacting with Amazon Web Services.
AWScala is a Scala library that provides idiomatic Scala APIs for Amazon Web Services by wrapping the AWS SDK for Java. It solves the problem of cumbersome Java-centric AWS SDK usage in Scala projects by offering Scala collections, futures, and REPL-friendly interfaces. The library enables developers to interact with AWS services like S3, EC2, and DynamoDB using familiar Scala patterns.
Scala developers who need to work with AWS services in their applications or during exploratory development in the REPL. Particularly useful for teams already invested in Scala tooling who want to avoid Java interoperability overhead.
Developers choose AWScala because it dramatically reduces boilerplate when using AWS services from Scala code, provides REPL-friendly interactive exploration, and maintains full compatibility with the underlying AWS SDK. Its modular design allows selective inclusion of only needed service dependencies.
Using AWS SDK on the Scala REPL
Replaces Java-centric interfaces with Scala collections, futures, and case classes, as shown in examples like using Seq for S3 buckets and Futures for EC2 instances.
Designed for interactive use in Scala REPL and sbt console, enabling quick AWS exploration without boilerplate, evidenced by concise code snippets in the README.
Offers separate modules for services like S3, EC2, and DynamoDB, allowing developers to include only what they need, reducing dependency bloat.
Underlying AWS SDK for Java integration ensures access to all AWS features, maintaining interoperability while adding Scala sugar.
The README explicitly states it is no longer maintained, requiring users to fork and update it themselves, which is a significant risk for dependency management.
Only supports a subset of AWS services (e.g., missing modern services like Lambda), limiting its utility for comprehensive cloud applications.
Notes that @hashPK and @rangePK annotations for DynamoDB case classes are not available in Scala 3, hindering adoption in modern Scala projects.
Running tests requires local DynamoDB instances and AWS credentials with Administrator permissions, adding overhead for development and CI pipelines.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.