Scala Space
@scalaspace.bsky.social
110 followers 1 following 200 posts
Where #Scala meets the industry By virtuslab.com & softwaremill.com
Posts Media Videos Starter Packs
scalaspace.bsky.social
We've just released sttp-ai 0.4.0 (formerly sttp-openai): you can now find clients for both OpenAI and Claude APIs. Same as sttp-client, the library works with any #Scala ecosystem: direct-style (synchronous), Future, cats-effect & ZIO. Enjoy!

github.com/softwaremil...
Release v0.4.0 · softwaremill/sttp-ai
Project name change The project is now called sttp-ai, as it contains a client for both OpenAI and Claude APIs. Migration Most of the time it should suffice to change the dependency coordinates fro...
github.com
scalaspace.bsky.social
This concludes our Ox feature tour - hope you've enjoyed it as much as we did!

If you feel a feature is missing, or if you have a suggestion for an integration, just create an issue, we'll be happy to assist:
github.com/softwaremil...
GitHub - softwaremill/ox: Safe direct-style streaming, concurrency and resiliency for Scala on the JVM
Safe direct-style streaming, concurrency and resiliency for Scala on the JVM - softwaremill/ox
github.com
scalaspace.bsky.social
Ox feature tour, day 19: because it's direct style, integration with OpenTelemetry (metrics+logging+tracing) "just works"! To propagate tracing context inside concurrency scopes, you only need a single switch at your top-level `OxApp`!
scalaspace.bsky.social
🌏 You can find more information on the Tooling Spree website at scalameta.org/scala-tooli....
📨 In case of issues or questions feel free to email us at [email protected].
Scala Tooling Spree | Scala Tooling Spree
Home page for Scala tooling spree initiative
scalameta.org
scalaspace.bsky.social
🛠️ Next Scala Tooling Spree is coming up.
🗓️ It will take place on 09.10 17:30-19:30 CET.
✍️ If you'd like to participate please register by 7th here:
forms.gle/yUurzS2KiM2...
scalaspace.bsky.social
Ox feature tour, day 18: `.pipe` and `.tap`, even extremely simple, are suprisingly useful! And there's no overhead: these are inline methods, hence a "zero-cost abstraction". Bonus: discover the `debug`, `.discar` and `.tapException` methods!
scalaspace.bsky.social
Ox feature tour, day 17: converting exceptions to `Either`s, and vice versa is trivial thanks to the inline `.catching[]` and `.orThrow` methods. A panic at one level, might become an expected error at another!
scalaspace.bsky.social
Ox feature tour, day 16: we propose error handling based on "panics" (exceptions) and "expected" errors, represented as Eithers. Working with the lattter is ergonomic thanks to Scala's boundary/break, and its Ox-provided specialization to Eithers using `either: and `.ok()`
scalaspace.bsky.social
Ox feature tour, day 15: Flows provide integration with Kafka, allowing one to implement the common publish-then-commit pattern using an elegant high-level, functional API.
scalaspace.bsky.social
Ox feature tour, day 14: declarative concurrency in flows - virtual threads are started (and terminated on error) safely, without ever needing to touch concurrency scopes! Signalling an error is as easy as throwing an exception.
scalaspace.bsky.social
Ox feature tour, day 13: flows provide I/O integration, declarative concurrency, and reactive streams compatibility!
scalaspace.bsky.social
(2/2) > With these new features, Wasm has much better support for compiling high-level programming languages. Enabled by this, we have seen various new languages popping up to target Wasm, such as Java, OCaml, Scala, Kotlin, Scheme, or Dart, all of which use the new GC feature.
scalaspace.bsky.social
Interested to try living on the bleeding edge nightly versions of Scala?
A new repository to which Scala nightly versions has been introduced.
You can now find all Scala nightly versions (including Scala 3 Next, 3.3 LTS, 2.12 and 2.13) under repo.scala-lang.org/
(1/2)
scalaspace.bsky.social
Ox feature tour, day 12: describe data streaming using operators you know and love from Akka Streams or FS2, using direct-style (no Futures or other wrappers!)