scitex-sdk 0.1.0__py3-none-any.whl

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.
scitex_sdk/__init__.py ADDED
@@ -0,0 +1,17 @@
1
+ """scitex-sdk — one project for the app contract + the UI shell.
2
+
3
+ Step 1 (thin facade):
4
+ - ``scitex_sdk.app`` re-exports ``scitex_app`` (the app contract).
5
+ - ``scitex_sdk.ui`` re-exports ``scitex_ui`` (the UI shell + assets).
6
+
7
+ Re-exports are the SAME objects as the originals (identity, not copies) —
8
+ verified by ``tests/test_facade_identity.py`` — so consumers can switch
9
+ ``scitex_app`` -> ``scitex_sdk.app`` (and ``scitex_ui`` -> ``scitex_sdk.ui``)
10
+ mechanically with zero behavior change. The implementation moves INTO
11
+ scitex-sdk gradually after this facade releases; the original distributions
12
+ stay as thin compat shims until every consumer has migrated.
13
+ """
14
+
15
+ from scitex_sdk import app, ui # noqa: F401
16
+
17
+ __all__ = ["app", "ui"]
scitex_sdk/app.py ADDED
@@ -0,0 +1,54 @@
1
+ """scitex_sdk.app — the app contract (facade over ``scitex_app``).
2
+
3
+ Step 1 re-exports the documented public surface of ``scitex_app`` by IDENTITY
4
+ (the same function/class/submodule objects), so ``from scitex_sdk.app import
5
+ get_files`` is the same object as ``from scitex_app import get_files``. The
6
+ implementation moves here gradually after the facade releases.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from scitex_app import (
12
+ FilesBackend,
13
+ build_tree,
14
+ chat,
15
+ copy_file,
16
+ delete_file,
17
+ embed,
18
+ file_exists,
19
+ get_files,
20
+ hosts_to_allow,
21
+ list_files,
22
+ paths,
23
+ read_file,
24
+ register_backend,
25
+ rename_file,
26
+ scaffold,
27
+ validate,
28
+ validator,
29
+ write_file,
30
+ )
31
+
32
+ __version__ = "0.1.0" # facade version; the app contract's own version is scitex_app.__version__
33
+
34
+ __all__ = [
35
+ "FilesBackend",
36
+ "build_tree",
37
+ "chat",
38
+ "copy_file",
39
+ "delete_file",
40
+ "embed",
41
+ "file_exists",
42
+ "get_files",
43
+ "hosts_to_allow",
44
+ "list_files",
45
+ "paths",
46
+ "read_file",
47
+ "register_backend",
48
+ "rename_file",
49
+ "scaffold",
50
+ "validate",
51
+ "validator",
52
+ "write_file",
53
+ "__version__",
54
+ ]
scitex_sdk/ui.py ADDED
@@ -0,0 +1,30 @@
1
+ """scitex_sdk.ui — the UI shell + assets (facade over ``scitex_ui``).
2
+
3
+ Step 1 re-exports the documented public surface of ``scitex_ui`` by IDENTITY,
4
+ so ``from scitex_sdk.ui import get_component`` is the same object as
5
+ ``from scitex_ui import get_component``. The implementation moves here
6
+ gradually after the facade releases; the static/TS/CSS assets stay in
7
+ scitex_ui until that move (Django's AppDirectoriesFinder resolves them by the
8
+ ``scitex_ui`` app label, which the facade does not change).
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ from scitex_ui import (
14
+ get_component,
15
+ get_docs_path,
16
+ get_static_dir,
17
+ list_components,
18
+ register_component,
19
+ )
20
+
21
+ __version__ = "0.1.0" # facade version; the shell's own version is scitex_ui.__version__
22
+
23
+ __all__ = [
24
+ "get_component",
25
+ "get_docs_path",
26
+ "get_static_dir",
27
+ "list_components",
28
+ "register_component",
29
+ "__version__",
30
+ ]
@@ -0,0 +1,48 @@
1
+ Metadata-Version: 2.5
2
+ Name: scitex-sdk
3
+ Version: 0.1.0
4
+ Summary: SciTeX SDK — one project for the app contract (scitex_sdk.app) + UI shell (scitex_sdk.ui). Step 1: thin facade re-exporting scitex-app + scitex-ui; implementation consolidates gradually.
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: scitex-app>=0.24.0
7
+ Requires-Dist: scitex-ui>=0.20.3
8
+ Description-Content-Type: text/markdown
9
+
10
+ # scitex-sdk
11
+
12
+ One project for the SciTeX **app contract** + **UI shell** — so the two are
13
+ named, versioned, and released as a single unit.
14
+
15
+ ```
16
+ scitex_sdk.app -> the app contract (from scitex-app)
17
+ scitex_sdk.ui -> the UI shell (from scitex-ui)
18
+ ```
19
+
20
+ ## Step 1: thin facade
21
+
22
+ `scitex_sdk.app` re-exports `scitex_app`'s documented public surface **by
23
+ identity** (the same objects), and `scitex_sdk.ui` re-exports `scitex_ui`'s.
24
+ That makes a consumer's import rewrite mechanical and behavior-neutral:
25
+
26
+ ```python
27
+ # before
28
+ from scitex_app import get_files
29
+ # after
30
+ from scitex_sdk.app import get_files # identical object
31
+ ```
32
+
33
+ `tests/test_facade_identity.py` asserts every re-export is the *same object*
34
+ as the original — a copy or reimplementation fails the suite.
35
+
36
+ ## Roadmap
37
+
38
+ 1. **Facade (this)** — re-export, identity tests, release. Consumers can start
39
+ rewriting imports against it.
40
+ 2. **Gradual implementation move** — code moves from `scitex_app` /
41
+ `scitex_ui` into `scitex_sdk.app` / `scitex_sdk.ui`; the original
42
+ distributions stay as thin compat shims until every consumer has migrated.
43
+ 3. **Shim removal** — only after all consumers (hub, figrecipe, writer,
44
+ scholar, cards, agent-container GUI) are on `scitex_sdk`.
45
+
46
+ The static/TS/CSS assets live in `scitex_ui` today (Django's
47
+ AppDirectoriesFinder resolves them by the `scitex_ui` app label); they move
48
+ with the implementation step, not the facade.
@@ -0,0 +1,6 @@
1
+ scitex_sdk/__init__.py,sha256=bcXRyZuNe52hpPWM2FMY8880GywyXd7VhEt-WHauwiM,742
2
+ scitex_sdk/app.py,sha256=cGbUkMT8IKd_kvJnAjKsIeH0YfNietU4oM7ssRyS5d4,1159
3
+ scitex_sdk/ui.py,sha256=VSQAGyX8ZoCWR7KL9kZraFpT7Yin2Jb18eYk3aSNAms,907
4
+ scitex_sdk-0.1.0.dist-info/METADATA,sha256=jhBBjYfc316Oiz-r8cRLe7HBhjsFgotDQO5gSJIyhPE,1825
5
+ scitex_sdk-0.1.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
6
+ scitex_sdk-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any