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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.10.tar.gz
Algorithm Hash digest
SHA256 902b2ff6ca444a8b7153a28052a1539a06b40830ad382b125bac9cf1636acfeb
MD5 403cf1a9fcc1d686b5667b203eafc94b
BLAKE2b-256 ae2da3271988f2fed0cb494172e37eb79948e5d34c9e9fb9c0cebe60320d7a7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastapi_microservice_helper-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 04a7ca134c2bb2370c869d002244eb94207404bc6ad3f5a2022a34e2dd9c4a3b
MD5 3e94b3241fc591956aadca4b38750b2c
BLAKE2b-256 076ddba9d5480b082c93ae1cffef4ba6498b93cd7bb8b5e74d79d07b20a74533

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