topolib 0.3.0__tar.gz → 0.4.1__tar.gz

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 topolib might be problematic. Click here for more details.

Files changed (47) hide show
  1. {topolib-0.3.0/topolib/topolib.egg-info → topolib-0.4.1}/PKG-INFO +25 -14
  2. topolib-0.4.1/pyproject.toml +52 -0
  3. topolib-0.4.1/topolib/__init__.py +4 -0
  4. topolib-0.4.1/topolib/assets/Abilene_IXP.json +285 -0
  5. topolib-0.4.1/topolib/assets/China_pop.json +1063 -0
  6. topolib-0.4.1/topolib/assets/DT-50_pop.json +1415 -0
  7. {topolib-0.3.0 → topolib-0.4.1}/topolib/elements/node.py +103 -1
  8. {topolib-0.3.0 → topolib-0.4.1}/topolib/topology/topology.py +54 -8
  9. topolib-0.4.1/topolib/visualization/__init__.py +1 -0
  10. topolib-0.4.1/topolib/visualization/mapview.py +75 -0
  11. topolib-0.3.0/MANIFEST.in +0 -5
  12. topolib-0.3.0/PKG-INFO +0 -127
  13. topolib-0.3.0/diagrams/class_diagram.puml +0 -75
  14. topolib-0.3.0/docs/source/conf.py +0 -37
  15. topolib-0.3.0/docs/source/index.rst +0 -33
  16. topolib-0.3.0/docs/source/modules.rst +0 -7
  17. topolib-0.3.0/docs/source/topolib.analysis.rst +0 -21
  18. topolib-0.3.0/docs/source/topolib.elements.rst +0 -23
  19. topolib-0.3.0/docs/source/topolib.rst +0 -20
  20. topolib-0.3.0/docs/source/topolib.topology.rst +0 -29
  21. topolib-0.3.0/pyproject.toml +0 -37
  22. topolib-0.3.0/setup.cfg +0 -4
  23. topolib-0.3.0/tests/test_link.py +0 -77
  24. topolib-0.3.0/tests/test_metrics.py +0 -53
  25. topolib-0.3.0/tests/test_node.py +0 -28
  26. topolib-0.3.0/tests/test_path.py +0 -46
  27. topolib-0.3.0/tests/test_topology.py +0 -144
  28. topolib-0.3.0/tests/test_version.py +0 -6
  29. topolib-0.3.0/topolib/assets/DT14.json +0 -386
  30. topolib-0.3.0/topolib/assets/DT17.json +0 -423
  31. topolib-0.3.0/topolib/assets/FRANCE-43.json +0 -1104
  32. topolib-0.3.0/topolib/assets/JPN-12.json +0 -282
  33. topolib-0.3.0/topolib/assets/NSFNet.json +0 -357
  34. topolib-0.3.0/topolib/assets/PLN-12.json +0 -308
  35. topolib-0.3.0/topolib/assets/UKNet.json +0 -617
  36. topolib-0.3.0/topolib/topolib.egg-info/SOURCES.txt +0 -38
  37. topolib-0.3.0/topolib/topolib.egg-info/dependency_links.txt +0 -1
  38. topolib-0.3.0/topolib/topolib.egg-info/requires.txt +0 -2
  39. topolib-0.3.0/topolib/topolib.egg-info/top_level.txt +0 -4
  40. {topolib-0.3.0 → topolib-0.4.1}/LICENSE +0 -0
  41. {topolib-0.3.0 → topolib-0.4.1}/README.md +0 -0
  42. {topolib-0.3.0 → topolib-0.4.1}/topolib/analysis/__init__.py +0 -0
  43. {topolib-0.3.0 → topolib-0.4.1}/topolib/analysis/metrics.py +0 -0
  44. {topolib-0.3.0 → topolib-0.4.1}/topolib/elements/__init__.py +0 -0
  45. {topolib-0.3.0 → topolib-0.4.1}/topolib/elements/link.py +0 -0
  46. {topolib-0.3.0 → topolib-0.4.1}/topolib/topology/__init__.py +0 -0
  47. {topolib-0.3.0 → topolib-0.4.1}/topolib/topology/path.py +0 -0
