Files
e2b-dev--e2b/packages/python-sdk/pyproject.toml
T
Mish Ushakov 23adc93f5e Expand folder with double star pattern for recursive hash computation (#994)
Currently, when you provide a simple folder pattern like `folder/` to
copy() it will not check folders contents for changes (only the folder
metadata itself) which leads to stale caches.

This fix appends ** pattern when no pattern is specified for recursive
hash computation.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Ensure folder COPY patterns hash contents recursively to fix cache
invalidation, adding a shared file-gathering helper, tests, and a Python
glob dependency.
> 
> - **Template hashing (JS + Python SDKs)**:
> - Add `getAllFilesForFilesHash`
(`packages/js-sdk/src/template/utils.ts`) and
`get_all_files_for_files_hash`
(`packages/python-sdk/e2b/template/utils.py`) to collect directories and
nested files using glob patterns and ignores.
> - Update `calculateFilesHash`/`calculate_files_hash` to use the new
helpers, hashing recursive paths, metadata, and file contents; handle
symlinks consistently.
> - **Tests**:
> - Add comprehensive tests for recursive matching, ignore patterns,
sorting, empty dirs, symlinks in
`packages/js-sdk/tests/.../getAllFilesForFilesHash.test.ts` and Python
async/sync tests under
`packages/python-sdk/tests/.../test_get_all_files_for_files_hash.py`.
> - **Dependencies**:
> - Add `wcmatch` in `packages/python-sdk/pyproject.toml` for advanced
globbing.
> - **Release**:
>   - Patch bump via `.changeset/green-mice-watch.md`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
d495427d86ad4e4d5a280567baa63df40a3271fb. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Jakub Dobry <jakub.dobry8@gmail.com>
2025-11-03 16:34:17 +01:00

46 lines
1.1 KiB
TOML

[tool.poetry]
name = "e2b"
version = "2.6.1"
description = "E2B SDK that give agents cloud environments"
authors = ["e2b <hello@e2b.dev>"]
license = "MIT"
readme = "README.md"
homepage = "https://e2b.dev/"
repository = "https://github.com/e2b-dev/e2b/tree/main/packages/python-sdk"
packages = [{ include = "e2b" }, { include = "e2b_connect" }]
[tool.poetry.dependencies]
python = "^3.9"
python-dateutil = ">=2.8.2"
wcmatch = "^10.1"
protobuf = ">=4.21.0"
httpcore = "^1.0.5"
httpx = ">=0.27.0, <1.0.0"
attrs = ">=23.2.0"
packaging = ">=24.1"
typing-extensions = ">=4.1.0"
dockerfile-parse = "^2.0.1"
rich = ">=14.0.0"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-xdist = "^3.3.1"
python-dotenv = "^1.0.0"
pytest-dotenv = "^0.5.2"
pytest-asyncio = "^0.23.7"
pydoc-markdown = "^4.8.2"
datamodel-code-generator = "^0.34.0"
ruff = "^0.11.12"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.urls]
"Bug Tracker" = "https://github.com/e2b-dev/e2b/issues"
[tool.ruff]
exclude = [
"e2b/envd/filesystem/filesystem_pb2.py"
]