cloudpss 3.2.0a2__py3-none-any.whl → 4.0.0a5__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.
- cloudpss/__init__.py +6 -4
- cloudpss/dslab/DSLabFinancialResult.py +96 -0
- cloudpss/dslab/__init__.py +2 -0
- cloudpss/dslab/dataManageModel.py +267 -0
- cloudpss/dslab/dslab.py +145 -0
- cloudpss/dslab/files/__init__.py +2 -0
- cloudpss/dslab/files/curveData.py +140205 -0
- cloudpss/dslab/files/files.py +19 -0
- cloudpss/dslab/financialAnalysisModel.py +137 -0
- cloudpss/function/functionExecution.py +0 -2
- cloudpss/ieslab/DataManageModel.py +415 -0
- cloudpss/ieslab/EvaluationModel.py +189 -0
- cloudpss/ieslab/IESLabPlan.py +132 -0
- cloudpss/ieslab/IESLabSimulation.py +54 -0
- cloudpss/ieslab/PlanModel.py +143 -0
- cloudpss/ieslab/__init__.py +4 -0
- cloudpss/model/jobDefinitions.py +34 -0
- cloudpss/model/model.py +202 -15
- cloudpss/model/revision.py +2 -2
- cloudpss/project/project.py +4 -3
- cloudpss/runner/DSLabResult.py +92 -0
- cloudpss/runner/IESLabEvaluationResult.py +143 -0
- cloudpss/runner/IESLabPlanResult.py +195 -0
- cloudpss/runner/IESLabTypicalDayResult.py +142 -0
- cloudpss/runner/MessageStreamReceiver.py +193 -0
- cloudpss/runner/receiver.py +3 -3
- cloudpss/runner/result.py +38 -4
- cloudpss/runner/runner.py +61 -18
- cloudpss/utils/IO.py +153 -0
- cloudpss/utils/httprequests.py +14 -11
- cloudpss/verify.py +27 -14
- cloudpss/version.py +1 -0
- {cloudpss-3.2.0a2.dist-info → cloudpss-4.0.0a5.dist-info}/METADATA +2 -4
- cloudpss-4.0.0a5.dist-info/RECORD +54 -0
- {cloudpss-3.2.0a2.dist-info → cloudpss-4.0.0a5.dist-info}/WHEEL +1 -1
- cloudpss-3.2.0a2.dist-info/RECORD +0 -33
- {cloudpss-3.2.0a2.dist-info → cloudpss-4.0.0a5.dist-info}/top_level.txt +0 -0
cloudpss/runner/runner.py
CHANGED
@@ -1,34 +1,53 @@
|
|
1
|
+
from cProfile import run
|
1
2
|
import threading
|
2
3
|
import json
|
3
4
|
import time
|
4
5
|
import random
|
5
6
|
from .receiver import Receiver
|
6
|
-
from .result import PowerFlowResult, EMTResult, Result, IESResult
|
7
|
+
from .result import IESLabSimulationResult, PowerFlowResult, EMTResult, Result, IESResult
|
8
|
+
from .IESLabPlanResult import IESLabPlanResult
|
9
|
+
from .IESLabEvaluationResult import IESLabEvaluationResult
|
10
|
+
from .IESLabTypicalDayResult import IESLabTypicalDayResult
|
7
11
|
from .storage import Storage
|
8
12
|
from ..utils import request
|
13
|
+
from typing import TypeVar, Generic
|
9
14
|
|
10
15
|
RECEIVER = {
|
11
16
|
'default': Receiver,
|
12
17
|
}
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
'
|
18
|
-
'
|
19
|
-
'job-definition/cloudpss/three-phase-powerFlow': PowerFlowResult,
|
18
|
+
T = TypeVar('T', Result, EMTResult, PowerFlowResult, IESResult,
|
19
|
+
IESLabSimulationResult, IESLabPlanResult, IESLabEvaluationResult,IESLabTypicalDayResult)
|
20
|
+
|
21
|
+
IES_LAB_RESULT = {
|
22
|
+
'function/ieslab/plan': IESLabPlanResult,
|
23
|
+
'function/ieslab/evaluation': IESLabEvaluationResult
|
20
24
|
}
|
21
25
|
|
26
|
+
RESULT_DB = {
|
27
|
+
'function/CloudPSS/emtp': EMTResult,
|
28
|
+
'function/CloudPSS/emtps': EMTResult,
|
29
|
+
'function/CloudPSS/sfemt': EMTResult,
|
30
|
+
'function/CloudPSS/power-flow': PowerFlowResult,
|
31
|
+
'function/CloudPSS/ies-simulation': IESResult,
|
32
|
+
'function/CloudPSS/ies-optimization': IESResult,
|
33
|
+
'function/ies/ies-optimization': IESResult,
|
34
|
+
'function/CloudPSS/three-phase-powerFlow': PowerFlowResult,
|
35
|
+
'function/ies/ies-simulation': IESLabSimulationResult,
|
36
|
+
'function/ies/ies-gmm':IESLabTypicalDayResult,
|
37
|
+
'function/CloudPSS/ieslab-simulation': IESLabSimulationResult,
|
38
|
+
'function/CloudPSS/ieslab-gmm':IESLabTypicalDayResult,
|
39
|
+
'function/CloudPSS/ieslab-optimization': IESResult,
|
40
|
+
}
|
22
41
|
|
23
|
-
class Runner(
|
42
|
+
class Runner(Generic[T]):
|
24
43
|
def __init__(self, taskId, name, job, config, revision, modelRid,
|
25
44
|
**kwargs):
|
26
|
-
|
27
45
|
self.taskId = taskId
|
28
46
|
self.db = Storage(taskId, name, job, config, revision, modelRid)
|
29
|
-
|
30
|
-
|
31
|
-
self.
|
47
|
+
rid =job['rid'].replace('job-definition/','function/').replace('/cloudpss/','/CloudPSS/')
|
48
|
+
result = RESULT_DB.get(rid, Result)
|
49
|
+
self.result: T = result(self.db)
|
50
|
+
self.receiver = kwargs.get('receiver', None)
|
32
51
|
|
33
52
|
def __listenStatus(self):
|
34
53
|
if self.receiver is None:
|
@@ -52,12 +71,15 @@ class Runner(object):
|
|
52
71
|
def __listen(self, **kwargs):
|
53
72
|
|
54
73
|
receiver = kwargs.get('RECEIVER', 'default')
|
74
|
+
receiverclass = None
|
55
75
|
if type(receiver) is str:
|
56
76
|
if receiver not in RECEIVER:
|
57
|
-
|
77
|
+
receiverclass = RECEIVER['default']
|
58
78
|
else:
|
59
|
-
|
60
|
-
|
79
|
+
receiverclass = RECEIVER[receiver]
|
80
|
+
if receiverclass is None:
|
81
|
+
raise Exception('not find receiver')
|
82
|
+
self.receiver = receiverclass(self.taskId, self.db, **kwargs)
|
61
83
|
self.receiver.connect()
|
62
84
|
|
63
85
|
def terminate(self):
|
@@ -83,9 +105,9 @@ class Runner(object):
|
|
83
105
|
>>> runner = Runner.runRevision(revision,job,config,'')
|
84
106
|
'''
|
85
107
|
taskId = str(int(time.time() * random.random()))
|
108
|
+
|
86
109
|
runner = Runner(taskId, name, job, config, revisionHash, rid, **kwargs)
|
87
110
|
event = threading.Event()
|
88
|
-
|
89
111
|
thread = threading.Thread(target=runner.__listen, kwargs=kwargs)
|
90
112
|
thread.setDaemon(True)
|
91
113
|
thread.start()
|
@@ -95,10 +117,31 @@ class Runner(object):
|
|
95
117
|
'implement': kwargs.get('topology', None)
|
96
118
|
}
|
97
119
|
while not runner.__listenStatus():
|
98
|
-
time.sleep(1)
|
120
|
+
time.sleep(0.1)
|
99
121
|
r = request('POST',
|
100
122
|
'api/simulation/runner/' + revisionHash + '/' +
|
101
123
|
str(taskId),
|
102
124
|
data=json.dumps(payload))
|
103
125
|
|
104
126
|
return runner
|
127
|
+
|
128
|
+
|
129
|
+
class HttpRunner(Runner[T]):
|
130
|
+
def __init__(self, job, simulationId, **kwargs):
|
131
|
+
self.simulationId = simulationId
|
132
|
+
self.job = job
|
133
|
+
self.__taskId = self.__getLastTask()
|
134
|
+
result = IES_LAB_RESULT.get(job.get('rid', ''), IESLabPlanResult)
|
135
|
+
self.result: T = result(self.simulationId, self.__taskId, **kwargs)
|
136
|
+
|
137
|
+
def __getLastTask(self):
|
138
|
+
r = request('GET',
|
139
|
+
'api/ieslab-plan/taskmanager/getSimuLastTasks',
|
140
|
+
params={'simuid': self.simulationId})
|
141
|
+
result = json.loads(r.text)
|
142
|
+
return result['data'].get('task_id', None)
|
143
|
+
|
144
|
+
def status(self):
|
145
|
+
if self.__taskId is None:
|
146
|
+
return False
|
147
|
+
return self.result.status() # type: ignore
|
cloudpss/utils/IO.py
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
import io
|
2
|
+
import json
|
3
|
+
import ubjson
|
4
|
+
import yaml
|
5
|
+
import gzip
|
6
|
+
import base64
|
7
|
+
import struct
|
8
|
+
|
9
|
+
|
10
|
+
def float32Array(_loader, node):
|
11
|
+
data = base64.b64decode(node.value)
|
12
|
+
return list(struct.unpack('f' * (len(data) // 4), data))
|
13
|
+
|
14
|
+
|
15
|
+
def float64Array(_loader, node):
|
16
|
+
data = base64.b64decode(node.value)
|
17
|
+
return list(struct.unpack('d' * (len(data) // 8), data))
|
18
|
+
|
19
|
+
|
20
|
+
def uint8Array(_loader, node):
|
21
|
+
data = base64.b64decode(node.value)
|
22
|
+
return list(struct.unpack('B' * (len(data) // 1), data))
|
23
|
+
|
24
|
+
|
25
|
+
def uint8ClampedArray(_loader, node):
|
26
|
+
data = base64.b64decode(node.value)
|
27
|
+
return list(struct.unpack('B' * (len(data) // 1), data))
|
28
|
+
|
29
|
+
|
30
|
+
def uint16Array(_loader, node):
|
31
|
+
data = base64.b64decode(node.value)
|
32
|
+
return list(struct.unpack('H' * (len(data) // 2), data))
|
33
|
+
|
34
|
+
|
35
|
+
def uint32Array(_loader, node):
|
36
|
+
data = base64.b64decode(node.value)
|
37
|
+
return list(struct.unpack('I' * (len(data) // 4), data))
|
38
|
+
|
39
|
+
|
40
|
+
def int8Array(_loader, node):
|
41
|
+
data = base64.b64decode(node.value)
|
42
|
+
return list(struct.unpack('b' * (len(data) // 1), data))
|
43
|
+
|
44
|
+
|
45
|
+
def int16Array(_loader, node):
|
46
|
+
data = base64.b64decode(node.value)
|
47
|
+
return list(struct.unpack('h' * (len(data) // 2), data))
|
48
|
+
|
49
|
+
|
50
|
+
def int32Array(_loader, node):
|
51
|
+
data = base64.b64decode(node.value)
|
52
|
+
return list(struct.unpack('i' * (len(data) // 4), data))
|
53
|
+
|
54
|
+
|
55
|
+
#type:ignore
|
56
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Float32Array', float32Array)
|
57
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Float64Array', float64Array)
|
58
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Uint8Array', uint8Array)
|
59
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Uint8ClampedArray', uint8ClampedArray)
|
60
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Uint16Array', uint16Array)
|
61
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Uint32Array', uint32Array)
|
62
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Int8Array', int8Array)
|
63
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Int16Array', int16Array)
|
64
|
+
yaml.add_constructor('tag:yaml.org,2002:js/Int32Array', int32Array)
|
65
|
+
|
66
|
+
|
67
|
+
class IO(object):
|
68
|
+
"""
|
69
|
+
IO 模块,抽象 bytes/file <-> object 的 load/dump 操作,支持 gzip 压缩和 yaml、ubjson 序列化 读取时依据 magic number 自动识别压缩格式,写入时默认使用 gzip
|
70
|
+
"""
|
71
|
+
|
72
|
+
@staticmethod
|
73
|
+
def serialize(obj, format, compress='gzip') -> bytes:
|
74
|
+
"""
|
75
|
+
根据format序列化模型
|
76
|
+
format 支持 json, ubjson, yaml
|
77
|
+
compress 支持 gzip
|
78
|
+
"""
|
79
|
+
result = None
|
80
|
+
if format == 'json':
|
81
|
+
result = json.dumps(obj).encode(encoding="utf-8")
|
82
|
+
if format == 'ubjson':
|
83
|
+
result = ubjson.dumpb(obj)
|
84
|
+
if format == 'yaml':
|
85
|
+
result = yaml.dump(obj).encode(encoding="utf-8")
|
86
|
+
if result is None:
|
87
|
+
assert False, 'format not support'
|
88
|
+
if compress == 'gzip':
|
89
|
+
return gzip.compress(result)
|
90
|
+
return result
|
91
|
+
|
92
|
+
@staticmethod
|
93
|
+
def deserialize(byt, format):
|
94
|
+
"""
|
95
|
+
根据format反序列化模型
|
96
|
+
format 支持 json, ubjson, yaml
|
97
|
+
"""
|
98
|
+
if format == 'json':
|
99
|
+
return json.loads(byt)
|
100
|
+
if format == 'ubjson':
|
101
|
+
return ubjson.loadb(byt)
|
102
|
+
if format == 'yaml':
|
103
|
+
return yaml.load(io.BytesIO(byt), yaml.FullLoader)
|
104
|
+
assert False, 'format not support'
|
105
|
+
|
106
|
+
@staticmethod
|
107
|
+
def load(file, format):
|
108
|
+
"""
|
109
|
+
根据format从文件中加载模型
|
110
|
+
format 支持 json, ubjson, yaml
|
111
|
+
"""
|
112
|
+
### 读取文件
|
113
|
+
f = open(file, 'r+', encoding='utf-8')
|
114
|
+
t = f.buffer.read(2)
|
115
|
+
f.close()
|
116
|
+
### 判断文件格式是否是gzip或其他格式
|
117
|
+
if t == b'\x1f\x8b':
|
118
|
+
with gzip.open(file, 'rb') as input_file:
|
119
|
+
return IO.deserialize(input_file.read(), format) # type:ignore
|
120
|
+
else:
|
121
|
+
with open(file, 'rb') as f:
|
122
|
+
data = f.read()
|
123
|
+
f.close()
|
124
|
+
return IO.deserialize(data, format)
|
125
|
+
|
126
|
+
@staticmethod
|
127
|
+
def dump(obj, file, format, compress='gzip'):
|
128
|
+
"""
|
129
|
+
根据format将模型保存到文件中
|
130
|
+
format 支持 json, ubjson, yaml
|
131
|
+
compress 支持 gzip
|
132
|
+
"""
|
133
|
+
### 序列化
|
134
|
+
data = IO.serialize(obj, format, compress)
|
135
|
+
### 写入文件
|
136
|
+
with open(file, 'wb') as f:
|
137
|
+
f.write(data)
|
138
|
+
f.close()
|
139
|
+
|
140
|
+
|
141
|
+
if __name__ == '__main__':
|
142
|
+
obj = [
|
143
|
+
123, 1.25, 43121609.5543, 12345.44e40, 'a', 'here is a string', None,
|
144
|
+
True, False, [[1, 2], 3, [4, 5, 6], 7], {
|
145
|
+
'a dict': 456
|
146
|
+
}
|
147
|
+
]
|
148
|
+
IO.dump(obj, 'output.json.gz', 'json')
|
149
|
+
IO.dump(obj, 'output.ubjson.gz', 'ubjson')
|
150
|
+
IO.dump(obj, 'output.yaml.gz', 'yaml')
|
151
|
+
print(IO.load('output.json.gz', 'json'))
|
152
|
+
print(IO.load('output.ubjson.gz', 'ubjson'))
|
153
|
+
print(IO.load('output.yaml.gz', 'yaml'))
|
cloudpss/utils/httprequests.py
CHANGED
@@ -4,12 +4,11 @@ import json
|
|
4
4
|
import requests
|
5
5
|
import os
|
6
6
|
from collections import OrderedDict
|
7
|
-
|
8
|
-
|
7
|
+
from ..version import __version__
|
9
8
|
def request(method, uri, baseUrl=None, params={}, token=None, **kwargs):
|
10
9
|
if baseUrl == None:
|
11
10
|
baseUrl = os.environ.get('CLOUDPSS_API_URL', 'https://cloudpss.net/')
|
12
|
-
url = requests.compat.urljoin(baseUrl,
|
11
|
+
url = requests.compat.urljoin(baseUrl,uri)
|
13
12
|
token = os.environ.get('CLOUDPSS_TOKEN', None)
|
14
13
|
if token:
|
15
14
|
headers = {
|
@@ -20,17 +19,21 @@ def request(method, uri, baseUrl=None, params={}, token=None, **kwargs):
|
|
20
19
|
raise Exception('token undefined')
|
21
20
|
r = requests.request(method, url, params=params, headers=headers, **kwargs)
|
22
21
|
|
23
|
-
if (uri.startswith('
|
22
|
+
if (uri.startswith('graphql')):
|
24
23
|
if 'X-Cloudpss-Version' not in r.headers:
|
25
24
|
raise Exception(
|
26
25
|
'当前SDK版本(ver 3.X.X)与服务器版本(3.0.0 以下)不兼容,请更换服务器地址或更换SDK版本。')
|
27
|
-
|
28
|
-
|
26
|
+
os.environ['X_CLOUDPSS_VERSION'] = r.headers['X-Cloudpss-Version']
|
27
|
+
if float(r.headers['X-Cloudpss-Version']) > 4:
|
28
|
+
raise Exception('当前SDK版本(ver '+__version__ +')与服务器版本(ver ' +
|
29
29
|
r.headers['X-Cloudpss-Version'] +
|
30
|
-
'.X.X)不兼容,请更换服务器地址或更换SDK
|
30
|
+
'.X.X)不兼容,请更换服务器地址或更换SDK版本(pip 使用 pip install -U cloudpss 命令更新, conda 使用 conda update cloudpss 命令更新)。')
|
31
31
|
|
32
|
-
|
32
|
+
if r.ok:
|
33
|
+
return r
|
34
|
+
if r.text =="":
|
33
35
|
r.raise_for_status()
|
34
|
-
|
35
|
-
|
36
|
-
|
36
|
+
if "statusCode" in r.text:
|
37
|
+
t = json.loads(r.text)
|
38
|
+
raise Exception( str(t['statusCode']) + " "+t['message'])
|
39
|
+
|
cloudpss/verify.py
CHANGED
@@ -1,13 +1,6 @@
|
|
1
|
-
import jwt
|
2
1
|
import os
|
3
|
-
import time
|
4
2
|
|
5
|
-
|
6
|
-
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDPN91AYRu5++yPvL1H1auWZFTh
|
7
|
-
L+rH9Aa3rDvChZKtPfVetvBsqf0DF0uraGGnyOzaXHvIVYYNWQYgI6YO8e8U3pOP
|
8
|
-
+qcUb+U22blkhXNo8x48uQkGrLMWO4Ppi5SMMiCsNXPSfpANpZ9E7301WSJdRQLj
|
9
|
-
XU0E2qmggJ2AwjRGNwIDAQAB
|
10
|
-
-----END PUBLIC KEY-----'''
|
3
|
+
from .utils import graphql_request
|
11
4
|
|
12
5
|
|
13
6
|
def setToken(token):
|
@@ -18,13 +11,33 @@ def setToken(token):
|
|
18
11
|
|
19
12
|
>>> cloudpss.setToken(token)
|
20
13
|
"""
|
21
|
-
result = verifyToken(token)
|
22
14
|
os.environ['CLOUDPSS_TOKEN'] = token
|
23
|
-
|
15
|
+
|
16
|
+
|
17
|
+
def userToken(token):
|
18
|
+
query = '''
|
19
|
+
query ($input: UserTokenInput!) {
|
20
|
+
userToken(input: $input){
|
21
|
+
user{
|
22
|
+
name
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
'''
|
27
|
+
|
28
|
+
result = graphql_request(query, {'input': {'token': token}})
|
29
|
+
if 'errors' in result:
|
30
|
+
raise Exception(result['errors'])
|
31
|
+
return result['data']['userToken']['user']
|
32
|
+
|
33
|
+
|
34
|
+
def userName(token=None):
|
35
|
+
if token is None:
|
36
|
+
token = os.environ.get('CLOUDPSS_TOKEN', None)
|
37
|
+
if token is None:
|
38
|
+
raise Exception('token is None')
|
39
|
+
return userToken(token)['name']
|
24
40
|
|
25
41
|
|
26
42
|
def verifyToken(token):
|
27
|
-
|
28
|
-
if result['exp'] - int(time.time()) < 0:
|
29
|
-
raise Exception('token 已过期,请重新申请')
|
30
|
-
return result
|
43
|
+
return userToken(token)
|
cloudpss/version.py
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = '4.0.0-alpha.5'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: cloudpss
|
3
|
-
Version:
|
3
|
+
Version: 4.0.0a5
|
4
4
|
Summary: cloudpss sdk
|
5
5
|
Home-page: https://www.cloudpss.net
|
6
6
|
Author: cloudpss
|
@@ -51,7 +51,5 @@ pip install --upgrade cloudpss
|
|
51
51
|
pip uninstall cloudpss
|
52
52
|
```
|
53
53
|
|
54
|
-
|
55
|
-
|
56
|
-
|
54
|
+
|
57
55
|
|
@@ -0,0 +1,54 @@
|
|
1
|
+
cloudpss/__init__.py,sha256=Ov8K45KxSsPalPErvTRUb2GvPdJ3myucFqx7s37_YZo,777
|
2
|
+
cloudpss/verify.py,sha256=_10NAmVv2KSv8xLazcjjlHpVARNEhCCD4fe3jjH7YyQ,993
|
3
|
+
cloudpss/version.py,sha256=hdN79or2sBBeimdkFJj93xZNne6u1J7AiiHqJoBLeY4,29
|
4
|
+
cloudpss/dslab/DSLabFinancialResult.py,sha256=7_ho5Xzm9ufcMXo1wCjxJe4VQxqod-6jpvVF3XjlXcw,3612
|
5
|
+
cloudpss/dslab/__init__.py,sha256=rm3bUFSet3KZYrkKo6pfMBNfjvR3U1rwnTnEA5sE87Q,44
|
6
|
+
cloudpss/dslab/dataManageModel.py,sha256=F710Kt4wamUB1hrUXjICixiwyE9BWysNy1J3uYgWxwE,10131
|
7
|
+
cloudpss/dslab/dslab.py,sha256=3Po00COxYxQ40Y_IJigXoodxwuC3IQo98CtlYsfhxaY,6332
|
8
|
+
cloudpss/dslab/financialAnalysisModel.py,sha256=o-s6rR74UIjj5V9oB9fjdyo3Q3ogtY3QPhxSXbiBHXk,5058
|
9
|
+
cloudpss/dslab/files/__init__.py,sha256=l2g0VadtTiMW39zwCwHPHUC01Kbklb_nFUPVeQ16FwM,58
|
10
|
+
cloudpss/dslab/files/curveData.py,sha256=InlQ_6ZfVkFdhK65PldvIbw_X7Pys2ci4jexZ0flL6c,4291324
|
11
|
+
cloudpss/dslab/files/files.py,sha256=AB-bpBx3uC12M0Ztdszlz6wtkUdMqrTeWIkzS4jJ2n0,663
|
12
|
+
cloudpss/function/__init__.py,sha256=TNzChB-gQF6oB62F423evpUlgcp6s03D4pKKs89Lz4Q,1629
|
13
|
+
cloudpss/function/function.py,sha256=llomkfnTmKMiFJYJ2mKnmAEoIjTNVCnjCUUyiJMOV1s,29
|
14
|
+
cloudpss/function/functionExecution.py,sha256=GcyhRlgYjRnJrreKOtERExbCp6XDedUlT0L7k-uqyZM,14640
|
15
|
+
cloudpss/function/job.py,sha256=LdzaTyjvBcMZIyLstSZnt79d2eREljx2HnNoilDp03A,13162
|
16
|
+
cloudpss/ieslab/DataManageModel.py,sha256=YMpwp04GmkaK1gCnzp5tNAoPwkVfa9AkJPviqNOat7s,19445
|
17
|
+
cloudpss/ieslab/EvaluationModel.py,sha256=SD7VB81wZnebGQWpx-eTQMQxe6ekFUFycQxz6RyYwOI,6721
|
18
|
+
cloudpss/ieslab/IESLabPlan.py,sha256=vWRExT0AE5VbR1DaQSINE65sbg0F6cXC7meXNT6Ap6Q,4940
|
19
|
+
cloudpss/ieslab/IESLabSimulation.py,sha256=sd27IZ2NIGqUQWWVsobUOOY_7b1QzVbUMeSmFWKianw,1746
|
20
|
+
cloudpss/ieslab/PlanModel.py,sha256=Dk5ZS_8IASqzMlLeN_gIDk76Gm_ybXjGY4pULBsWvEw,4790
|
21
|
+
cloudpss/ieslab/__init__.py,sha256=kiyUaGRgtwqs0EI2dBBqLVK5V65u1PcY7YTFJX1T0yw,186
|
22
|
+
cloudpss/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
|
23
|
+
cloudpss/model/jobDefinitions.py,sha256=XqjaaWOLU7zlVHM7TQJbZ3rNBWfBY7eT-5aE6EAatcQ,3770
|
24
|
+
cloudpss/model/model.py,sha256=duuQl1D0WdRFvHGIE4ciiN5RUTZ70CWY8fVt2hAUxZ0,25705
|
25
|
+
cloudpss/model/revision.py,sha256=MHdw2f1Gu_uXfx65hV6neO2YfUZXa0CEZN-zQ5XaFeQ,3736
|
26
|
+
cloudpss/model/topology.py,sha256=eJVxvdVOjvLz6jd3Q4MgAMBKVvM8ZWby8gLkIta-K5Y,2234
|
27
|
+
cloudpss/model/implements/__init__.py,sha256=88L_wF9SSzxsbtqwStWIPH4LxaKq7TVcssHQ62YBnls,67
|
28
|
+
cloudpss/model/implements/component.py,sha256=uNSpkZKChdXLiO40Ev4P3oQ1di2Hu4YjcBOb0I8Bf0c,734
|
29
|
+
cloudpss/model/implements/diagram.py,sha256=N5RrrywmxOmc2KvP0nC-NiECT1tEhgJZPtiNCfvYPuc,1063
|
30
|
+
cloudpss/model/implements/implement.py,sha256=Uld96tjXVDbVUNV8xscyy_nZWLHr3iP2DqA6S3p-XJE,954
|
31
|
+
cloudpss/project/__init__.py,sha256=fpskY-cJGmMcTg1naVzNPtJaRG1xmSc2CFjDTin64Cw,51
|
32
|
+
cloudpss/project/project.py,sha256=sGvJEd9yEB5NARRa64gwF96hK69gQSmwX8lQANLhBos,17700
|
33
|
+
cloudpss/runner/DSLabResult.py,sha256=VIAq4dtFiT32sQ-EcLcWKii54EQL0ybfiExuJ87YP3I,3418
|
34
|
+
cloudpss/runner/IESLabEvaluationResult.py,sha256=uFNLiN5kzlzSGlLIq3ybuRwB-ufYytflVrXV5g7voOU,5841
|
35
|
+
cloudpss/runner/IESLabPlanResult.py,sha256=dCyTbMtITy9XDjE42knrpJrvaH7dvFgfQMZbx9hybRs,6862
|
36
|
+
cloudpss/runner/IESLabTypicalDayResult.py,sha256=3egAzmv32sr4wKaVgLxsM75ScSb08F4-iLEbuPkoi_c,8001
|
37
|
+
cloudpss/runner/MessageStreamReceiver.py,sha256=MBc1HLU_3SOBKvi8rlEiEqhUSiBsQRzMVhEmS4MCKj8,5883
|
38
|
+
cloudpss/runner/__init__.py,sha256=aZ00V2AzQNBbER0xi6pqFFyiLFM-6r1fxvzdxxUJA_4,241
|
39
|
+
cloudpss/runner/receiver.py,sha256=d8vOtBJ_Iqo3syJXgFFxwii1MXF7CyHRoXy6eT81Zq4,4096
|
40
|
+
cloudpss/runner/result.py,sha256=MkoTQly7FjKj9mde3bnv4vBDfGJ2U4eK-HhxxdwmemE,13125
|
41
|
+
cloudpss/runner/runner.py,sha256=NbBJfCVFk9n3eYsQSjTaK12zohwqKYak-lEEOo8vWDo,5316
|
42
|
+
cloudpss/runner/storage.py,sha256=zFET_zwPIOF2Cnh9sgFiS0HFxV1OmVsU34bGUQ6PpkA,4162
|
43
|
+
cloudpss/runner/transform.py,sha256=krOgTZiJSJAb5QSwerAqlbC4Ma0PKi__0WOZlAxw4O8,11613
|
44
|
+
cloudpss/utils/IO.py,sha256=0i0v-otQwcYJEDf7gGvfsJTAf0N89yimfKS--DNyP3s,4796
|
45
|
+
cloudpss/utils/__init__.py,sha256=NU5ZAeXH733nJKooH_1cdT9ntPEYRG4Kk3PA7P6bK_s,291
|
46
|
+
cloudpss/utils/dataEncoder.py,sha256=5PUPb844eOGgFnYrMM8bdjdKH_MZz0lk-67uo8TvwEo,885
|
47
|
+
cloudpss/utils/graphqlUtil.py,sha256=swl6XT1UmUQHdHjMWw3M0i8meEmVKNQvX0SHsbgg8TU,255
|
48
|
+
cloudpss/utils/httprequests.py,sha256=sIf2ZDYwHtjm9D_zBzdTDqWy8KReQajOV_BS8Wd6m7w,1642
|
49
|
+
cloudpss/utils/matlab.py,sha256=SLwVt790BjklJK2XNELt9R2n_1ej9Y8QsTIdFkKXLWE,795
|
50
|
+
cloudpss/utils/yamlLoader.py,sha256=KRlRkHFltOjqxa_sesdBLf1W5J7XTgvubszsSw-XR0U,2885
|
51
|
+
cloudpss-4.0.0a5.dist-info/METADATA,sha256=sK5DlKNAqGH1wDsQvDIbgoYwMCapI8gvR6yrmUqFsUA,2320
|
52
|
+
cloudpss-4.0.0a5.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
53
|
+
cloudpss-4.0.0a5.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
|
54
|
+
cloudpss-4.0.0a5.dist-info/RECORD,,
|
@@ -1,33 +0,0 @@
|
|
1
|
-
cloudpss/__init__.py,sha256=pUNGG8q2JetRpMA3G3suDJKyOACskEdi6s5cLOd82Ak,669
|
2
|
-
cloudpss/verify.py,sha256=pdMfF1WdoDq5njfozvL0oasYTriEBRMqDq6rT2IPkwY,810
|
3
|
-
cloudpss/function/__init__.py,sha256=TNzChB-gQF6oB62F423evpUlgcp6s03D4pKKs89Lz4Q,1629
|
4
|
-
cloudpss/function/function.py,sha256=llomkfnTmKMiFJYJ2mKnmAEoIjTNVCnjCUUyiJMOV1s,29
|
5
|
-
cloudpss/function/functionExecution.py,sha256=20A1Ra_whe-yPGbMlqJMfZas9IIxTTR_IC7CqZYfcaw,14737
|
6
|
-
cloudpss/function/job.py,sha256=LdzaTyjvBcMZIyLstSZnt79d2eREljx2HnNoilDp03A,13162
|
7
|
-
cloudpss/model/__init__.py,sha256=SNq-bfwcQtDHtTNBYppfUEs8wkjfrQfGeywx7igmvOs,151
|
8
|
-
cloudpss/model/jobDefinitions.py,sha256=t9FP39fzb2BPOVGb094rNBdxTcsGRDtooZEwN7AMiE4,2755
|
9
|
-
cloudpss/model/model.py,sha256=vn90sALCqx7TFzNdSfizuxm-5cvxvTculVGQftT_9-I,16144
|
10
|
-
cloudpss/model/revision.py,sha256=SPEomJRXYHQxJ92SPcrz3aI7Om6IwXsNYzyPj255vEo,3682
|
11
|
-
cloudpss/model/topology.py,sha256=eJVxvdVOjvLz6jd3Q4MgAMBKVvM8ZWby8gLkIta-K5Y,2234
|
12
|
-
cloudpss/model/implements/__init__.py,sha256=88L_wF9SSzxsbtqwStWIPH4LxaKq7TVcssHQ62YBnls,67
|
13
|
-
cloudpss/model/implements/component.py,sha256=uNSpkZKChdXLiO40Ev4P3oQ1di2Hu4YjcBOb0I8Bf0c,734
|
14
|
-
cloudpss/model/implements/diagram.py,sha256=N5RrrywmxOmc2KvP0nC-NiECT1tEhgJZPtiNCfvYPuc,1063
|
15
|
-
cloudpss/model/implements/implement.py,sha256=Uld96tjXVDbVUNV8xscyy_nZWLHr3iP2DqA6S3p-XJE,954
|
16
|
-
cloudpss/project/__init__.py,sha256=fpskY-cJGmMcTg1naVzNPtJaRG1xmSc2CFjDTin64Cw,51
|
17
|
-
cloudpss/project/project.py,sha256=ss5F5mENpSot1kzdpQ2VBJItEJQ1WDBfXXe3L2iwMI0,17721
|
18
|
-
cloudpss/runner/__init__.py,sha256=aZ00V2AzQNBbER0xi6pqFFyiLFM-6r1fxvzdxxUJA_4,241
|
19
|
-
cloudpss/runner/receiver.py,sha256=clqnnp-mGlWAI2A2Yu1ggbcTxzqKclfcgDIEAlIKKzA,4073
|
20
|
-
cloudpss/runner/result.py,sha256=T4CNTL287o-iuJ3Df_shLzKQxDL7ZM3vSPgwIbmNtJA,11495
|
21
|
-
cloudpss/runner/runner.py,sha256=aJnLbZgkqUwxNSA-e-KlZWdbey0U58t6uv4PjKQWIVk,3434
|
22
|
-
cloudpss/runner/storage.py,sha256=zFET_zwPIOF2Cnh9sgFiS0HFxV1OmVsU34bGUQ6PpkA,4162
|
23
|
-
cloudpss/runner/transform.py,sha256=krOgTZiJSJAb5QSwerAqlbC4Ma0PKi__0WOZlAxw4O8,11613
|
24
|
-
cloudpss/utils/__init__.py,sha256=NU5ZAeXH733nJKooH_1cdT9ntPEYRG4Kk3PA7P6bK_s,291
|
25
|
-
cloudpss/utils/dataEncoder.py,sha256=5PUPb844eOGgFnYrMM8bdjdKH_MZz0lk-67uo8TvwEo,885
|
26
|
-
cloudpss/utils/graphqlUtil.py,sha256=swl6XT1UmUQHdHjMWw3M0i8meEmVKNQvX0SHsbgg8TU,255
|
27
|
-
cloudpss/utils/httprequests.py,sha256=8ViokX28oTjnoh6sxvdXrR92oJ_79WlbeyfatiCxtjU,1321
|
28
|
-
cloudpss/utils/matlab.py,sha256=SLwVt790BjklJK2XNELt9R2n_1ej9Y8QsTIdFkKXLWE,795
|
29
|
-
cloudpss/utils/yamlLoader.py,sha256=KRlRkHFltOjqxa_sesdBLf1W5J7XTgvubszsSw-XR0U,2885
|
30
|
-
cloudpss-3.2.0a2.dist-info/METADATA,sha256=JEFH3ayEX1Ox7xdn5462QQG2wuEHGsEqCnVMqyHdLOw,2312
|
31
|
-
cloudpss-3.2.0a2.dist-info/WHEEL,sha256=OqRkF0eY5GHssMorFjlbTIq072vpHpF60fIQA6lS9xA,92
|
32
|
-
cloudpss-3.2.0a2.dist-info/top_level.txt,sha256=wS9qPU4-aWM9ouzMOx34Nlq-GkdQKpr9vBskwut1BD8,9
|
33
|
-
cloudpss-3.2.0a2.dist-info/RECORD,,
|
File without changes
|