{"repo":"bali-framework/bali","free":true,"listed":false,"github":"https://github.com/bali-framework/bali","clone":"git clone https://github.com/bali-framework/bali.git","description":"Simplify declarative cloud-native development base on FastAPI and gRPC. https://bali-framework.github.io/bali/","language":"Python","stars":367,"topics":["python","fastapi","grpc","micorservices"],"license":"MIT","category":"networking-infra","readme_excerpt":"🏝 Simplify Cloud Native Microservices development base on FastAPI and gRPC. --- Documentation : https://bali-framework.github.io/bali/ --- Bali Bali is a framework integrate FastAPI and gRPC. If you want to provide both HTTP and RPC, it can improve development efficiency. It gives you the following features: A simple layout of file structure rule. Integrated SQLAlchemy ORM and provide generic model methods. Utilities of transform models to Pydantic schemas. GZipMiddleware included and GZip decompression enabled. 🍻 Resource layer to write code once support both HTTP and RPC Who's using bali framework Requirements 1. Python 3.9+ 2. FastAPI 0.63+ 3. grpcio =1.32, New in version 2.0. Resource’s design borrows several key concepts from the REST architectural style. Inspired by ViewSet in Django REST Framework. Actions' name according Standard methods in Google API design guide Generic HTTP/RPC Actions Generic HTTP/RPC support actions: Action Route Method RPC Description --- --- --- --- --- get /{id} GET Get{Resource} Get an existing resource matching the given id list / GET List{Resource} Get all the resources create / POST Create{Resource} Create a new resource update /{id} PATCH Update{Resource} Update an existing resource matching the given id delete /{id} DELETE Delete{Resource} Delete an existing resource matching the given id Generic Actions examples: Custom HTTP/RPC Actions Custom actions also decorated by @action , but detail signature is required. detail has no default ","default_branch":null,"files":null,"tree":[],"storefront":"/r/bali-framework","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/bali-framework/bali/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}