neuronum 2.0.8__py3-none-any.whl → 3.0.1__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.
Potentially problematic release.
This version of neuronum might be problematic. Click here for more details.
- cli/main.py +284 -158
- neuronum/neuronum.py +393 -349
- neuronum-3.0.1.dist-info/METADATA +120 -0
- neuronum-3.0.1.dist-info/RECORD +12 -0
- neuronum-2.0.8.dist-info/METADATA +0 -385
- neuronum-2.0.8.dist-info/RECORD +0 -12
- {neuronum-2.0.8.dist-info → neuronum-3.0.1.dist-info}/WHEEL +0 -0
- {neuronum-2.0.8.dist-info → neuronum-3.0.1.dist-info}/entry_points.txt +0 -0
- {neuronum-2.0.8.dist-info → neuronum-3.0.1.dist-info}/licenses/LICENSE +0 -0
- {neuronum-2.0.8.dist-info → neuronum-3.0.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: neuronum
|
|
3
|
+
Version: 3.0.1
|
|
4
|
+
Summary: Official client library to interact with the Neuronum Network
|
|
5
|
+
Home-page: https://neuronum.net
|
|
6
|
+
Author: Neuronum Cybernetics
|
|
7
|
+
Author-email: welcome@neuronum.net
|
|
8
|
+
Project-URL: GitHub, https://github.com/neuronumcybernetics/neuronum
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Requires-Python: >=3.8
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: aiohttp
|
|
16
|
+
Requires-Dist: websockets
|
|
17
|
+
Requires-Dist: click
|
|
18
|
+
Requires-Dist: questionary
|
|
19
|
+
Requires-Dist: python-dotenv
|
|
20
|
+
Requires-Dist: bleak
|
|
21
|
+
Requires-Dist: requests
|
|
22
|
+
Dynamic: author
|
|
23
|
+
Dynamic: author-email
|
|
24
|
+
Dynamic: classifier
|
|
25
|
+
Dynamic: description
|
|
26
|
+
Dynamic: description-content-type
|
|
27
|
+
Dynamic: home-page
|
|
28
|
+
Dynamic: license-file
|
|
29
|
+
Dynamic: project-url
|
|
30
|
+
Dynamic: requires-dist
|
|
31
|
+
Dynamic: requires-python
|
|
32
|
+
Dynamic: summary
|
|
33
|
+
|
|
34
|
+

|
|
35
|
+
|
|
36
|
+
[](https://neuronum.net) [](https://github.com/neuronumcybernetics/neuronum)
|
|
37
|
+
|
|
38
|
+
A Getting Started into the Neuronum Network: Build, deploy and automate serverless data infrastructures for an interconnected world
|
|
39
|
+
|
|
40
|
+
### **What's New in neuronum 3.0.1**
|
|
41
|
+
- Added CLI commands: `neuronum connect-node` and `neuronum disconnect-node` for improved Node management and seamless integration.
|
|
42
|
+
|
|
43
|
+
### **New Feature Set**
|
|
44
|
+
- **Cell/Cell-CLI**: Create and manage your Neuronum Cell, a unique identity for interacting with the Network, directly from the command line.
|
|
45
|
+
- **Nodes/Node-CLI**: Setup and manage Neuronum Nodes, the software and hardware components that power the Network, via the command line.
|
|
46
|
+
- **Transmitters (TX)**: Automate economic data transfer using predefined templates for standardized data exchange.
|
|
47
|
+
- **Circuits (CTX)**: Store, manage, and retrieve structured data with Circuits, a cloud-based Key-Value-Label database.
|
|
48
|
+
- **Streams (STX)**: Stream, synchronize, and control data in real time, enabling dynamic and responsive data flows.
|
|
49
|
+
- **Contracts/Tokens**: Automate service exchange and authorization, ensuring secure interactions between Cells and Nodes.
|
|
50
|
+
- **Scan**: Discover Cells and Nodes via BLE-based scanning, powered by Bleak, for seamless network integration.
|
|
51
|
+
- **Cellai**: A local AI assistant currently in development (version 0.0.1). While still evolving, Cellai is designed to automate communication between Cells and Nodes, optimizing intelligent data flow and network interactions in future releases.
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## Getting Started Goals
|
|
55
|
+
- **Neuronum Cell**: Create a Cell to start interacting with the Network
|
|
56
|
+
- **Neuronum Node**: Setup a Node that streams and syncs the message: Hello, Neuronum! in real-time
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### Requirements
|
|
60
|
+
- Python >= 3.8 -> https://www.python.org/downloads/
|
|
61
|
+
- neuronum >= 3.0.0 -> https://pypi.org/project/neuronum/
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
### Installation
|
|
65
|
+
Install the Neuronum library:
|
|
66
|
+
```sh
|
|
67
|
+
$ pip install neuronum # install the neuronum dependencies
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Neuronum Cell
|
|
71
|
+
Create your Cell:
|
|
72
|
+
```sh
|
|
73
|
+
$ neuronum create-cell # create Cell / select network and type
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
View connected Cell:
|
|
77
|
+
```sh
|
|
78
|
+
$ neuronum view-cell # view Cell ID / output = Connected Cell: 'your_cell_id'"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Neuronum Node
|
|
82
|
+
Initialize your Node:
|
|
83
|
+
```sh
|
|
84
|
+
$ neuronum init-node # initialize a Node with default template
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
cd into Node Folder:
|
|
88
|
+
```sh
|
|
89
|
+
$ cd node_nodeID # change directory
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Start your Node:
|
|
93
|
+
```sh
|
|
94
|
+
$ neuronum start-node # start Node / scan = Off / output = "Hello, Neuronum!"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Stop your Node:
|
|
98
|
+
```sh
|
|
99
|
+
$ neuronum stop-node # stop Node
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Connect your Node:
|
|
103
|
+
```sh
|
|
104
|
+
$ neuronum connect-node # connect your Node / Node description = Test Node
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Update your Node:
|
|
108
|
+
```sh
|
|
109
|
+
$ neuronum update-node # update your Node
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Disconnect your Node:
|
|
113
|
+
```sh
|
|
114
|
+
$ neuronum disconnect-node # disconnect your Node
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Delete your Node:
|
|
118
|
+
```sh
|
|
119
|
+
$ neuronum delete-node # delete your Node
|
|
120
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
cellai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
cellai/cellai.py,sha256=g5oBz-Xx6T4-JWzUs-TJ4y9nHtDmA_IpXh_188OqAZA,281
|
|
3
|
+
cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
cli/main.py,sha256=Po8hDuhQIDR7Te_uQnFBg_xq51UXJlh4YsmtWkB4kuw,25456
|
|
5
|
+
neuronum/__init__.py,sha256=Drsm263_w3_VWgl1YsKLUr8WwVodqV3TSjqpxLjyq_M,46
|
|
6
|
+
neuronum/neuronum.py,sha256=VUwdF3ynOtZHTASnKzSaHG5GWWfG-oAXxdcGDftbuFE,21412
|
|
7
|
+
neuronum-3.0.1.dist-info/licenses/LICENSE,sha256=UiZjNHiCyRP6WoZfbYQh9cv4JW96wIofKXmzBJrYSUk,1125
|
|
8
|
+
neuronum-3.0.1.dist-info/METADATA,sha256=mOE1bSRp1lAaJ4zNx3UD2ZRFfbladCbq97TMbwIW59E,4218
|
|
9
|
+
neuronum-3.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
10
|
+
neuronum-3.0.1.dist-info/entry_points.txt,sha256=XKYBcRNxGeJpZZkDPsa8HA_RaJ7Km_R_JaUq5T9Nk2U,42
|
|
11
|
+
neuronum-3.0.1.dist-info/top_level.txt,sha256=gqN5tyGnBKMPSzvWQONO4rpTf4gQPMi77O3KAKx88LQ,20
|
|
12
|
+
neuronum-3.0.1.dist-info/RECORD,,
|
|
@@ -1,385 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: neuronum
|
|
3
|
-
Version: 2.0.8
|
|
4
|
-
Summary: Official client library to interact with the Neuronum Network
|
|
5
|
-
Home-page: https://neuronum.net
|
|
6
|
-
Author: Neuronum Cybernetics
|
|
7
|
-
Author-email: welcome@neuronum.net
|
|
8
|
-
Project-URL: GitHub, https://github.com/neuronumcybernetics/neuronum
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
11
|
-
Classifier: Operating System :: OS Independent
|
|
12
|
-
Requires-Python: >=3.8
|
|
13
|
-
Description-Content-Type: text/markdown
|
|
14
|
-
License-File: LICENSE
|
|
15
|
-
Requires-Dist: requests
|
|
16
|
-
Requires-Dist: websocket-client
|
|
17
|
-
Requires-Dist: click
|
|
18
|
-
Requires-Dist: questionary
|
|
19
|
-
Requires-Dist: python-dotenv
|
|
20
|
-
Dynamic: author
|
|
21
|
-
Dynamic: author-email
|
|
22
|
-
Dynamic: classifier
|
|
23
|
-
Dynamic: description
|
|
24
|
-
Dynamic: description-content-type
|
|
25
|
-
Dynamic: home-page
|
|
26
|
-
Dynamic: license-file
|
|
27
|
-
Dynamic: project-url
|
|
28
|
-
Dynamic: requires-dist
|
|
29
|
-
Dynamic: requires-python
|
|
30
|
-
Dynamic: summary
|
|
31
|
-
|
|
32
|
-

|
|
33
|
-
|
|
34
|
-
[](https://neuronum.net) [](https://github.com/neuronumcybernetics/neuronum)
|
|
35
|
-
|
|
36
|
-
Build, deploy and automate serverless data infrastructures for an interconnected world with `Neuronum`
|
|
37
|
-
|
|
38
|
-
### **What's New in neuronum==2.0.8?**
|
|
39
|
-
- **Nodes/Node-CLI**: Improved default template for `neuronum init-node`
|
|
40
|
-
|
|
41
|
-
### New Feature Set
|
|
42
|
-
- **Cells/Cell-CLI**: Create and manage Neuronum Cells from the command line
|
|
43
|
-
- **Nodes/Node-CLI**: Setup and manage Neuronum Nodes from the command line
|
|
44
|
-
- **Transmitters (TX)**: Automate economic data transfer
|
|
45
|
-
- **Circuits (CTX)**: Store data in Key-Value-Label databases
|
|
46
|
-
- **Streams (STX)**: Stream, synchronize and control data in real time
|
|
47
|
-
- **Contracts/Tokens**: Automate service exchange and authorization between Cells and Nodes
|
|
48
|
-
- **Cellai**: A local running task assistant in development (version 0.0.1)
|
|
49
|
-
|
|
50
|
-
### Installation
|
|
51
|
-
Install the Neuronum library using pip:
|
|
52
|
-
```sh
|
|
53
|
-
$ pip install neuronum
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Cells/Cell-CLI
|
|
57
|
-
To interact with the Neuronum Network, you must first create a Neuronum Cell
|
|
58
|
-
|
|
59
|
-
Create Cell:
|
|
60
|
-
```sh
|
|
61
|
-
$ neuronum create-cell
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Connect Cell:
|
|
65
|
-
```sh
|
|
66
|
-
$ neuronum connect-cell
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
View connected Cell:
|
|
70
|
-
```sh
|
|
71
|
-
$ neuronum view-cell
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
Disconnect Cell:
|
|
75
|
-
```sh
|
|
76
|
-
$ neuronum disconnect-cell
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Delete Cell:
|
|
80
|
-
```sh
|
|
81
|
-
$ neuronum delete-cell
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
List Cells:
|
|
85
|
-
```python
|
|
86
|
-
cellsList = cell.list_cells() # list Cells
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Nodes/Node-CLI
|
|
90
|
-
Neuronum Nodes are soft- and hardware components that power the Neuronum Network, enabling seamless communication between Nodes and Cells
|
|
91
|
-
|
|
92
|
-
Initialize a Node:
|
|
93
|
-
```sh
|
|
94
|
-
$ neuronum init-node
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Initialize a Node with stream template:
|
|
98
|
-
```sh
|
|
99
|
-
$ neuronum init-node --stream id::stx
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Initialize a Node with sync template:
|
|
103
|
-
```sh
|
|
104
|
-
$ neuronum init-node --sync id::stx
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Start a Node:
|
|
108
|
-
```sh
|
|
109
|
-
$ neuronum start-node
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Stop a Node:
|
|
113
|
-
```sh
|
|
114
|
-
$ neuronum stop-node
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Register a Node on the Neuronum Network:
|
|
118
|
-
```sh
|
|
119
|
-
$ neuronum register-node
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Update a Node:
|
|
123
|
-
```sh
|
|
124
|
-
$ neuronum update-node
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
Delete a Node:
|
|
128
|
-
```sh
|
|
129
|
-
$ neuronum delete-node
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
List Nodes your Cell can interact with:
|
|
133
|
-
```python
|
|
134
|
-
nodesList = cell.list_nodes() # list Nodes
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Transmitters (TX)
|
|
138
|
-
Transmitters (TX) are used to create predefined templates to receive and send data in a standardized format
|
|
139
|
-
|
|
140
|
-
Create Transmitter (TX):
|
|
141
|
-
```python
|
|
142
|
-
descr = "Test Transmitter" # description (max 25 characters)
|
|
143
|
-
key_values = { # defined keys and example values
|
|
144
|
-
"key1": "value1",
|
|
145
|
-
"key2": "value2",
|
|
146
|
-
"key3": "value3",
|
|
147
|
-
}
|
|
148
|
-
stx = "id::stx" # select Stream (STX)
|
|
149
|
-
label = "key1:key2" # label TX data
|
|
150
|
-
partners = ["id::cell", "id::cell"] # authorized Cells
|
|
151
|
-
txID = cell.create_tx(descr, key_values, stx, label, partners) # create TX
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
Activate Transmitter (TX):
|
|
155
|
-
```python
|
|
156
|
-
TX = "id::tx" # select Transmitter (TX)
|
|
157
|
-
data = { # enter key-values
|
|
158
|
-
"key1": "value1",
|
|
159
|
-
"key2": "value2",
|
|
160
|
-
"key3": "value3",
|
|
161
|
-
}
|
|
162
|
-
cell.activate_tx(TX, data) # activate TX
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
Delete Transmitter (TX):
|
|
166
|
-
```python
|
|
167
|
-
TX = "id::tx" # select Transmitter (TX)
|
|
168
|
-
cell.delete_tx(TX) # delete TX
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
List Transmitter (TX) your Cell can activate:
|
|
172
|
-
```python
|
|
173
|
-
txList = cell.list_tx() # list Transmitters (TX)
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Circuits (CTX)
|
|
177
|
-
Circuits (CTX) store and organize data using a Key-Value-Label system
|
|
178
|
-
|
|
179
|
-
Create Circuit (CTX):
|
|
180
|
-
```python
|
|
181
|
-
descr = "Test Circuit" # description (max 25 characters)
|
|
182
|
-
partners = ["id::cell", "id::cell"] # authorized Cells
|
|
183
|
-
ctxID = cell.create_ctx(descr, partners) # create Circuit (CTX)
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
Store data on your private Circuit (CTX):
|
|
187
|
-
```python
|
|
188
|
-
label = "your_label" # data label (should be unique)
|
|
189
|
-
data = { # data as key-value pairs
|
|
190
|
-
"key1": "value1",
|
|
191
|
-
"key2": "value2",
|
|
192
|
-
"key3": "value3",
|
|
193
|
-
}
|
|
194
|
-
cell.store(label, data) # store data
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
Store data on a public Circuit (CTX):
|
|
198
|
-
```python
|
|
199
|
-
CTX = "id::ctx" # select Circuit (CTX
|
|
200
|
-
label = "your_label" # data label (should be unique)
|
|
201
|
-
data = { # data as key-value pairs
|
|
202
|
-
"key1": "value1",
|
|
203
|
-
"key2": "value2",
|
|
204
|
-
"key3": "value3",
|
|
205
|
-
}
|
|
206
|
-
cell.store(label, data, CTX) # store data
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
Load data from your private Circuit (CTX):
|
|
210
|
-
```python
|
|
211
|
-
label = "your_label" # select label
|
|
212
|
-
data = cell.load(label) # load data by label
|
|
213
|
-
key1 = data["key1"] # get data from key
|
|
214
|
-
key2 = data["key2"]
|
|
215
|
-
key3 = data["key3"]
|
|
216
|
-
print(key1, key2, key3) # print data
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
Load data from a public Circuit (CTX):
|
|
220
|
-
```python
|
|
221
|
-
CTX = "id::ctx" # select Circuit (CTX)
|
|
222
|
-
label = "your_label" # select label
|
|
223
|
-
data = cell.load(label, CTX) # load data by label
|
|
224
|
-
key1 = data["key1"] # get data from key
|
|
225
|
-
key2 = data["key2"]
|
|
226
|
-
key3 = data["key3"]
|
|
227
|
-
print(key1, key2, key3) # print data
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
Delete data from your private Circuit (CTX):
|
|
231
|
-
```python
|
|
232
|
-
label = "your_label" # select label
|
|
233
|
-
cell.delete(label) # delete data by label
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
Delete data from a public Circuit (CTX):
|
|
237
|
-
```python
|
|
238
|
-
CTX = "id::ctx" # select Circuits (CTX)
|
|
239
|
-
label = "your_label" # select label
|
|
240
|
-
cell.delete(label, CTX) # delete data by label
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
Clear your private Circuit (CTX):
|
|
244
|
-
```python
|
|
245
|
-
cell.clear() # clear Circuit (CTX)
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
Clear Circuit (CTX):
|
|
249
|
-
```python
|
|
250
|
-
CTX = "id::ctx" # select Circuit (CTX)
|
|
251
|
-
cell.clear(CTX) # clear CTX
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
Delete Circuit (CTX):
|
|
255
|
-
```python
|
|
256
|
-
CTX = "id::ctx" # select Circuit (CTX)
|
|
257
|
-
cell.delete_ctx(CTX) # delete CTX
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
List Circuits (CTX) your Cell can interact with:
|
|
261
|
-
```python
|
|
262
|
-
ctxList = cell.list_ctx() # list Circuits (CTX)
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Streams (STX)
|
|
266
|
-
Streams (STX) facilitate real-time data synchronization and interaction, ensuring real-time connectivity between Nodes in the Neuronum network
|
|
267
|
-
|
|
268
|
-
Create Stream (STX):
|
|
269
|
-
```python
|
|
270
|
-
descr = "Test Stream" # description (max 25 characters)
|
|
271
|
-
partners = ["id::cell", "id::cell"] # authorized Cells
|
|
272
|
-
stxID = cell.create_stx(descr, partners) # create Stream (STX)
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
Stream data to your private Stream (STX):
|
|
276
|
-
```python
|
|
277
|
-
label = "your_label" # data label
|
|
278
|
-
data = { # data as key-value pairs
|
|
279
|
-
"key1": "value1",
|
|
280
|
-
"key2": "value2",
|
|
281
|
-
"key3": "value3",
|
|
282
|
-
}
|
|
283
|
-
cell.stream(label, data) # stream data
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
Stream data to a public Stream (STX):
|
|
287
|
-
```python
|
|
288
|
-
STX = "id::stx" # select Stream (STX)
|
|
289
|
-
label = "your_label" # data label
|
|
290
|
-
data = { # data as key-value pairs
|
|
291
|
-
"key1": "value1",
|
|
292
|
-
"key2": "value2",
|
|
293
|
-
"key3": "value3",
|
|
294
|
-
}
|
|
295
|
-
cell.stream(label, data, STX) # stream data
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
Sync data from your private Stream (STX):
|
|
299
|
-
```python
|
|
300
|
-
stream = cell.sync() # synchronize Stream (STX)
|
|
301
|
-
for operation in stream: # load stream operations
|
|
302
|
-
label = operation.get("label") # get the operation details by key
|
|
303
|
-
key1 = operation.get("data").get("key1")
|
|
304
|
-
key2 = operation.get("data").get("key2")
|
|
305
|
-
key3 = operation.get("data").get("key3")
|
|
306
|
-
ts = operation.get("time")
|
|
307
|
-
stxID = operation.get("stxID")
|
|
308
|
-
operator = operation.get("operator")
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
Sync data from a public Stream (STX):
|
|
312
|
-
```python
|
|
313
|
-
STX = "id::stx" # select Stream (STX)
|
|
314
|
-
stream = cell.sync(STX) # synchronize Stream (STX)
|
|
315
|
-
for operation in stream: # load stream operations
|
|
316
|
-
label = operation.get("label") # get the operation details by key
|
|
317
|
-
key1 = operation.get("data").get("key1")
|
|
318
|
-
key2 = operation.get("data").get("key2")
|
|
319
|
-
key3 = operation.get("data").get("key3")
|
|
320
|
-
ts = operation.get("time")
|
|
321
|
-
stxID = operation.get("stxID")
|
|
322
|
-
operator = operation.get("operator")
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
List Streams (STX) your Cell can interact with:
|
|
326
|
-
```python
|
|
327
|
-
stxList = cell.list_stx() # list Streams (STX)
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
### Contracts/Tokens
|
|
331
|
-
Contracts are predefined token-based rules to automate service exchange and authorization between Cells and Nodes
|
|
332
|
-
|
|
333
|
-
Create a Contract:
|
|
334
|
-
```python
|
|
335
|
-
descr = "Test Contract" # short description (max 25 characters)
|
|
336
|
-
details = { # token details
|
|
337
|
-
"max_usage": False, # max number of uses (int or False)
|
|
338
|
-
"validity_in_min": False, # token expiration time in min (int, float or False)
|
|
339
|
-
"expiration_date": False # expiration date (DD-MM-YYYY or False)
|
|
340
|
-
}
|
|
341
|
-
partners = ["id::cell", "id::cell"]
|
|
342
|
-
contractID = cell.create_contract(descr, details, partners)
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
Sign a Contract:
|
|
346
|
-
```python
|
|
347
|
-
contractID = "id::contract" # select contract
|
|
348
|
-
token = cell.sign_contract(contractID)
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
Request a Token from another Cell to authorize a service:
|
|
352
|
-
```python
|
|
353
|
-
cp = "id::cell" # select counterparty cell
|
|
354
|
-
contractID = "id::contract" # select contract
|
|
355
|
-
cell.request_token(cp, contractID)
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
Present a Token to another Cell to authorize a service:
|
|
359
|
-
```python
|
|
360
|
-
token = "token" # select token
|
|
361
|
-
cp = "id::cell" # select counterparty cell
|
|
362
|
-
contractID = "id::contract" # select the contract
|
|
363
|
-
cell.present_token(token, cp, contractID)
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
Validate a Token to authorize a service:
|
|
367
|
-
```python
|
|
368
|
-
token = "token" # select token
|
|
369
|
-
cp = "id::cell" # select counterparty cell
|
|
370
|
-
contractID = "id::contract" # select contract
|
|
371
|
-
cell.validate_token(token, cp, contractID)
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
List Contracts your Cell can interact with:
|
|
375
|
-
```python
|
|
376
|
-
contractList = cell.list_contracts()
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### Cellai
|
|
380
|
-
A local running task assistant in development (version 0.0.1)
|
|
381
|
-
|
|
382
|
-
Call Cellai:
|
|
383
|
-
```sh
|
|
384
|
-
$ neuronum call-cellai
|
|
385
|
-
```
|
neuronum-2.0.8.dist-info/RECORD
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
cellai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
cellai/cellai.py,sha256=g5oBz-Xx6T4-JWzUs-TJ4y9nHtDmA_IpXh_188OqAZA,281
|
|
3
|
-
cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
cli/main.py,sha256=QUxzQlC6j3CXJ9PDsh00DTMrWAScYC7uUeOmWkbVYZk,21356
|
|
5
|
-
neuronum/__init__.py,sha256=Drsm263_w3_VWgl1YsKLUr8WwVodqV3TSjqpxLjyq_M,46
|
|
6
|
-
neuronum/neuronum.py,sha256=MmParpql70ggrbuiEhNV2cs_hdjR5fbSdyP5K9N_2l8,17492
|
|
7
|
-
neuronum-2.0.8.dist-info/licenses/LICENSE,sha256=UiZjNHiCyRP6WoZfbYQh9cv4JW96wIofKXmzBJrYSUk,1125
|
|
8
|
-
neuronum-2.0.8.dist-info/METADATA,sha256=_wkHu-0a-zv-oypm91-WO0a40RAsTb2oxjlg1fIoSGI,13930
|
|
9
|
-
neuronum-2.0.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
10
|
-
neuronum-2.0.8.dist-info/entry_points.txt,sha256=XKYBcRNxGeJpZZkDPsa8HA_RaJ7Km_R_JaUq5T9Nk2U,42
|
|
11
|
-
neuronum-2.0.8.dist-info/top_level.txt,sha256=gqN5tyGnBKMPSzvWQONO4rpTf4gQPMi77O3KAKx88LQ,20
|
|
12
|
-
neuronum-2.0.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|