# sharaf

Scala 3 web framework for HTTP servers with routing, typed request parsing, HTML templates and OpenAPI-generated routes.


Source: https://findsoftware.frbit.cloud/sharaf/
Last reviewed: 2026-10-26
Listed since: 2026-10-26

## Record

### Links

- home: https://sake92.github.io/sharaf/
- repository: https://github.com/sake92/sharaf
- docs: https://sake92.github.io/sharaf/
- discord: https://discord.gg/g9KVY3WkMG

### Identity

- status: active
- maintainer: Sakib Hadžiavdić
- maintainerType: individual
- parent: unknown
- firstRelease: 2024
- hqCountry: unknown

### Kind

- category: framework
- hosting: java
- language: scala
- runtime: jvm
- runtimeMin: unknown
- basedOn: unknown

### Content

- contentStore: unknown
- databases: unknown
- adminUi: unknown
- headlessApi: unknown
- templating: twirl
- i18n: unknown

### Rendering and deploy

- runsAs: always-on
- renderingModes: unknown
- installMethod: library dependency for Scala CLI, sbt or Mill

### License

- licenseModel: open-source
- license: Apache-2.0

### Releases

- currentMajor: 0
- latestReleaseDate: 2026-09-28

### Adoption

- githubStargazers: 68
- packagistDownloads: not applicable
- npmWeeklyDownloads: not applicable
- contributors: 3
- pluginCount: unknown
- packagistMonthlyDownloads: unknown
- ecosystemsMonthlyDownloads: unknown
- httpArchiveSites: unknown
- wordpressActiveInstalls: unknown
- dependentRepos: unknown
- dependentPackages: unknown

### Sources

- urls: https://sake92.github.io/sharaf/ (read 2026-10-26)
- urls: https://api.github.com/repos/sake92/sharaf (read 2026-10-26)
- urls: https://raw.githubusercontent.com/sake92/sharaf/main/README.md (read 2026-10-26)
- maintainer: https://repo1.maven.org/maven2/ba/sake/sharaf-undertow_3/0.20.0/sharaf-undertow_3-0.20.0.pom (read 2026-10-26)
- language: https://api.github.com/repos/sake92/sharaf (read 2026-10-26)
- category: https://sake92.github.io/sharaf/ (read 2026-10-26)
- runtime: https://sake92.github.io/sharaf/reference/servers.html (read 2026-10-26)
- installMethod: https://sake92.github.io/sharaf/reference/dependencies.html (read 2026-10-26)
- runsAs: https://sake92.github.io/sharaf/tutorials/hello-world.html (read 2026-10-26)
- templating: https://sake92.github.io/sharaf/philosophy/why-sharaf.html (read 2026-10-26)
- license: https://github.com/sake92/sharaf/blob/main/LICENSE (read 2026-10-26)
- firstRelease: https://api.github.com/repos/sake92/sharaf/releases (read 2026-10-26)
- currentMajor: https://api.github.com/repos/sake92/sharaf/releases (read 2026-10-26)
- latestReleaseDate: https://api.github.com/repos/sake92/sharaf/releases (read 2026-10-26)
- githubStargazers: https://api.github.com/repos/sake92/sharaf (read 2026-10-26)
- contributors: https://api.github.com/repos/sake92/sharaf/contributors?per_page=1 (read 2026-10-26)

## Notes

Sharaf is a Scala 3 web framework. Routes match on the request method and path segments, and query strings, forms and JSON bodies are parsed into case classes, optionally with validation. HTML is written with Twirl, and server-sent events are supported. The Undertow integration is the stable one and runs on the JVM, and an app adds the library as a dependency for Scala CLI, sbt or Mill. The README's example starts the server from the app's own code.

The framework can also generate models and routes from an OpenAPI 3.0 or 3.1 document through OpenApi4s. The README lists GraalVM and Scala Native examples and an AWS Lambda starter that runs an Undertow app through the Lambda Web Adapter.

## Worth knowing

The [servers reference](https://sake92.github.io/sharaf/reference/servers.html) says the http4s, JDK HTTP server, Helidon and snunit integrations are beta or experimental, with narrower form handling, incomplete request features and possible changes between releases. The project is pre-1.0 and its releases are numbered 0.x.

---

Data licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Attributes are recorded, never scored; absent means unknown.
Credit, in full: FindSoftware, CC BY 4.0
