# MSA Dependencies
msaFileSystem==0.0.3 # Agnostic Abstract Filesystem API which allows to use S3, GCS, Azure Datalake, your local FS, Youtube etc Optimized for use with FastAPI/Pydantic.
msaDocModels==0.0.54 # MSA Document Pydantic Models and Schemas, used to store Parser, NLP, NLU and AI results for processed documents

# FastAPI related Dependencies
fastapi[all]==0.86.0 # FastAPI framework, high performance, easy to learn, fast to code, ready for production
fastapi_utils==0.2.1 # Reusable utilities for FastAPI, Repeated Tasks, APIModel, APISettings
pydantic[email,dotenv]==1.9.2 # Data validation and settings management using python type hints
pyinstrument==4.4.0 # pyinstrument to check service performance.


# General Dependencies
autoflake==2.0.1 # Removes unused imports and unused variables
black==22.6.0 # Code formatter
pyproject-flake8==6.0.0 # configure flake8
flake8==6.0.0 # modular source code checker: pep8 pyflakes and co
colorama==0.4.6 # Makes ANSI escape character sequence
isort==5.12.0 # library to sort Python imports.
loguru==0.6.0 # Python logging made (stupidly) simple
lxml==4.9.2 # Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
mypy==1.0.0 # Optional static typing for Python
setuptools==67.2.0 # Easily download, build, install, upgrade, and uninstall Python packages
prometheus_fastapi_instrumentator==5.9.1 # Instrument your FastAPI with Prometheus metrics
Jinja2==3.1.2 # A very fast and expressive template engine.
orjson==3.8.3 # Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy
pyinstrument==4.4.0 # pyinstrument to check service performance.
msgpack-asgi==1.1.0 # Drop-in MessagePack support for ASGI applications and frameworks
slowapi==0.1.7 # A rate limiting extension for Starlette and Fastapi
addict==2.4.0 # A dictionary whose items can be set using both attribute and item syntax.
pymongo==4.3.3 # A Python distribution containing tools for working with MongoDB

# Dapr Dependencies
dapr==1.9.0 # Dapr is a portable, serverless, event-driven runtime that makes it easy for developers to build resilient, stateless and stateful microservices that run on the cloud and edge
dapr-ext-grpc==1.9.0 # gRPC extension for Dapr.
dapr-ext-fastapi==1.9.0 # Dapr is a portable, serverless, event-driven runtime

# File Management related libs
aiofiles==23.1.0 # handling local disk files in asyncio applications
fs==2.4.16 # Python's filesystem abstraction layer

# Starlette related Dependencies
starlette==0.20.4 # Starlette is a lightweight ASGI framework/toolkit, which is ideal for building async web services in Python.
starlette-context==0.3.5 # Access context in Starlette
starception==0.4.1 # Beautiful debugging page for Starlette apps.
Starlette-WTF==0.4.3 # Simple integration of Starlette and WTForms.

# Other Dependencies
httpx==0.23.3 # The next generation HTTP client.
aiohttp==3.8.4 # The next generation HTTP client.
hjson==3.1.0 # Hjson, a user interface for JSON.

# Uvicorn related Dependencies
uvicorn==0.18.3 # The lightning-fast ASGI server.
uvloop==0.17.0 # Fast implementation of asyncio event loop on top of libuv

# Sysinfo related libs
gputil==1.4.0 # Python module for getting the GPU status from NVIDA GPUs using nvidia-smi.
psutil==5.9.4 # Cross-platform lib for process and system monitoring in Python.

# Scheduler
apscheduler==3.10.0 # APScheduler is a Python library that lets you schedule your Python code to be executed later, either just once or periodically

# Testing
pytest==7.2.0 # Framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.
pytest-asyncio==0.20.2 # Library for testing asyncio code with pytest.
pytest-mock==3.10.0 # Library for mock data with pytest.