diff --git a/libs/partners/anthropic/pyproject.toml b/libs/partners/anthropic/pyproject.toml index de8ed2cad3..8c79c95692 100644 --- a/libs/partners/anthropic/pyproject.toml +++ b/libs/partners/anthropic/pyproject.toml @@ -1,24 +1,59 @@ +[build-system] +requires = [ "poetry-core>=1.0.0",] +build-backend = "poetry.core.masonry.api" + [tool.poetry] name = "langchain-anthropic" -version = "0.1.16" +version = "0.1.17" description = "An integration package connecting AnthropicMessages and LangChain" authors = [] readme = "README.md" repository = "https://github.com/langchain-ai/langchain" license = "MIT" +[tool.mypy] +disallow_untyped_defs = "True" + [tool.poetry.urls] "Source Code" = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic" [tool.poetry.dependencies] python = ">=3.8.1,<4.0" -langchain-core = { version = ">=0.2.10,<0.3" } anthropic = ">=0.28.0,<1" -defusedxml = { version = "^0.7.1", optional = true } + +[tool.ruff.lint] +select = [ "E", "F", "I", "T201",] + +[tool.coverage.run] +omit = [ "tests/*",] + +[tool.pytest.ini_options] +addopts = "--snapshot-warn-unused --strict-markers --strict-config --durations=5" +markers = [ "requires: mark tests as requiring a specific library", "asyncio: mark tests as requiring asyncio", "compile: mark placeholder test used to compile integration tests without running them",] +asyncio_mode = "auto" + +[tool.poetry.dependencies.langchain-core] +version = ">=0.2.10,<0.3" + +[tool.poetry.dependencies.defusedxml] +version = "^0.7.1" +optional = true [tool.poetry.group.test] optional = true +[tool.poetry.group.codespell] +optional = true + +[tool.poetry.group.lint] +optional = true + +[tool.poetry.group.dev] +optional = true + +[tool.poetry.group.test_integration] +optional = true + [tool.poetry.group.test.dependencies] pytest = "^7.3.0" freezegun = "^1.2.2" @@ -26,72 +61,33 @@ pytest-mock = "^3.10.0" syrupy = "^4.0.2" pytest-watcher = "^0.3.4" pytest-asyncio = "^0.21.1" -langchain-core = { path = "../../core", develop = true } defusedxml = "^0.7.1" -langchain-standard-tests = { path = "../../standard-tests", develop = true } - -[tool.poetry.group.codespell] -optional = true [tool.poetry.group.codespell.dependencies] codespell = "^2.2.0" -[tool.poetry.group.lint] -optional = true - [tool.poetry.group.lint.dependencies] ruff = ">=0.2.2,<1" [tool.poetry.group.typing.dependencies] mypy = "^1" -langchain-core = { path = "../../core", develop = true } -[tool.poetry.group.dev] -optional = true +[tool.poetry.group.test.dependencies.langchain-core] +path = "../../core" +develop = true -[tool.poetry.group.dev.dependencies] -langchain-core = { path = "../../core", develop = true } +[tool.poetry.group.test.dependencies.langchain-standard-tests] +path = "../../standard-tests" +develop = true -[tool.poetry.group.test_integration] -optional = true +[tool.poetry.group.typing.dependencies.langchain-core] +path = "../../core" +develop = true -[tool.poetry.group.test_integration.dependencies] -langchain-core = { path = "../../core", develop = true } +[tool.poetry.group.dev.dependencies.langchain-core] +path = "../../core" +develop = true -[tool.ruff.lint] -select = [ - "E", # pycodestyle - "F", # pyflakes - "I", # isort - "T201", # print -] - -[tool.mypy] -disallow_untyped_defs = "True" - -[tool.coverage.run] -omit = ["tests/*"] - -[build-system] -requires = ["poetry-core>=1.0.0"] -build-backend = "poetry.core.masonry.api" - -[tool.pytest.ini_options] -# --strict-markers will raise errors on unknown marks. -# https://docs.pytest.org/en/7.1.x/how-to/mark.html#raising-errors-on-unknown-marks -# -# https://docs.pytest.org/en/7.1.x/reference/reference.html -# --strict-config any warnings encountered while parsing the `pytest` -# section of the configuration file raise errors. -# -# https://github.com/tophat/syrupy -# --snapshot-warn-unused Prints a warning on unused snapshots rather than fail the test suite. -addopts = "--snapshot-warn-unused --strict-markers --strict-config --durations=5" -# Registering custom markers. -# https://docs.pytest.org/en/7.1.x/example/markers.html#registering-markers -markers = [ - "requires: mark tests as requiring a specific library", - "asyncio: mark tests as requiring asyncio", - "compile: mark placeholder test used to compile integration tests without running them", -] -asyncio_mode = "auto" +[tool.poetry.group.test_integration.dependencies.langchain-core] +path = "../../core" +develop = true diff --git a/scripts/release_branch.py b/scripts/release_branch.py new file mode 100644 index 0000000000..e3255fe11d --- /dev/null +++ b/scripts/release_branch.py @@ -0,0 +1,42 @@ +""" +python scripts/release_branch.py anthropic bagatur +""" +import glob +import tomllib +import toml +import subprocess +import sys + + +def main(*args): + pkg = args[1] + if len(args) >= 2: + user = args[2] + else: + user = "auto" + for path in glob.glob("./libs/**/pyproject.toml", recursive=True): + if pkg in path: + break + + with open(path, "rb") as f: + pyproject = tomllib.load(f) + major, minor, patch = pyproject["tool"]["poetry"]["version"].split(".") + patch = str(int(patch) + 1) + bumped = ".".join((major, minor, patch)) + pyproject["tool"]["poetry"]["version"] = bumped + with open(path, "w") as f: + toml.dump(pyproject, f) + + branch = f"{user}/{pkg}_{bumped.replace('.', '_')}" + print( + subprocess.run( + f"git checkout -b {branch}; git commit -am '{pkg}[patch]: Release {bumped}'; git push -u origin {branch}", + shell=True, + capture_output=True, + text=True, + ) + ) + + +if __name__ == "__main__": + main(*sys.argv)