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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.22.tar.gz
Algorithm Hash digest
SHA256 7b82e35184d315a4f62ae4d9f014acf81936ebd5df1322025ec55f7efb0e4d89
MD5 a774ce11538af594b45eaedf0dac68b5
BLAKE2b-256 ddb6395dc272763fde5173bd9ad62c460259603fab9ecf08514cd21e65cbf972

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 78f715a10b97b1b181966f34315269c87d79892c832606e8960a6118ef105828
MD5 5ad08f8571c9d9cd037ed356c88c34f0
BLAKE2b-256 94cfcf5db2478950cb4038a50268230a4a29e827e17e595698a78eebc7488dd4

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