Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

bptk-py

Package Overview
Dependencies
Maintainers
1
Versions
109
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bptk-py - npm Package Compare versions

Comparing version
1.9.5
to
2.0.0
+14
-3
bptk_py.egg-info/PKG-INFO

@@ -1,4 +0,4 @@

Metadata-Version: 2.2
Metadata-Version: 2.4
Name: bptk-py
Version: 1.9.5
Version: 2.0.0
Summary: A python simulation engine for System Dynamics & Agent based models

@@ -29,3 +29,3 @@ Author-email: transentis <support@transentis.com>

Requires-Dist: cachetools==5.5.0
Requires-Dist: requests==2.31.0
Requires-Dist: requests==2.32.0
Requires-Dist: flask==3.0.3

@@ -35,2 +35,3 @@ Requires-Dist: jsonpickle==3.0.2

Requires-Dist: pytest; extra == "test"
Dynamic: license-file

@@ -80,2 +81,12 @@ # Business Prototyping Toolkit for Python

### 2.0.0
* Support for multidimensional sddsl
### 1.9.6
* Enabled modulo operation for sddsl-elements
* removed unnecessary code
* added unittests/pytests
### 1.9.5

@@ -82,0 +93,0 @@

+1
-1

@@ -13,3 +13,3 @@ pandas==2.2.3

cachetools==5.5.0
requests==2.31.0
requests==2.32.0
flask==3.0.3

@@ -16,0 +16,0 @@ jsonpickle==3.0.2

@@ -141,5 +141,14 @@ # /`-

else:
for i in range(dims[0]):
for j in range(dims[1]):
self[i][j].equation = equation.clone_with_index([i, j])
if(equation.is_named()):
names = {}
for i in range(dims[0]):
name1 = equation.index_to_string(i)
names[name1] = {}
for j in range(dims[1]):
name2 = equation.index_to_string([i,j])
self[name1][name2].equation = equation.clone_with_index([name1,name2])
else:
for i in range(dims[0]):
for j in range(dims[1]):
self[i][j].equation = equation.clone_with_index([i, j])
if isinstance(equation, Operator) and not handled_by_stock:

@@ -166,7 +175,18 @@ if equation.is_any_subelement_arrayed() and equation.index == None:

else:
self.setup_matrix(dims)
for i in range(dims[0]):
for j in range(dims[1]):
self[i][j] = equation.clone_with_index([i, j])
if(equation.is_named()):
names = {}
for i in range(dims[0]):
name1 = equation.index_to_string(i)
names[name1] = {}
for j in range(dims[1]):
name2 = equation.index_to_string([i,j])
names[name1][name2] = equation.clone_with_index([name1,name2])
self.setup_named_matrix(names, True)
else:
self.setup_matrix(dims)
for i in range(dims[0]):
for j in range(dims[1]):
self[i][j] = equation.clone_with_index([i, j])
return arrayed_equation

@@ -311,2 +331,6 @@

def __mod__(self, other):
"""Left Modulo with other operators"""
return ModOperator(self, other)
def __rmul__(self, other):

@@ -420,7 +444,7 @@ """Right multiply with other operators."""

self[name] = None
self[name].initial_value = values[name]
self[name].initial_value = float(values[name])
else:
self[name] = values[name]
def setup_matrix(self, size, default_value=0.0):
def setup_matrix(self, size, default_value=0.0, set_stack_equation = False):
"""

@@ -441,3 +465,3 @@ Creates sub-elements for this element.

self[i] = None
self[i].setup_vector(size[1], default_value)
self[i].setup_vector(size[1], default_value, set_stack_equation)
else:

@@ -450,5 +474,5 @@ if len(default_value) != size[0] or len(default_value[0]) != size[1]:

self[i] = None
self[i].setup_vector(size[1], default_value[i])
self[i].setup_vector(size[1], default_value[i], set_stack_equation)
def setup_named_matrix(self, names):
def setup_named_matrix(self, names, set_stack_equation = False):
"""

@@ -471,3 +495,3 @@ Creates sub-elements for this element.

self[name] = None
self[name].setup_named_vector(names[name])
self[name].setup_named_vector(names[name], set_stack_equation)

@@ -474,0 +498,0 @@

@@ -576,7 +576,17 @@ # /`-

def index_to_string(self, index):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
if isinstance(index, int):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
elif self.element_2.named_arrayed:
return self.element_2._elements.equations[index]
if isinstance(index,list):
if self.element_1.named_arrayed:
name = self.element_1._elements.equations[index[0]]
return self.element_1._elements._element[name]._elements.equations[index[1]]
if self.element_2.named_arrayed:
name = self.element_2._elements.equations[index[0]]
return self.element_2._elements._element[name]._elements.equations[index[1]]
def is_named(self):
return self.element_1.named_arrayed
return (self.element_1.named_arrayed or self.element_2.named_arrayed)

@@ -645,7 +655,17 @@ def clone_with_index(self, index):

def index_to_string(self, index):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
if isinstance(index, int):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
elif self.element_2.named_arrayed:
return self.element_2._elements.equations[index]
if isinstance(index,list):
if self.element_1.named_arrayed:
name = self.element_1._elements.equations[index[0]]
return self.element_1._elements._element[name]._elements.equations[index[1]]
if self.element_2.named_arrayed:
name = self.element_2._elements.equations[index[0]]
return self.element_2._elements._element[name]._elements.equations[index[1]]
def is_named(self):
return self.element_1.named_arrayed
return (self.element_1.named_arrayed or self.element_2.named_arrayed)

@@ -706,7 +726,17 @@

def index_to_string(self, index):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
if isinstance(index, int):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
elif self.element_2.named_arrayed:
return self.element_2._elements.equations[index]
if isinstance(index,list):
if self.element_1.named_arrayed:
name = self.element_1._elements.equations[index[0]]
return self.element_1._elements._element[name]._elements.equations[index[1]]
if self.element_2.named_arrayed:
name = self.element_2._elements.equations[index[0]]
return self.element_2._elements._element[name]._elements.equations[index[1]]
def is_named(self):
return self.element_1.named_arrayed
return (self.element_1.named_arrayed or self.element_2.named_arrayed)

@@ -754,12 +784,22 @@ class NumericalMultiplicationOperator(BinaryOperator):

def index_to_string(self, index):
if self.el1_arrayed:
return self.element_1._elements.equations[index]
else:
return self.element_2._elements.equations[index]
if isinstance(index, int):
if isinstance(self.element_1, BPTK_Py.sddsl.element.Element) and self.element_1._elements.vector_size():
return self.element_1._elements.equations[index]
elif isinstance(self.element_2, BPTK_Py.sddsl.element.Element) and self.element_2._elements.vector_size():
return self.element_2._elements.equations[index]
if isinstance(index,list):
if isinstance(self.element_1, BPTK_Py.sddsl.element.Element) and self.element_1._elements.vector_size():
name = self.element_1._elements.equations[index[0]]
return self.element_1._elements._element[name]._elements.equations[index[1]]
if self.element_2.named_arrayed:
name = self.element_2._elements.equations[index[0]]
return self.element_2._elements._element[name]._elements.equations[index[1]]
def is_named(self):
if self.el1_arrayed:
if isinstance(self.element_1, BPTK_Py.sddsl.element.Element) and self.element_1._elements.vector_size():
return self.element_1.named_arrayed
elif isinstance(self.element_2, BPTK_Py.sddsl.element.Element) and self.element_2._elements.vector_size():
return self.element_2.named_arrayed
else:
return self.element_2.named_arrayed
return False

@@ -800,9 +840,17 @@ class MultiplicationOperator(BinaryOperator):

def index_to_string(self, index):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
elif self.element_2.named_arrayed:
return self.element_2._elements.equations[index]
if isinstance(index, int):
if self.element_1.named_arrayed:
return self.element_1._elements.equations[index]
elif self.element_2.named_arrayed:
return self.element_2._elements.equations[index]
if isinstance(index,list):
if self.element_1.named_arrayed:
name = self.element_1._elements.equations[index[0]]
return self.element_1._elements._element[name]._elements.equations[index[1]]
if self.element_2.named_arrayed:
name = self.element_2._elements.equations[index[0]]
return self.element_2._elements._element[name]._elements.equations[index[1]]
def is_named(self):
return self.element_1.named_arrayed
return (self.element_1.named_arrayed or self.element_2.named_arrayed)

@@ -947,3 +995,3 @@ def resolve_dimensions(self):

raise Exception("Invalid index was passed to vector matrix multiplication. Index is {}, resulting vector length is {}!".format(
self.index[0], dim2[1]))
index, dim2[1]))
res = ""

@@ -965,3 +1013,3 @@ for k in range(dim2[0]):

raise Exception("Invalid index was passed to vector matrix multiplication. Index is {}, resulting vector length is {}!".format(
self.index[0], dim2[1]))
index, dim2[1]))

@@ -968,0 +1016,0 @@ res = ""

@@ -1,4 +0,4 @@

Metadata-Version: 2.2
Metadata-Version: 2.4
Name: bptk-py
Version: 1.9.5
Version: 2.0.0
Summary: A python simulation engine for System Dynamics & Agent based models

@@ -29,3 +29,3 @@ Author-email: transentis <support@transentis.com>

Requires-Dist: cachetools==5.5.0
Requires-Dist: requests==2.31.0
Requires-Dist: requests==2.32.0
Requires-Dist: flask==3.0.3

@@ -35,2 +35,3 @@ Requires-Dist: jsonpickle==3.0.2

Requires-Dist: pytest; extra == "test"
Dynamic: license-file

@@ -80,2 +81,12 @@ # Business Prototyping Toolkit for Python

### 2.0.0
* Support for multidimensional sddsl
### 1.9.6
* Enabled modulo operation for sddsl-elements
* removed unnecessary code
* added unittests/pytests
### 1.9.5

@@ -82,0 +93,0 @@

@@ -21,3 +21,3 @@ [build-system]

"cachetools==5.5.0",
"requests==2.31.0",
"requests==2.32.0",
"flask==3.0.3",

@@ -24,0 +24,0 @@ "jsonpickle==3.0.2"

@@ -44,2 +44,12 @@ # Business Prototyping Toolkit for Python

### 2.0.0
* Support for multidimensional sddsl
### 1.9.6
* Enabled modulo operation for sddsl-elements
* removed unnecessary code
* added unittests/pytests
### 1.9.5

@@ -46,0 +56,0 @@

@@ -15,3 +15,3 @@ from setuptools import setup

def get_version():
return '1.9.5'
return '2.0.0'

@@ -18,0 +18,0 @@ setup(version=get_version(),

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display