@@ -1,24 +1,34 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: topolib
3
- Version: 0.3.0
3
+ Version: 0.4.1
4
4
  Summary: A compact Python library for modeling, analyzing, and visualizing optical network topologies.
5
- Author-email: Danilo Bórquez-Paredes <danilo.borquez.p@uai.cl>
6
- License-Expression: MIT
7
- Project-URL: Homepage, https://gitlab.com/DaniloBorquez/topolib
8
- Project-URL: Documentation, https://topolib.readthedocs.io/
9
- Project-URL: Source, https://gitlab.com/DaniloBorquez/topolib
10
- Project-URL: Issues, https://gitlab.com/DaniloBorquez/topolib/-/issues
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Operating System :: OS Independent
5
+ License: MIT
6
+ License-File: LICENSE
7
+ Keywords: network,topology,optical,analysis,visualization
8
+ Author: Danilo Bórquez-Paredes
9
+ Author-email: danilo.borquez.p@uai.cl
10
+ Requires-Python: >=3.10
13
11
  Classifier: Intended Audience :: Science/Research
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
14
20
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
15
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
- Requires-Python: >=3.10
22
+ Requires-Dist: contextily
23
+ Requires-Dist: geopandas
24
+ Requires-Dist: matplotlib
25
+ Requires-Dist: networkx (>=2.6)
26
+ Requires-Dist: numpy (>=1.21)
27
+ Requires-Dist: shapely
28
+ Project-URL: Documentation, https://topolib.readthedocs.io/
29
+ Project-URL: Homepage, https://gitlab.com/DaniloBorquez/topolib
30
+ Project-URL: Repository, https://gitlab.com/DaniloBorquez/topolib
17
31
  Description-Content-Type: text/markdown
18
- License-File: LICENSE
19
- Requires-Dist: numpy>=1.21
20
- Requires-Dist: networkx>=2.6
21
- Dynamic: license-file
22
32
 
23
33
  # Topolib 🚀
24
34
 
@@ -125,3 +135,4 @@ See `CONTRIBUTING.md` for development guidelines, commit message rules and pre-c
125
135
  ## License
126
136
 
127
137
  See `LICENSE` in the project root.
