{"id":13770421,"url":"https://github.com/disneystreaming/smithy4s","last_synced_at":"2026-05-07T00:07:24.772Z","repository":{"id":37087745,"uuid":"440819375","full_name":"disneystreaming/smithy4s","owner":"disneystreaming","description":"https://disneystreaming.github.io/smithy4s/","archived":false,"fork":false,"pushed_at":"2025-05-14T22:04:35.000Z","size":30822,"stargazers_count":375,"open_issues_count":110,"forks_count":78,"subscribers_count":15,"default_branch":"series/0.18","last_synced_at":"2025-05-14T22:28:49.308Z","etag":null,"topics":["codegen","http","json","scala","scala-js","scala-native","smithy","xml"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/disneystreaming.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-22T10:28:32.000Z","updated_at":"2025-05-10T03:44:40.000Z","dependencies_parsed_at":"2023-09-25T17:11:26.188Z","dependency_job_id":"2d3438c9-6663-4d9c-b37d-e5b4c843ec35","html_url":"https://github.com/disneystreaming/smithy4s","commit_stats":null,"previous_names":[],"tags_count":106,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disneystreaming%2Fsmithy4s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disneystreaming%2Fsmithy4s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disneystreaming%2Fsmithy4s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/disneystreaming%2Fsmithy4s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/disneystreaming","download_url":"https://codeload.github.com/disneystreaming/smithy4s/tar.gz/refs/heads/series/0.18","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254264770,"owners_count":22041794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codegen","http","json","scala","scala-js","scala-native","smithy","xml"],"created_at":"2024-08-03T17:00:37.235Z","updated_at":"2026-03-04T23:03:49.804Z","avatar_url":"https://github.com/disneystreaming.png","language":"Scala","funding_links":[],"categories":["Code Generators"],"sub_categories":["Server Code Generators"],"readme":"[![CI](https://github.com/disneystreaming/smithy4s/actions/workflows/ci.yml/badge.svg)](https://github.com/disneystreaming/smithy4s/actions/workflows/ci.yml)\n[![smithy4s-core Scala version support](https://index.scala-lang.org/disneystreaming/smithy4s/smithy4s-core/latest-by-scala-version.svg)](https://index.scala-lang.org/disneystreaming/smithy4s/smithy4s-core)\n[![CLA assistant](https://cla-assistant.io/readme/badge/disneystreaming/smithy4s)](https://cla-assistant.io/disneystreaming/smithy4s)\n[![Discord](https://img.shields.io/discord/1045676621761347615.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=404244\u0026labelColor=6A7EC2)](https://discord.gg/wvVga94s8r)\n# smithy4s\n\n## Usage\n\n**For usage information, check out the [Documentation](https://disneystreaming.github.io/smithy4s/)**\n\n## Benchmarks\n\nThere's a module with benchmarks to compare against the handcrafted implementations of an http4s with the generic ones run the benchmarks, one should execute:\n\n```sh\nsbt benchmark / Jmh / run\n```\n\nTo run http4s benchmarks:\n\n```sh\nbenchmark / Jmh / run .*Http4sBenchmark.*\n```\n\nTo benchmark with Scala 2.12 version instead of 2.13, use `benchmark2_12 / Jmh / run` instead.\n\nSmithy4s makes use of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/) for performance optimisation.\u003cbr/\u003e\n![YourKit Logo](https://www.yourkit.com/images/yklogo.png)\n\n## Development environment\n\nFor the easiest setup of development tools, use [Nix](https://nixos.org).\n\nThe recommended way is to use `nix develop` (requires Flakes support, available since Nix 2.4 - read on if you don't use that experimental feature):\n\n```bash\nnix develop\n```\n\nThis will load all required packages into your shell. Run `exit` or press `ctrl+d` to clear it.\n\nIf you're a [direnv](https://github.com/nix-community/nix-direnv) user, we have that too.\n\nIf you don't have Flakes support:\n\n```bash\nnix-shell\n```\n\n## Note for metals/bloop users\n\nSmithy4s is a complex project with a heavy build-matrix. In order to ease development, we've elected to only enable bloop-config generation\nfor the `JVM/Scala 2.13` combo of build axes, by default.\n\nIf you find yourself developing for another combination of build axes, it is possible to tweak the default by adding a `user.sbt` file in the root directory of your clone of this project, and fill it by following this example :\n\n```scala\nThisBuild / bloopAllowedCombos := Seq(\n  Seq(\n    VirtualAxis.jvm,\n    VirtualAxis.scalaABIVersion(\"3.3.0\")\n  )\n)\n```\n\n## Note for .sbtopts\n\nYou usually should use `.sbtopts` to add some more memory for `sbt`, as Smithy4s is complex. You copy the `.sbtopts.example` to `.sbtopts` and adjust the values to your needs:\n\n```bash\ncp .sbtopts.example .sbtopts\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdisneystreaming%2Fsmithy4s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdisneystreaming%2Fsmithy4s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdisneystreaming%2Fsmithy4s/lists"}