{"id":13546610,"url":"https://github.com/scotty-web/scotty","last_synced_at":"2025-05-14T07:09:30.061Z","repository":{"id":2133716,"uuid":"3077100","full_name":"scotty-web/scotty","owner":"scotty-web","description":"Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository)","archived":false,"fork":false,"pushed_at":"2025-02-23T11:31:38.000Z","size":755,"stargazers_count":1746,"open_issues_count":33,"forks_count":136,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-05-14T02:10:52.681Z","etag":null,"topics":["rest","rest-api","web-framework"],"latest_commit_sha":null,"homepage":"http://hackage.haskell.org/package/scotty","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"moaikids/fluent-plugin-jsonbucket","license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scotty-web.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":"2011-12-30T22:43:27.000Z","updated_at":"2025-05-13T17:14:15.000Z","dependencies_parsed_at":"2022-07-12T14:56:53.587Z","dependency_job_id":"f0629e57-a7e6-412e-9c69-ef30c29b499a","html_url":"https://github.com/scotty-web/scotty","commit_stats":{"total_commits":471,"total_committers":77,"mean_commits":6.116883116883117,"dds":0.6666666666666667,"last_synced_commit":"68009a05262afac40e0111e6abcebf7616f496d9"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scotty-web%2Fscotty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scotty-web%2Fscotty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scotty-web%2Fscotty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scotty-web%2Fscotty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scotty-web","download_url":"https://codeload.github.com/scotty-web/scotty/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254092787,"owners_count":22013290,"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":["rest","rest-api","web-framework"],"created_at":"2024-08-01T12:00:41.100Z","updated_at":"2025-05-14T07:09:25.046Z","avatar_url":"https://github.com/scotty-web.png","language":"Haskell","funding_links":[],"categories":["`API Frameworks`","Haskell","Micro Frameworks inspired by Sinatra (Other Languages)","API Frameworks","Service Toolkits"],"sub_categories":["Haskell"],"readme":"# Scotty [![Hackage](http://img.shields.io/hackage/v/scotty.svg)](https://hackage.haskell.org/package/scotty) [![Stackage Lts](http://stackage.org/package/scotty/badge/lts)](http://stackage.org/lts/package/scotty) [![Stackage Nightly](http://stackage.org/package/scotty/badge/nightly)](http://stackage.org/nightly/package/scotty) [![CI](https://github.com/scotty-web/scotty/actions/workflows/haskell-ci.yml/badge.svg)](https://github.com/scotty-web/scotty/actions/workflows/haskell-ci.yml)\n\nA Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp.\n\n```haskell\n{-# LANGUAGE OverloadedStrings #-}\nimport Web.Scotty\n\nmain = scotty 3000 $\n    get \"/:word\" $ do\n        beam \u003c- pathParam \"word\"\n        html $ mconcat [\"\u003ch1\u003eScotty, \", beam, \" me up!\u003c/h1\u003e\"]\n```\n\nScotty is the cheap and cheerful way to write RESTful, declarative web applications.\n\n* A page is as simple as defining the verb, URL pattern, and Text content.\n* It is template-language agnostic. Anything that returns a Text value will do.\n* Conforms to the [web application interface (WAI)](https://github.com/yesodweb/wai/).\n* Uses the very fast Warp webserver by default.\n\nAs for the name: Sinatra + Warp = Scotty.\n\n## Examples\n\nRun /basic.hs to see Scotty in action:\n\n```bash\nrunghc examples/basic.hs\n```\n`Setting phasers to stun... (port 3000) (ctrl-c to quit)`\n\nOr equivalently with [`stack`](https://docs.haskellstack.org/en/stable/):\n\n```bash\nstack exec -- scotty-basic\n```\n\nOnce the server is running you can interact with it with curl or a browser:\n\n```bash\ncurl localhost:3000\n```\n`foobar`\n\n```bash\ncurl localhost:3000/foo_query?p=42\n```\n`\u003ch1\u003e42\u003c/h1\u003e`\n\n\nAdditionally, the `examples` directory shows a number of concrete use cases, e.g. \n\n* [exception handling](./examples/exceptions.hs)\n* [global state](./examples/globalstate.hs)\n* [configuration](./examples/reader.hs)\n* [cookies](./examples/cookies.hs)\n* [file upload](./examples/upload.hs)\n* [session](./examples/session.hs)\n* and more\n\n## More Information\n\nTutorials and related projects can be found in the [Scotty wiki](https://github.com/scotty-web/scotty/wiki).\n\n## Contributing\n\nFeel free to ask questions or report bugs on the [Github issue tracker](https://github.com/scotty-web/scotty/issues/).\n\nGithub issues are now (September 2023) labeled, so newcomers to the Haskell language can start with `easy fix` ones and gradually progress to `new feature`s, `bug`s and `R\u0026D` :)\n\n## Package versions\n\nScotty adheres to the [Package Versioning Policy](https://pvp.haskell.org/).\n\n\n## FAQ\n\n* Fails to compile regex-posix on Windows\n    * If you are using stack, add the following parameters to `stack.yaml`:\n        * ```yaml\n            extra-deps:\n            - regex-posix-clib-2.7\n            flags:\n              regex-posix:\n                _regex-posix-clib: true\n          ```\n    * If you are using cabal, update the `constraints` section of `cabal.project.local` as follows:\n        * ```\n          constraints:\n            regex-posix +_regex-posix-clib \n          ```\n\n### Contributors\n\n\u003ca href=\"https://github.com/scotty-web/scotty/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=scotty-web/scotty\" /\u003e\n\u003c/a\u003e\n\n\n# Copyright \n(c) 2012-Present, Andrew Farmer and Scotty contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscotty-web%2Fscotty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscotty-web%2Fscotty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscotty-web%2Fscotty/lists"}