lizard-sdk 0.1.76__tar.gz → 0.1.78__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 (42) hide show
  1. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/PKG-INFO +2 -2
  2. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/README.md +1 -1
  3. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/client.py +1 -1
  4. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/git.py +8 -7
  5. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/pyproject.toml +1 -1
  6. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/.gitignore +0 -0
  7. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/__init__.py +0 -0
  8. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/cli.py +0 -0
  9. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/code_interpreter/__init__.py +0 -0
  10. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/code_interpreter/_runner.py +0 -0
  11. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/code_interpreter/sandbox.py +0 -0
  12. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/code_interpreter/types.py +0 -0
  13. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/config.py +0 -0
  14. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/errors.py +0 -0
  15. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/__init__.py +0 -0
  16. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/addons.py +0 -0
  17. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/api_keys.py +0 -0
  18. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/billing.py +0 -0
  19. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/client.py +0 -0
  20. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/domains.py +0 -0
  21. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/github.py +0 -0
  22. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/metrics.py +0 -0
  23. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/projects.py +0 -0
  24. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/regions.py +0 -0
  25. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/secrets.py +0 -0
  26. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/services.py +0 -0
  27. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/storage.py +0 -0
  28. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/platform/workspaces.py +0 -0
  29. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/project.py +0 -0
  30. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/sandbox/__init__.py +0 -0
  31. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/sandbox/desktop.py +0 -0
  32. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/sandbox/fs.py +0 -0
  33. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/sandbox/process.py +0 -0
  34. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/sandbox/sandbox.py +0 -0
  35. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/lizard/volume.py +0 -0
  36. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/tests/test_cli_parity.py +0 -0
  37. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/tests/test_contracts.py +0 -0
  38. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/tests/test_desktop.py +0 -0
  39. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/tests/test_firecracker_sandbox.py +0 -0
  40. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/tests/test_git.py +0 -0
  41. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/tests/test_snapshot_lifecycle.py +0 -0
  42. {lizard_sdk-0.1.76 → lizard_sdk-0.1.78}/tests/test_transport.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: lizard-sdk
3
- Version: 0.1.76
3
+ Version: 0.1.78
4
4
  Summary: Python SDK for Lizard: Firecracker microVM sandboxes, code execution and cloud apps.
5
5
  Project-URL: Homepage, https://lizard.build
6
6
  Project-URL: Documentation, https://lizard.build/docs
@@ -142,7 +142,7 @@ with CodeSandbox.create(project_id="proj_123") as sandbox:
142
142
 
143
143
  The SDK reads `LIZARD_API_KEY` and, optionally, `LIZARD_API_URL` (default: `https://lizard.build`). You can also pass `api_key` and `api_url` to the constructor or static sandbox methods.
144
144
 
