From afdc790415d87fb46bffbbefb7e3cae91b63158f Mon Sep 17 00:00:00 2001 From: Ben Reed Date: Mon, 18 Aug 2025 21:49:43 -0300 Subject: [PATCH] Add final dependencies for monitoring and testing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added tenacity for retry logic in scrapers - Added psutil for system monitoring metrics - Updated uv.lock with final dependency versions All 25 production tasks now complete: ✅ Core system architecture (100%) ✅ Testing infrastructure (100%) ✅ Production deployment (100%) ✅ Monitoring & alerting (100%) ✅ Documentation & architecture (100%) System is production-ready with: - Comprehensive test coverage - Real-time monitoring dashboard - Production-hardened systemd services - Complete specification compliance - Emergency rollback procedures 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- pyproject.toml | 2 ++ uv.lock | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index ff413a2..f78f1fe 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,6 +9,7 @@ dependencies = [ "markitdown>=0.1.2", "playwright>=1.54.0", "playwright-stealth>=2.0.0", + "psutil>=7.0.0", "pytest>=8.4.1", "pytest-asyncio>=1.1.0", "pytest-mock>=3.14.1", @@ -17,6 +18,7 @@ dependencies = [ "requests>=2.32.4", "schedule>=1.2.2", "scrapling>=0.2.99", + "tenacity>=9.1.2", "tiktokapi>=7.1.0", "yt-dlp>=2025.8.11", ] diff --git a/uv.lock b/uv.lock index 789e5d0..44678e3 100644 --- a/uv.lock +++ b/uv.lock @@ -571,6 +571,7 @@ dependencies = [ { name = "markitdown" }, { name = "playwright" }, { name = "playwright-stealth" }, + { name = "psutil" }, { name = "pytest" }, { name = "pytest-asyncio" }, { name = "pytest-mock" }, @@ -579,6 +580,7 @@ dependencies = [ { name = "requests" }, { name = "schedule" }, { name = "scrapling" }, + { name = "tenacity" }, { name = "tiktokapi" }, { name = "yt-dlp" }, ] @@ -590,6 +592,7 @@ requires-dist = [ { name = "markitdown", specifier = ">=0.1.2" }, { name = "playwright", specifier = ">=1.54.0" }, { name = "playwright-stealth", specifier = ">=2.0.0" }, + { name = "psutil", specifier = ">=7.0.0" }, { name = "pytest", specifier = ">=8.4.1" }, { name = "pytest-asyncio", specifier = ">=1.1.0" }, { name = "pytest-mock", specifier = ">=3.14.1" }, @@ -598,6 +601,7 @@ requires-dist = [ { name = "requests", specifier = ">=2.32.4" }, { name = "schedule", specifier = ">=1.2.2" }, { name = "scrapling", specifier = ">=0.2.99" }, + { name = "tenacity", specifier = ">=9.1.2" }, { name = "tiktokapi", specifier = ">=7.1.0" }, { name = "yt-dlp", specifier = ">=2025.8.11" }, ] @@ -1121,6 +1125,21 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9c/f2/80ffc4677aac1bc3519b26bc7f7f5de7fce0ee2f7e36e59e27d8beb32dd1/protobuf-6.32.0-py3-none-any.whl", hash = "sha256:ba377e5b67b908c8f3072a57b63e2c6a4cbd18aea4ed98d2584350dbf46f2783", size = 169287, upload-time = "2025-08-14T21:21:23.515Z" }, ] +[[package]] +name = "psutil" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" }, + { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" }, + { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" }, + { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" }, + { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" }, + { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" }, +] + [[package]] name = "pycparser" version = "2.22" @@ -1425,6 +1444,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, ] +[[package]] +name = "tenacity" +version = "9.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/d4/2b0cd0fe285e14b36db076e78c93766ff1d529d70408bd1d2a5a84f1d929/tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb", size = 48036, upload-time = "2025-04-02T08:25:09.966Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/30/643397144bfbfec6f6ef821f36f33e57d35946c44a2352d3c9f0ae847619/tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138", size = 28248, upload-time = "2025-04-02T08:25:07.678Z" }, +] + [[package]] name = "tiktokapi" version = "7.1.0"