[build-system] requires = ["setuptools>=45", "wheel"] build-backend = "setuptools.build_meta" [project] name = "medrax" version = "0.1.0" description = "medical reasoning agent for chest x-ray" authors = [ {name = "Adibvafa Fallahpour", email = "adibvafa.fallahpour@mail.utoronto.ca"}, ] license = {file = "LICENSE"} requires-python = ">=3.12" dependencies = [ "requests>=2.25.0", "numpy>=1.19.0", "langchain>=0.3.26", "langchain-core>=0.3.68", "langchain-community>=0.0.20", "langchain-openai>=0.3.27", "langchain-cohere>=0.3.5", "langchain-anthropic>=0.3.17", "langchain-xai>=0.2.4", "langchain-chroma>=0.2.4", "langgraph>=0.5.1", "hydra-core>=1.1.0", "python-dotenv>=0.19.0", "pandas>=1.5.0", "pydantic>=1.8.0", "Pillow>=8.0.0", "PyPDF2>=3.0.0", "pdfplumber>=0.10.0", "torchxrayvision>=0.0.37", "transformers>=4.40.0,<4.50.0", "datasets>=2.15.0", "tokenizers>=0.20,<0.21", "sentencepiece>=0.1.95", "shortuuid>=1.0.0", "tqdm>=4.64.0", "accelerate>=0.12.0", "peft>=0.2.0", "bitsandbytes>=0.35.0", "markdown2[all]>=2.4.0", "protobuf>=3.15.0", "scikit-learn>=0.24.0", "gradio>=3.0.0", "gradio_client>=0.2.0", "httpx>=0.23.0", "uvicorn[standard]>=0.15.0", "fastapi>=0.68.0", "python-multipart>=0.0.6", "einops>=0.3.0", "einops-exts>=0.0.4", "timm==0.5.4", "tiktoken>=0.3.0", "openai>=0.27.0", "backoff>=1.10.0", "torch>=2.2.0", "torchvision>=0.10.0", "scikit-image>=0.18.0", "opencv-python>=4.8.0", "matplotlib>=3.8.0", "diffusers>=0.20.0", "pydicom>=2.3.0", "pylibjpeg>=1.0.0", "jupyter>=1.0.0", "albumentations>=1.0.0", "chromadb>=0.0.10", "pinecone-client>=3.2.2", "langchain-pinecone>=0.0.1", "langchain-google-genai>=0.1.0", "ray>=2.9.0", "seaborn>=0.12.0", "huggingface_hub>=0.17.0", "iopath>=0.1.10", "duckduckgo-search>=4.0.0", "pyngrok>=7.0.0", ] [project.optional-dependencies] dev = [ "pytest", "black", "isort", "flake8", "mypy", ] [tool.setuptools.packages.find] where = ["."] include = ["medrax*"] exclude = ["med_env*", "demo*"] [tool.black] line-length = 100 target-version = ['py312'] [tool.isort] profile = "black" line_length = 100 [tool.mypy] ignore_missing_imports = true strict_optional = true [tool.pytest.ini_options] testpaths = ["tests"]