You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -14,60 +14,171 @@ This page presents the SolverForge project overview and official development roa
14
14
15
15
SolverForge is a high-performance, 100% Timefold-compatible constraint solver focused on delivering a first-class developer experience for Python and Rust.
16
16
17
-
## Core objective
17
+
## Core Objective
18
18
19
-
- Provide the Python and Rust ecosystems with a first-class, high-performance Constraint Programming and Optimization toolset
20
-
- Deliver a seamless developer experience and enable new workflows in ML, data science, and operations research
19
+
To provide the Rust, Python and broader language ecosystems with a first-class, high-performance Constraint Programming and Optimization solver, offering a seamless experience and unlocking new possibilities for the ML, data science, and systems programming communities.
Most JVM-backed Python tooling is limited by the interoperability layer between Python and Java. Our strategy is a ground-up rewrite of that layer in native Rust using `PyO3` and `JNI` so we can eliminate the bridge bottleneck and achieve near-native performance.
23
+
Unlike traditional approaches that rely on complex JNI bridges or interpreter overhead, SolverForge eliminates these bottlenecks entirely through a novel architecture:
25
24
26
-
## Roadmap
25
+
1.**WebAssembly-compiled constraints** - Constraint predicates are compiled to WASM and executed directly in the JVM via the Chicory WASM runtime
26
+
2.**HTTP/JSON communication** - Clean separation between language bindings and the solver service
27
+
3.**Native Rust core** - Language-agnostic core library with zero-cost abstractions
28
+
4.**No JNI complexity** - Pure HTTP interface eliminates the need for platform-specific native bindings
27
29
28
-
We’re executing a three-phase plan to preserve continuity for current users while delivering a production-ready native solution.
30
+
This architecture provides near-native performance while maintaining complete language independence.
29
31
30
-
### Phase 1 — Stabilize the legacy bridge (Present → Q4 2025)
31
-
Objective: Maintain continuity for existing Timefold users with a supported, debranded continuation of the old Python API.
32
-
33
-
Key deliverables:
34
-
-`solverforge-legacy` (released): a maintained fork of Timefold 1.24.0. Installable via `pip install solverforge-legacy`. Serves as a stable baseline for production users.
35
-
-`solverforge-quickstarts`: central repository of quickstarts and reproducible benchmarks.
36
-
Status: Complete — provides continuity for existing projects.
Objective: Harden the Rust solver for production, publish stable packages, deepen documentation, and expand integrations into the ML ecosystem.
52
-
53
-
Key deliverables:
54
-
- Production PyPI package: `blackops` (expected `pip install blackops`).
55
-
- Full documentation: installation, migration notes from Timefold, and advanced usage patterns.
56
-
- Advanced quickstarts: predictive and ML-integrated scheduling examples (e.g., simple regressors to forecast demand).
57
-
- Native Rust API: a first-class Rust client for pure Rust applications.
58
-
- Near-zero-overhead `PyO3` Python API.
59
-
- HuggingFace engagement: Dockerized quickstarts and example models to attract ML practitioners.
60
-
61
-
## How you can contribute
62
-
63
-
This project thrives on community involvement. You can help in several ways:
64
-
65
-
- Test & benchmark: try `solverforge-legacy` and run examples from `solverforge-quickstarts`. Report issues, share performance numbers, and attach reproducible benchmarks.
66
-
- Join the discussion: tell us which features, integrations, or APIs matter most for your workflows.
67
-
- Contribute code: PRs, bug fixes, and documentation improvements are welcome.
68
-
- Spread the word: star the repositories and share the project with colleagues in scheduling, optimization, and ML.
69
-
70
-
## Where to go next
71
-
72
-
- Quickstart guides: see the project’s quickstart guides in the docs.
73
-
- Examples & quickstarts: explore `solverforge-quickstarts` for reproducible examples and benchmarks.
0 commit comments