138
+
@@ -0,0 +1,52 @@
1
+
2
+ [tool.poetry]
3
+ name = "topolib"
4
+ # Poetry requires a version field, but poetry-dynamic-versioning will override it
5
+ version = "0.4.1"
6
+ description = "A compact Python library for modeling, analyzing, and visualizing optical network topologies."
7
+ authors = ["Danilo Bórquez-Paredes <danilo.borquez.p@uai.cl>"]
8
+ license = "MIT"
9
+ readme = "README.md"
10
+ repository = "https://gitlab.com/DaniloBorquez/topolib"
11
+ documentation = "https://topolib.readthedocs.io/"
12
+ homepage = "https://gitlab.com/DaniloBorquez/topolib"
13
+ keywords = ["network", "topology", "optical", "analysis", "visualization"]
14
+ classifiers = [
15
+ "Programming Language :: Python :: 3",
16
+ "Operating System :: OS Independent",
17
+ "Intended Audience :: Science/Research",
18
+ "Topic :: Scientific/Engineering :: Information Analysis",
19
+ "Topic :: Software Development :: Libraries :: Python Modules"
20
+ ]
21
+ packages = [
22
+ { include = "topolib" }
23
+ ]
24
+
25
+ [tool.poetry.dependencies]
26
+ python = ">=3.10"
27
+ numpy = ">=1.21"
28
+ networkx = ">=2.6"
29
+ matplotlib = "*"
30
+ contextily = "*"
31
+ geopandas = "*"
32
+ shapely = "*"
33
+
34
+
35
+ [tool.poetry.group.dev.dependencies]
36
+ pytest = "*"
37
+ pytest-cov = "*"
38
+ matplotlib = "*"
39
+ contextily = "*"
40
+ geopandas = "*"
41
+ shapely = "*"
42
+
43
+ [build-system]
44
+ requires = ["poetry-core>=1.0.0"]
45
+ build-backend = "poetry.core.masonry.api"
46
+
47
+ [tool.poetry-dynamic-versioning]
48
+ enable = false
49
+ vcs = "git"
50
+ style = "pep440"
51
+ pattern = '(?P<base>\d+\.\d+\.\d+)'
52
+
@@ -0,0 +1,4 @@
1
+ try:
2
+ from ._version import __version__
3
+ except ImportError:
4
+ __version__ = "unknown"
@@ -0,0 +1,285 @@
1
+ {
2
+ "name": "Abilene",
3
+ "nodes": [
4
+ {
5
+ "id": 0,
6
+ "name": "Seattle",
7
+ "weight": 0,
8
+ "longitude": -122.3328481,
9
+ "latitude": 47.6061389,
10
+ "pop": 780995,
11
+ "DC": 58,
12
+ "IXP": 5
13
+ },
14
+ {
15
+ "id": 1,
16
+ "name": "Sunnyvale",
17
+ "weight": 0,
18
+ "longitude": -122.0363496,
19
+ "latitude": 37.36883,
20
+ "pop": 155805,
21
+ "DC": 0,
22
+ "IXP": 0
23
+ },
24
+ {
25
+ "id": 2,
26
+ "name": "Los Angeles",
27
+ "weight": 0,
28
+ "longitude": -118.242643,
29
+ "latitude": 34.0549076,
30
+ "pop": 3820914,
31
+ "DC": 71,
32
+ "IXP": 9
33
+ },
34
+ {
35
+ "id": 3,
36
+ "name": "Denver",
37
+ "weight": 0,
38
+ "longitude": -104.990251,
39
+ "latitude": 39.7392358,
40
+ "pop": 729019,
41
+ "DC": 49,
42
+ "IXP": 6
43
+ },
44
+ {
45
+ "id": 4,
46
+ "name": "Kansas City",
47
+ "weight": 0,
48
+ "longitude": -94.5785667,
49
+ "latitude": 39.0997265,
50
+ "pop": 475378,
51
+ "DC": 25,
52
+ "IXP": 1
53
+ },
54
+ {
55
+ "id": 5,
56
+ "name": "Houston",
57
+ "weight": 0,
58
+ "longitude": -95.3701108,
59
+ "latitude": 29.7600771,
60
+ "pop": 2314157,
61
+ "DC": 55,
62
+ "IXP": 6
63
+ },
64
+ {
65
+ "id": 6,
66
+ "name": "Atlanta",
67
+ "weight": 0,
68
+ "longitude": -84.3885209,
69
+ "latitude": 33.7501275,
70
+ "pop": 510823,
71
+ "DC": 145,
72
+ "IXP": 7
73
+ },
74
+ {
75
+ "id": 7,
76
+ "name": "Indianapolis",
77
+ "weight": 0,
78
+ "longitude": -86.158018,
79
+ "latitude": 39.76909,
80
+ "pop": 887642,
81
+ "DC": 30,
82
+ "IXP": 2
83
+ },
84
+ {
85
+ "id": 8,
86
+ "name": "Chicago",
87
+ "weight": 0,
88
+ "longitude": -87.6323879,
89
+ "latitude": 41.88325,
90
+ "pop": 2664452,
91
+ "DC": 165,
92
+ "IXP": 10
93
+ },
94
+ {
95
+ "id": 9,
96
+ "name": "Washington D.C.",
97
+ "weight": 0,
98
+ "longitude": -77.0368707,
99
+ "latitude": 38.9071923,
100
+ "pop": 689545,
101
+ "DC": 7,
102
+ "IXP": 3
103
+ },
104
+ {
105
+ "id": 10,
106
+ "name": "New York",
107
+ "weight": 0,
108
+ "longitude": -74.0059728,
109
+ "latitude": 40.7127753,
110
+ "pop": 8804190,
111
+ "DC": 70,
112
+ "IXP": 11
113
+ }
114
+ ],
115
+ "links": [
116
+ {
117
+ "id": 0,
118
+ "src": 0,
119
+ "dst": 1,
120
+ "length": 1482.26
121
+ },
122
+ {
123
+ "id": 1,
124
+ "src": 2,
125
+ "dst": 1,
126
+ "length": 649.31
127
+ },
128
+ {
129
+ "id": 2,
130
+ "src": 5,
131
+ "dst": 2,
132
+ "length": 2870.2
133
+ },
134
+ {
135
+ "id": 3,
136
+ "src": 4,
137
+ "dst": 5,
138
+ "length": 1360.7
139
+ },
140
+ {
141
+ "id": 4,
142
+ "src": 3,
143
+ "dst": 0,
144
+ "length": 2123.16
145
+ },
146
+ {
147
+ "id": 5,
148
+ "src": 3,
149
+ "dst": 1,
150
+ "length": 1949.85
151
+ },
152
+ {
153
+ "id": 6,
154
+ "src": 4,
155
+ "dst": 3,
156
+ "length": 1153.26
157
+ },
158
+ {
159
+ "id": 7,
160
+ "src": 8,
161
+ "dst": 7,
162
+ "length": 345.36
163
+ },
164
+ {
165
+ "id": 8,
166
+ "src": 4,
167
+ "dst": 7,
168
+ "length": 933.65
169
+ },
170
+ {
171
+ "id": 9,
172
+ "src": 5,
173
+ "dst": 6,
174
+ "length": 1471.24
175
+ },
176
+ {
177
+ "id": 10,
178
+ "src": 6,
179
+ "dst": 7,
180
+ "length": 912.61
181
+ },
182
+ {
183
+ "id": 11,
184
+ "src": 10,
185
+ "dst": 8,
186
+ "length": 1489.76
187
+ },
188
+ {
189
+ "id": 12,
190
+ "src": 6,
191
+ "dst": 9,
192
+ "length": 1126.74
193
+ },
194
+ {
195
+ "id": 13,
196
+ "src": 9,
197
+ "dst": 10,
198
+ "length": 416.12
199
+ },
200
+ {
201
+ "id": 14,
202
+ "src": 1,
203
+ "dst": 0,
204
+ "length": 1482.26
205
+ },
206
+ {
207
+ "id": 15,
208
+ "src": 1,
209
+ "dst": 2,
210
+ "length": 649.31
211
+ },
212
+ {
213
+ "id": 16,
214
+ "src": 2,
215
+ "dst": 5,
216
+ "length": 2870.2
217
+ },
218
+ {
219
+ "id": 17,
220
+ "src": 5,
221
+ "dst": 4,
222
+ "length": 1360.7
223
+ },
224
+ {
225
+ "id": 18,
226
+ "src": 0,
227
+ "dst": 3,
228
+ "length": 2123.16
229
+ },
230
+ {
231
+ "id": 19,
232
+ "src": 1,
233
+ "dst": 3,
234
+ "length": 1949.85
235
+ },
236
+ {
237
+ "id": 20,
238
+ "src": 3,
239
+ "dst": 4,
240
+ "length": 1153.26
241
+ },
242
+ {
243
+ "id": 21,
244
+ "src": 7,
245
+ "dst": 8,
246
+ "length": 345.36
247
+ },
248
+ {
249
+ "id": 22,
250
+ "src": 7,
251
+ "dst": 4,
252
+ "length": 933.65
253
+ },
254
+ {
255
+ "id": 23,
256
+ "src": 6,
257
+ "dst": 5,
258
+ "length": 1471.24
259
+ },
260
+ {
261
+ "id": 24,
262
+ "src": 7,
263
+ "dst": 6,
264
+ "length": 912.61
265
+ },
266
+ {
267
+ "id": 25,
268
+ "src": 8,
269
+ "dst": 10,
270
+ "length": 1489.76
271
+ },
272
+ {
273
+ "id": 26,
274
+ "src": 9,
275
+ "dst": 6,
276
+ "length": 1126.74
277
+ },
278
+ {
279
+ "id": 27,
280
+ "src": 10,
281
+ "dst": 9,
282
+ "length": 416.12
283
+ }
284
+ ]
285
+ }