langgraph-cli 0.2.11__tar.gz → 0.2.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/PKG-INFO +1 -1
  2. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/cli.py +2 -4
  3. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/pyproject.toml +1 -1
  4. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/cli/test_cli.py +39 -2
  5. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/uv.lock +1 -1
  6. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/.gitignore +0 -0
  7. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/LICENSE +0 -0
  8. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/Makefile +0 -0
  9. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/README.md +0 -0
  10. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/.env.example +0 -0
  11. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/.gitignore +0 -0
  12. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/Makefile +0 -0
  13. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs/agent.py +0 -0
  14. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs/langgraph.json +0 -0
  15. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs/storm.py +0 -0
  16. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/__init__.py +0 -0
  17. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/graphs_submod/__init__.py +0 -0
  18. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/graphs_submod/agent.py +0 -0
  19. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/graphs_submod/subprompt.txt +0 -0
  20. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/hello.py +0 -0
  21. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/langgraph.json +0 -0
  22. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/prompt.txt +0 -0
  23. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_a/requirements.txt +0 -0
  24. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/graphs_submod/agent.py +0 -0
  25. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/graphs_submod/subprompt.txt +0 -0
  26. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/hello.py +0 -0
  27. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/langgraph.json +0 -0
  28. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/prompt.txt +0 -0
  29. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/requirements.txt +0 -0
  30. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/utils/__init__.py +0 -0
  31. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/graphs_reqs_b/utils/greeter.py +0 -0
  32. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/langgraph.json +0 -0
  33. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/my_app.py +0 -0
  34. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/pipconf.txt +0 -0
  35. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/poetry.lock +0 -0
  36. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/examples/pyproject.toml +0 -0
  37. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/generate_schema.py +0 -0
  38. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/.dockerignore +0 -0
  39. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/.env.example +0 -0
  40. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/.eslintrc.cjs +0 -0
  41. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/.gitignore +0 -0
  42. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/LICENSE +0 -0
  43. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/README.md +0 -0
  44. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/jest.config.js +0 -0
  45. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/langgraph.json +0 -0
  46. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/package.json +0 -0
  47. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/src/agent/graph.ts +0 -0
  48. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/src/agent/state.ts +0 -0
  49. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/static/studio.png +0 -0
  50. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/tests/agent.test.ts +0 -0
  51. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/tests/graph.int.test.ts +0 -0
  52. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/tsconfig.json +0 -0
  53. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/js-examples/yarn.lock +0 -0
  54. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/__init__.py +0 -0
  55. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/__main__.py +0 -0
  56. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/analytics.py +0 -0
  57. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/config.py +0 -0
  58. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/constants.py +0 -0
  59. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/docker.py +0 -0
  60. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/exec.py +0 -0
  61. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/progress.py +0 -0
  62. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/py.typed +0 -0
  63. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/templates.py +0 -0
  64. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/util.py +0 -0
  65. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/langgraph_cli/version.py +0 -0
  66. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/schemas/schema.json +0 -0
  67. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/schemas/schema.v0.json +0 -0
  68. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/__init__.py +0 -0
  69. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/integration_tests/__init__.py +0 -0
  70. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/integration_tests/test_cli.py +0 -0
  71. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/__init__.py +0 -0
  72. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/agent.py +0 -0
  73. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/cli/__init__.py +0 -0
  74. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/cli/langgraph.json +0 -0
  75. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/cli/pyproject.toml +0 -0
  76. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/cli/test_templates.py +0 -0
  77. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/conftest.py +0 -0
  78. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/graphs/agent.py +0 -0
  79. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/helpers.py +0 -0
  80. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/multiplatform/js.mts +0 -0
  81. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/multiplatform/python.py +0 -0
  82. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/pipconfig.txt +0 -0
  83. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/test_config.json +0 -0
  84. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/test_config.py +0 -0
  85. {langgraph_cli-0.2.11 → langgraph_cli-0.2.12}/tests/unit_tests/test_docker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-cli
3
- Version: 0.2.11
3
+ Version: 0.2.12
4
4
  Summary: CLI for interacting with LangGraph API
5
5
  Project-URL: Repository, https://www.github.com/langchain-ai/langgraph
6
6
  License-Expression: MIT
@@ -318,10 +318,8 @@ def _build(
318
318
  )
319
319
  # add additional_contexts
320
320
  if additional_contexts:
321
- additional_contexts_str = ",".join(
322
- f"{k}={v}" for k, v in additional_contexts.items()
323
- )
324
- args.extend(["--build-context", additional_contexts_str])
321
+ for k, v in additional_contexts.items():
322
+ args.extend(["--build-context", f"{k}={v}"])
325
323
  # run docker build
326
324
  runner.run(
327
325
  subp_exec(
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "langgraph-cli"
7
- version = "0.2.11"
7
+ version = "0.2.12"
8
8
  description = "CLI for interacting with LangGraph API"
9
9
  authors = []
10
10
  requires-python = ">=3.9"
@@ -22,12 +22,14 @@ DEFAULT_DOCKER_CAPABILITIES = DockerCapabilities(
22
22
 
23
23
 
24
24
  @contextmanager
25
- def temporary_config_folder(config_content: dict):
25
+ def temporary_config_folder(config_content: dict, levels: int = 0):
26
26
  # Create a temporary directory
27
27
  temp_dir = tempfile.mkdtemp()
28
28
  try:
29
29
  # Define the path for the config.json file
30
- config_path = Path(temp_dir) / "config.json"
30
+ config_path = Path(temp_dir) / f"{'a/' * levels}config.json"
31
+ # Ensure the parent directory exists
32
+ config_path.parent.mkdir(parents=True, exist_ok=True)
31
33
 
32
34
  # Write the provided dictionary content to config.json
33
35
  with open(config_path, "w", encoding="utf-8") as config_file:
@@ -532,3 +534,38 @@ def test_build_command_shows_wolfi_warning() -> None:
532
534
  assert "Wolfi Linux" in result.output
533
535
  assert "image_distro" in result.output
534
536
  assert "wolfi" in result.output
537
+
538
+
539
+ def test_build_generate_proper_build_context():
540
+ runner = CliRunner()
541
+ config_content = {
542
+ "python_version": "3.11",
543
+ "graphs": {"agent": "agent.py:graph"},
544
+ "dependencies": [".", "../../..", "../.."],
545
+ "image_distro": "wolfi",
546
+ }
547
+
548
+ with temporary_config_folder(config_content, levels=3) as temp_dir:
549
+ agent_path = temp_dir / "agent.py"
550
+ agent_path.touch()
551
+
552
+ # Mock docker command since we don't want to actually build
553
+ with runner.isolated_filesystem():
554
+ result = runner.invoke(
555
+ cli,
556
+ [
557
+ "build",
558
+ "--tag",
559
+ "test-image",
560
+ "--config",
561
+ str(temp_dir / "config.json"),
562
+ ],
563
+ catch_exceptions=True,
564
+ )
565
+
566
+ build_context_pattern = re.compile(r"--build-context\s+(\w+)=([^\s]+)")
567
+
568
+ build_contexts = re.findall(build_context_pattern, result.output)
569
+ assert (
570
+ len(build_contexts) == 2
571
+ ), f"Expected 2 build contexts, but found {len(build_contexts)}"
@@ -501,7 +501,7 @@ wheels = [
501
501
 
502
502
  [[package]]
503
503
  name = "langgraph-cli"
504
- version = "0.2.11"
504
+ version = "0.2.12"
505
505
  source = { editable = "." }
506
506
  dependencies = [
507
507
  { name = "click" },
File without changes
File without changes
File without changes