[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "langchain-model-profiles" description = "CLI tool for updating model profile data in LangChain integration packages." readme = "README.md" license = { text = "MIT" } classifiers = [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Libraries :: Python Modules", ] version = "0.0.5" requires-python = ">=3.10.0,<4.0.0" dependencies = [ "httpx>=0.23.0,<1", "tomli>=2.0.0,<3.0.0; python_version < '3.11'", "typing-extensions>=4.7.0,<5.0.0", ] [project.scripts] langchain-profiles = "langchain_model_profiles.cli:main" [project.urls] Homepage = "https://docs.langchain.com/" Documentation = "https://reference.langchain.com/python/langchain_model_profiles/" Repository = "https://github.com/langchain-ai/langchain" Issues = "https://github.com/langchain-ai/langchain/issues" Twitter = "https://x.com/LangChain" Slack = "https://www.langchain.com/join-community" Reddit = "https://www.reddit.com/r/LangChain/" [dependency-groups] dev = [] test = [ "pytest>=8.0.0,<10.0.0", "pytest-cov>=4.0.0,<8.0.0", "pytest-watcher>=0.2.6,<1.0.0", "pytest-asyncio>=0.23.2,<2.0.0", "pytest-socket>=0.6.0,<1.0.0", "pytest-xdist<4.0.0,>=3.6.1", "pytest-mock", "syrupy>=4.0.2,<6.0.0", "toml>=0.10.2,<1.0.0", "langchain[openai]>=1.0.2,<2.0.0", "langchain-core", ] test_integration = ["langchain-core"] lint = [ "ruff>=0.15.0,<0.16.0", "langchain", ] typing = [ "mypy>=1.18.1,<1.20.0", "types-toml>=0.10.8.20240310,<1.0.0.0", ] [tool.uv.sources] langchain-core = { path = "../core", editable = true } langchain = { path = "../langchain_v1", editable = true } [tool.ruff.format] docstring-code-format = true [tool.ruff.lint] select = [ "ALL" ] ignore = [ "COM812", # Messes with the formatter "ISC001", # Messes with the formatter "PERF203", # Rarely useful "SLF001", # Private member access "PLC0415", # Imports should be at the top. Not always desirable "PLR0913", # Too many arguments in function definition "PLC0414", # Inconsistent with how type checkers expect to be notified of intentional re-exports "S101", # Tests need assertions "PLR2004", # Magic numbers "ARG001", "D104", "FIX002", "TD002", "TD003", "T201", # Allow print statements (CLI tool) ] unfixable = ["B028"] # People should intentionally tune the stacklevel pyupgrade.keep-runtime-typing = true flake8-annotations.allow-star-arg-any = true [tool.ruff.lint.pydocstyle] convention = "google" ignore-var-parameters = true # ignore missing documentation for *args and **kwargs parameters [tool.ruff.lint.flake8-tidy-imports] ban-relative-imports = "all" [tool.coverage.run] omit = ["tests/*"] [tool.pytest.ini_options] addopts = "--strict-markers --strict-config --durations=5 --snapshot-warn-unused -vv" markers = [ "requires: mark tests as requiring a specific library", "scheduled: mark tests to run in scheduled testing", "compile: mark placeholder test used to compile integration tests without running them", ] asyncio_mode = "auto" filterwarnings = [ "ignore::langchain_core._api.beta_decorator.LangChainBetaWarning", "ignore::langchain_core._api.deprecation.LangChainDeprecationWarning:tests", "ignore::langchain_core._api.deprecation.LangChainPendingDeprecationWarning:tests", ]