Skip to main content

msaUtils - General utils for Microservices based on FastAPI like Profiler, Scheduler, Sysinfo, Healtcheck, Error Handling etc.

Project description

msaUtils Logo


msaUtils - General utils for Microservices based on FastAPI like Profiler, Scheduler, Sysinfo, Healtcheck, Error Handling etc.
Optimized for use with FastAPI/Pydantic.
Package version Supported Python versions


Documentation: Documentation (https://msaUtils.u2d.ai/)


Features

  • MSASendEmail: Helper class to send email via smtp server.
  • MSABaseExceptionHandler: Central exception handler which sends formatted exception to logger
  • Filehandler utilities: Classes for FileDelete, FileUpload async with chunking, Archive pack/unpack formats, helper functions
  • Find system fonts: Find available system installed fonts or search in specific directory
  • mkdocs code reference helper: Create virtual mkdocs navs for code reference and used libraries from requirements.txt
  • MSAHealthCheck: Healthcheck class with internal own thread, which checks url for health
  • HTML Sanitizer: Helper function to sanitize 'dirty html' for text processing
  • logger intercept handler: allows to change handler from all logger and define specific output format with loguru
  • Models for files and health classes: reusable pydantic models for file handling and dealing with healthcheck status
  • MSAProfilerMiddleware: PyInstrument Profiler as Middleware to create a html for an admin Dashboard
  • MSAScheduler: Scheduler class to define scheduled tasks in natural language time of day between 10:00 and 16:00
  • MSAAppSettings: API oriented settings class with environment vars and .env file support
  • Service oriented System Info: Classes and functions to get pydantic model response about system and gpu information
  • MSAToken: API token handler classes and functions based on oauth2, jwt etc.

License Agreement

  • msaUtilsBased on MIT open source and free to use, it is free for commercial use, but please show/list the copyright information about msaUtils somewhere.

How to create the documentation

We use mkdocs and mkdocsstring. The code reference and nav entry get's created virtually by the triggered python script /docs/gen_ref_pages.py while mkdocs serve or build is executed.

Requirements Install for the PDF creation option:

PDF Export is using mainly weasyprint, if you get some errors here pls. check there documentation. Installation is part of the msaUtils, so this should be fine.

We can now test and view our documentation using:

mkdocs serve

Build static Site:

mkdocs build

Build and Publish

Build:

python setup.py sdist

Publish to pypi:

twine upload dist/*

Download files

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

Source Distribution

msaUtils-0.0.2.tar.gz (28.3 kB view details)

Uploaded Source

File details

Details for the file msaUtils-0.0.2.tar.gz.

File metadata

  • Download URL: msaUtils-0.0.2.tar.gz
  • Upload date:
  • Size: 28.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for msaUtils-0.0.2.tar.gz
Algorithm Hash digest
SHA256 3c6d2b607533907250ae58d19ee2ef68deb3dea6a6e323cdc4ac1868447951a1
MD5 f62dc6cb5b0fb2feb973ac81e9075421
BLAKE2b-256 9ba7f201abf9a65c683e04f7386413abf54343ed56796a2aee33d71731068b8e

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