{"id":22374411,"url":"https://github.com/kodemore/chocs","last_synced_at":"2025-07-30T21:33:19.836Z","repository":{"id":36596665,"uuid":"228888343","full_name":"kodemore/chocs","owner":"kodemore","description":"Modern HTTP framework for AWS Serverless and WSGI compatible servers.","archived":false,"fork":false,"pushed_at":"2024-05-26T15:14:16.000Z","size":850,"stargazers_count":16,"open_issues_count":9,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-28T07:06:36.391Z","etag":null,"topics":["aws","aws-lambda","framework","python","rest"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kodemore.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-18T17:18:42.000Z","updated_at":"2023-09-04T11:45:04.000Z","dependencies_parsed_at":"2024-06-21T13:05:55.969Z","dependency_job_id":"0afec967-f9b4-45c7-87a1-0d2f2022dffa","html_url":"https://github.com/kodemore/chocs","commit_stats":null,"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/kodemore/chocs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodemore%2Fchocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodemore%2Fchocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodemore%2Fchocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodemore%2Fchocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kodemore","download_url":"https://codeload.github.com/kodemore/chocs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kodemore%2Fchocs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267945168,"owners_count":24170215,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["aws","aws-lambda","framework","python","rest"],"created_at":"2024-12-04T21:16:59.696Z","updated_at":"2025-07-30T21:33:19.421Z","avatar_url":"https://github.com/kodemore.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg align=\"right\" width=300 src=\"https://github.com/kodemore/chocs/raw/master/chocs.png\"\u003e\n\n# Chocs \u003cbr\u003e[![PyPI version](https://badge.fury.io/py/chocs.svg)](https://pypi.org/project/chocs/) ![Release](https://github.com/kodemore/chocs/workflows/Release/badge.svg) ![Linting and Tests](https://github.com/kodemore/chocs/workflows/Linting%20and%20Tests/badge.svg) [![codecov](https://codecov.io/gh/kodemore/chocs/branch/master/graph/badge.svg)](https://codecov.io/gh/kodemore/chocs) [![Maintainability](https://api.codeclimate.com/v1/badges/9e3c979283b2361a9174/maintainability)](https://codeclimate.com/github/kodemore/chocs/maintainability)\n\nChocs is a modern HTTP framework for building AWS HTTP API/REST API and WSGI compatible applications. \nChocs aims to be small, expressive, and robust. \nIt provides an elegant API for writing fault-proof, extensible microservices.  \n\n \n## Features\n\n - AWS Serverless integration\n - Elegant and easy API\n - No additional bloat like built-in template engines, session handlers, etc.\n - Compatible with all WSGI servers\n - Loosely coupled components which can be used separately\n - Multipart body parsing\n - Graceful error handling\n - HTTP middleware support\n - Fast routing\n - Middleware packages to simplify daily tasks\n\n## Installation\n```\npip install chocs\n```\n\nor with poetry\n\n```\npoetry add chocs\n```\n\n## Quick start\n\n```python\nimport chocs\n\nhttp = chocs.Application()\n\n@http.get(\"/hello/{name}\")\ndef hello(request: chocs.HttpRequest) -\u003e chocs.HttpResponse:\n    return chocs.HttpResponse(f\"Hello {request.path_parameters.get('name')}!\")\n\nchocs.serve(http)\n```\n\n\u003e Keep in mind that the `chocs.serve()` function is using the `bjoern` package, so make sure you included it in your project\n\u003e dependencies before using it. You are able to use any WSGI compatible server.\n\n## Available middlewares\n\n### OpenAPI Integration middleware\n\nAllows integrating OpenAPI documentation into your codebase, providing automating request validation based\non your OpenAPI spec. More details are available in the [chocs-openapi repository](https://github.com/kodemore/chocs-openapi).\n\n### ParsedBody middleware\n\nParsed body middleware helps to convert json/yaml request payloads into dataclass, this not only makes your\ndaily tasks easier but increases readability of your code and contract. More details are available in the [chocs-parsed-body repository](https://github.com/kodemore/chocs-parsed-body).\n\n\n# Documentation\nFor usage and detailed documentation please visit our [wiki page](https://github.com/kodemore/chocs/wiki)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkodemore%2Fchocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkodemore%2Fchocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkodemore%2Fchocs/lists"}