MEDfl 0.1.31__py3-none-any.whl → 0.1.33__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.
Files changed (56) hide show
  1. {MEDfl-0.1.31.dist-info → MEDfl-0.1.33.dist-info}/METADATA +127 -128
  2. MEDfl-0.1.33.dist-info/RECORD +34 -0
  3. {MEDfl-0.1.31.dist-info → MEDfl-0.1.33.dist-info}/WHEEL +1 -1
  4. {MEDfl-0.1.31.dist-info → MEDfl-0.1.33.dist-info}/top_level.txt +0 -1
  5. Medfl/LearningManager/__init__.py +13 -13
  6. Medfl/LearningManager/client.py +150 -150
  7. Medfl/LearningManager/dynamicModal.py +287 -287
  8. Medfl/LearningManager/federated_dataset.py +60 -60
  9. Medfl/LearningManager/flpipeline.py +192 -192
  10. Medfl/LearningManager/model.py +223 -223
  11. Medfl/LearningManager/params.yaml +14 -14
  12. Medfl/LearningManager/params_optimiser.py +442 -442
  13. Medfl/LearningManager/plot.py +229 -229
  14. Medfl/LearningManager/server.py +181 -181
  15. Medfl/LearningManager/strategy.py +82 -82
  16. Medfl/LearningManager/utils.py +331 -308
  17. Medfl/NetManager/__init__.py +10 -9
  18. Medfl/NetManager/database_connector.py +43 -48
  19. Medfl/NetManager/dataset.py +92 -92
  20. Medfl/NetManager/flsetup.py +320 -320
  21. Medfl/NetManager/net_helper.py +254 -248
  22. Medfl/NetManager/net_manager_queries.py +142 -137
  23. Medfl/NetManager/network.py +194 -174
  24. Medfl/NetManager/node.py +184 -178
  25. Medfl/__init__.py +3 -2
  26. Medfl/scripts/__init__.py +2 -0
  27. Medfl/scripts/base.py +30 -0
  28. Medfl/scripts/create_db.py +126 -0
  29. alembic/env.py +61 -61
  30. scripts/base.py +29 -29
  31. scripts/config.ini +5 -5
  32. scripts/create_db.py +133 -133
  33. MEDfl/LearningManager/__init__.py +0 -13
  34. MEDfl/LearningManager/client.py +0 -150
  35. MEDfl/LearningManager/dynamicModal.py +0 -287
  36. MEDfl/LearningManager/federated_dataset.py +0 -60
  37. MEDfl/LearningManager/flpipeline.py +0 -192
  38. MEDfl/LearningManager/model.py +0 -223
  39. MEDfl/LearningManager/params.yaml +0 -14
  40. MEDfl/LearningManager/params_optimiser.py +0 -442
  41. MEDfl/LearningManager/plot.py +0 -229
  42. MEDfl/LearningManager/server.py +0 -181
  43. MEDfl/LearningManager/strategy.py +0 -82
  44. MEDfl/LearningManager/utils.py +0 -333
  45. MEDfl/NetManager/__init__.py +0 -9
  46. MEDfl/NetManager/database_connector.py +0 -48
  47. MEDfl/NetManager/dataset.py +0 -92
  48. MEDfl/NetManager/flsetup.py +0 -320
  49. MEDfl/NetManager/net_helper.py +0 -248
  50. MEDfl/NetManager/net_manager_queries.py +0 -137
  51. MEDfl/NetManager/network.py +0 -174
  52. MEDfl/NetManager/node.py +0 -178
  53. MEDfl/__init__.py +0 -2
  54. MEDfl-0.1.31.data/scripts/setup_mysql.sh +0 -22
  55. MEDfl-0.1.31.dist-info/RECORD +0 -54
  56. scripts/db_config.ini +0 -6
