edsger 0.1.1__cp312-cp312-macosx_11_0_arm64.whl → 0.1.3__cp312-cp312-macosx_11_0_arm64.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.
- edsger/_version.py +1 -1
- edsger/commons.c +151 -147
- edsger/commons.cpython-312-darwin.so +0 -0
- edsger/dijkstra.c +7197 -2762
- edsger/dijkstra.cpython-312-darwin.so +0 -0
- edsger/dijkstra.pyx +525 -0
- edsger/path.py +145 -37
- edsger/path_tracking.c +151 -147
- edsger/path_tracking.cpython-312-darwin.so +0 -0
- edsger/path_tracking.pyx +2 -2
- edsger/pq_4ary_dec_0b.c +203 -199
- edsger/pq_4ary_dec_0b.cpython-312-darwin.so +0 -0
- edsger/pq_4ary_dec_0b.pxd +7 -7
- edsger/pq_4ary_dec_0b.pyx +14 -16
- edsger/prefetch_compat.h +21 -0
- edsger/spiess_florian.c +157 -176
- edsger/spiess_florian.cpython-312-darwin.so +0 -0
- edsger/star.c +151 -147
- edsger/star.cpython-312-darwin.so +0 -0
- edsger/star.pyx +3 -3
- {edsger-0.1.1.dist-info → edsger-0.1.3.dist-info}/METADATA +18 -11
- edsger-0.1.3.dist-info/RECORD +33 -0
- edsger-0.1.1.dist-info/RECORD +0 -32
- {edsger-0.1.1.dist-info → edsger-0.1.3.dist-info}/WHEEL +0 -0
- {edsger-0.1.1.dist-info → edsger-0.1.3.dist-info}/licenses/AUTHORS.rst +0 -0
- {edsger-0.1.1.dist-info → edsger-0.1.3.dist-info}/licenses/LICENSE +0 -0
- {edsger-0.1.1.dist-info → edsger-0.1.3.dist-info}/top_level.txt +0 -0
Binary file
|
edsger/star.pyx
CHANGED
@@ -204,7 +204,7 @@ cdef void _coo_to_csr_uint32(
|
|
204
204
|
cnp.uint32_t [::1] Ax,
|
205
205
|
cnp.uint32_t [::1] Bp,
|
206
206
|
cnp.uint32_t [::1] Bj,
|
207
|
-
cnp.uint32_t [::1] Bx) nogil
|
207
|
+
cnp.uint32_t [::1] Bx) noexcept nogil:
|
208
208
|
|
209
209
|
cdef:
|
210
210
|
size_t i, row, dest
|
@@ -280,7 +280,7 @@ cpdef void _coo_to_csr_float64(
|
|
280
280
|
cnp.float64_t [::1] Ax,
|
281
281
|
cnp.uint32_t [::1] Bp,
|
282
282
|
cnp.uint32_t [::1] Bj,
|
283
|
-
cnp.float64_t [::1] Bx) nogil
|
283
|
+
cnp.float64_t [::1] Bx) noexcept nogil:
|
284
284
|
|
285
285
|
cdef:
|
286
286
|
size_t i, row, dest
|
@@ -318,7 +318,7 @@ cpdef void _coo_to_csc_float64(
|
|
318
318
|
cnp.float64_t [::1] Ax,
|
319
319
|
cnp.uint32_t [::1] Bp,
|
320
320
|
cnp.uint32_t [::1] Bi,
|
321
|
-
cnp.float64_t [::1] Bx) nogil
|
321
|
+
cnp.float64_t [::1] Bx) noexcept nogil:
|
322
322
|
|
323
323
|
cdef:
|
324
324
|
size_t i, col, dest
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: edsger
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.3
|
4
4
|
Summary: Graph algorithms in Cython.
|
5
5
|
Author-email: François Pacull <francois.pacull@architecture-performance.fr>
|
6
6
|
Maintainer-email: François Pacull <francois.pacull@architecture-performance.fr>
|
@@ -42,7 +42,7 @@ Dynamic: license-file
|
|
42
42
|
|
43
43
|

