Skip to main content

FastAPI Microservice Helper

Project description

FastAPI Request helper

How to use

  1. Set a variable
# user_service.py
from fastapi import FastAPI
from fastapi_global_variable import GlobalVariable

app = FastAPI(title="Application")

GlobalVariable.set('app', app)
  1. Use variable
from fastapi_global_variable import GlobalVariable

print(GlobalVariable.get_or_fail('app'))
print(GlobalVariable.get('app'))
  1. Decorators

FastAPI Request Helper provides lots of helpful decorators:

  • Swagger docs decorators: @controller, @tag, @get, @post, @put, @delete, @patch
  • Rate limit request: @rate_limit
  • FastAPI response model: @response
  • FastAPI guards: @guard, @gurads
  • FastAPI response status: @status
  • FastAPI API info details: @description, @summary, @name
  • FastAPI API response status: @status_no_content, @status_ok, @status_created
  • Hide API: @hidden_when(condition: boolean)

Fast API Helper also provides Pagination Query params helper: PaginationParams

# Sample
from fastapi_request_helper import (
    controller,
    post,
    rate_limit,
    response,
    status_created,
    status_no_content,
    status_ok,
    tag,
)

@controller('authentications')
@tag('Authentication')
class AuthenticationController:
    def __init__(self, auth_service: AuthenticationService = Depends()):
        self.auth_service = auth_service

    @post('create-email-otp')
    @status_no_content()
    async def create_email_otp(self):
        pass

How to test in testpypi

  1. Increase the version in pyproject.toml
  2. Run command
$ ./build_and_test.sh

How to publish new version

  1. Increase the version in pyproject.toml
  2. Run command
$ ./build_and_publish.sh

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_microservice_helper-0.0.18.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file fastapi_microservice_helper-0.0.18.tar.gz.

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.18.tar.gz
Algorithm Hash digest
SHA256 61e1be85c416a47ba1300c40f878471b3cb93d628b81758d4ec235fe0d0ea4fa
MD5 d0a21542fa0f1ea13405ee6b6800c620
BLAKE2b-256 4b01e590ecaa960b00b3d58101a1b60e89477862af84b00e20d622f748265558

See more details on using hashes here.

File details

Details for the file fastapi_microservice_helper-0.0.18-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 14de1e53b2ae58879282f9c172a5df10308c2fd411836390037a181c2d41f919
MD5 cb981ec207bca05cf03aaa92e2774b5e
BLAKE2b-256 19ddd6ad689cb6ff3380ecb1e331c68dc84b6394836c5e10b8d2db437dadff81

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page