Python Package Dependencies
Smarter Platform is a Python-Django micro-service application. Below is a list of the requirements and version pins for packages included in this environment. Note that we bump version pins on a monthly basis on the first of each month to our alpha branch. Version bumps follow the normal CI-CD workflow to arrive into the production environment, and that this takes an indertiminate amount of time before these ultimately arrive into the production environment. If you are developing your solution in Python then you can use this list to ensure that your development environment is in sync with the Smarter Platform.
# # This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile --output-file=smarter/requirements/docker.txt smarter/requirements/in/docker.in # aiohappyeyeballs==2.6.1 # via aiohttp aiohttp==3.12.15 # via llamaai aiosignal==1.4.0 # via aiohttp amqp==5.3.1 # via kombu annotated-types==0.7.0 # via pydantic anyascii==0.3.3 # via wagtail anyio==4.10.0 # via # httpx # openai asgiref==3.9.1 # via # django # django-cors-headers attrs==25.3.0 # via # aiohttp # cattrs # requests-cache bcrypt==4.3.0 # via paramiko beautifulsoup4==4.13.3 # via # -r smarter/requirements/in/base.in # wagtail billiard==4.2.1 # via celery boto3==1.40.30 # via -r smarter/requirements/in/base.in botocore==1.40.30 # via # -r smarter/requirements/in/base.in # boto3 # s3transfer cachetools==5.5.2 # via # -r smarter/requirements/in/base.in # -r smarter/requirements/in/constraints.in # google-auth cattrs==25.2.0 # via requests-cache celery==5.5.3 # via # -r smarter/requirements/in/base.in # celery-redbeat # django-celery-beat celery-redbeat==2.3.3 # via -r smarter/requirements/in/base.in certifi==2025.8.3 # via # -r smarter/requirements/in/constraints.in # httpcore # httpx # mailchimp-marketing # requests cffi==2.0.0 # via # cryptography # pynacl chardet==5.2.0 # via -r smarter/requirements/in/constraints.in charset-normalizer==3.4.3 # via # -r smarter/requirements/in/constraints.in # requests click==8.2.1 # via # celery # click-didyoumean # click-plugins # click-repl # nltk click-didyoumean==0.3.1 # via celery click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery colorama==0.4.6 # via -r smarter/requirements/in/constraints.in cron-descriptor==2.0.6 # via django-celery-beat cryptography==45.0.7 # via # paramiko # social-auth-core defusedxml==0.7.1 # via # python3-openid # social-auth-core # willow distro==1.9.0 # via openai django==5.2.6 # via # -r smarter/requirements/in/base.in # django-celery-beat # django-cors-headers # django-filter # django-modelcluster # django-permissionedforms # django-redis # django-rest-knox # django-storages # django-stubs-ext # django-taggit # django-tasks # django-timezone-field # django-treebeard # django-waffle # djangorestframework # drf-yasg # laces # social-auth-app-django # wagtail django-celery-beat==2.8.1 # via -r smarter/requirements/in/base.in django-cors-headers==4.7.0 # via -r smarter/requirements/in/base.in django-filter==25.1 # via # -r smarter/requirements/in/base.in # wagtail django-modelcluster==6.4 # via wagtail django-permissionedforms==0.1 # via wagtail django-redis==6.0.0 # via -r smarter/requirements/in/base.in django-rest-knox==5.0.2 # via -r smarter/requirements/in/base.in django-storages==1.14.6 # via -r smarter/requirements/in/base.in django-stubs-ext==5.2.5 # via django-tasks django-taggit==6.1.0 # via # -r smarter/requirements/in/base.in # wagtail django-tasks==0.8.1 # via wagtail django-timezone-field==7.1 # via django-celery-beat django-treebeard==4.7.1 # via wagtail django-waffle==5.0.0 # via -r smarter/requirements/in/base.in djangorestframework==3.16.1 # via # -r smarter/requirements/in/base.in # django-rest-knox # drf-yasg # wagtail dnspython==2.7.0 # via -r smarter/requirements/in/base.in docutils==0.22 # via -r smarter/requirements/in/base.in draftjs-exporter==5.1.0 # via wagtail drf-yasg==1.21.10 # via -r smarter/requirements/in/base.in et-xmlfile==2.0.0 # via openpyxl filelock==3.19.1 # via # -r smarter/requirements/in/constraints.in # tldextract filetype==1.2.0 # via willow flatbuffers==25.2.10 # via openmeteo-sdk frozenlist==1.7.0 # via # aiohttp # aiosignal google-ai-generativelanguage==0.6.15 # via google-generativeai google-api-core[grpc]==2.25.1 # via # google-ai-generativelanguage # google-api-python-client # google-generativeai google-api-python-client==2.181.0 # via google-generativeai google-auth==2.40.3 # via # google-ai-generativelanguage # google-api-core # google-api-python-client # google-auth-httplib2 # google-generativeai google-auth-httplib2==0.2.0 # via google-api-python-client google-generativeai==0.8.5 # via -r smarter/requirements/in/base.in googleapis-common-protos==1.70.0 # via # google-api-core # grpcio-status googlemaps==4.10.0 # via -r smarter/requirements/in/base.in grpcio==1.74.0 # via # google-api-core # grpcio-status grpcio-status==1.71.2 # via google-api-core gunicorn==23.0.0 # via -r smarter/requirements/in/docker.in h11==0.16.0 # via httpcore htmlmin==0.1.12 # via -r smarter/requirements/in/base.in httpcore==1.0.9 # via httpx httplib2==0.31.0 # via # google-api-python-client # google-auth-httplib2 httpx==0.28.1 # via openai idna==3.10 # via # -r smarter/requirements/in/constraints.in # anyio # httpx # requests # tldextract # url-normalize # yarl inflect==7.4.0 # via -r smarter/requirements/in/base.in inflection==0.5.1 # via drf-yasg iniconfig==2.1.0 # via -r smarter/requirements/in/constraints.in invoke==2.2.0 # via paramiko jiter==0.10.0 # via openai jmespath==1.0.1 # via # -r smarter/requirements/in/constraints.in # boto3 # botocore joblib==1.5.2 # via # -r smarter/requirements/in/constraints.in # nltk kombu==5.5.4 # via celery laces==0.1.2 # via wagtail lark==1.2.2 # via python-hcl2 levenshtein==0.27.1 # via python-levenshtein llamaai==0.1.27 # via -r smarter/requirements/in/base.in lxml==6.0.0 # via -r smarter/requirements/in/base.in mailchimp-marketing==3.0.80 # via -r smarter/requirements/in/base.in markdown==3.8 # via -r smarter/requirements/in/base.in mccabe==0.7.0 # via -r smarter/requirements/in/constraints.in mdurl==0.1.2 # via -r smarter/requirements/in/constraints.in more-itertools==10.8.0 # via # -r smarter/requirements/in/constraints.in # inflect multidict==6.6.4 # via # -r smarter/requirements/in/constraints.in # aiohttp # yarl mysqlclient==2.2.7 # via -r smarter/requirements/in/base.in nest-asyncio==1.6.0 # via llamaai nltk==3.9.1 # via # -r smarter/requirements/in/base.in # textblob numpy==2.3.3 # via pandas oauthlib==3.3.1 # via # requests-oauthlib # social-auth-core openai==1.101.0 # via -r smarter/requirements/in/base.in openmeteo-requests==1.3.0 # via -r smarter/requirements/in/base.in openmeteo-sdk==1.20.1 # via openmeteo-requests openpyxl==3.1.5 # via wagtail packaging==25.0 # via # drf-yasg # gunicorn # kombu pandas==2.3.2 # via -r smarter/requirements/in/base.in paramiko==4.0.0 # via -r smarter/requirements/in/base.in pathspec==0.12.1 # via -r smarter/requirements/in/constraints.in pillow==11.3.0 # via # pillow-heif # wagtail pillow-heif==1.1.0 # via willow platformdirs==4.4.0 # via # -r smarter/requirements/in/constraints.in # requests-cache pluggy==1.6.0 # via -r smarter/requirements/in/constraints.in prompt-toolkit==3.0.52 # via click-repl propcache==0.3.2 # via # aiohttp # yarl proto-plus==1.26.1 # via # google-ai-generativelanguage # google-api-core protobuf==5.29.5 # via # google-ai-generativelanguage # google-api-core # google-generativeai # googleapis-common-protos # grpcio-status # proto-plus pyasn1==0.6.1 # via # -r smarter/requirements/in/constraints.in # pyasn1-modules # rsa pyasn1-modules==0.4.2 # via # -r smarter/requirements/in/constraints.in # google-auth pycodestyle==2.14.0 # via -r smarter/requirements/in/constraints.in pycparser==2.23 # via # -r smarter/requirements/in/constraints.in # cffi pydantic==2.11.7 # via # -r smarter/requirements/in/base.in # google-generativeai # openai # pydantic-settings pydantic-core==2.33.2 # via pydantic pydantic-settings==2.10.1 # via -r smarter/requirements/in/base.in pyflakes==3.4.0 # via -r smarter/requirements/in/constraints.in pyjwt==2.10.1 # via social-auth-core pynacl==1.6.0 # via paramiko pyparsing==3.2.4 # via # -r smarter/requirements/in/constraints.in # httplib2 python-crontab==3.3.0 # via django-celery-beat python-dateutil==2.9.0.post0 # via # botocore # celery # celery-redbeat # mailchimp-marketing # pandas python-dotenv==1.1.1 # via # -r smarter/requirements/in/base.in # pydantic-settings python-hcl2==7.3.1 # via -r smarter/requirements/in/base.in python-levenshtein==0.27.1 # via -r smarter/requirements/in/base.in python3-openid==3.2.0 # via social-auth-core pytz==2025.2 # via # drf-yasg # pandas pyyaml==6.0.2 # via # -r smarter/requirements/in/base.in # drf-yasg rapidfuzz==3.14.1 # via # -r smarter/requirements/in/constraints.in # levenshtein redis==6.4.0 # via # celery-redbeat # django-redis regex==2025.9.1 # via # -r smarter/requirements/in/constraints.in # nltk # python-hcl2 requests==2.32.5 # via # -r smarter/requirements/in/base.in # google-api-core # googlemaps # llamaai # mailchimp-marketing # openmeteo-requests # requests-cache # requests-file # requests-oauthlib # retry-requests # social-auth-core # tldextract # wagtail requests-cache==1.2.1 # via -r smarter/requirements/in/base.in requests-file==2.1.0 # via tldextract requests-oauthlib==2.0.0 # via social-auth-core retry-requests==2.0.0 # via -r smarter/requirements/in/base.in rsa==4.9.1 # via # -r smarter/requirements/in/constraints.in # google-auth s3transfer==0.14.0 # via boto3 six==1.17.0 # via # -r smarter/requirements/in/constraints.in # mailchimp-marketing # python-dateutil sniffio==1.3.1 # via # -r smarter/requirements/in/constraints.in # anyio # openai social-auth-app-django==5.4.2 # via -r smarter/requirements/in/base.in social-auth-core==4.7.0 # via social-auth-app-django soupsieve==2.8 # via # -r smarter/requirements/in/constraints.in # beautifulsoup4 sqlparse==0.5.3 # via # -r smarter/requirements/in/constraints.in # django stevedore==5.5.0 # via -r smarter/requirements/in/constraints.in telepath==0.3.1 # via wagtail tenacity==9.1.2 # via # -r smarter/requirements/in/constraints.in # celery-redbeat textblob==0.19.0 # via -r smarter/requirements/in/base.in tldextract==5.3.0 # via -r smarter/requirements/in/base.in tomlkit==0.13.3 # via -r smarter/requirements/in/constraints.in tqdm==4.67.1 # via # google-generativeai # nltk # openai typeguard==4.4.4 # via inflect typing-extensions==4.15.0 # via # -r smarter/requirements/in/constraints.in # aiosignal # anyio # beautifulsoup4 # cattrs # cron-descriptor # django-stubs-ext # django-tasks # google-generativeai # openai # pydantic # pydantic-core # typeguard # typing-inspection typing-inspection==0.4.1 # via # pydantic # pydantic-settings tzdata==2025.2 # via # -r smarter/requirements/in/constraints.in # django-celery-beat # kombu # pandas uritemplate==4.2.0 # via # drf-yasg # google-api-python-client url-normalize==2.2.1 # via requests-cache urllib3==2.5.0 # via # -r smarter/requirements/in/constraints.in # botocore # mailchimp-marketing # requests # requests-cache # retry-requests validators==0.35.0 # via # -r smarter/requirements/in/base.in # -r smarter/requirements/in/constraints.in vine==5.1.0 # via # -r smarter/requirements/in/constraints.in # amqp # celery # kombu wagtail==7.1.1 # via # -r smarter/requirements/in/base.in # wagtail-transfer wagtail-transfer==0.9.4 # via -r smarter/requirements/in/base.in wcwidth==0.2.13 # via # -r smarter/requirements/in/constraints.in # prompt-toolkit wheel==0.45.1 # via -r smarter/requirements/in/constraints.in whitenoise==6.9.0 # via -r smarter/requirements/in/base.in willow[heif]==1.11.0 # via # wagtail # willow yarl==1.20.1 # via aiohttp