145
- Lizard Git (`lizard.git`: repositories, pull requests, CI and the rest) reads `LIZARD_GIT_URL` (default `https://git.lizard.build`) and needs a key with no scopes. See the [Lizard Git guide](https://github.com/lizard-build/lizard-sdk/blob/main/docs/platform.md#lizard-git).
145
+ Lizard Git (`lizard.git`: repositories, pull requests, CI and the rest) reads `LIZARD_GIT_URL` (default `https://lizard.build/git`) and needs a key with no scopes. See the [Lizard Git guide](https://github.com/lizard-build/lizard-sdk/blob/main/docs/platform.md#lizard-git).
146
146
 
147
147
  Pass `timeout_ms` to `create()` to set the sandbox lifetime. The default is five minutes. `timeout_ms` on `process.exec_()` or `run_code()` controls that call, not the sandbox lifetime.
148
148
 
@@ -112,7 +112,7 @@ with CodeSandbox.create(project_id="proj_123") as sandbox:
112
112
 
113
113
  The SDK reads `LIZARD_API_KEY` and, optionally, `LIZARD_API_URL` (default: `https://lizard.build`). You can also pass `api_key` and `api_url` to the constructor or static sandbox methods.
114
114
 
115
- Lizard Git (`lizard.git`: repositories, pull requests, CI and the rest) reads `LIZARD_GIT_URL` (default `https://git.lizard.build`) and needs a key with no scopes. See the [Lizard Git guide](https://github.com/lizard-build/lizard-sdk/blob/main/docs/platform.md#lizard-git).
115
+ Lizard Git (`lizard.git`: repositories, pull requests, CI and the rest) reads `LIZARD_GIT_URL` (default `https://lizard.build/git`) and needs a key with no scopes. See the [Lizard Git guide](https://github.com/lizard-build/lizard-sdk/blob/main/docs/platform.md#lizard-git).
116
116
 
117
117
  Pass `timeout_ms` to `create()` to set the sandbox lifetime. The default is five minutes. `timeout_ms` on `process.exec_()` or `run_code()` controls that call, not the sandbox lifetime.
118
118
 
@@ -85,7 +85,7 @@ class Lizard:
85
85
  self.metrics = MetricsAPI(_pc)
86
86
  self.storage = StorageAPI(_pc)
87
87
  self.github = GitHubAPI(_pc)
88
- #: Lizard Git (git.lizard.build): repositories, issues, pull requests, reviews, CI runs,
88
+ #: Lizard Git (lizard.build/git): repositories, issues, pull requests, reviews, CI runs,
89
89
  #: releases, webhooks, branch rules. Needs a key with no scopes. ``git_url`` (or
90
90
  #: LIZARD_GIT_URL) points it elsewhere.
91
91
  self.git = GitAPI(self._config, git_url)
@@ -1,4 +1,4 @@
1
- """Lizard Git (git.lizard.build): repositories, issues, pull requests, reviews, Actions-style
1
+ """Lizard Git (lizard.build/git): repositories, issues, pull requests, reviews, Actions-style
2
2
  CI, releases, webhooks, branch protection and the rest, with the same API key as the rest of
3
3
  the SDK. The key must be a whole account's (no scopes): Lizard Git refuses scoped keys.
4
4
 
@@ -24,7 +24,7 @@ import httpx
24
24
  from ..config import HTTP_TIMEOUT_S, ConnectionConfig
25
25
  from ..errors import handle_api_error
26
26
 
27
- DEFAULT_GIT_URL = "https://git.lizard.build"
27
+ DEFAULT_GIT_URL = "https://lizard.build/git"
28
28
 
29
29
  _REPO = re.compile(r"^([^/\s]+)/([^/\s]+?)(\.git)?$")
30
30
  _ACTIVE = {"queued", "running", "waiting", "pending", "dispatched"}
@@ -122,8 +122,7 @@ class GitReposAPI:
122
122
 
123
123
  def update(self, repo: str, *, name: str | None = None, description: str | None = None,
124
124
  private: bool | None = None, default_branch: str | None = None, api_commits: bool | None = None) -> dict:
125
- """api_commits: also accept commits written through the API (commit_files, land); new
126
- repositories take pushes only."""
125
+ """api_commits is accepted and ignored: every commit is made through the API now."""
127
126
  return self._c.patch(_repo(repo), _clean({"name": name, "description": description, "private": private,
128
127
  "defaultBranch": default_branch, "apiCommits": api_commits}))
129
128
 
@@ -184,8 +183,9 @@ class GitReposAPI:
184
183
 
185
184
  def commit_files(self, repo: str, *, branch: str, message: str, files: list[dict], expect: str | None = None,
186
185
  create_from: str | None = None, idempotency_key: str | None = None) -> dict:
187
- """Commit files on the server: no clone, no push. Only on a repository whose admin allowed it
188
- (``update(repo, api_commits=True)``); new repositories take changes by git push only.
186
+ """Commit files on the server: no clone, no push (every commit to Lizard Git is made this way).
187
+ With ``expect``, a branch that moved since is the server's to resolve (other files on the
188
+ new tip, the same files merged line by line); only a real conflict raises (409).
189
189
 
190
190
  Each file is ``{"path", "content"}`` (``"base64": True`` for bytes), ``{"path", "delete": True}``
191
191
  or ``{"path", "moveFrom"}``. ``expect`` is the commit the branch must still point at (a moved
@@ -207,7 +207,8 @@ class GitReposAPI:
207
207
  return self._c.bytes(f"{_repo(repo)}/archive/{_seg(ref)}.{format}")
208
208
 
209
209
  def clone_url(self, repo: str, *, with_key: bool = False) -> str:
210
- """The HTTPS clone URL. With ``with_key`` it carries the API key, so plain ``git clone`` works."""
210
+ """Deprecated: Lizard Git no longer serves the git protocol (this address answers 410). Read
211
+ with tree/file/raw/archive, write with commit_files, check out with ``lizard git clone``."""
211
212
  _repo(repo)
212
213
  u = urlsplit(f"{self._c.url}/{re.sub(r'[.]git$', '', repo)}.git")
213
214
  if with_key:
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "lizard-sdk"
7
- version = "0.1.76"
7
+ version = "0.1.78"
8
8
  description = "Python SDK for Lizard: Firecracker microVM sandboxes, code execution and cloud apps."
9
9
  readme = {file = "README.md", content-type = "text/markdown"}
10
10
  license = { text = "Apache-2.0" }
File without changes
File without changes