Skip to main content

A collection of Python libraries for A360

Project description

a360-python-libraries

Python shared libraries for a360 applications

License

This software is proprietary and is intended solely for use by Aesthetics-360 Inc.. Unauthorized use, distribution, or modification of this software outside of Aesthetics-360 Inc. is strictly prohibited.

Add package into your project

poetry add a360-python-libraries

Usage

Role based access control

from fastapi import APIRouter, Depends

from a360_security.depends import require_role
from a360_security.enums import Role

router = APIRouter()

@router.get(
    ...,
    dependencies=[Depends(require_role(Role.ADMIN))]
)
def get() -> dict:
    ...

User dependency

from fastapi import APIRouter, Depends

from a360_security.depends import require_user
from a360_security.dto import UserDTO

router = APIRouter()

@router.get(
    ...,
)
def get(user: UserDTO = Depends(require_user)) -> dict:
    ...

Client platform

from fastapi import APIRouter, Depends

from a360_security.depends import require_client_platform
from a360_security.enums import ClientPlatform

router = APIRouter()

@router.get(
    ...,
)
def get(client_platform: ClientPlatform = Depends(require_client_platform)) -> dict:
    ...

Internal services

from fastapi import APIRouter, Depends

from a360_services import get_dictionary_service
from a360_services.services import DictionaryService

router = APIRouter()

@router.get(
    ...,
)
def get(dict_service: DictionaryService = Depends(get_dictionary_service)) -> dict:
    medical_conditions = dict_service.get_medical_conditions()

Email notification

from fastapi import APIRouter, Depends

from a360_notification import get_mail_service
from a360_notification.services import AWSSesService

router = APIRouter()

@router.post(
    ...,
)
def create(mail_service: AWSSesService = Depends(get_mail_service)):
    mail_service.send_email(
        recipient_name='John Doe',
        recipient_address='john.doe@example.com',
        subject='Test email',
        html_content='<h1>Test email</h1>',
    )

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

a360_python_libraries-0.6.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

a360_python_libraries-0.6.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file a360_python_libraries-0.6.1.tar.gz.

File metadata

  • Download URL: a360_python_libraries-0.6.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.10 Linux/6.8.0-1014-azure

File hashes

Hashes for a360_python_libraries-0.6.1.tar.gz
Algorithm Hash digest
SHA256 f414417c1486e1e7519ee4cadbe0aa3928f9fb8b3970b7d6611ff5f10d262f90
MD5 ca92fe340f211d05e88fb2464c0aa7b7
BLAKE2b-256 254d0b56311d1380ff3e41ae51fe07a9cee9a035095db8c66cee32f18cacee50

See more details on using hashes here.

File details

Details for the file a360_python_libraries-0.6.1-py3-none-any.whl.

File metadata

File hashes

Hashes for a360_python_libraries-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 29eecd654eff382c8e7c8e0660bfa8af3211ddff3a3180a3730fc9f18d37f398
MD5 54cf0dd37151678ecb2012615d75d51b
BLAKE2b-256 71f2654006b5be7434e2da129df5ccb7b616579b7e781186cc99089843ec979c

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