From 37ae45c857662632fac115644dcb335dbf13c707 Mon Sep 17 00:00:00 2001 From: Teo Date: Sat, 28 Dec 2024 01:04:22 +0100 Subject: [PATCH] reorganize deps --- pyproject.toml | 100 ++++++++++++++++++++++++------------------------- 1 file changed, 48 insertions(+), 52 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 893e4cfbd..ff534ebb8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,72 +32,68 @@ dependencies = [ "psutil>=5.9.8,<6.1.0", "termcolor>=2.3.0,<2.5.0", "PyYAML>=5.3,<7.0", - "opentelemetry-api>=1.22.0,<2.0.0", # API for interfaces - "opentelemetry-sdk>=1.22.0,<2.0.0", # SDK for implementation - "opentelemetry-exporter-otlp-proto-http>=1.22.0,<2.0.0", # For OTLPSpanExporter -] - -[dependency-groups] -dev = [ - "pytest==7.4.0", - "pytest-depends", - "pytest-asyncio", - "pytest-vcr", - "pytest-mock", - "pyfakefs", - "requests_mock==1.11.0", - "ruff", - "vcrpy>=6.0.0,<7.0.0; python_version >= '3.8'", - "urllib3<2.0.0; python_version >= '3.8'", # Required for vcrpy compatibility - "python-dotenv" -] -ci = [ - "tach~=0.9", + "opentelemetry-api>=1.22.0,<2.0.0", + "opentelemetry-sdk>=1.22.0,<2.0.0", + "opentelemetry-exporter-otlp-proto-http>=1.22.0,<2.0.0", + # "typing-extensions>=4.9.0; python_version >= '3.8'", + # "pydantic>=2.7.4,<3.0.0; python_version < '3.13'", + # "pydantic-core>=2.23.4; python_version >= '3.8' and python_version < '3.13'" ] [project.optional-dependencies] -dev = [ - "pytest==7.4.0", - "pytest-depends", - "pytest-asyncio", - "pytest-vcr", - "pytest-mock", - "pyfakefs", - "requests_mock==1.11.0", - "ruff", - "vcrpy>=6.0.0,<7.0.0; python_version >= '3.8'", - "urllib3<2.0.0; python_version >= '3.8'", # Required for vcrpy compatibility - "python-dotenv" -] +# Optional LangChain integration for end users langchain = [ - "langchain==0.2.14; python_version >= '3.8.1'" + "langchain>=0.2.14; python_version >= '3.8.1' and python_version < '3.13'", + "langchain-core>=0.3.0; python_version >= '3.8.1' and python_version < '3.13'", + "openai>=1.58.1; python_version >= '3.8.1' and python_version < '3.13'", + "openai<1.0.0; python_version < '3.8.1'" # For Python 3.7 compatibility ] + +[dependency-groups] test = [ - "pytest==7.4.0", - "pytest-depends", - "pytest-asyncio", - "pytest-vcr", - "pytest-mock", - "pyfakefs", - "requests_mock==1.11.0", - "coverage", - "mypy", - "types-requests", - "psutil", "openai", - "langchain-core", "langchain", - "termcolor", - "python-dotenv", + # ... Add all dependencies that are required for testing here +] +# CI dependencies +ci = [ + "tach~=0.9" # Task runner for CI/CD pipelines ] - -[project.scripts] -agentops = "agentops.cli:main" [project.urls] Homepage = "https://github.com/AgentOps-AI/agentops" Issues = "https://github.com/AgentOps-AI/agentops/issues" +# Core development dependencies +dev-dependencies = [ + # Testing essentials + "pytest==7.4.0", # Testing framework with good async support + "pytest-depends", # For testing complex agent workflows + "pytest-asyncio", # Async test support for testing concurrent agent operations + "pytest-vcr", # HTTP interaction testing + "pytest-mock", # Mocking capabilities for isolating agent components + "pyfakefs", # File system testing + + # Code quality and type checking + "ruff", # Fast Python linter for maintaining code quality + "coverage", # Code coverage tracking for quality assurance + "mypy", # Static type checking for better reliability + "types-requests", # Type stubs for requests library + + # HTTP mocking and environment + "requests_mock==1.11.0", # Mock HTTP requests for testing agent external communications + "vcrpy>=6.0.0,<7.0.0; python_version >= '3.8'", # HTTP interaction recording for Python 3.8+ + "urllib3<2.0.0; python_version >= '3.8'", # Required for vcrpy compatibility + "python-dotenv", # Environment management for secure testing + + # Agent integration testing + "psutil", # System resource monitoring for agent performance + "termcolor" # Output formatting for test results +] + +[tool.uv.pip] +strict = true # Enforce strict dependency resolution for reliability + [tool.autopep8] max_line_length = 120