@@ -1,174 +0,0 @@
1
- # src/MEDfl/NetManager/network.py
2
-
3
- from MEDfl.LearningManager.utils import *
4
-
5
- from .net_helper import *
6
- from .net_manager_queries import (CREATE_MASTER_DATASET_TABLE_QUERY,
7
- CREATE_DATASETS_TABLE_QUERY,
8
- DELETE_NETWORK_QUERY,
9
- INSERT_NETWORK_QUERY, LIST_ALL_NODES_QUERY,
10
- UPDATE_NETWORK_QUERY, GET_NETWORK_QUERY)
11
- from .node import Node
12
- import pandas as pd
13
- from MEDfl.LearningManager.utils import params
14
-
15
- from sqlalchemy import text
16
-
17
-
18
- class Network:
19
- """
20
- A class representing a network.
21
-
22
- Attributes:
23
- name (str): The name of the network.
24
- mtable_exists (int): An integer flag indicating whether the MasterDataset table exists (1) or not (0).
25
- """
26
-
27
- def __init__(self, name: str = ""):
28
- """
29
- Initialize a Network instance.
30
-
31
- Parameters:
32
- name (str): The name of the network.
33
- """
34
- self.name = name
35
- self.mtable_exists = int(master_table_exists())
36
- self.validate()
37
-
38
- db_manager = DatabaseManager() ;
39
- db_manager.connect() ;
40
- self.eng = db_manager.get_connection()
41
-
42
- def validate(self):
43
- """Validate name"""
44
-
45
- if not isinstance(self.name, str):
46
- raise TypeError("name argument must be a string")
47
-
48
- def create_network(self):
49
- """Create a new network in the database."""
50
- self.eng.execute(text(INSERT_NETWORK_QUERY.format(name=self.name)))
51
- self.id = get_netid_from_name(self.name)
52
-
53
- def use_network(self, network_name: str):
54
- """Use a network in the database.
55
-
56
- Parameters:
57
- network_name (str): The name of the network to use.
58
-
59
- Returns:
60
- Network or None: An instance of the Network class if the network exists, else None.
61
-
62
- """
63
- network = pd.read_sql(
64
- text(GET_NETWORK_QUERY.format(name=network_name)),
65
- self.eng,
66
- )
67
-
68
- if (network.NetId[0]):
69
- self.name = network.NetName[0]
70
- self.id = network.NetId[0]
71
- self.mtable_exists = int(master_table_exists())
72
- self.validate()
73
- return self
74
- else:
75
- return None
76
-
77
- def delete_network(self):
78
- """Delete the network from the database."""
79
- self.eng.execute(text(DELETE_NETWORK_QUERY.format(name=self.name)))
80
-
81
- def update_network(self, FLsetupId: int):
82
- """Update the network's FLsetupId in the database.
83
-
84
- Parameters:
85
- FLsetupId (int): The FLsetupId to update.
86
- """
87
- self.eng.execute(
88
- text(UPDATE_NETWORK_QUERY.format(FLsetupId=FLsetupId, id=self.id))
89
- )
90
-
91
- def add_node(self, node: Node):
92
- """Add a node to the network.
93
-
94
- Parameters:
95
- node (Node): The node to add.
96
- """
97
- node.create_node(self.id)
98
-
99
- def list_allnodes(self):
100
- """List all nodes in the network.
101
-
102
- Parameters:
103
- None
104
-
105
- Returns:
106
- DataFrame: A DataFrame containing information about all nodes in the network.
107
-
108
- """
109
- query = text(LIST_ALL_NODES_QUERY.format(name=self.name))
110
- result_proxy = self.eng.execute(query)
111
- result_df = pd.DataFrame(result_proxy.fetchall(), columns=result_proxy.keys())
112
- return result_df
113
-
114
- def create_master_dataset(self, path_to_csv: str = params['path_to_master_csv']):
115
- """
116
- Create the MasterDataset table and insert dataset values.
117
-
118
- :param path_to_csv: Path to the CSV file containing the dataset.
119
- """
120
- print(path_to_csv)
121
- # Read the CSV file into a Pandas DataFrame
122
- data_df = pd.read_csv(path_to_csv)
123
-
124
- # Process the data if needed (e.g., handle missing values, encode categorical variables)
125
- # ...
126
-
127
- # Check if the MasterDataset table exists
128
-
129
- if self.mtable_exists != 1:
130
- columns = data_df.columns.tolist()
131
- columns_str = ",\n".join(
132
- [
133
- f"{col} {column_map[str(data_df[col].dtype)]}"
134
- for col in columns
135
- ]
136
- )
137
- self.eng.execute(
138
- text(CREATE_MASTER_DATASET_TABLE_QUERY.format(columns_str))
139
- )
140
- self.eng.execute(text(CREATE_DATASETS_TABLE_QUERY.format(columns_str)))
141
-
142
- # Get the list of columns in the DataFrame
143
-
144
- data_df = process_eicu(data_df)
145
- # Insert the dataset values into the MasterDataset table
146
-
147
- for index, row in data_df.iterrows():
148
- query_1 = "INSERT INTO MasterDataset(" + "".join(
149
- f"{x}," for x in columns
150
- )
151
- query_2 = f"VALUES (" + "".join(
152
- f"{is_str(data_df, row, x)}," for x in columns
153
- )
154
- query = query_1[:-1] + ")" + query_2[:-1] + ")"
155
- self.eng.execute(text(query))
156
-
157
- # Set mtable_exists flag to True
158
- self.mtable_exists = 1
159
-
160
- @staticmethod
161
- def list_allnetworks():
162
- """List all networks in the database.
163
- Returns:
164
- DataFrame: A DataFrame containing information about all networks in the database.
165
-
166
- """
167
- db_manager = DatabaseManager() ;
168
- db_manager.connect() ;
169
- my_eng = db_manager.get_connection() ;
170
-
171
- result_proxy = my_eng.execute("SELECT * FROM Networks")
172
- result = result_proxy.fetchall()
173
- return result
174
-
MEDfl/NetManager/node.py DELETED
@@ -1,178 +0,0 @@
1
- import pandas as pd
2
-
3
- from .net_helper import *
4
- from .net_manager_queries import *
5
- from MEDfl.LearningManager.utils import params
6
- from MEDfl.NetManager.database_connector import DatabaseManager
7
-
8
- class Node:
9
- """
10
- A class representing a node in the network.
11
-
12
- Attributes:
13
- name (str): The name of the node.
14
- train (int): An integer flag representing whether the node is used for training (1) or testing (0).
15
- test_fraction (float, optional): The fraction of data used for testing when train=1. Default is 0.2.
16
- """
17
-
18
- def __init__(
19
- self, name: str, train: int, test_fraction: float = 0.2, engine=None
20
- ):
21
- """
22
- Initialize a Node instance.
23
-
24
- Parameters:
25
- name (str): The name of the node.
26
- train (int): An integer flag representing whether the node is used for training (1) or testing (0).
27
- test_fraction (float, optional): The fraction of data used for testing when train=1. Default is 0.2.
28
- """
29
- self.name = name
30
- self.train = train
31
- self.test_fraction = 1.0 if self.train == 0 else test_fraction
32
-
33
-
34
- db_manager = DatabaseManager() ;
35
- db_manager.connect() ;
36
- self.engine = db_manager.get_connection()
37
-
38
- def validate(self):
39
- """Validate name, train, test_fraction"""
40
- if not isinstance(self.name, str):
41
- raise TypeError("name argument must be a string")
42
-
43
- if not isinstance(self.train, int):
44
- raise TypeError("train argument must be an int")
45
-
46
- if not isinstance(self.test_fraction, float):
47
- raise TypeError("test_fraction argument must be a float")
48
-
49
- def create_node(self, NetId: int):
50
- """Create a node in the database.
51
- Parameters:
52
- NetId (int): The ID of the network to which the node belongs.
53
-
54
- Returns:
55
- None
56
- """
57
- self.engine.execute(
58
- text(INSERT_NODE_QUERY.format(self.name, NetId, self.train))
59
- )
60
-
61
- def delete_node(self):
62
- """Delete the node from the database."""
63
- self.engine.execute(text(DELETE_NODE_QUERY.format(self.name)))
64
-
65
- def check_dataset_compatibility(self, data_df):
66
- """Check if the dataset is compatible with the master dataset.
67
- Parameters:
68
- data_df (DataFrame): The dataset to check.
69
-
70
- Returns:
71
- None
72
- """
73
- if master_table_exists() != 1:
74
- print("MasterDataset doesn't exist")
75
- else:
76
- columns = data_df.columns.tolist()
77
-
78
- # get master_dataset columns
79
- result_proxy = self.engine.execute(SELECT_MASTER_COLUMNS_QUERY)
80
- master_table_columns = result_proxy.keys()
81
-
82
-
83
- assert [x == y for x, y in zip(master_table_columns, columns)]
84
-
85
- def update_node(self):
86
- """Update the node information (not implemented)."""
87
- pass
88
-
89
- def get_dataset(self, column_name: str = None):
90
- """Get the dataset for the node based on the given column name.
91
- Parameters:
92
- column_name (str, optional): The column name to filter the dataset. Default is None.
93
-
94
- Returns:
95
- DataFrame: The dataset associated with the node.
96
- """
97
- NodeId = get_nodeid_from_name(self.name)
98
- if column_name is not None:
99
- query = text(SELECT_DATASET_BY_COLUMN_QUERY.format(column_name, self.name))
100
- else:
101
- query = text(SELECT_DATASET_BY_NODE_ID_QUERY.format(NodeId))
102
-
103
- result_proxy = self.engine.execute(query)
104
- node_dataset = pd.DataFrame(result_proxy.fetchall(), columns=result_proxy.keys())
105
-
106
- return node_dataset
107
-
108
- def upload_dataset(self, dataset_name: str, path_to_csv: str = params['path_to_test_csv']):
109
- """Upload the dataset to the database for the node.
110
- Parameters:
111
- dataset_name (str): The name of the dataset.
112
- path_to_csv (str, optional): Path to the CSV file containing the dataset. Default is the path in params.
113
-
114
- Returns:
115
- None
116
- """
117
- data_df = pd.read_csv(path_to_csv)
118
-
119
- nodeId = get_nodeid_from_name(self.name)
120
- columns = data_df.columns.tolist()
121
- self.check_dataset_compatibility(data_df)
122
-
123
- data_df = process_eicu(data_df)
124
- for index, row in data_df.iterrows():
125
- query_1 = "INSERT INTO DataSets(DataSetName,nodeId," + "".join(
126
- f"{x}," for x in columns
127
- )
128
- query_2 = f" VALUES ('{dataset_name}',{nodeId}, " + "".join(
129
- f"{is_str(data_df, row, x)}," for x in columns
130
- )
131
- query = query_1[:-1] + ")" + query_2[:-1] + ")"
132
- self.engine.execute(text(query))
133
-
134
- def assign_dataset(self, dataset_name:str):
135
- """Assigning existing dataSet to node
136
- Parameters:
137
- dataset_name (str): The name of the dataset to assign.
138
-
139
- Returns:
140
- None
141
- """
142
-
143
- nodeId = get_nodeid_from_name(self.name)
144
- query = f"UPDATE DataSets SET nodeId = {nodeId} WHERE DataSetName = '{dataset_name}'"
145
- self.engine.execute(text(query))
146
-
147
- def unassign_dataset(self, dataset_name:str):
148
- """unssigning existing dataSet to node
149
- Parameters:
150
- dataset_name (str): The name of the dataset to assign.
151
-
152
- Returns:
153
- None
154
- """
155
-
156
- query = f"UPDATE DataSets SET nodeId = {-1} WHERE DataSetName = '{dataset_name}'"
157
- self.engine.execute(text(query))
158
-
159
- def list_alldatasets(self):
160
- """List all datasets associated with the node.
161
- Returns:
162
- DataFrame: A DataFrame containing information about all datasets associated with the node.
163
-
164
- """
165
- return pd.read_sql(
166
- text(SELECT_ALL_DATASETS_QUERY.format(self.name)), my_eng
167
- )
168
-
169
- @staticmethod
170
- def list_allnodes():
171
- """List all nodes in the database.
172
- Returns:
173
- DataFrame: A DataFrame containing information about all nodes in the database.
174
-
175
- """
176
- query = text(SELECT_ALL_NODES_QUERY)
177
- res = pd.read_sql(query, my_eng)
178
- return res
MEDfl/__init__.py DELETED
@@ -1,2 +0,0 @@
1
- from .LearningManager import *
2
- from .NetManager import *
@@ -1,22 +0,0 @@
1
- echo '#!/bin/bash
2
-
3
- # Update package lists
4
- sudo apt update
5
-
6
- # Install MySQL
7
- sudo apt install mysql-server
8
-
9
- # Secure MySQL installation
10
- sudo mysql_secure_installation
11
-
12
- # Install phpMyAdmin
13
- sudo apt install phpmyadmin
14
-
15
- # Create symbolic link for Apache
16
- sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
17
- sudo a2enconf phpmyadmin
18
- sudo systemctl reload apache2
19
-
20
- # Print completion message
21
- echo "MySQL and phpMyAdmin setup complete."
22
- ' > setup_mysql.sh && chmod +x setup_mysql.sh && python3 scripts/create_db.py
@@ -1,54 +0,0 @@
1
- MEDfl/__init__.py,sha256=iJB4XxXxnyh_pnLFKAz3USENmFuMIuEwbLTKDiZqL3M,56
2
- MEDfl/LearningManager/__init__.py,sha256=XlcCT33Pcfziz6Nz7uamD3tX4thnOAgbVpz454ijUik,345
3
- MEDfl/LearningManager/client.py,sha256=9Y_Zb0yxvCxx3dVCPQ1bXS5mCKasylSBnoVj-RDN270,5933
4
- MEDfl/LearningManager/dynamicModal.py,sha256=q8u7xPpj_TdZnSr8kYj0Xx7Sdz-diXsKBAfVce8-qSU,10534
5
- MEDfl/LearningManager/federated_dataset.py,sha256=InsZ5Rys2dgqaPxVyP5G3TrJMwiCNHOoTd3tCpUwUVM,2081
6
- MEDfl/LearningManager/flpipeline.py,sha256=5lT2uod5EqnkRQ04cgm0gYyZz0djumfIYipCrzX1fdo,7111
7
- MEDfl/LearningManager/model.py,sha256=vp8FIMxBdz3FTF5wJaea2IO_WGeANLZgBxTKVe3gW3Q,7456
8
- MEDfl/LearningManager/params.yaml,sha256=_yAdYBtxNqKRWIhs_XebG_w1NGyq4-3NzVwWb8xiU5o,436
9
- MEDfl/LearningManager/params_optimiser.py,sha256=8e0gCt4imwQHlNSJ3A2EAuc3wSr6yfSI6JDghohfmZQ,17618
10
- MEDfl/LearningManager/plot.py,sha256=A6Z8wC8J-H-OmWBPKqwK5eiTB9vzOBGMaFv1SaNA9Js,7698
11
- MEDfl/LearningManager/server.py,sha256=oTgW3K1UT6m4SQBk23FIf23km_BDq9vvjeC6OgY8DNw,7077
12
- MEDfl/LearningManager/strategy.py,sha256=BHXpwmt7jx07y45YLUs8FZry2gYQbpiV4vNbHhsksQ4,3435
13
- MEDfl/LearningManager/utils.py,sha256=1rk6hzU9JpViLAYa3wp14fp4BL_d8SGdDfKPApzOstc,9763
14
- MEDfl/NetManager/__init__.py,sha256=ZUtjKJURK67GDfy8RyujSzRpe_WT_DdYVoH4QEWHmOM,237
15
- MEDfl/NetManager/database_connector.py,sha256=636eRFnTgFKUmX1hmCCvbkmROloBCFOqzKexqK7HSds,1495
16
- MEDfl/NetManager/dataset.py,sha256=HTV0jrJ4Qlhl2aSJzdFU1lkxGBKtmJ390eBpwfKf_4o,2777
17
- MEDfl/NetManager/flsetup.py,sha256=CVu_TIU7l3G6DDnwtY6JURbhIZk7gKC3unqWnU-YtlM,11434
18
- MEDfl/NetManager/net_helper.py,sha256=LyM965Jy6ctpzjFf87lVT_5Pcuz88jSoeQo4EKR5CHA,6612
19
- MEDfl/NetManager/net_manager_queries.py,sha256=2jEIJ6qWLJv8AgusqTnRjJwq_keU6M3V0v09Azwf9fs,4190
20
- MEDfl/NetManager/network.py,sha256=tXMD7qbk0lOqwAptND12e3iRFiV9149FGuxUZVuM6ps,5556
21
- MEDfl/NetManager/node.py,sha256=Vn-Gjx28cUVG_T3PUHbCP8hTQQzf1mkykP7lqOZzULE,6166
22
- MEDfl-0.1.31.data/scripts/setup_mysql.sh,sha256=r4ygRl7zdasUSZT-ccC1Tjtt6GKDS5Puza9hCec2Cns,538
23
- Medfl/__init__.py,sha256=iJB4XxXxnyh_pnLFKAz3USENmFuMIuEwbLTKDiZqL3M,56
24
- Medfl/LearningManager/__init__.py,sha256=XlcCT33Pcfziz6Nz7uamD3tX4thnOAgbVpz454ijUik,345
25
- Medfl/LearningManager/client.py,sha256=9Y_Zb0yxvCxx3dVCPQ1bXS5mCKasylSBnoVj-RDN270,5933
26
- Medfl/LearningManager/dynamicModal.py,sha256=q8u7xPpj_TdZnSr8kYj0Xx7Sdz-diXsKBAfVce8-qSU,10534
27
- Medfl/LearningManager/federated_dataset.py,sha256=InsZ5Rys2dgqaPxVyP5G3TrJMwiCNHOoTd3tCpUwUVM,2081
28
- Medfl/LearningManager/flpipeline.py,sha256=5lT2uod5EqnkRQ04cgm0gYyZz0djumfIYipCrzX1fdo,7111
29
- Medfl/LearningManager/model.py,sha256=vp8FIMxBdz3FTF5wJaea2IO_WGeANLZgBxTKVe3gW3Q,7456
30
- Medfl/LearningManager/params.yaml,sha256=_yAdYBtxNqKRWIhs_XebG_w1NGyq4-3NzVwWb8xiU5o,436
31
- Medfl/LearningManager/params_optimiser.py,sha256=8e0gCt4imwQHlNSJ3A2EAuc3wSr6yfSI6JDghohfmZQ,17618
32
- Medfl/LearningManager/plot.py,sha256=A6Z8wC8J-H-OmWBPKqwK5eiTB9vzOBGMaFv1SaNA9Js,7698
33
- Medfl/LearningManager/server.py,sha256=oTgW3K1UT6m4SQBk23FIf23km_BDq9vvjeC6OgY8DNw,7077
34
- Medfl/LearningManager/strategy.py,sha256=BHXpwmt7jx07y45YLUs8FZry2gYQbpiV4vNbHhsksQ4,3435
35
- Medfl/LearningManager/utils.py,sha256=GehQ2j77Y5Wwyi2_lOPNq6sMI_2IwlRo1daRdf7d1Dw,9034
36
- Medfl/NetManager/__init__.py,sha256=ZUtjKJURK67GDfy8RyujSzRpe_WT_DdYVoH4QEWHmOM,237
37
- Medfl/NetManager/database_connector.py,sha256=BszwLTGp-gPDOamwjfErmWslilunYaEGRye5UE5pJvk,1490
38
- Medfl/NetManager/dataset.py,sha256=HTV0jrJ4Qlhl2aSJzdFU1lkxGBKtmJ390eBpwfKf_4o,2777
39
- Medfl/NetManager/flsetup.py,sha256=CVu_TIU7l3G6DDnwtY6JURbhIZk7gKC3unqWnU-YtlM,11434
40
- Medfl/NetManager/net_helper.py,sha256=LyM965Jy6ctpzjFf87lVT_5Pcuz88jSoeQo4EKR5CHA,6612
41
- Medfl/NetManager/net_manager_queries.py,sha256=2jEIJ6qWLJv8AgusqTnRjJwq_keU6M3V0v09Azwf9fs,4190
42
- Medfl/NetManager/network.py,sha256=tXMD7qbk0lOqwAptND12e3iRFiV9149FGuxUZVuM6ps,5556
43
- Medfl/NetManager/node.py,sha256=Vn-Gjx28cUVG_T3PUHbCP8hTQQzf1mkykP7lqOZzULE,6166
44
- alembic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- alembic/env.py,sha256=-aSZ6SlJeK1ZeqHgM-54hOi9LhJRFP0SZGjut-JnY-4,1588
46
- scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
- scripts/base.py,sha256=QrmG7gkiPYkAy-5tXxJgJmOSLGAKeIVH6i0jq7G9xnA,752
48
- scripts/config.ini,sha256=70E8mssLQ9TvecxcYAOdtpuhHpuYWEEIa1iWyjaZjh8,77
49
- scripts/create_db.py,sha256=VR9m0dWHBz66w_JaOZe00TiNG2hg7784phHLj9D0ovA,4361
50
- scripts/db_config.ini,sha256=Z1pR9RpY9_Na1evca3eUMn-hCfwZbsGWNBlekyuaChY,83
51
- MEDfl-0.1.31.dist-info/METADATA,sha256=xr4XBwTkxEqoaOkqeCtdSqEDsH0t-4zVGAXmcche0E4,5524
52
- MEDfl-0.1.31.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
53
- MEDfl-0.1.31.dist-info/top_level.txt,sha256=hMAmSbfVxxQBmDx0uaQeXYlSrdC42iD58FyzJGl2lAs,22
54
- MEDfl-0.1.31.dist-info/RECORD,,
scripts/db_config.ini DELETED
@@ -1,6 +0,0 @@
1
- [mysql]
2
- host =localhost
3
- port = 3306
4
- user = ouael
5
- password = ouael
6
- database = MEDfl