|
44
44
|
[](https://codecov.io/gh/aetperf/edsger)
|
45
|
-
[](https://pypi.org/project/edsger/)
|
45
|
+
[](https://pypi.org/project/edsger/)
|
46
46
|
[](https://pepy.tech/project/edsger)
|
47
47
|
[](https://pypi.org/project/edsger/)
|
48
48
|
[](https://github.com/psf/black)
|
@@ -70,20 +70,19 @@ from edsger.path import Dijkstra
|
|
70
70
|
edges = pd.DataFrame({
|
71
71
|
'tail': [0, 0, 1, 2, 2, 3],
|
72
72
|
'head': [1, 2, 2, 3, 4, 4],
|
73
|
-
'weight': [1, 4, 2, 1, 3, 1]
|
73
|
+
'weight': [1, 4, 2, 1.5, 3, 1]
|
74
74
|
})
|
75
75
|
edges
|
76
76
|
```
|
77
77
|
|
78
78
|
| | tail | head | weight |
|
79
79
|
|---:|-------:|-------:|---------:|
|
80
|
-
| 0 | 0 | 1 |
|
81
|
-
| 1 | 0 | 2 |
|
82
|
-
| 2 | 1 | 2 |
|
83
|
-
| 3 | 2 | 3 |
|
84
|
-
| 4 | 2 | 4 |
|
85
|
-
| 5 | 3 | 4 |
|
86
|
-
|
80
|
+
| 0 | 0 | 1 | 1.0 |
|
81
|
+
| 1 | 0 | 2 | 4.0 |
|
82
|
+
| 2 | 1 | 2 | 2.0 |
|
83
|
+
| 3 | 2 | 3 | 1.5 |
|
84
|
+
| 4 | 2 | 4 | 3.0 |
|
85
|
+
| 5 | 3 | 4 | 1.0 |
|
87
86
|
|
88
87
|
```python
|
89
88
|
# Initialize the Dijkstra object
|
@@ -94,10 +93,18 @@ shortest_paths = dijkstra.run(vertex_idx=0)
|
|
94
93
|
print("Shortest paths:", shortest_paths)
|
95
94
|
```
|
96
95
|
|
97
|
-
Shortest paths: [0.
|
96
|
+
Shortest paths: [0. 1. 3. 4.5 5.5]
|
98
97
|
|
99
98
|
We get the shortest paths from the source node 0 to all other nodes in the graph. The output is an array with the shortest path length to each node. A path length is the sum of the weights of the edges in the path.
|
100
99
|
|
100
|
+
## Why Use Edsger?
|
101
|
+
|
102
|
+
Edsger is designed to be **dataframe-friendly**, providing seamless integration with pandas workflows for graph algorithms. Also it is rather efficient. Our benchmarks on the USA road network (23.9M vertices, 57.7M edges) demonstrate nice performance:
|
103
|
+
|
104
|
+
<img src="https://raw.githubusercontent.com/aetperf/edsger/release/docs/source/assets/dijkstra_benchmark_comparison.png" alt="Dijkstra Performance Comparison" width="700">
|
105
|
+
|
106
|
+
*Benchmark performed on Intel i9-12900H Linux laptop.*
|
107
|
+
|
101
108
|
## Contributing
|
102
109
|
|
103
110
|
We welcome contributions to the Edsger library. If you have any suggestions, bug reports, or feature requests, please open an issue on our [GitHub repository](https://github.com/aetperf/Edsger).
|
@@ -0,0 +1,33 @@
|
|
1
|
+
edsger-0.1.3.dist-info/RECORD,,
|
2
|
+
edsger-0.1.3.dist-info/WHEEL,sha256=CltXN3lQvXbHxKDtiDwW0RNzF8s2WyBuPbOAX_ZeQlA,109
|
3
|
+
edsger-0.1.3.dist-info/top_level.txt,sha256=QvhzFORJIIot6GzSnDrtGa9KQt9iifCbOC5ULlzY5dg,7
|
4
|
+
edsger-0.1.3.dist-info/METADATA,sha256=VIl3bBYZofqpREwu1Z-vxagJXIR5rc7-62uslSQ6Yps,5196
|
5
|
+
edsger-0.1.3.dist-info/licenses/LICENSE,sha256=eNjfz5CInLrVdczJbhazCKtb8-0qB0UaXZ3bXN0zio0,1111
|
6
|
+
edsger-0.1.3.dist-info/licenses/AUTHORS.rst,sha256=9lqpqjiC4XukK7jdxXwKJJrddqwCV2DjpYTqhpP6znA,105
|
7
|
+
edsger/commons.cpython-312-darwin.so,sha256=6XmE0zqkuasKzQjGqU9fjAgVzBdxiwlGioMiQZknQJg,57680
|
8
|
+
edsger/star.cpython-312-darwin.so,sha256=-NRIJ2JgOKjd7wLNKXsMVnPxVyCveOcowY0_IhBlmmI,242456
|
9
|
+
edsger/spiess_florian.c,sha256=7I3cr9qQ44M4tbYJ6Iwwz6Me4MJuC0sjOKDsV6psOKc,1355775
|
10
|
+
edsger/dijkstra.c,sha256=GEsFDl1brNAGs2YOV5l_dsycu-Ryi8V8rYESBsZpxOk,1657403
|
11
|
+
edsger/_version.py,sha256=R5TtpJu7Qu6sOarfDpp-5Oyy8Pi2Ir3VewCvsCQiAgo,21
|
12
|
+
edsger/pq_4ary_dec_0b.cpython-312-darwin.so,sha256=1UaAE4EliAiPumxf21KQBGwLRWeXV8YvXVAPm93HrQ8,229448
|
13
|
+
edsger/dijkstra.cpython-312-darwin.so,sha256=FQpEhLwJ8RE2YJj9rK_G6OgQgy8t0OMsT20n4D75vts,348768
|
14
|
+
edsger/commons.c,sha256=PlLwzX8qf1cC2CCn6yYfinnJ2omb4Bp8pV67UO6wTAA,343009
|
15
|
+
edsger/star.c,sha256=aLiUfrm_28jxcFAGJbV_onUSAnM9RkATDCvlCOp-u58,1319073
|
16
|
+
edsger/commons.pyx,sha256=rPWrq1zfN_IuTgLgvvQe8ma7bU1e3V8lWbBEFH5Vaw8,805
|
17
|
+
edsger/pq_4ary_dec_0b.pxd,sha256=MbQuP1y1t6_2fJRkpqRPV2lmatwfqOxjsrb1GLfEudA,1065
|
18
|
+
edsger/__init__.py,sha256=CoqO_GHq5NC94S2JrYjf6dVGOKnxJ2TRBDOjikyscOY,40
|
19
|
+
edsger/prefetch_compat.h,sha256=6HfoyHI0dQE_MDsYHjUiX77Hg_z8eH6kRwN_5RAhbYo,806
|
20
|
+
edsger/path_tracking.c,sha256=fwChZkq_kMW5QYPKEM7YeX-oyIL9eoKLbWJoVGKrbqI,1143939
|
21
|
+
edsger/spiess_florian.pyx,sha256=9CrcMyzwSXaC_EdSl1uiD9yhFH6ACtooZOMfYw6vhvA,9566
|
22
|
+
edsger/pq_4ary_dec_0b.c,sha256=X-DbS5skkNkuiMJEfAFHC0WeOPDmpjGunNlmEBscASY,1367251
|
23
|
+
edsger/spiess_florian.cpython-312-darwin.so,sha256=AlGkYlB85MA6yE6QVYnWKed5sfFlHaiYJA51rcJv-yE,261432
|
24
|
+
edsger/networks.py,sha256=o_dKC6fcxsqWr3fE0m5sUQkpZO-0B2x-w51l_1fyzAc,10316
|
25
|
+
edsger/path_tracking.cpython-312-darwin.so,sha256=AOpied_TDZdqT0XBMkwvvQNbYcq9A0b2-eZOGmgxiog,190432
|
26
|
+
edsger/commons.pxd,sha256=P9-n7ChbSIMSBRRY_lY3gBwXYUSvqJG-S_6e0dZTYU8,439
|
27
|
+
edsger/.gitignore,sha256=tWvEr3sBkY2ODntRp4_IUz3cidH-xu1efiOQK9DfK04,12
|
28
|
+
edsger/utils.py,sha256=igl2xDpkjTuQ5fhDdynQ0ekMSva52BstrTsZaTtE2RI,2034
|
29
|
+
edsger/pq_4ary_dec_0b.pyx,sha256=fRJCT79GsCocZgpostfn7t5nkNQALK0A93OJK4fxJR0,17796
|
30
|
+
edsger/path_tracking.pyx,sha256=uO06fzL8V5KeI3w5FPVJJ13ZtdFGTol6oUjVX4Jjxxs,1807
|
31
|
+
edsger/path.py,sha256=4hwoXiaepp_twwEQMmlygFsYy1HcxtZmR1HSvNStUC4,34874
|
32
|
+
edsger/dijkstra.pyx,sha256=R8DM9LlHXUOZ38t7qINaB1t_QBP_aeWBOqIHHVN9W10,36513
|
33
|
+
edsger/star.pyx,sha256=MVS4kylmMAXOHm8liTfTMLzrr0jhA3cRU3-KCfVjNNM,9246
|
edsger-0.1.1.dist-info/RECORD
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
edsger/commons.cpython-312-darwin.so,sha256=U-v7ZkWN2EgXG-mXwi3DL6Fi75S0pxyOM_CjSQHvyuU,57360
|
2
|
-
edsger/star.cpython-312-darwin.so,sha256=uhCYvfrtOXWs6UXjYXJEulWLMGGtAzPWVNAolFLrWHE,240312
|
3
|
-
edsger/spiess_florian.c,sha256=PdAwDfdGt7v2hN1cBr3QZ8rE_1LLQK4WuGGqMDrPWAM,1356872
|
4
|
-
edsger/dijkstra.c,sha256=zYYwO4-X-Gty8d59DThOjcxO8M5CcsWzE2v5gKf5Cis,1429833
|
5
|
-
edsger/_version.py,sha256=8oAxKUG747GUokmxjkrWejyJa5yPNEsoJDlXxoedxTw,21
|
6
|
-
edsger/pq_4ary_dec_0b.cpython-312-darwin.so,sha256=XGN7EFEJa2WHiGjin9Z9Vm4WKTxIBI4jR9fueYDS6Zk,226760
|
7
|
-
edsger/dijkstra.cpython-312-darwin.so,sha256=ehAeydHlpVIvFubb2QS5eSC9vUgNTNbibrQsybieBZU,275904
|
8
|
-
edsger/commons.c,sha256=dMf5ciQ76dD33uYMNwd6eZ4UBD8WqrS0eVOsucQLdQ8,342928
|
9
|
-
edsger/star.c,sha256=5FxqSn1ENyXlmfWAqKfS0ZrVLdRr3UfqB4mjcCAeJgc,1318992
|
10
|
-
edsger/commons.pyx,sha256=rPWrq1zfN_IuTgLgvvQe8ma7bU1e3V8lWbBEFH5Vaw8,805
|
11
|
-
edsger/pq_4ary_dec_0b.pxd,sha256=l-FIgqJzd8Oelh0DgvqPe59ZMQeo2R3qjPXQwgRGX0w,1002
|
12
|
-
edsger/__init__.py,sha256=CoqO_GHq5NC94S2JrYjf6dVGOKnxJ2TRBDOjikyscOY,40
|
13
|
-
edsger/path_tracking.c,sha256=1Wrd7fdt5PHUpfyRxEMUfhAieoU4kkGvb1qZq62L9Ak,1143858
|
14
|
-
edsger/spiess_florian.pyx,sha256=9CrcMyzwSXaC_EdSl1uiD9yhFH6ACtooZOMfYw6vhvA,9566
|
15
|
-
edsger/pq_4ary_dec_0b.c,sha256=QBH-tPb5GZiLgQl5tQHs_JxtIUX3kftD1DkZ2mIjOEo,1367247
|
16
|
-
edsger/spiess_florian.cpython-312-darwin.so,sha256=JltzIo92KwwrAF6rojyABpgGlFIK__dd_AXsFsXpHoA,259368
|
17
|
-
edsger/networks.py,sha256=o_dKC6fcxsqWr3fE0m5sUQkpZO-0B2x-w51l_1fyzAc,10316
|
18
|
-
edsger/path_tracking.cpython-312-darwin.so,sha256=K0wyF0S8amvTT-xv6smBMeUsMLhZ49m_27zdUWTBKrg,188768
|
19
|
-
edsger/commons.pxd,sha256=P9-n7ChbSIMSBRRY_lY3gBwXYUSvqJG-S_6e0dZTYU8,439
|
20
|
-
edsger/.gitignore,sha256=tWvEr3sBkY2ODntRp4_IUz3cidH-xu1efiOQK9DfK04,12
|
21
|
-
edsger/utils.py,sha256=igl2xDpkjTuQ5fhDdynQ0ekMSva52BstrTsZaTtE2RI,2034
|
22
|
-
edsger/pq_4ary_dec_0b.pyx,sha256=mWZUpnybIH9i8KoPYZV_l9cXkbpQz5GvXi_VUIuYwGo,17829
|
23
|
-
edsger/path_tracking.pyx,sha256=nv3TUqlXaVNOVHexZumK0pScMlCHOsxaraeo1hO3HKU,1807
|
24
|
-
edsger/path.py,sha256=chpFtMyCRLlYiYDqES9EzwGF4anHteF_u0oQMuvCakA,29609
|
25
|
-
edsger/dijkstra.pyx,sha256=8LScm1j_5juXNrPQbM_n6x-G8P6HihzMmT4Nt3FP7gU,16326
|
26
|
-
edsger/star.pyx,sha256=8evOrVygSLI-mMXsXFBfcw9qTqkeo3Ncm0ua5jjEMwE,9246
|
27
|
-
edsger-0.1.1.dist-info/RECORD,,
|
28
|
-
edsger-0.1.1.dist-info/WHEEL,sha256=CltXN3lQvXbHxKDtiDwW0RNzF8s2WyBuPbOAX_ZeQlA,109
|
29
|
-
edsger-0.1.1.dist-info/top_level.txt,sha256=QvhzFORJIIot6GzSnDrtGa9KQt9iifCbOC5ULlzY5dg,7
|
30
|
-
edsger-0.1.1.dist-info/METADATA,sha256=XFq5xeiFwVheYlfC8ApWaFwqoUI8uQZ0272_gQhZQbQ,4678
|
31
|
-
edsger-0.1.1.dist-info/licenses/LICENSE,sha256=eNjfz5CInLrVdczJbhazCKtb8-0qB0UaXZ3bXN0zio0,1111
|
32
|
-
edsger-0.1.1.dist-info/licenses/AUTHORS.rst,sha256=9lqpqjiC4XukK7jdxXwKJJrddqwCV2DjpYTqhpP6znA,105
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|