Skip to content

Latest commit

 

History

History
32 lines (28 loc) · 2.06 KB

README.md

File metadata and controls

32 lines (28 loc) · 2.06 KB

Application overview

In general, the application follows the standard path Fastapi + SQLalchemy.
Thus, we have the main paths/routes, their data scheme, web docs, database and its models.
The application is launched on the ASGI server, the data correctness is ensured by Pydantic.
This application is annotated and written with in the async paradigm.
Upon the initialization app grabs docs from the openapi.yaml and uses them to construct the web docs

In short, the application receives a request, validates its data, computes the result, likely using the database and sends it back.
For more details on how Fastapi works you can read its docs.

Files

  • app.py - App initialization and path/route handlers
  • crud.py - Database interface for our models (CreateReadUpdateDelete)
  • database.py - Database initialization and other things that help db work
  • docs.py - Pulls out the documentation from YAML and saves it in a useful way
  • exceptions.py - Custom exceptions and exception handlers
  • logfile.log - Gitignored, but if the app gets run, used for the logging
  • logger.py - Setup and things needed for logging
  • models.py - Database models
  • openapi.yaml - YAML documentation used to generate web docs
  • options.py - Changeable application-wide settings and options
  • patches.py - Monkey-patching of the libs, the first thing done in initialization
  • py.typed - Marker file for PEP 561
  • README.md - This file, nice recursion ;>
  • run.py - Run the app programmatically (+debug)
  • schemas.py - Pydantic definitions for in/out data structures
  • sqlite.db - Gitignored, but if the app gets run, the database is created here
  • typedefs.py - Type/annotation definitions for typechecking
  • __init__.py - Package initialization
  • __main__.py - Main command-line interface for the application