dsviper 1.2.0__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.
dsviper-1.2.0/PKG-INFO ADDED
@@ -0,0 +1,135 @@
1
+ Metadata-Version: 2.4
2
+ Name: dsviper
3
+ Version: 1.2.0
4
+ Summary: Digital Substrate Viper Runtime
5
+ Home-page: https://devkit.digitalsubstrate.io
6
+ Author: Digital Substrate
7
+ Maintainer: Digital Substrate
8
+ License: Proprietary
9
+ Project-URL: Documentation, https://devkit.digitalsubstrate.io
10
+ Classifier: License :: Other/Proprietary License
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Programming Language :: C++
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Intended Audience :: Developers
20
+ Classifier: Topic :: Software Development
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Operating System :: POSIX :: Linux
23
+ Classifier: Operating System :: Microsoft :: Windows
24
+ Requires-Python: >=3.10.0
25
+ Description-Content-Type: text/markdown
26
+ Dynamic: author
27
+ Dynamic: classifier
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: home-page
31
+ Dynamic: license
32
+ Dynamic: maintainer
33
+ Dynamic: project-url
34
+ Dynamic: requires-python
35
+ Dynamic: summary
36
+
37
+ # dsviper — Digital Substrate Viper Runtime
38
+
39
+ `dsviper` is the Python extension module for **Viper**, a C++ runtime built around
40
+ metadata-driven type and value systems. It provides a seamless bidirectional bridge
41
+ between Python and Viper's strong-typed data model.
42
+
43
+ ## Key Features
44
+
45
+ - **DSM Language** — Define data models with the Digital Substrate Model DSL:
46
+ concepts, keys, documents, attachments.
47
+ - **Type & Value System** — Dynamically construct types and instantiate strong-typed
48
+ values with automatic Python ↔ C++ bridging.
49
+ - **Commit Database** — Versioned persistence with full mutation history (DAG of commits).
50
+ - **Code Generation** — Optional `kibo` code generator produces type-safe Python
51
+ packages from DSM definitions.
52
+ - **Blob System** — BlobArray with zero-copy NumPy integration, BlobPack for structured
53
+ binary data.
54
+ - **IDE Support** — JetBrains plugin and VS Code extension for `.dsm` files.
55
+
56
+ ## Quick Start
57
+
58
+ ```python
59
+ from dsviper import *
60
+
61
+ # Strong-typed value system
62
+ names = Value.create(TypeVector(Type.STRING))
63
+ names.extend(["alice", "bob"])
64
+ print(names) # ['alice', 'bob']
65
+ print(names.type()) # vector<string>
66
+
67
+ names.append(42) # ViperError: expected 'str', got 'int'
68
+ ```
69
+
70
+ ## Commit Database
71
+
72
+ A complete example — define a model, create a versioned database, commit and query:
73
+
74
+ ```python
75
+ from dsviper import *
76
+
77
+ # Define a model dynamically
78
+ defs = Definitions()
79
+ ns = NameSpace(ValueUUId.create(), "App")
80
+ t_User = defs.create_concept(ns, "User")
81
+ d_Profile = TypeStructureDescriptor("Profile")
82
+ d_Profile.add_field("name", Type.STRING)
83
+ a_profile = defs.create_attachment(ns, "profile", t_User, defs.create_structure(ns, d_Profile))
84
+
85
+ # Create a versioned database and commit data
86
+ db = CommitDatabase.create_in_memory()
87
+ db.extend_definitions(defs.const())
88
+
89
+ key = a_profile.create_key()
90
+ doc = a_profile.create_document()
91
+ doc.name = "Alice"
92
+
93
+ mutable = CommitMutableState(db.initial_state())
94
+ mutable.attachment_mutating().set(a_profile, key, doc)
95
+ db.commit_mutations("Add Alice", mutable)
96
+
97
+ # Query
98
+ state = db.state(db.last_commit_id())
99
+ state.attachment_getting().get(a_profile, key)
100
+ # Optional({name='Alice'})
101
+ ```
102
+
103
+ ## Installation
104
+
105
+ ```
106
+ pip install dsviper
107
+ ```
108
+
109
+ Requires Python ≥ 3.10. Pre-built wheels are provided for all supported platforms.
110
+
111
+ ## Supported Platforms
112
+
113
+ | Platform | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
114
+ |---|---|---|---|---|---|
115
+ | Linux x86_64 | ✅ | ✅ | ✅ | ✅ | ✅ |
116
+ | Linux aarch64 | ✅ | ✅ | ✅ | ✅ | ✅ |
117
+ | macOS arm64 (Apple Silicon) | ✅ | ✅ | ✅ | ✅ | ✅ |
118
+ | macOS x86_64 (Intel) | ✅ | ✅ | ✅ | ✅ | ✅ |
119
+ | Windows x64 | ✅ | ✅ | ✅ | ✅ | ✅ |
120
+ | Windows arm64 | — | ✅ | ✅ | ✅ | ✅ |
121
+
122
+ ## Documentation
123
+
124
+ Full documentation at [devkit.digitalsubstrate.io](https://devkit.digitalsubstrate.io)
125
+
126
+ ## License
127
+
128
+ **Proprietary** — Commercial license required.
129
+ Contact [Digital Substrate](https://digitalsubstrate.io) for licensing information.
130
+
131
+ ## Build Information
132
+
133
+ - **Version**: 1.2.0 LTS
134
+ - **Source**: commit `174b349e` (tag `LTS-1.2.0`)
135
+ - **Build date**: 2026-03-20
@@ -0,0 +1,99 @@
1
+ # dsviper — Digital Substrate Viper Runtime
2
+
3
+ `dsviper` is the Python extension module for **Viper**, a C++ runtime built around
4
+ metadata-driven type and value systems. It provides a seamless bidirectional bridge
5
+ between Python and Viper's strong-typed data model.
6
+
7
+ ## Key Features
8
+
9
+ - **DSM Language** — Define data models with the Digital Substrate Model DSL:
10
+ concepts, keys, documents, attachments.
11
+ - **Type & Value System** — Dynamically construct types and instantiate strong-typed
12
+ values with automatic Python ↔ C++ bridging.
13
+ - **Commit Database** — Versioned persistence with full mutation history (DAG of commits).
14
+ - **Code Generation** — Optional `kibo` code generator produces type-safe Python
15
+ packages from DSM definitions.
16
+ - **Blob System** — BlobArray with zero-copy NumPy integration, BlobPack for structured
17
+ binary data.
18
+ - **IDE Support** — JetBrains plugin and VS Code extension for `.dsm` files.
19
+
20
+ ## Quick Start
21
+
22
+ ```python
23
+ from dsviper import *
24
+
25
+ # Strong-typed value system
26
+ names = Value.create(TypeVector(Type.STRING))
27
+ names.extend(["alice", "bob"])
28
+ print(names) # ['alice', 'bob']
29
+ print(names.type()) # vector<string>
30
+
31
+ names.append(42) # ViperError: expected 'str', got 'int'
32
+ ```
33
+
34
+ ## Commit Database
35
+
36
+ A complete example — define a model, create a versioned database, commit and query:
37
+
38
+ ```python
39
+ from dsviper import *
40
+
41
+ # Define a model dynamically
42
+ defs = Definitions()
43
+ ns = NameSpace(ValueUUId.create(), "App")
44
+ t_User = defs.create_concept(ns, "User")
45
+ d_Profile = TypeStructureDescriptor("Profile")
46
+ d_Profile.add_field("name", Type.STRING)
47
+ a_profile = defs.create_attachment(ns, "profile", t_User, defs.create_structure(ns, d_Profile))
48
+
49
+ # Create a versioned database and commit data
50
+ db = CommitDatabase.create_in_memory()
51
+ db.extend_definitions(defs.const())
52
+
53
+ key = a_profile.create_key()
54
+ doc = a_profile.create_document()
55
+ doc.name = "Alice"
56
+
57
+ mutable = CommitMutableState(db.initial_state())
58
+ mutable.attachment_mutating().set(a_profile, key, doc)
59
+ db.commit_mutations("Add Alice", mutable)
60
+
61
+ # Query
62
+ state = db.state(db.last_commit_id())
63
+ state.attachment_getting().get(a_profile, key)
64
+ # Optional({name='Alice'})
65
+ ```
66
+
67
+ ## Installation
68
+
69
+ ```
70
+ pip install dsviper
71
+ ```
72
+
73
+ Requires Python ≥ 3.10. Pre-built wheels are provided for all supported platforms.
74
+
75
+ ## Supported Platforms
76
+
77
+ | Platform | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
78
+ |---|---|---|---|---|---|
79
+ | Linux x86_64 | ✅ | ✅ | ✅ | ✅ | ✅ |
80
+ | Linux aarch64 | ✅ | ✅ | ✅ | ✅ | ✅ |
81
+ | macOS arm64 (Apple Silicon) | ✅ | ✅ | ✅ | ✅ | ✅ |
82
+ | macOS x86_64 (Intel) | ✅ | ✅ | ✅ | ✅ | ✅ |
83
+ | Windows x64 | ✅ | ✅ | ✅ | ✅ | ✅ |
84
+ | Windows arm64 | — | ✅ | ✅ | ✅ | ✅ |
85
+
86
+ ## Documentation
87
+
88
+ Full documentation at [devkit.digitalsubstrate.io](https://devkit.digitalsubstrate.io)
89
+
90
+ ## License
91
+
92
+ **Proprietary** — Commercial license required.
93
+ Contact [Digital Substrate](https://digitalsubstrate.io) for licensing information.
94
+
95
+ ## Build Information
96
+
97
+ - **Version**: 1.2.0 LTS
98
+ - **Source**: commit `174b349e` (tag `LTS-1.2.0`)
99
+ - **Build date**: 2026-03-20
@@ -0,0 +1 @@
1
+ from .dsviper import *
@@ -0,0 +1,135 @@
1
+ Metadata-Version: 2.4
2
+ Name: dsviper
3
+ Version: 1.2.0
4
+ Summary: Digital Substrate Viper Runtime
5
+ Home-page: https://devkit.digitalsubstrate.io
6
+ Author: Digital Substrate
7
+ Maintainer: Digital Substrate
8
+ License: Proprietary
9
+ Project-URL: Documentation, https://devkit.digitalsubstrate.io
10
+ Classifier: License :: Other/Proprietary License
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Programming Language :: C++
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Intended Audience :: Developers
20
+ Classifier: Topic :: Software Development
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Operating System :: POSIX :: Linux
23
+ Classifier: Operating System :: Microsoft :: Windows
24
+ Requires-Python: >=3.10.0
25
+ Description-Content-Type: text/markdown
26
+ Dynamic: author
27
+ Dynamic: classifier
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: home-page
31
+ Dynamic: license
32
+ Dynamic: maintainer
33
+ Dynamic: project-url
34
+ Dynamic: requires-python
35
+ Dynamic: summary
36
+
37
+ # dsviper — Digital Substrate Viper Runtime
38
+
39
+ `dsviper` is the Python extension module for **Viper**, a C++ runtime built around
40
+ metadata-driven type and value systems. It provides a seamless bidirectional bridge
41
+ between Python and Viper's strong-typed data model.
42
+
43
+ ## Key Features
44
+
45
+ - **DSM Language** — Define data models with the Digital Substrate Model DSL:
46
+ concepts, keys, documents, attachments.
47
+ - **Type & Value System** — Dynamically construct types and instantiate strong-typed
48
+ values with automatic Python ↔ C++ bridging.
49
+ - **Commit Database** — Versioned persistence with full mutation history (DAG of commits).
50
+ - **Code Generation** — Optional `kibo` code generator produces type-safe Python
51
+ packages from DSM definitions.
52
+ - **Blob System** — BlobArray with zero-copy NumPy integration, BlobPack for structured
53
+ binary data.
54
+ - **IDE Support** — JetBrains plugin and VS Code extension for `.dsm` files.
55
+
56
+ ## Quick Start
57
+
58
+ ```python
59
+ from dsviper import *
60
+
61
+ # Strong-typed value system
62
+ names = Value.create(TypeVector(Type.STRING))
63
+ names.extend(["alice", "bob"])
64
+ print(names) # ['alice', 'bob']
65
+ print(names.type()) # vector<string>
66
+
67
+ names.append(42) # ViperError: expected 'str', got 'int'
68
+ ```
69
+
70
+ ## Commit Database
71
+
72
+ A complete example — define a model, create a versioned database, commit and query:
73
+
74
+ ```python
75
+ from dsviper import *
76
+
77
+ # Define a model dynamically
78
+ defs = Definitions()
79
+ ns = NameSpace(ValueUUId.create(), "App")
80
+ t_User = defs.create_concept(ns, "User")
81
+ d_Profile = TypeStructureDescriptor("Profile")
82
+ d_Profile.add_field("name", Type.STRING)
83
+ a_profile = defs.create_attachment(ns, "profile", t_User, defs.create_structure(ns, d_Profile))
84
+
85
+ # Create a versioned database and commit data
86
+ db = CommitDatabase.create_in_memory()
87
+ db.extend_definitions(defs.const())
88
+
89
+ key = a_profile.create_key()
90
+ doc = a_profile.create_document()
91
+ doc.name = "Alice"
92
+
93
+ mutable = CommitMutableState(db.initial_state())
94
+ mutable.attachment_mutating().set(a_profile, key, doc)
95
+ db.commit_mutations("Add Alice", mutable)
96
+
97
+ # Query
98
+ state = db.state(db.last_commit_id())
99
+ state.attachment_getting().get(a_profile, key)
100
+ # Optional({name='Alice'})
101
+ ```
102
+
103
+ ## Installation
104
+
105
+ ```
106
+ pip install dsviper
107
+ ```
108
+
109
+ Requires Python ≥ 3.10. Pre-built wheels are provided for all supported platforms.
110
+
111
+ ## Supported Platforms
112
+
113
+ | Platform | 3.10 | 3.11 | 3.12 | 3.13 | 3.14 |
114
+ |---|---|---|---|---|---|
115
+ | Linux x86_64 | ✅ | ✅ | ✅ | ✅ | ✅ |
116
+ | Linux aarch64 | ✅ | ✅ | ✅ | ✅ | ✅ |
117
+ | macOS arm64 (Apple Silicon) | ✅ | ✅ | ✅ | ✅ | ✅ |
118
+ | macOS x86_64 (Intel) | ✅ | ✅ | ✅ | ✅ | ✅ |
119
+ | Windows x64 | ✅ | ✅ | ✅ | ✅ | ✅ |
120
+ | Windows arm64 | — | ✅ | ✅ | ✅ | ✅ |
121
+
122
+ ## Documentation
123
+
124
+ Full documentation at [devkit.digitalsubstrate.io](https://devkit.digitalsubstrate.io)
125
+
126
+ ## License
127
+
128
+ **Proprietary** — Commercial license required.
129
+ Contact [Digital Substrate](https://digitalsubstrate.io) for licensing information.
130
+
131
+ ## Build Information
132
+
133
+ - **Version**: 1.2.0 LTS
134
+ - **Source**: commit `174b349e` (tag `LTS-1.2.0`)
135
+ - **Build date**: 2026-03-20
@@ -0,0 +1,7 @@
1
+ README.md
2
+ setup.py
3
+ dsviper/__init__.py
4
+ dsviper.egg-info/PKG-INFO
5
+ dsviper.egg-info/SOURCES.txt
6
+ dsviper.egg-info/dependency_links.txt
7
+ dsviper.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ dsviper
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
dsviper-1.2.0/setup.py ADDED
@@ -0,0 +1,34 @@
1
+ from pathlib import Path
2
+ from setuptools import setup
3
+
4
+ setup(
5
+ name="dsviper",
6
+ version="1.2.0",
7
+ description="Digital Substrate Viper Runtime",
8
+ long_description=Path("README.md").read_text(encoding="utf-8"),
9
+ long_description_content_type="text/markdown",
10
+ author="Digital Substrate",
11
+ maintainer="Digital Substrate",
12
+ url="https://devkit.digitalsubstrate.io",
13
+ project_urls={
14
+ "Documentation": "https://devkit.digitalsubstrate.io",
15
+ },
16
+ license="Proprietary",
17
+ python_requires=">=3.10.0",
18
+ classifiers=[
19
+ "License :: Other/Proprietary License",
20
+ "Development Status :: 5 - Production/Stable",
21
+ "Programming Language :: C++",
22
+ "Programming Language :: Python :: 3",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Programming Language :: Python :: 3.13",
27
+ "Programming Language :: Python :: 3.14",
28
+ "Intended Audience :: Developers",
29
+ "Topic :: Software Development",
30
+ "Operating System :: MacOS :: MacOS X",
31
+ "Operating System :: POSIX :: Linux",
32
+ "Operating System :: Microsoft :: Windows",
33
+ ],
34
+ )