Metadata-Version: 2.4
Name: bmssp
Version: 0.1.0
Summary: Bounded Multi-Source Shortest Path algorithm breaking the sorting barrier
Author-email: Guja Lomsadze <lomsadze.guja@gmail.com>
Maintainer-email: Guja Lomsadze <lomsadze.guja@gmail.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/GujaLomsadze/BMSSP
Project-URL: Documentation, https://bmssp.readthedocs.io
Project-URL: Repository, https://github.com/GujaLomsadze/BMSSP
Project-URL: Bug Tracker, https://github.com/GujaLomsadze/BMSSP/issues
Keywords: graph,shortest-path,algorithms,dijkstra,optimization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.20.0
Requires-Dist: networkx>=2.5
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=2.0; extra == "dev"
Requires-Dist: black>=21.0; extra == "dev"
Requires-Dist: isort>=5.0; extra == "dev"
Requires-Dist: flake8>=3.8; extra == "dev"
Requires-Dist: mypy>=0.800; extra == "dev"
Requires-Dist: pre-commit>=2.0; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=4.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "docs"
Provides-Extra: benchmarks
Requires-Dist: matplotlib>=3.3; extra == "benchmarks"
Requires-Dist: pandas>=1.3; extra == "benchmarks"
Requires-Dist: seaborn>=0.11; extra == "benchmarks"
Requires-Dist: memory-profiler>=0.58; extra == "benchmarks"
Dynamic: license-file

# BMSSP: Bounded Multi-Source Shortest Path

[![PyPI version](https://badge.fury.io/py/bmssp.svg)](https://badge.fury.io/py/bmssp)

A Python implementation of the breakthrough **O(m log^(2/3) n)** shortest path algorithm that breaks the 60-year-old "
sorting barrier" for directed graphs.

### Based on the groundbreaking research: ["Breaking the Sorting Barrier for Directed Single-Source Shortest Paths"](https://arxiv.org/abs/2504.17033)

## 📦 Installation

```bash
pip install bmssp
```

## 🔥 Quick Start

# THIS IS NOT IMPLEMENTED YET

```python
import bmssp
import networkx as nx

# Create a graph
G = nx.DiGraph()
G.add_weighted_edges_from([(0, 1, 4), (0, 2, 2), (1, 2, 1), (2, 3, 5)])

# Find shortest paths from source 0
distances = bmssp.single_source_shortest_path(G, source=0)
print(distances)  # {0: 0, 1: 4, 2: 2, 3: 7}
```
