Commit Graph

658 Commits

Author SHA1 Message Date
github-actions[bot] 6c0927e358 [skip ci] Release new versions 2025-06-05 14:15:25 +00:00
Mish Ushakov fc182d63ef Added license sources to SDKs (#761)
- Added licenses source text to the SDKs, CLI
2025-06-05 07:10:07 -07:00
Mish Ushakov b21f86c543 Added lint workflow for JS, Python SDKs (#759)
- Linted all existing files
- Added GitHub workflow to check everything is linted correctly
2025-06-05 14:52:48 +02:00
Mish Ushakov bf7e862a07 Added skip if debug for some tests (#737) 2025-05-20 03:15:31 -07:00
dependabot[bot] 6842e9a33a Bump setuptools from 75.3.0 to 78.1.1 in /packages/python-sdk in the pip group across 1 directory (#739)
Bumps the pip group with 1 update in the /packages/python-sdk directory:
[setuptools](https://github.com/pypa/setuptools).

Updates `setuptools` from 75.3.0 to 78.1.1
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/setuptools/blob/main/NEWS.rst">setuptools's
changelog</a>.</em></p>
<blockquote>
<h1>v78.1.1</h1>
<h2>Bugfixes</h2>
<ul>
<li>More fully sanitized the filename in PackageIndex._download. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4946">#4946</a>)</li>
</ul>
<h1>v78.1.0</h1>
<h2>Features</h2>
<ul>
<li>Restore access to _get_vc_env with a warning. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4874">#4874</a>)</li>
</ul>
<h1>v78.0.2</h1>
<h2>Bugfixes</h2>
<ul>
<li>Postponed removals of deprecated dash-separated and uppercase fields
in <code>setup.cfg</code>.
All packages with deprecated configurations are advised to move before
2026. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4911">#4911</a>)</li>
</ul>
<h1>v78.0.1</h1>
<h2>Misc</h2>
<ul>
<li><a
href="https://redirect.github.com/pypa/setuptools/issues/4909">#4909</a></li>
</ul>
<h1>v78.0.0</h1>
<h2>Bugfixes</h2>
<ul>
<li>Reverted distutils changes that broke the monkey patching of command
classes. (<a
href="https://redirect.github.com/pypa/setuptools/issues/4902">#4902</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>Setuptools no longer accepts options containing uppercase or dash
characters in <code>setup.cfg</code>.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/setuptools/commit/8e4868a036b7fae3208d16cb4e5fe6d63c3752df"><code>8e4868a</code></a>
Bump version: 78.1.0 → 78.1.1</li>
<li><a
href="https://github.com/pypa/setuptools/commit/100e9a61ad24d5a147ada57357425a8d40626d09"><code>100e9a6</code></a>
Merge pull request <a
href="https://redirect.github.com/pypa/setuptools/issues/4951">#4951</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/8faf1d7e0ca309983252e4f21837b73ee12e960f"><code>8faf1d7</code></a>
Add news fragment.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/2ca4a9fe4758fcd39d771d3d3a5b4840aacebdf7"><code>2ca4a9f</code></a>
Rely on re.sub to perform the decision in one expression.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/e409e8002932f2b86aae7b1abc8f8c2ebf96df2c"><code>e409e80</code></a>
Extract _sanitize method for sanitizing the filename.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/250a6d17978f9f6ac3ac887091f2d32886fbbb0b"><code>250a6d1</code></a>
Add a check to ensure the name resolves relative to the tmpdir.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d8390feaa99091d1ba9626bec0e4ba7072fc507a"><code>d8390fe</code></a>
Extract _resolve_download_filename with test.</li>
<li><a
href="https://github.com/pypa/setuptools/commit/4e1e89392de5cb405e7844cdc8b20fc2755dbaba"><code>4e1e893</code></a>
Merge <a
href="https://github.com/jaraco/skeleton">https://github.com/jaraco/skeleton</a></li>
<li><a
href="https://github.com/pypa/setuptools/commit/3a3144f0d2887fa37c06550f42a101e9eebd953a"><code>3a3144f</code></a>
Fix typo: <code>pyproject.license</code> -&gt;
<code>project.license</code> (<a
href="https://redirect.github.com/pypa/setuptools/issues/4931">#4931</a>)</li>
<li><a
href="https://github.com/pypa/setuptools/commit/d751068fd2627d6d8f1729e39cbcd8119049998f"><code>d751068</code></a>
Fix typo: pyproject.license -&gt; project.license</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/setuptools/compare/v75.3.0...v78.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=setuptools&package-manager=pip&previous-version=75.3.0&new-version=78.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/e2b-dev/E2B/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-20 03:14:13 -07:00
github-actions[bot] 286e70d689 [skip ci] Release new versions 2025-05-14 15:19:57 +00:00
Jiri Sveceny 2def1305f3 Flag for securing envd access with auth token (#688)
Waiting until secure flag will be available in production cluster.

---------

Co-authored-by: Jakub Novák <jakub@e2b.dev>
2025-05-14 15:15:18 +00:00
Jakub Novák 106d0a7715 Remove closed port tests (#722)
# Description

They will be moved to infra, they are integration tests
2025-05-12 13:32:30 -07:00
Tomas Valenta 88266d6ae6 Unify passing of template used in tests and log background commands output (#704)
- Show errors from background commands
- Unify passing of template used in tests
2025-05-06 00:55:03 -07:00
github-actions[bot] 41f42a1490 [skip ci] Release new versions 2025-05-05 16:34:23 +00:00
0div a5b08de85f Add optional depth parameter to SDK file listing methods. (#649)
# Description

Do not merge before https://github.com/e2b-dev/infra/pull/524 is merged
and deployed.

The DX would look like this:
```js
const files = await sandbox.files.list(dirName, { depth: 3 })
```
- [x] update `envd` pb spec 
- [x] generate for `js-sdk`
- [x] update `js-sdk` `file.list` method to include optional depth param
- [x] update `js-sdk` tests
- [x] generate for `python-sdk`
- [x] update `python-sdk` `file.list` method to include optional depth
param
  - [x] sync
  - [x] async
- [x] update `python-sdk` tests
  - [x] sync
  - [x] async

---------

Co-authored-by: Mish <10400064+mishushakov@users.noreply.github.com>
2025-05-05 09:17:08 -07:00
Jakub Novák 4ec6c82630 Security patches (#706)
# Description

Fixes:
https://github.com/e2b-dev/E2B/security/dependabot/163
https://github.com/e2b-dev/E2B/security/dependabot/157
https://github.com/e2b-dev/E2B/security/dependabot/156
https://github.com/e2b-dev/E2B/security/dependabot/148
https://github.com/e2b-dev/E2B/security/dependabot/147
2025-04-29 02:41:14 -07:00
github-actions[bot] 67f5230532 [skip ci] Release new versions 2025-04-18 22:43:01 +00:00
Tomas Valenta 74ff53c3bb Add option for proxying SDK requests to API and sandbox (#695)
PR that allows you to pass `proxy` (of the type ProxyTypes) when calling
methods in the SDK that send requests. Also, if you pass `proxy` when
creating a sandbox, all the sandbox requests (called on the
Sandbox/AsyncSandbox instance) will automatically use the same proxy.

The PR also contains a small bugfix—adding missing passing of limits and
passing these directly instead of through transport to be able to pass
the proxy parameter properly.

This change should also be compatible with the code interpreter—it uses
the client transport, which uses the passed proxy if there is any.
2025-04-19 01:12:25 +03:00
github-actions[bot] 5a43e39579 [skip ci] Release new versions 2025-04-11 16:11:00 +00:00
Penny Templeton a1e2274eca Fix minor issue in python filesystem SDK (#678)
One should now be able to use sb.filesystem.write(WriteEntry[]) in a
typesafe way.

---------

Co-authored-by: Mish <10400064+mishushakov@users.noreply.github.com>
2025-04-11 18:04:38 +02:00
0div e0c1bc752d Make codegen robust and deterministic for js and python SDKs (#664)
# Description 

This PR allows to codegen without worrying about your environment and
dependencies for consistent outcomes in what code is generated from
openapi and envd protobuf spec. Will generate files for `js-sdk` and
`python-sdk`

- [x] create Docker image with all the pinned deps needed to codegen
- [x] create codegen script using this container with mapped volumes
- [x] adapt Makefiles to this new approach
- [x] adapt where we install the connect-python protobuf binary for this
to work

# Test

```sh
make codegen # this command is similar to `make generate` but w/o the hassle

Generating SDK code from openapi and envd spec
cd packages/js-sdk && pnpm generate

> e2b@1.2.1 generate /workspace/packages/js-sdk
> python ./../../spec/remove_extra_tags.py sandboxes templates && openapi-typescript ../../spec/openapi_generated.yml -x api_key --arr
ay-length --alphabetize --output src/api/schema.gen.ts

 openapi-typescript 7.6.1
🚀 ../../spec/openapi_generated.yml → src/api/schema.gen.ts [44.2ms]
cd packages/js-sdk && pnpm generate-envd-api

> e2b@1.2.1 generate-envd-api /workspace/packages/js-sdk
> openapi-typescript ../../spec/envd/envd.yaml -x api_key --array-length --alphabetize --output src/envd/schema.gen.ts

 openapi-typescript 7.6.1
🚀 ../../spec/envd/envd.yaml → src/envd/schema.gen.ts [22.7ms]

[...]

cd packages/python-sdk && make generate-api

All done!  🍰 
```

---------

Co-authored-by: Jiri Sveceny <jiri.sveceny@icloud.com>
2025-04-07 17:00:31 +02:00
Jakub Novák 74a6944140 Fix test for closed ports (#668)
# Description

The response from backend for port is actual integer
2025-04-05 20:38:38 +01:00
github-actions[bot] e8fadf947b [skip ci] Release new versions 2025-04-03 23:12:36 +00:00
Mish Ushakov 1bdf809e8b Make possible to pass custom headers in the SDKs (#656)
This feature allows passing custom headers in the Python and JS SDK. One
use-case for it currently is passing custom authorization (Supabase)
headers with the request.
2025-04-04 00:08:12 +01:00
Mish 7638231277 fix "sandbox id" naming consistency (uppercase) 2025-03-28 11:02:16 +01:00
github-actions[bot] 5ca2b9cc42 [skip ci] Release new versions 2025-03-26 18:15:28 +00:00
0div bd4398f30d address PR comments 2025-03-25 15:53:42 -07:00
0div 6dd18e2832 allow writing files that are of type io.BufferedReader and update tests 2025-03-25 14:39:58 -07:00
Mish c0efd6f322 added additional test coverage for getInfo, updated doc 2025-03-24 16:59:37 +01:00
github-actions[bot] 8fdb429998 [skip ci] Release new versions 2025-03-24 13:33:20 +00:00
Mish Ushakov d4f4352aa3 Add getInfo/get_info methods to the SDKs (#625)
- Rebased version of #517
2025-03-24 14:26:18 +01:00
github-actions[bot] 5d8b719b21 [skip ci] Release new versions 2025-03-24 11:45:11 +00:00
Jiri Sveceny 85c4505b9f Change default domain in sdks from e2b.dev to e2b.app (#635) 2025-03-24 12:40:22 +01:00
github-actions[bot] b6b0ac6f97 [skip ci] Release new versions 2025-03-21 15:02:41 +00:00
Jakub Novák 5c4d07536f Add filtering option for listing sandboxes (#532)
# Description

Allow users to filter out sandbox based on metadata

---------

Co-authored-by: Mish Ushakov <10400064+mishushakov@users.noreply.github.com>
2025-03-21 15:57:48 +01:00
github-actions[bot] b402327b6d [skip ci] Release new versions 2025-03-20 09:56:31 +00:00
0div d26ff435d6 Fix release test for multi-file write support (#615)
The previous [release
workflow]([Release](https://github.com/e2b-dev/E2B/commit/b3fe5e6777357a7d814c7dbe4525a18f3f83288f/checks))
errored after merging this [old
PR](https://github.com/e2b-dev/E2B/pull/451), here are the fixes:
- [x] use `WatchOpts` instead of `FilesystemOpts` to avoid TS errors in
js-sdk filesystem method
- [x] fix python-sdk watch test.
2025-03-19 16:07:37 -07:00
0div a8e88de846 fix merge conflict with main 2025-03-18 09:09:13 -07:00
Jakub Novák e045df9d50 Fix comments in tests (#613) 2025-03-18 08:47:16 -07:00
Jakub Novák 71415ed9e5 Fix flaky tests - Increase the timeout for pinging the server (#612)
Also changed the ports, so if you run locally there's no port collision
2025-03-18 08:26:25 -07:00
0div e905d9be34 Test sandbox closed port error (#597)
this PR adds tests in js and python SDKs for closed port errors
enhancement #265
2025-03-14 02:19:27 -07:00
github-actions[bot] 9f23f542d1 [skip ci] Release new versions 2025-02-22 00:00:40 +00:00
Jakub Novak eed7384da2 Drop support for Python 3.8 2025-02-05 20:31:50 -08:00
dependabot[bot] 9c6597bdb2 Bump the pip group across 2 directories with 6 updates
---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: indirect
  dependency-group: pip
- dependency-name: certifi
  dependency-type: indirect
  dependency-group: pip
- dependency-name: idna
  dependency-type: indirect
  dependency-group: pip
- dependency-name: requests
  dependency-type: indirect
  dependency-group: pip
- dependency-name: urllib3
  dependency-type: indirect
  dependency-group: pip
- dependency-name: certifi
  dependency-type: indirect
  dependency-group: pip
- dependency-name: jinja2
  dependency-type: indirect
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-29 23:56:31 +00:00
github-actions[bot] dde83b7986 [skip ci] Release new versions 2025-01-28 19:58:38 +00:00
Jakub Novák fe7ed15c61 Process time out returns incorrect exception in pythonsdk e2b 1476 (#550)
Handle the exception properly
2025-01-28 11:45:39 -08:00
Jakub Novak 359d17d0c4 Fix versions to match updated envd version 2025-01-28 11:28:35 -08:00
Jakub Dobrý ec9288a48b Add recursive watch envd version check python SDK, js SDK check 2025-01-28 11:28:18 -08:00
Jakub Dobrý 6596eda139 Test for recursive folder creation, add newline after code to docs 2025-01-28 11:26:32 -08:00
Jakub Dobrý 76b4ac02ad Regenerated python stubs with version 5.28.3
- Removed code runtime version check to prevent issues until further investigation
2025-01-28 11:26:32 -08:00
Jakub Dobrý c8914c2114 Improve recursive watch tests and folders naming 2025-01-28 11:26:32 -08:00
Jakub Dobrý 4adcfd83e9 Add python generated stubs 2025-01-28 11:26:30 -08:00
Jakub Dobrý d92a166d8f Update watch test file formatting 2025-01-28 11:25:43 -08:00
Jakub Dobrý 25c4539de6 Add watch dir recursive option (missing python client regeneration) 2025-01-28 11:25:42 -08:00