{"id":22292551,"url":"https://github.com/rafalsumislawski/swaggerify","last_synced_at":"2025-07-28T23:33:29.112Z","repository":{"id":57736274,"uuid":"165549613","full_name":"RafalSumislawski/swaggerify","owner":"RafalSumislawski","description":"Deriving swagger files from Scala code","archived":false,"fork":false,"pushed_at":"2021-12-02T20:44:28.000Z","size":78,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2023-07-04T21:12:27.615Z","etag":null,"topics":["rho","scala","swagger","type-classes"],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RafalSumislawski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-13T20:13:29.000Z","updated_at":"2021-12-02T20:44:30.000Z","dependencies_parsed_at":"2022-09-14T13:41:08.956Z","dependency_job_id":null,"html_url":"https://github.com/RafalSumislawski/swaggerify","commit_stats":null,"previous_names":[],"tags_count":3,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafalSumislawski%2Fswaggerify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafalSumislawski%2Fswaggerify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafalSumislawski%2Fswaggerify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RafalSumislawski%2Fswaggerify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RafalSumislawski","download_url":"https://codeload.github.com/RafalSumislawski/swaggerify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227963233,"owners_count":17848073,"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":["rho","scala","swagger","type-classes"],"created_at":"2024-12-03T17:22:47.721Z","updated_at":"2024-12-03T17:22:48.573Z","avatar_url":"https://github.com/RafalSumislawski.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Swaggerify\nSwaggerify is a library implementing type-class approach to generating swagger files from Scala code.\n\nSwaggerify is heavily inspired by, and based on [http4s/rho](https://github.com/http4s/rho). Swaggerify is a research towards providing similar features with more compile-time assertions, as well as improving compatibility with the [Swagger 2.0/OpenAPI 2.0 specification](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md) and [client generators](https://github.com/OpenAPITools/openapi-generator).\n\n## Design\nSwaggerify is designed aroud `Swaggerify[T]` type-class which provies facilities to generate Swagger model/property/parameter from type `T`.\n`Swaggerify` instances for Algebraic Data Types (ADTs) are derived with [magnolia](https://github.com/propensive/magnolia).\n\n## Development Status\nBuilding  models, properties and parameters from Scala (and Java) types is mostly ready with few minor exceptions.\nA minimalistic builder for describing routes/paths is under development, although the plan is to eventually replace it with a modified version of rho's DSL. Setup for testing compatibility with specification using [swagger-validator](https://github.com/swagger-api/validator-badge) is in place. I've done some test with a real-life API model, which I couldn't share here.\n\n## License\nSwaggerify is licensed under Apache License, Version 2.0 (see [LICENSE](LICENSE)).\nSwaggerify contains parts of code from [http4s/rho](https://github.com/http4s/rho) licensed under Apache License, Version 2.0 (see the license of rho: [LICENSE.rho](LICENSE.rho))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafalsumislawski%2Fswaggerify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frafalsumislawski%2Fswaggerify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frafalsumislawski%2Fswaggerify/lists"}