diff --git a/.gitignore b/.gitignore index 93be721ef1..6389abfcd0 100644 --- a/.gitignore +++ b/.gitignore @@ -187,10 +187,3 @@ nohup.out # local db volume pgdata/ postgres-data/ - -# Generated files from github -.history/sendgrid.env -sendgrid.env -*sendgrid*.env -./sendgrid.env -sendgrid.env diff --git a/pyproject.toml b/pyproject.toml index 064b5e7bdd..f8a7c36802 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,40 +21,30 @@ classifiers = [ dependencies = [ "alembic>=1.17.1", "Beaker==1.11.0", - "blinker==1.4", - "bokeh==2.0.2", "boto3==1.17.57", "bs4==0.0.1", "celery~=5.5", "click~=8.1", - "cloudpickle>=0.2.2", "coloredlogs==15.0", - "dask>=2021.6.2", "distributed>=2021.03.0", - "dnspython==2.6.1", "emoji==1.2.0", - "eventlet==0.35.2", "flask==2.0.2", "flask-cors==4.0.1", "flask-login==0.5.0", - "flask-wtf==1.0.0", "flask_graphql", "flower==2.0.1", - "fsspec>=0.6.0", "gensim>=4.2.0", "graphene", "graphene_sqlalchemy", "gunicorn==22.0.0", "h5py==3.10.0", "httpx==0.23.0", - "itsdangerous==2.0.1", "Jinja2~=3.0.3", "joblib==1.2.0", "keras>=2.15.0", "keras-preprocessing", "matplotlib>=3.5.1", "mdpdf==0.0.18", - "mistune", "nltk==3.6.6", "numpy==1.26.0", "pandas==1.5.3", @@ -62,24 +52,18 @@ dependencies = [ "protobuf<3.22", "psutil==5.8.0", "psycopg2-binary==2.9.9", - "pylint==2.15.5", "python-crfsuite>=0.9.8", "python-dotenv>=1.2.1", "pyYaml", "redis==4.3.3", - "requests==2.32.0", "scikit-image==0.19.1", "scikit-learn==1.5.0", + "requests~=2.32", "scipy>=1.10.0,<1.13.0", - "seaborn==0.11.1", - "selenium==3.141.0", - "sendgrid", - "six==1.15.0", "sklearn==0.0", "sklearn-crfsuite>=0.3.6", "slack==0.0.2", "SQLAlchemy==2.0.22", - "tabulate==0.8.9", "tenacity==8.3.0", "tensorflow==2.15.0", "textblob==0.15.3", @@ -104,6 +88,7 @@ dev = [ lint = [ "pylint", "mypy>=1.18.2", + "pylint==2.15.5", "types-requests>=2.31.0.6", "types-pyyaml>=6.0.12.20250915", "types-python-dateutil>=2.9.0.20251008", diff --git a/uv.lock b/uv.lock index daa844fd49..eef0b3df8a 100644 --- a/uv.lock +++ b/uv.lock @@ -144,40 +144,30 @@ source = { editable = "." } dependencies = [ { name = "alembic" }, { name = "beaker" }, - { name = "blinker" }, - { name = "bokeh" }, { name = "boto3" }, { name = "bs4" }, { name = "celery" }, { name = "click" }, - { name = "cloudpickle" }, { name = "coloredlogs" }, - { name = "dask" }, { name = "distributed" }, - { name = "dnspython" }, { name = "emoji" }, - { name = "eventlet" }, { name = "flask" }, { name = "flask-cors" }, { name = "flask-graphql" }, { name = "flask-login" }, - { name = "flask-wtf" }, { name = "flower" }, - { name = "fsspec" }, { name = "gensim" }, { name = "graphene" }, { name = "graphene-sqlalchemy" }, { name = "gunicorn" }, { name = "h5py" }, { name = "httpx" }, - { name = "itsdangerous" }, { name = "jinja2" }, { name = "joblib" }, { name = "keras" }, { name = "keras-preprocessing" }, { name = "matplotlib" }, { name = "mdpdf" }, - { name = "mistune" }, { name = "nltk" }, { name = "numpy" }, { name = "pandas" }, @@ -185,7 +175,6 @@ dependencies = [ { name = "protobuf" }, { name = "psutil" }, { name = "psycopg2-binary" }, - { name = "pylint" }, { name = "python-crfsuite" }, { name = "python-dotenv" }, { name = "pyyaml" }, @@ -194,15 +183,10 @@ dependencies = [ { name = "scikit-image" }, { name = "scikit-learn" }, { name = "scipy" }, - { name = "seaborn" }, - { name = "selenium" }, - { name = "sendgrid" }, - { name = "six" }, { name = "sklearn" }, { name = "sklearn-crfsuite" }, { name = "slack" }, { name = "sqlalchemy" }, - { name = "tabulate" }, { name = "tenacity" }, { name = "tensorflow" }, { name = "textblob" }, @@ -269,40 +253,30 @@ test = [ requires-dist = [ { name = "alembic", specifier = ">=1.17.1" }, { name = "beaker", specifier = "==1.11.0" }, - { name = "blinker", specifier = "==1.4" }, - { name = "bokeh", specifier = "==2.0.2" }, { name = "boto3", specifier = "==1.17.57" }, { name = "bs4", specifier = "==0.0.1" }, { name = "celery", specifier = "~=5.5" }, { name = "click", specifier = "~=8.1" }, - { name = "cloudpickle", specifier = ">=0.2.2" }, { name = "coloredlogs", specifier = "==15.0" }, - { name = "dask", specifier = ">=2021.6.2" }, { name = "distributed", specifier = ">=2021.3.0" }, - { name = "dnspython", specifier = "==2.6.1" }, { name = "emoji", specifier = "==1.2.0" }, - { name = "eventlet", specifier = "==0.35.2" }, { name = "flask", specifier = "==2.0.2" }, { name = "flask-cors", specifier = "==4.0.1" }, { name = "flask-graphql" }, { name = "flask-login", specifier = "==0.5.0" }, - { name = "flask-wtf", specifier = "==1.0.0" }, { name = "flower", specifier = "==2.0.1" }, - { name = "fsspec", specifier = ">=0.6.0" }, { name = "gensim", specifier = ">=4.2.0" }, { name = "graphene" }, { name = "graphene-sqlalchemy" }, { name = "gunicorn", specifier = "==22.0.0" }, { name = "h5py", specifier = "==3.10.0" }, { name = "httpx", specifier = "==0.23.0" }, - { name = "itsdangerous", specifier = "==2.0.1" }, { name = "jinja2", specifier = "~=3.0.3" }, { name = "joblib", specifier = "==1.2.0" }, { name = "keras", specifier = ">=2.15.0" }, { name = "keras-preprocessing" }, { name = "matplotlib", specifier = ">=3.5.1" }, { name = "mdpdf", specifier = "==0.0.18" }, - { name = "mistune" }, { name = "nltk", specifier = "==3.6.6" }, { name = "numpy", specifier = "==1.26.0" }, { name = "pandas", specifier = "==1.5.3" }, @@ -310,24 +284,18 @@ requires-dist = [ { name = "protobuf", specifier = "<3.22" }, { name = "psutil", specifier = "==5.8.0" }, { name = "psycopg2-binary", specifier = "==2.9.9" }, - { name = "pylint", specifier = "==2.15.5" }, { name = "python-crfsuite", specifier = ">=0.9.8" }, { name = "python-dotenv", specifier = ">=1.2.1" }, { name = "pyyaml" }, { name = "redis", specifier = "==4.3.3" }, - { name = "requests", specifier = "==2.32.0" }, + { name = "requests", specifier = "~=2.32" }, { name = "scikit-image", specifier = "==0.19.1" }, { name = "scikit-learn", specifier = "==1.5.0" }, { name = "scipy", specifier = ">=1.10.0,<1.13.0" }, - { name = "seaborn", specifier = "==0.11.1" }, - { name = "selenium", specifier = "==3.141.0" }, - { name = "sendgrid" }, - { name = "six", specifier = "==1.15.0" }, { name = "sklearn", specifier = "==0.0" }, { name = "sklearn-crfsuite", specifier = ">=0.3.6" }, { name = "slack", specifier = "==0.0.2" }, { name = "sqlalchemy", specifier = "==2.0.22" }, - { name = "tabulate", specifier = "==0.8.9" }, { name = "tenacity", specifier = "==8.3.0" }, { name = "tensorflow", specifier = "==2.15.0" }, { name = "textblob", specifier = "==0.15.3" }, @@ -349,6 +317,7 @@ dev = [ { name = "ipdb", specifier = "==0.13.9" }, { name = "mypy", specifier = ">=1.18.2" }, { name = "pylint" }, + { name = "pylint", specifier = "==2.15.5" }, { name = "pytest" }, { name = "setuptools" }, { name = "sphinx", specifier = "==7.2.6" }, @@ -373,6 +342,7 @@ docs = [ lint = [ { name = "mypy", specifier = ">=1.18.2" }, { name = "pylint" }, + { name = "pylint", specifier = "==2.15.5" }, { name = "types-python-dateutil", specifier = ">=2.9.0.20251008" }, { name = "types-pyyaml", specifier = ">=6.0.12.20250915" }, { name = "types-requests", specifier = ">=2.31.0.6" }, @@ -421,28 +391,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a6/80/ef8dff49aae0e4430f81842f7403e14e0ca59db7bbaf7af41245b67c6b25/billiard-4.2.2-py3-none-any.whl", hash = "sha256:4bc05dcf0d1cc6addef470723aac2a6232f3c7ed7475b0b580473a9145829457", size = 86896, upload-time = "2025-09-20T14:44:39.157Z" }, ] -[[package]] -name = "blinker" -version = "1.4" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1b/51/e2a9f3b757eb802f61dc1f2b09c8c99f6eb01cf06416c0671253536517b6/blinker-1.4.tar.gz", hash = "sha256:471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6", size = 111476, upload-time = "2015-07-23T12:26:37.745Z" } - -[[package]] -name = "bokeh" -version = "2.0.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "jinja2" }, - { name = "numpy" }, - { name = "packaging" }, - { name = "pillow" }, - { name = "python-dateutil" }, - { name = "pyyaml" }, - { name = "tornado" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/30/cf/9bef843880084b646cf5e6988e8f0aa081dccdf09f1617cfc6755f9a3353/bokeh-2.0.2.tar.gz", hash = "sha256:d9248bdb0156797abf6d04b5eac581dcb121f5d1db7acbc13282b0609314893a", size = 8636228, upload-time = "2020-04-22T15:42:52.232Z" } - [[package]] name = "boto3" version = "1.17.57" @@ -860,15 +808,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5e/6b/4a5dc8bf17a2714f53f648b6f44f1cd2ad7ab41aaaffe1c25489947c24f6/distributed-2023.10.1-py3-none-any.whl", hash = "sha256:0e0fe280d3b7b8be45840df3697dcb07d954c9c21c2a31d0c8e2dbe60bdaef21", size = 1002230, upload-time = "2023-10-27T22:14:59.23Z" }, ] -[[package]] -name = "dnspython" -version = "2.6.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/37/7d/c871f55054e403fdfd6b8f65fd6d1c4e147ed100d3e9f9ba1fe695403939/dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc", size = 332727, upload-time = "2024-02-18T18:48:48.952Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/87/a1/8c5287991ddb8d3e4662f71356d9656d91ab3a36618c3dd11b280df0d255/dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50", size = 307696, upload-time = "2024-02-18T18:48:46.786Z" }, -] - [[package]] name = "docutils" version = "0.20.1" @@ -887,19 +826,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/24/fa/b3368f41b95a286f8d300e323449ab4e86b85334c2e0b477e94422b8ed0f/emoji-1.2.0-py3-none-any.whl", hash = "sha256:6b19b65da8d6f30551eead1705539cc0eadcd9e33a6ecbc421a29b87f96287eb", size = 131318, upload-time = "2021-01-27T15:21:11.762Z" }, ] -[[package]] -name = "eventlet" -version = "0.35.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "dnspython" }, - { name = "greenlet" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5e/a1/079895f493a7c7eef5d1fb1335aba96e05527fd22dc6cead98ff38acdd3a/eventlet-0.35.2.tar.gz", hash = "sha256:8d1263e20b7f816a046ac60e1d272f9e5bc503f7a34d9adc789f8a85b14fa57d", size = 548860, upload-time = "2024-02-21T17:05:17.647Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a6/5e/ea38bad6b685b0fde055b725e0a50613bfeecd572ec7606fa9449404f89a/eventlet-0.35.2-py3-none-any.whl", hash = "sha256:8fc1ee60d583f1dd58d6f304bb95fd46d34865ab22f57cb99008a81d61d573db", size = 359811, upload-time = "2024-02-21T17:05:15.13Z" }, -] - [[package]] name = "exceptiongroup" version = "1.3.0" @@ -996,20 +922,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2b/83/ac5bf3279f969704fc1e63f050c50e10985e50fd340e6069ec7e09df5442/Flask_Login-0.5.0-py2.py3-none-any.whl", hash = "sha256:7451b5001e17837ba58945aead261ba425fdf7b4f0448777e597ddab39f4fba0", size = 16039, upload-time = "2020-02-09T16:55:42.35Z" }, ] -[[package]] -name = "flask-wtf" -version = "1.0.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "flask" }, - { name = "itsdangerous" }, - { name = "wtforms" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/06/bb/090df80acb1f51ee3996d822ba34096b3e54b3af76c2c46530d6cf35c9b9/Flask-WTF-1.0.0.tar.gz", hash = "sha256:872fbb17b5888bfc734edbdcf45bc08fb365ca39f69d25dc752465a455517b28", size = 45365, upload-time = "2021-11-07T15:35:41.915Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/0a/59ddcce06b857a874187f2bc50da3fba8956c1855c19a2cc99d1dacab42a/Flask_WTF-1.0.0-py3-none-any.whl", hash = "sha256:01feccfc395405cea48a3f36c23f0d766e2cc6fd2a5a065ad50ad3e5827ec797", size = 12118, upload-time = "2021-11-07T15:35:40.151Z" }, -] - [[package]] name = "flatbuffers" version = "25.2.10" @@ -2795,15 +2707,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/14/1b/a298b06749107c305e1fe0f814c6c74aea7b2f1e10989cb30f544a1b3253/python_dotenv-1.2.1-py3-none-any.whl", hash = "sha256:b81ee9561e9ca4004139c6cbba3a238c32b03e4894671e181b671e8cb8425d61", size = 21230, upload-time = "2025-10-26T15:12:09.109Z" }, ] -[[package]] -name = "python-http-client" -version = "3.3.7" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/56/fa/284e52a8c6dcbe25671f02d217bf2f85660db940088faf18ae7a05e97313/python_http_client-3.3.7.tar.gz", hash = "sha256:bf841ee45262747e00dec7ee9971dfb8c7d83083f5713596488d67739170cea0", size = 9377, upload-time = "2022-03-09T20:23:56.386Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/29/31/9b360138f4e4035ee9dac4fe1132b6437bd05751aaf1db2a2d83dc45db5f/python_http_client-3.3.7-py3-none-any.whl", hash = "sha256:ad371d2bbedc6ea15c26179c6222a78bc9308d272435ddf1d5c84f068f249a36", size = 8352, upload-time = "2022-03-09T20:23:54.862Z" }, -] - [[package]] name = "pytz" version = "2025.2" @@ -3270,46 +3173,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f3/31/91a2a3c5eb85d2bfa86d7c98f2df5d77dcdefb3d80ca9f9037ad04393acf/scipy-1.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c", size = 45816713, upload-time = "2024-01-20T21:12:26.619Z" }, ] -[[package]] -name = "seaborn" -version = "0.11.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "matplotlib" }, - { name = "numpy" }, - { name = "pandas" }, - { name = "scipy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ef/f4/1927dc0e07f34d54617ce7d31e83b0e3345f14e893b138e44eddd5fad806/seaborn-0.11.1.tar.gz", hash = "sha256:44e78eaed937c5a87fc7a892c329a7cc091060b67ebd1d0d306b446a74ba01ad", size = 261397, upload-time = "2020-12-20T20:53:26.849Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/68/ad/6c2406ae175f59ec616714e408979b674fe27b9587f79d59a528ddfbcd5b/seaborn-0.11.1-py3-none-any.whl", hash = "sha256:4e1cce9489449a1c6ff3c567f2113cdb41122f727e27a984950d004a88ef3c5c", size = 285007, upload-time = "2020-12-20T20:53:25.248Z" }, -] - -[[package]] -name = "selenium" -version = "3.141.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "urllib3" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ed/9c/9030520bf6ff0b4c98988448a93c04fcbd5b13cd9520074d8ed53569ccfe/selenium-3.141.0.tar.gz", hash = "sha256:deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d", size = 854669, upload-time = "2018-11-01T09:01:07.6Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/80/d6/4294f0b4bce4de0abf13e17190289f9d0613b0a44e5dd6a7f5ca98459853/selenium-3.141.0-py2.py3-none-any.whl", hash = "sha256:2d7131d7bc5a5b99a2d9b04aaf2612c411b03b8ca1b1ee8d3de5845a9be2cb3c", size = 904577, upload-time = "2018-11-01T09:01:35.607Z" }, -] - -[[package]] -name = "sendgrid" -version = "6.11.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "python-http-client" }, - { name = "starkbank-ecdsa" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/48/d5bb52b65456da8a40d1b083bdd78168e3f26180dc2a18d92b315a79dcc3/sendgrid-6.11.0.tar.gz", hash = "sha256:71424b2a97f5a034121ea3b2666c653ba0ed315982f0d57b7851c0c9503dc5ab", size = 49923, upload-time = "2023-12-01T05:18:37.468Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/08/5f/16c45fdf3205db65ca4409528069cc25f74383610e902716462d9bb944fd/sendgrid-6.11.0-py3-none-any.whl", hash = "sha256:43ecf5bb742ea5850c7cfe68f5e7d9948772352306d4e83e119899959538b884", size = 101921, upload-time = "2023-12-01T05:18:34.883Z" }, -] - [[package]] name = "setuptools" version = "80.9.0" @@ -3629,12 +3492,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] -[[package]] -name = "starkbank-ecdsa" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a3/f8/a6091be6a60ed4df9ac806c89fbc5fe1a3416d0284f3ba70aa09a3419428/starkbank-ecdsa-2.2.0.tar.gz", hash = "sha256:9399c3371b899d4a235b68a1ed7919d202fbf024bd2c863ae8ebdad343c2a63a", size = 14690, upload-time = "2022-10-24T18:36:05.27Z" } - [[package]] name = "tabulate" version = "0.8.9" @@ -4237,18 +4094,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ba/7e/14113996bc6ee68eb987773b4139c87afd3ceff60e27e37648aa5eb2798a/wrapt-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:26046cd03936ae745a502abf44dac702a5e6880b2b01c29aea8ddf3353b68224", size = 35616, upload-time = "2023-10-07T08:30:14.868Z" }, ] -[[package]] -name = "wtforms" -version = "3.2.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markupsafe" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/01/e4/633d080897e769ed5712dcfad626e55dbd6cf45db0ff4d9884315c6a82da/wtforms-3.2.1.tar.gz", hash = "sha256:df3e6b70f3192e92623128123ec8dca3067df9cfadd43d59681e210cfb8d4682", size = 137801, upload-time = "2024-10-21T11:34:00.108Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/08/c9/2088fb5645cd289c99ebe0d4cdcc723922a1d8e1beaefb0f6f76dff9b21c/wtforms-3.2.1-py3-none-any.whl", hash = "sha256:583bad77ba1dd7286463f21e11aa3043ca4869d03575921d1a1698d0715e0fd4", size = 152454, upload-time = "2024-10-21T11:33:58.44Z" }, -] - [[package]] name = "xgboost" version = "3.0.2"