%global _empty_manifest_terminate_build 0 Name: python-chocs Version: 1.6.1 Release: 1 Summary: Lightweight and powerful WSGI/AWS lambda framework for rapid building rest applications. License: MIT URL: https://github.com/kodemore/chocs Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bb/d0/fc1621daa8824ac9022676856651d23109164ba4e80349ad684d9372a3dd/chocs-1.6.1.tar.gz BuildArch: noarch Requires: python3-pyyaml %description # Chocs
[![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) Chocs is a modern HTTP framework for building AWS HTTP API/REST API and WSGI compatible applications. Chocs aims to be small, expressive, and robust. It provides an elegant API for writing fault-proof, extensible microservices. ## Features - AWS Serverless integration - Elegant and easy API - No additional bloat like built-in template engines, session handlers, etc. - Compatible with all WSGI servers - Loosely coupled components which can be used separately - Multipart body parsing - Graceful error handling - HTTP middleware support - Fast routing - Middleware packages to simplify daily tasks ## Installation ``` pip install chocs ``` or with poetry ``` poetry add chocs ``` ## Quick start ```python import chocs http = chocs.Application() @http.get("/hello/{name}") def hello(request: chocs.HttpRequest) -> chocs.HttpResponse: return chocs.HttpResponse(f"Hello {request.path_parameters.get('name')}!") chocs.serve(http) ``` > Keep in mind that the `chocs.serve()` function is using the `bjoern` package, so make sure you included it in your project > dependencies before using it. You are able to use any WSGI compatible server. ## Available middlewares ### OpenAPI Integration middleware Allows integrating OpenAPI documentation into your codebase, providing automating request validation based on your OpenAPI spec. More details are available in the [chocs-openapi repository](https://github.com/kodemore/chocs-openapi). ### ParsedBody middleware Parsed body middleware helps to convert json/yaml request payloads into dataclass, this not only makes your daily 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). # Documentation For usage and detailed documentation please visit our [wiki page](https://github.com/kodemore/chocs/wiki) %package -n python3-chocs Summary: Lightweight and powerful WSGI/AWS lambda framework for rapid building rest applications. Provides: python-chocs BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-chocs # Chocs
[![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) Chocs is a modern HTTP framework for building AWS HTTP API/REST API and WSGI compatible applications. Chocs aims to be small, expressive, and robust. It provides an elegant API for writing fault-proof, extensible microservices. ## Features - AWS Serverless integration - Elegant and easy API - No additional bloat like built-in template engines, session handlers, etc. - Compatible with all WSGI servers - Loosely coupled components which can be used separately - Multipart body parsing - Graceful error handling - HTTP middleware support - Fast routing - Middleware packages to simplify daily tasks ## Installation ``` pip install chocs ``` or with poetry ``` poetry add chocs ``` ## Quick start ```python import chocs http = chocs.Application() @http.get("/hello/{name}") def hello(request: chocs.HttpRequest) -> chocs.HttpResponse: return chocs.HttpResponse(f"Hello {request.path_parameters.get('name')}!") chocs.serve(http) ``` > Keep in mind that the `chocs.serve()` function is using the `bjoern` package, so make sure you included it in your project > dependencies before using it. You are able to use any WSGI compatible server. ## Available middlewares ### OpenAPI Integration middleware Allows integrating OpenAPI documentation into your codebase, providing automating request validation based on your OpenAPI spec. More details are available in the [chocs-openapi repository](https://github.com/kodemore/chocs-openapi). ### ParsedBody middleware Parsed body middleware helps to convert json/yaml request payloads into dataclass, this not only makes your daily 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). # Documentation For usage and detailed documentation please visit our [wiki page](https://github.com/kodemore/chocs/wiki) %package help Summary: Development documents and examples for chocs Provides: python3-chocs-doc %description help # Chocs
[![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) Chocs is a modern HTTP framework for building AWS HTTP API/REST API and WSGI compatible applications. Chocs aims to be small, expressive, and robust. It provides an elegant API for writing fault-proof, extensible microservices. ## Features - AWS Serverless integration - Elegant and easy API - No additional bloat like built-in template engines, session handlers, etc. - Compatible with all WSGI servers - Loosely coupled components which can be used separately - Multipart body parsing - Graceful error handling - HTTP middleware support - Fast routing - Middleware packages to simplify daily tasks ## Installation ``` pip install chocs ``` or with poetry ``` poetry add chocs ``` ## Quick start ```python import chocs http = chocs.Application() @http.get("/hello/{name}") def hello(request: chocs.HttpRequest) -> chocs.HttpResponse: return chocs.HttpResponse(f"Hello {request.path_parameters.get('name')}!") chocs.serve(http) ``` > Keep in mind that the `chocs.serve()` function is using the `bjoern` package, so make sure you included it in your project > dependencies before using it. You are able to use any WSGI compatible server. ## Available middlewares ### OpenAPI Integration middleware Allows integrating OpenAPI documentation into your codebase, providing automating request validation based on your OpenAPI spec. More details are available in the [chocs-openapi repository](https://github.com/kodemore/chocs-openapi). ### ParsedBody middleware Parsed body middleware helps to convert json/yaml request payloads into dataclass, this not only makes your daily 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). # Documentation For usage and detailed documentation please visit our [wiki page](https://github.com/kodemore/chocs/wiki) %prep %autosetup -n chocs-1.6.1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-chocs -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 1.6.1-1 - Package Spec generated