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.28.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.28.tar.gz
Algorithm Hash digest
SHA256 d0dcdc8c8cf065b93ecff3bacf3899aeb373ee6d36083cb3545c851e1f530cdf
MD5 4c6c9d113a2181cb002e4f2f204ce2a3
BLAKE2b-256 f8c4ddc33d832032c3ec6a5379f1244aa320bab466dd83c333f997c6741dfe12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.28-py3-none-any.whl
Algorithm Hash digest
SHA256 d8e71ee5cb67c1b865b2ddf0fb7aa2a0acd152ba148ea695cba0416a03d83c71
MD5 b1cbf8f3d968ec438282aabf94605f9b
BLAKE2b-256 32265a269485c91edfd9cca15a2b433d94ae0c15ae99467abe3ee5601a04f3a6

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