{"id":13737141,"url":"https://github.com/mattaylor/whip","last_synced_at":"2025-06-25T17:12:16.963Z","repository":{"id":49501527,"uuid":"161262779","full_name":"mattaylor/whip","owner":"mattaylor","description":"Simple fast http server for nim based on httpbeast and nest for high performance routing","archived":false,"fork":false,"pushed_at":"2020-06-11T15:27:59.000Z","size":11158,"stargazers_count":88,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-15T10:54:43.348Z","etag":null,"topics":["fast","http","httpbeast","nest","nim","router","server","web"],"latest_commit_sha":null,"homepage":null,"language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mattaylor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-11T02:03:17.000Z","updated_at":"2025-05-11T15:42:33.000Z","dependencies_parsed_at":"2022-08-20T15:10:05.843Z","dependency_job_id":null,"html_url":"https://github.com/mattaylor/whip","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mattaylor/whip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaylor%2Fwhip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaylor%2Fwhip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaylor%2Fwhip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaylor%2Fwhip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattaylor","download_url":"https://codeload.github.com/mattaylor/whip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattaylor%2Fwhip/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261917435,"owners_count":23229919,"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":["fast","http","httpbeast","nest","nim","router","server","web"],"created_at":"2024-08-03T03:01:36.027Z","updated_at":"2025-06-25T17:12:16.948Z","avatar_url":"https://github.com/mattaylor.png","language":"Nim","readme":"# WHIP\n\nWHIP is a high performance web application server based on the excellent https://github.com/dom96/httpbeast and routing provided by https://github.com/kedean/nest with some additonal optimizations. \n\nWHIP is still in development and is not recomended for production use. Much is still missing or untested but for basic api use cases however, the performance numbers look pretty good so far (see below). \n\n## Its Simple\n\n```nim\nimport ../whip, sugar, json\n\nlet w = initWhip()\nw.onGet \"/json/{name}\", (w:Wreq) =\u003e w.send(%*{ \"name\": w.path(\"name\")})\nw.onGet \"/text/{name}\", (w:Wreq) =\u003e w.send(\"hello \" \u0026 w.path(\"name\"))\nw.start()\n```\n\n## Its Fast. \n\nAs fast as Httpbeast for simple routes and upto 3x faster than Jester for complex routing.\n\nCompared to Go, it is a little quicker than Gin-gonic but slower than fastrouter. \n\nVery unscientific benchmarks...\n\nFramework     | Lang | `/text/{name}`| `/json/{name}`| `/text`      \n--------------|------|---------------|---------------|--------------      \n__Whip__      | Nim  | 66.2k (0.15)  | 56.4k (0.17)   | 70.0k (0.14) \n__HttpBeast__ | Nim  | N/A           | N/A           | 68.2k (0.14) \n__Jester__    | Nim  | 16.2k (0.59)  | 15.6k (0.63)  | 56.7k (0.17) \n__Mofuw__     | Nim  | 8.71k (1.14)  | 8.13k (1.23)  | 9.13  (1.23) \n__GinGonic__  | Go   | 58.4k (0.14)  | 57.8k (0.15)  | 57.5k (0.15) \n__FastRouter__| Go   | 89.5k (0.09)  | N/A           | 90.3k (0.09) \n\nTotal Reqs/Sec (Mean latencies in ms) taken from the best of 3 `wrk` runs using 2 threads and 10 connections for 10 secs \nFor latest results see [[results.txt]]\n\nTo run ..\n\n```bash\n./bench.sh -c\n``` \n\n## Its WIP \n\nComing soon..\n\n- middleware api\n- websockets (mqtt) \n- swagger docs\n- smarter headers \n- session storage (redis)\n- sql db adapters (postgrest, graphql)\n- smart caching\n- static html serving\n- html templates (jade)\n- authentication (oauth, jwt)\n- aws lambda interop\n","funding_links":[],"categories":["Web"],"sub_categories":["Frameworks"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattaylor%2Fwhip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattaylor%2Fwhip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattaylor%2Fwhip/lists"}