Base PyPi Package Requirements
Base PyPi Package Requirements
# -----------------------------------------------------------------------------
# written by: Lawrence McDaniel
# https://lawrencemcdaniel.com
#
# usage: The common platform requirements.
#
# pip-compile smarter/requirements/in/base.in -o smarter/requirements/base.txt
# -----------------------------------------------------------------------------
-r constraints.in
# General back end
# ------------
whitenoise # general asset compression for both asgi and wsgi, and static file serving for wsgi
boto3 # AWS CLI SDK
botocore # AWS CLI SDK core
cachetools # Python object caching library
celery # asynchronous task queue. works with redis.
celery-redbeat # scheduled asynchronous tasks
channels # web socket support for Django ASGI
channels-redis # Redis ASGI support
dnspython # DNS toolkit for Python
pymysql # for Django mysql compatibility
paramiko # SSH2 protocol library
psutil # a cross-platform library for retrieving information on running processes and system utilization
python-hcl2 # Terraform hcl parser for reading Terraform tfvars files
python-dotenv # for reading environment variables from .env files
requests # HTTP requests library
requests-cache # HTTP requests caching
retry-requests # HTTP requests retry
tldextract # Extracts the top-level domain from a URL
validators # Data validation library
mailchimp-marketing # Mailchimp API, for adding people to the mailing list
pycountry # ISO country, subdivision, language, currency and their translations
# Django
# ------------
Django
django-debug-toolbar # a configurable set of panels that display various debug information about the current request/response.
# We need this in base so that we can toggle DEBUG_MODE.
django-redis # object caching
django-celery-beat # scheduled asynchronous tasks
djangorestframework # for creating REST APIs on top of Django
django-filter # REST API filtering
django-hosts # Dynamic and static host resolving for Django. Maps hostnames to URLconfs.
django-taggit # Smarter Plugin tagging
django-rest-knox # Token authentication for REST APIs
django-cors-headers # Cross-origin resource sharing
django-storages # Django storage subsystem
django-waffle # Feature flagging
social-auth-app-django # Social authentication for Django
# Manifest support, and for working with data
# ------------
pandas # Data manipulation for data science stuff
pydantic # best data validation library ever!
pydantic-settings # settings management
email-validator # Pydantic email validator for EmailStr
pint # Define, operate and manipulate physical quantities:
# LLM support
# ------------
langchain~=1.2.0 # -----------------------------
langchain_community # for pinecone vectorstore backend
langchain_openai #
langchain_pinecone #
langchain-text-splitters # -----------------------------
openai~=2.31 # OpenAI API
pinecone # Pinecone vector database support
google-genai # Google Generative AI API
llamaai # Llama AI API
googlemaps # Google Maps API for weather function calling feature
openmeteo-requests # OpenMeteo API for weather data for weather function calling feature
# Natural language processing
# ------------
pyyaml # YAML parser
python-Levenshtein # Levenshtein distance calculation for LLMs
nltk~=3.0 # Natural Language Toolkit
textblob # Text processing library
inflect # Pluralization and singularization
# CMS and web publishing tools
# ------------
beautifulsoup4 # HTML parser for Wagtail page compression
docutils # required by Django for django.contrib.admindocs
drf-yasg # Swagger API documentation
lxml # parser for Wagtail page compression
markdown # Markdown reader/parser
pillow # for provider.Provider.logo: