In [1]:
# example:
from supplychainmodelhelper import graphoperations as go

prod = ['milk', 'beer', 'schnaps']
act = ['producer', 'consumer', 'warehouse', 'store']
loc = ['BER', 'SXF', 'TXL']

myNW = go.createGraph(
    listOfLocations=loc,
    listOfActors=act,
    listOfProducts=prod
)

print(myNW.nodes(data=True))
go.getExistingAttrs(SCGraph=myNW, gtype='nodes')
from itertools import chain
list(
            set(
                chain(
                    *[list(x.keys())
                      for x in dict(myNW.nodes(data=True)).values()]
                )
            )
        )
[(0, {'actor': 'producer', 'product': 'milk', 'location': 'BER'}), (1, {'actor': 'producer', 'product': 'milk', 'location': 'SXF'}), (2, {'actor': 'producer', 'product': 'milk', 'location': 'TXL'}), (3, {'actor': 'producer', 'product': 'beer', 'location': 'BER'}), (4, {'actor': 'producer', 'product': 'beer', 'location': 'SXF'}), (5, {'actor': 'producer', 'product': 'beer', 'location': 'TXL'}), (6, {'actor': 'producer', 'product': 'schnaps', 'location': 'BER'}), (7, {'actor': 'producer', 'product': 'schnaps', 'location': 'SXF'}), (8, {'actor': 'producer', 'product': 'schnaps', 'location': 'TXL'}), (9, {'actor': 'consumer', 'product': 'milk', 'location': 'BER'}), (10, {'actor': 'consumer', 'product': 'milk', 'location': 'SXF'}), (11, {'actor': 'consumer', 'product': 'milk', 'location': 'TXL'}), (12, {'actor': 'consumer', 'product': 'beer', 'location': 'BER'}), (13, {'actor': 'consumer', 'product': 'beer', 'location': 'SXF'}), (14, {'actor': 'consumer', 'product': 'beer', 'location': 'TXL'}), (15, {'actor': 'consumer', 'product': 'schnaps', 'location': 'BER'}), (16, {'actor': 'consumer', 'product': 'schnaps', 'location': 'SXF'}), (17, {'actor': 'consumer', 'product': 'schnaps', 'location': 'TXL'}), (18, {'actor': 'warehouse', 'product': 'milk', 'location': 'BER'}), (19, {'actor': 'warehouse', 'product': 'milk', 'location': 'SXF'}), (20, {'actor': 'warehouse', 'product': 'milk', 'location': 'TXL'}), (21, {'actor': 'warehouse', 'product': 'beer', 'location': 'BER'}), (22, {'actor': 'warehouse', 'product': 'beer', 'location': 'SXF'}), (23, {'actor': 'warehouse', 'product': 'beer', 'location': 'TXL'}), (24, {'actor': 'warehouse', 'product': 'schnaps', 'location': 'BER'}), (25, {'actor': 'warehouse', 'product': 'schnaps', 'location': 'SXF'}), (26, {'actor': 'warehouse', 'product': 'schnaps', 'location': 'TXL'}), (27, {'actor': 'store', 'product': 'milk', 'location': 'BER'}), (28, {'actor': 'store', 'product': 'milk', 'location': 'SXF'}), (29, {'actor': 'store', 'product': 'milk', 'location': 'TXL'}), (30, {'actor': 'store', 'product': 'beer', 'location': 'BER'}), (31, {'actor': 'store', 'product': 'beer', 'location': 'SXF'}), (32, {'actor': 'store', 'product': 'beer', 'location': 'TXL'}), (33, {'actor': 'store', 'product': 'schnaps', 'location': 'BER'}), (34, {'actor': 'store', 'product': 'schnaps', 'location': 'SXF'}), (35, {'actor': 'store', 'product': 'schnaps', 'location': 'TXL'})]
Out[1]:
['product', 'location', 'actor']
In [2]:
execfile("/home/NeubertK/supplychainmodel/supplychainmodulator-master/example_scripts/graphoperations/example_getExistingAttrs.py")
['product', 'location', 'actor']
[]
In [3]:
import glob, os, subprocess
go_scripts = glob.glob("/home/NeubertK/supplychainmodel/supplychainmodulator-master/example_scripts/graphoperations/*.py")

for gs in go_scripts:
    outfile = "go_output/" + os.path.basename(gs).replace("py", "txt")
    with open(outfile, "wb") as out:
        subprocess.check_call(["python", gs], stdout=out)
/home/NeubertK/anaconda3/envs/p39/lib/python3.9/site-packages/supplychainmodelhelper/graphoperations.py:1628: RuntimeWarning: invalid value encountered in double_scalars
  WeightDist = np.sum(flow * dist) / (np.sum(flow))
In [4]:
mds_scripts = glob.glob("/home/NeubertK/supplychainmodel/supplychainmodulator-master/example_scripts/mds/*.py")

for gs in mds_scripts:
    outfile = "mds_output/" + os.path.basename(gs).replace("py", "txt")
    with open(outfile, "wb") as out:
        subprocess.check_call(["python", gs], stdout=out)
/home/NeubertK/anaconda3/envs/p39/lib/python3.9/site-packages/supplychainmodelhelper/mds.py:1567: UserWarning: Please be advised, no whitespaces in folder_names! 
Removing whitespaces before entering into database
  warnings.warn(
/home/NeubertK/anaconda3/envs/p39/lib/python3.9/site-packages/supplychainmodelhelper/mds.py:1425: UserWarning: Cant find subfolder myfolder. Lets check if the files are in the same folder as the given csv file...
  warnings.warn(
/home/NeubertK/supplychainmodel/supplychainmodulator-master/example_scripts/mds/example_importMDDataofDatasetFromCSV.py:106: FutureWarning: In a future version of pandas all arguments of read_csv except for the argument 'filepath_or_buffer' will be keyword-only.
  myNewDB.importMDDataofDatasetFromCSV(
/home/NeubertK/anaconda3/envs/p39/lib/python3.9/site-packages/supplychainmodelhelper/mds.py:402: UserWarning: Please be advised. You are about to change the md schema on existing db.
Repeat this command with the flag sure=True, if you're really sure about this
  warnings.warn(
/home/NeubertK/anaconda3/envs/p39/lib/python3.9/site-packages/supplychainmodelhelper/mds.py:289: UserWarning: Please be advised. 
You are about to change the md schema on existing db. 
Repeat this command with the flag sure=True, if you're really sure about this
  warnings.warn(
In [ ]: