janction-render 0.4.7__tar.gz → 0.4.9__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.
- {janction_render-0.4.7 → janction_render-0.4.9}/PKG-INFO +7 -1
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render/__init__.py +1 -1
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render/cli.py +26 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render/client.py +17 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render.egg-info/PKG-INFO +7 -1
- {janction_render-0.4.7 → janction_render-0.4.9}/pyproject.toml +9 -1
- {janction_render-0.4.7 → janction_render-0.4.9}/LICENSE +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/README.md +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render/brief.py +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render/mcp_app.html +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render/mcp_server.py +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render.egg-info/SOURCES.txt +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render.egg-info/dependency_links.txt +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render.egg-info/entry_points.txt +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render.egg-info/requires.txt +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/janction_render.egg-info/top_level.txt +0 -0
- {janction_render-0.4.7 → janction_render-0.4.9}/setup.cfg +0 -0
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: janction-render
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.9
|
|
4
4
|
Summary: Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor.
|
|
5
|
+
Author-email: "JasmyLab Inc." <contact@jasmylab.com>
|
|
6
|
+
Project-URL: Homepage, https://render.janction.jp
|
|
7
|
+
Project-URL: Documentation, https://render.janction.jp/blender-render-api
|
|
8
|
+
Project-URL: Repository, https://github.com/JasmyLab-JANCTION/janction-render
|
|
9
|
+
Project-URL: Issues, https://github.com/JasmyLab-JANCTION/janction-render/issues
|
|
10
|
+
Project-URL: Status, https://render.janction.jp/status
|
|
5
11
|
Requires-Python: >=3.11
|
|
6
12
|
Description-Content-Type: text/markdown
|
|
7
13
|
License-File: LICENSE
|
|
@@ -136,6 +136,24 @@ def cmd_cancel(c: Client, args: argparse.Namespace) -> int:
|
|
|
136
136
|
return 0
|
|
137
137
|
|
|
138
138
|
|
|
139
|
+
def cmd_revoke_key(c: Client, args: argparse.Namespace) -> int:
|
|
140
|
+
if not args.yes:
|
|
141
|
+
print("this revokes your key and disconnects every app that uses it; run again with --yes", file=sys.stderr)
|
|
142
|
+
return 2
|
|
143
|
+
print(_j(c.revoke_key()))
|
|
144
|
+
return 0
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
def cmd_connections(c: Client, args: argparse.Namespace) -> int:
|
|
148
|
+
print(_j(c.connections()))
|
|
149
|
+
return 0
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def cmd_disconnect(c: Client, args: argparse.Namespace) -> int:
|
|
153
|
+
print(_j(c.disconnect(args.id)))
|
|
154
|
+
return 0
|
|
155
|
+
|
|
156
|
+
|
|
139
157
|
def cmd_share(c: Client, args: argparse.Namespace) -> int:
|
|
140
158
|
v = c.share(args.job, title=args.title or "", note=args.note or "", include_script=bool(args.script), listed=bool(args.gallery),
|
|
141
159
|
prompt=args.prompt or "")
|
|
@@ -233,6 +251,14 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
233
251
|
s.add_argument("--wait", type=float, default=0, help="seconds to wait for the job first")
|
|
234
252
|
s.set_defaults(fn=cmd_download)
|
|
235
253
|
|
|
254
|
+
s = sub.add_parser("revoke-key", help="revoke your key (use when it leaked); every connected app stops working")
|
|
255
|
+
s.add_argument("--yes", action="store_true")
|
|
256
|
+
s.set_defaults(fn=cmd_revoke_key)
|
|
257
|
+
s = sub.add_parser("connections", help="apps connected with your key (Claude, ChatGPT, Codex ...)")
|
|
258
|
+
s.set_defaults(fn=cmd_connections)
|
|
259
|
+
s = sub.add_parser("disconnect", help="disconnect one app (id from 'connections')")
|
|
260
|
+
s.add_argument("id")
|
|
261
|
+
s.set_defaults(fn=cmd_disconnect)
|
|
236
262
|
s = sub.add_parser("share", help="publish a finished job as a public page (/r/<id>)")
|
|
237
263
|
s.add_argument("job")
|
|
238
264
|
s.add_argument("--title", default=None)
|
|
@@ -379,6 +379,23 @@ class Client:
|
|
|
379
379
|
self._raise(r)
|
|
380
380
|
return r.json()
|
|
381
381
|
|
|
382
|
+
def revoke_key(self) -> dict[str, Any]:
|
|
383
|
+
"""この鍵を失効させる(つながっているアプリも全部切れる)。手元の控えも消す。"""
|
|
384
|
+
r = self.s.post(f"{self.server}/v1/keys/revoke", headers=self._headers(), timeout=30)
|
|
385
|
+
self._raise(r)
|
|
386
|
+
self.forget_key()
|
|
387
|
+
return r.json()
|
|
388
|
+
|
|
389
|
+
def connections(self) -> dict[str, Any]:
|
|
390
|
+
r = self.s.get(f"{self.server}/v1/connections", headers=self._headers(), timeout=30)
|
|
391
|
+
self._raise(r)
|
|
392
|
+
return r.json()
|
|
393
|
+
|
|
394
|
+
def disconnect(self, conn_id: str) -> dict[str, Any]:
|
|
395
|
+
r = self.s.delete(f"{self.server}/v1/connections/{conn_id}", headers=self._headers(), timeout=30)
|
|
396
|
+
self._raise(r)
|
|
397
|
+
return r.json()
|
|
398
|
+
|
|
382
399
|
def fetch_asset_urls(self, scene_id: str, urls: list[str]) -> dict[str, Any]:
|
|
383
400
|
"""URL か polyhaven:<id> の素材を受付に取らせてシーンに足す(受付が取るので手元には要らない)。"""
|
|
384
401
|
r = self.s.post(f"{self.server}/v1/files/{scene_id}/assets/urls", headers=self._headers(),
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: janction-render
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.9
|
|
4
4
|
Summary: Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor.
|
|
5
|
+
Author-email: "JasmyLab Inc." <contact@jasmylab.com>
|
|
6
|
+
Project-URL: Homepage, https://render.janction.jp
|
|
7
|
+
Project-URL: Documentation, https://render.janction.jp/blender-render-api
|
|
8
|
+
Project-URL: Repository, https://github.com/JasmyLab-JANCTION/janction-render
|
|
9
|
+
Project-URL: Issues, https://github.com/JasmyLab-JANCTION/janction-render/issues
|
|
10
|
+
Project-URL: Status, https://render.janction.jp/status
|
|
5
11
|
Requires-Python: >=3.11
|
|
6
12
|
Description-Content-Type: text/markdown
|
|
7
13
|
License-File: LICENSE
|
|
@@ -4,11 +4,19 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "janction-render"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.9"
|
|
8
8
|
description = "Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
11
|
dependencies = ["requests>=2.31", "mcp>=1.10"]
|
|
12
|
+
authors = [{ name = "JasmyLab Inc.", email = "contact@jasmylab.com" }]
|
|
13
|
+
|
|
14
|
+
[project.urls]
|
|
15
|
+
Homepage = "https://render.janction.jp"
|
|
16
|
+
Documentation = "https://render.janction.jp/blender-render-api"
|
|
17
|
+
Repository = "https://github.com/JasmyLab-JANCTION/janction-render"
|
|
18
|
+
Issues = "https://github.com/JasmyLab-JANCTION/janction-render/issues"
|
|
19
|
+
Status = "https://render.janction.jp/status"
|
|
12
20
|
|
|
13
21
|
[project.optional-dependencies]
|
|
14
22
|
mcp = ["mcp>=1.10"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{janction_render-0.4.7 → janction_render-0.4.9}/janction_render.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|