riftpoint 1.0.0__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.
@@ -0,0 +1,144 @@
1
+ Metadata-Version: 2.4
2
+ Name: riftpoint
3
+ Version: 1.0.0
4
+ Summary: High-performance multiversal checkpointer for LangGraph powered by Janus-Tachyon-RS
5
+ Keywords: agentic-ai,checkpointer,janus,langchain,langgraph,multiverse,speculative-execution,state-management
6
+ Author: Eduardo Ruiz
7
+ Author-email: Eduardo Ruiz <eduardo.j.ruiz@gmail.com>
8
+ License-Expression: MIT OR Apache-2.0
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: License :: OSI Approved :: Apache Software License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Classifier: Typing :: Typed
20
+ Requires-Dist: janus-tachyon-rs>=0.2.1,<0.3.0
21
+ Requires-Dist: langchain-core>=1.6.3,<2.0.0
22
+ Requires-Dist: langgraph>=1.2.11,<2.0.0
23
+ Requires-Dist: loguru>=0.7.3,<1.0.0
24
+ Requires-Python: >=3.11
25
+ Project-URL: Homepage, https://github.com/goldenphoenix713/RiftPoint
26
+ Project-URL: Repository, https://github.com/goldenphoenix713/RiftPoint
27
+ Project-URL: Issues, https://github.com/goldenphoenix713/RiftPoint/issues
28
+ Project-URL: Documentation, https://github.com/goldenphoenix713/RiftPoint#readme
29
+ Description-Content-Type: text/markdown
30
+
31
+ # RiftPoint 🌌
32
+
33
+ [![CI](https://github.com/goldenphoenix713/RiftPoint/actions/workflows/ci.yml/badge.svg)](https://github.com/goldenphoenix713/RiftPoint/actions/workflows/ci.yml)
34
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/release/python-3110/)
35
+ [![Core: Tachyon-RS](https://img.shields.io/badge/core-Janus--Tachyon--RS-orange.svg)](https://github.com/goldenphoenix713/janus)
36
+
37
+ > **High-performance multiversal checkpointer and speculative state engine for LangGraph, powered by Janus-Tachyon-RS.**
38
+
39
+ ---
40
+
41
+ ## 🌟 Overview
42
+
43
+ In standard LLM agent workflows, exploring alternative reasoning paths, evaluating multiple tool-use strategies, or testing speculative futures requires expensive state copying or complex DAG orchestration.
44
+
45
+ **RiftPoint** bridges [**LangGraph**](https://github.com/langchain-ai/langgraph) with the Rust-backed [**`janus-tachyon-rs`**](https://github.com/goldenphoenix713/janus) engine to provide:
46
+
47
+ - **Multiversal Branching:** Instant state forks into candidate realities with near-zero memory duplication penalty.
48
+ - **Speculative Tool Calling:** Concurrent execution of divergent tool-use strategies across distinct timeline branches.
49
+ - **Multiverse Collapse:** Automatic scoring of candidate timelines (via LLM-as-a-judge, heuristics, or consensus) to commit winning trajectories to `main` while pruning discarded paths.
50
+ - **Full State Travel & Tracing:** Interactive time travel, undo/redo, and timeline visualization via Mermaid.js and Matplotlib.
51
+
52
+ ---
53
+
54
+ ## 📚 Planning & Architecture Documentation
55
+
56
+ Detailed architectural blueprints and implementation phases are documented in [docs/planning](docs/planning/README.md):
57
+
58
+ - **[Master Architecture & Overview Plan](docs/planning/overview_plan.md)**
59
+ - **[Performance Benchmarks & Multiverse Capability Report](docs/BENCHMARKS.md)**
60
+ - **[Future Directions & Strategic Roadmap](docs/FUTURE_DIRECTIONS.md)**
61
+ - **[Phase 1: Core Janus Bridge & Sync Checkpointer](docs/planning/phase_1_core_bridge_and_sync_checkpointer.md)**
62
+ - **[Phase 2: Asynchronous Checkpointer](docs/planning/phase_2_async_checkpointer.md)**
63
+ - **[Phase 3: Branching & Speculative Execution Engine](docs/planning/phase_3_branching_and_speculative_runner.md)**
64
+ - **[Phase 4: Multiverse Collapse & Evaluation Engine](docs/planning/phase_4_multiverse_collapse_and_evaluation.md)**
65
+ - **[Phase 5: Visualization, Serialization & Tracing](docs/planning/phase_5_visualization_and_serialization.md)**
66
+
67
+ ---
68
+
69
+ ## 🚀 Quickstart
70
+
71
+ ### Installation
72
+
73
+ ```bash
74
+ pip install riftpoint
75
+ ```
76
+
77
+ *Or install with `uv`:*
78
+
79
+ ```bash
80
+ uv add riftpoint
81
+ ```
82
+
83
+ ### Basic Example
84
+
85
+ ```python
86
+ from langgraph.graph import StateGraph
87
+ from riftpoint import RiftCheckpointSaver
88
+
89
+ # Initialize the Janus-backed checkpointer
90
+ checkpointer = RiftCheckpointSaver()
91
+
92
+ # Build your LangGraph workflow
93
+ builder = StateGraph(...)
94
+ # ... define nodes and edges ...
95
+ graph = builder.compile(checkpointer=checkpointer)
96
+
97
+ # Run workflow with multiversal checkpointing
98
+ config = {"configurable": {"thread_id": "session-1"}}
99
+ result = graph.invoke({"messages": [...]}, config=config)
100
+
101
+ # Render the timeline DAG as a Mermaid diagram
102
+ print(checkpointer.visualize("session-1"))
103
+ ```
104
+
105
+ ---
106
+
107
+ ## 🛠️ Developer Commands
108
+
109
+ Development workflows use `uv`:
110
+
111
+ ```bash
112
+ # Sync dependencies
113
+ uv sync --all-groups
114
+
115
+ # Run tests with coverage requirement (>= 70%)
116
+ uv run pytest
117
+
118
+ # Lint and format
119
+ uv run ruff check --fix
120
+ uv run ruff format
121
+
122
+ # Type check
123
+ uv run mypy src tests
124
+
125
+ # Code complexity check (Radon Grade B or better)
126
+ uv run python scripts/check_radon.py src
127
+ ```
128
+
129
+ ---
130
+
131
+ ## 📚 Documentation & Roadmap
132
+
133
+ - **[Documentation Site](https://riftpoint.readthedocs.io/):** Full guides, API reference, and tutorials.
134
+ - **[Roadmap to v1.0](docs/ROADMAP_V1.md):** 5-pillar production readiness checklist toward GA release.
135
+ - **[Future Directions](docs/FUTURE_DIRECTIONS.md):** Long-term vision and feature exploration horizon.
136
+
137
+ ---
138
+
139
+ ## 📄 License
140
+
141
+ This project is dual-licensed under:
142
+
143
+ - **MIT License** ([LICENSE-MIT](LICENSE-MIT))
144
+ - **Apache License, Version 2.0** ([LICENSE-APACHE](LICENSE-APACHE))
@@ -0,0 +1,114 @@
1
+ # RiftPoint 🌌
2
+
3
+ [![CI](https://github.com/goldenphoenix713/RiftPoint/actions/workflows/ci.yml/badge.svg)](https://github.com/goldenphoenix713/RiftPoint/actions/workflows/ci.yml)
4
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/release/python-3110/)
5
+ [![Core: Tachyon-RS](https://img.shields.io/badge/core-Janus--Tachyon--RS-orange.svg)](https://github.com/goldenphoenix713/janus)
6
+
7
+ > **High-performance multiversal checkpointer and speculative state engine for LangGraph, powered by Janus-Tachyon-RS.**
8
+
9
+ ---
10
+
11
+ ## 🌟 Overview
12
+
13
+ In standard LLM agent workflows, exploring alternative reasoning paths, evaluating multiple tool-use strategies, or testing speculative futures requires expensive state copying or complex DAG orchestration.
14
+
15
+ **RiftPoint** bridges [**LangGraph**](https://github.com/langchain-ai/langgraph) with the Rust-backed [**`janus-tachyon-rs`**](https://github.com/goldenphoenix713/janus) engine to provide:
16
+
17
+ - **Multiversal Branching:** Instant state forks into candidate realities with near-zero memory duplication penalty.
18
+ - **Speculative Tool Calling:** Concurrent execution of divergent tool-use strategies across distinct timeline branches.
19
+ - **Multiverse Collapse:** Automatic scoring of candidate timelines (via LLM-as-a-judge, heuristics, or consensus) to commit winning trajectories to `main` while pruning discarded paths.
20
+ - **Full State Travel & Tracing:** Interactive time travel, undo/redo, and timeline visualization via Mermaid.js and Matplotlib.
21
+
22
+ ---
23
+
24
+ ## 📚 Planning & Architecture Documentation
25
+
26
+ Detailed architectural blueprints and implementation phases are documented in [docs/planning](docs/planning/README.md):
27
+
28
+ - **[Master Architecture & Overview Plan](docs/planning/overview_plan.md)**
29
+ - **[Performance Benchmarks & Multiverse Capability Report](docs/BENCHMARKS.md)**
30
+ - **[Future Directions & Strategic Roadmap](docs/FUTURE_DIRECTIONS.md)**
31
+ - **[Phase 1: Core Janus Bridge & Sync Checkpointer](docs/planning/phase_1_core_bridge_and_sync_checkpointer.md)**
32
+ - **[Phase 2: Asynchronous Checkpointer](docs/planning/phase_2_async_checkpointer.md)**
33
+ - **[Phase 3: Branching & Speculative Execution Engine](docs/planning/phase_3_branching_and_speculative_runner.md)**
34
+ - **[Phase 4: Multiverse Collapse & Evaluation Engine](docs/planning/phase_4_multiverse_collapse_and_evaluation.md)**
35
+ - **[Phase 5: Visualization, Serialization & Tracing](docs/planning/phase_5_visualization_and_serialization.md)**
36
+
37
+ ---
38
+
39
+ ## 🚀 Quickstart
40
+
41
+ ### Installation
42
+
43
+ ```bash
44
+ pip install riftpoint
45
+ ```
46
+
47
+ *Or install with `uv`:*
48
+
49
+ ```bash
50
+ uv add riftpoint
51
+ ```
52
+
53
+ ### Basic Example
54
+
55
+ ```python
56
+ from langgraph.graph import StateGraph
57
+ from riftpoint import RiftCheckpointSaver
58
+
59
+ # Initialize the Janus-backed checkpointer
60
+ checkpointer = RiftCheckpointSaver()
61
+
62
+ # Build your LangGraph workflow
63
+ builder = StateGraph(...)
64
+ # ... define nodes and edges ...
65
+ graph = builder.compile(checkpointer=checkpointer)
66
+
67
+ # Run workflow with multiversal checkpointing
68
+ config = {"configurable": {"thread_id": "session-1"}}
69
+ result = graph.invoke({"messages": [...]}, config=config)
70
+
71
+ # Render the timeline DAG as a Mermaid diagram
72
+ print(checkpointer.visualize("session-1"))
73
+ ```
74
+
75
+ ---
76
+
77
+ ## 🛠️ Developer Commands
78
+
79
+ Development workflows use `uv`:
80
+
81
+ ```bash
82
+ # Sync dependencies
83
+ uv sync --all-groups
84
+
85
+ # Run tests with coverage requirement (>= 70%)
86
+ uv run pytest
87
+
88
+ # Lint and format
89
+ uv run ruff check --fix
90
+ uv run ruff format
91
+
92
+ # Type check
93
+ uv run mypy src tests
94
+
95
+ # Code complexity check (Radon Grade B or better)
96
+ uv run python scripts/check_radon.py src
97
+ ```
98
+
99
+ ---
100
+
101
+ ## 📚 Documentation & Roadmap
102
+
103
+ - **[Documentation Site](https://riftpoint.readthedocs.io/):** Full guides, API reference, and tutorials.
104
+ - **[Roadmap to v1.0](docs/ROADMAP_V1.md):** 5-pillar production readiness checklist toward GA release.
105
+ - **[Future Directions](docs/FUTURE_DIRECTIONS.md):** Long-term vision and feature exploration horizon.
106
+
107
+ ---
108
+
109
+ ## 📄 License
110
+
111
+ This project is dual-licensed under:
112
+
113
+ - **MIT License** ([LICENSE-MIT](LICENSE-MIT))
114
+ - **Apache License, Version 2.0** ([LICENSE-APACHE](LICENSE-APACHE))
@@ -0,0 +1,274 @@
1
+ [project]
2
+ name = "riftpoint"
3
+ version = "1.0.0"
4
+ description = "High-performance multiversal checkpointer for LangGraph powered by Janus-Tachyon-RS"
5
+ readme = "README.md"
6
+ license = "MIT OR Apache-2.0"
7
+ requires-python = ">=3.11"
8
+ keywords = [
9
+ "agentic-ai",
10
+ "checkpointer",
11
+ "janus",
12
+ "langchain",
13
+ "langgraph",
14
+ "multiverse",
15
+ "speculative-execution",
16
+ "state-management",
17
+ ]
18
+ classifiers = [
19
+ "Development Status :: 5 - Production/Stable",
20
+ "Intended Audience :: Developers",
21
+ "License :: OSI Approved :: MIT License",
22
+ "License :: OSI Approved :: Apache Software License",
23
+ "Programming Language :: Python :: 3",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Programming Language :: Python :: 3.13",
27
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
28
+ "Topic :: Software Development :: Libraries :: Python Modules",
29
+ "Typing :: Typed",
30
+ ]
31
+ dependencies = [
32
+ "janus-tachyon-rs>=0.2.1,<0.3.0",
33
+ "langchain-core>=1.6.3,<2.0.0",
34
+ "langgraph>=1.2.11,<2.0.0",
35
+ "loguru>=0.7.3,<1.0.0",
36
+ ]
37
+
38
+ [[project.authors]]
39
+ name = "Eduardo Ruiz"
40
+ email = "eduardo.j.ruiz@gmail.com"
41
+
42
+ [project.urls]
43
+ Homepage = "https://github.com/goldenphoenix713/RiftPoint"
44
+ Repository = "https://github.com/goldenphoenix713/RiftPoint"
45
+ Issues = "https://github.com/goldenphoenix713/RiftPoint/issues"
46
+ Documentation = "https://github.com/goldenphoenix713/RiftPoint#readme"
47
+
48
+ [build-system]
49
+ requires = ["uv_build>=0.10.0,<0.13.0"]
50
+ build-backend = "uv_build"
51
+
52
+ [dependency-groups]
53
+ dev = [
54
+ "certifi>=2026.7.22",
55
+ "matplotlib>=3.8.0,<4.0.0",
56
+ "mypy>=2.3.1,<3.0.0",
57
+ "pre-commit>=4.0.0,<5.0.0",
58
+ "pytest>=9.1.1,<10.0.0",
59
+ "pytest-cov>=6.0.0,<7.0.0",
60
+ "radon>=6.0.1,<7.0.0",
61
+ "ruff>=0.16.7,<1.0.0",
62
+ ]
63
+ docs = [
64
+ "mkdocs>=1.6.0,<2.0.0",
65
+ "mkdocs-material>=9.5.0,<10.0.0",
66
+ "mkdocstrings[python]>=0.28.0,<1.0.0",
67
+ "pymdown-extensions>=10.14.0,<11.0.0",
68
+ ]
69
+
70
+ [tool.uv]
71
+ exclude-newer = "2026-09-12T00:00:00Z"
72
+
73
+ [tool.ruff]
74
+ target-version = "py311"
75
+ line-length = 88
76
+ indent-width = 4
77
+ exclude = [
78
+ ".git",
79
+ ".mypy_cache",
80
+ ".pytest_cache",
81
+ ".ruff_cache",
82
+ ".venv",
83
+ "build",
84
+ "dist",
85
+ "node_modules",
86
+ ]
87
+
88
+ [tool.ruff.lint]
89
+ select = [
90
+ "E",
91
+ "W",
92
+ "F",
93
+ "I",
94
+ "N",
95
+ "UP",
96
+ "YTT",
97
+ "S",
98
+ "BLE",
99
+ "FBT",
100
+ "B",
101
+ "A",
102
+ "COM",
103
+ "C4",
104
+ "DTZ",
105
+ "T10",
106
+ "EM",
107
+ "EXE",
108
+ "ISC",
109
+ "ICN",
110
+ "G",
111
+ "INP",
112
+ "PIE",
113
+ "T20",
114
+ "PYI",
115
+ "PT",
116
+ "Q",
117
+ "RSE",
118
+ "RET",
119
+ "SLF",
120
+ "SLOT",
121
+ "SIM",
122
+ "TID",
123
+ "TCH",
124
+ "INT",
125
+ "ARG",
126
+ "PTH",
127
+ "ERA",
128
+ "PGH",
129
+ "PL",
130
+ "TRY",
131
+ "FLY",
132
+ "PERF",
133
+ "FURB",
134
+ "LOG",
135
+ "RUF",
136
+ ]
137
+ ignore = [
138
+ "COM812",
139
+ "ISC001",
140
+ ]
141
+ fixable = ["ALL"]
142
+ unfixable = []
143
+
144
+ [tool.ruff.lint.flake8-bandit]
145
+ check-typed-exception = true
146
+
147
+ [tool.ruff.lint.isort]
148
+ known-first-party = ["riftpoint"]
149
+
150
+ [tool.ruff.lint.per-file-ignores]
151
+ "tests/**/*" = [
152
+ "S101",
153
+ "ARG",
154
+ "FBT",
155
+ "PLR2004",
156
+ "S105",
157
+ "S106",
158
+ "INP001",
159
+ "SLF001",
160
+ ]
161
+ "test*" = [
162
+ "S101",
163
+ "ARG",
164
+ "FBT",
165
+ "PLR2004",
166
+ "S105",
167
+ "S106",
168
+ "INP001",
169
+ "SLF001",
170
+ ]
171
+ "scripts/**/*" = [
172
+ "INP001",
173
+ "T201",
174
+ ]
175
+ "examples/**/*" = [
176
+ "INP001",
177
+ "T201",
178
+ "S101",
179
+ ]
180
+
181
+ [tool.ruff.format]
182
+ quote-style = "double"
183
+ indent-style = "space"
184
+ skip-magic-trailing-comma = false
185
+ line-ending = "auto"
186
+
187
+ [tool.mypy]
188
+ python_version = "3.11"
189
+ strict = true
190
+ warn_unused_configs = true
191
+ warn_redundant_casts = true
192
+ warn_unused_ignores = true
193
+ warn_no_return = true
194
+ warn_return_any = true
195
+ warn_unreachable = true
196
+ disallow_untyped_defs = true
197
+ disallow_incomplete_defs = true
198
+ check_untyped_defs = true
199
+ disallow_untyped_decorators = true
200
+ disallow_untyped_calls = true
201
+ disallow_subclassing_any = true
202
+ no_implicit_optional = true
203
+ show_error_codes = true
204
+ show_column_numbers = true
205
+ pretty = true
206
+
207
+ [[tool.mypy.overrides]]
208
+ module = "tests.*"
209
+ disallow_untyped_defs = false
210
+ disallow_incomplete_defs = false
211
+
212
+ [[tool.mypy.overrides]]
213
+ module = [
214
+ "radon.*",
215
+ "matplotlib.*",
216
+ ]
217
+ ignore_missing_imports = true
218
+
219
+ [tool.radon]
220
+ cc_min = "A"
221
+ cc_max = "B"
222
+ show_complexity = true
223
+ mi_min = "B"
224
+ show_mi = true
225
+ total_average = true
226
+ exclude = "test*,tests/*,.venv/*,build/*,dist/*"
227
+
228
+ [tool.pytest.ini_options]
229
+ minversion = "8.0"
230
+ testpaths = ["tests"]
231
+ python_files = [
232
+ "test_*.py",
233
+ "*_test.py",
234
+ ]
235
+ python_functions = ["test_*"]
236
+ python_classes = ["Test*"]
237
+ addopts = [
238
+ "-ra",
239
+ "-q",
240
+ "--cov=src",
241
+ "--cov-report=term-missing",
242
+ "--cov-report=html",
243
+ "--cov-fail-under=90",
244
+ ]
245
+
246
+ [tool.coverage.run]
247
+ branch = true
248
+ source = ["src"]
249
+ omit = [
250
+ "tests/*",
251
+ "test*",
252
+ "*/__pycache__/*",
253
+ ]
254
+
255
+ [tool.coverage.report]
256
+ fail_under = 90
257
+ show_missing = true
258
+ skip_covered = false
259
+ exclude_lines = [
260
+ "pragma: no cover",
261
+ "def __repr__",
262
+ "if self.debug:",
263
+ "if settings.DEBUG",
264
+ "raise AssertionError",
265
+ "raise NotImplementedError",
266
+ "if 0:",
267
+ "if __name__ == .__main__.:",
268
+ "if TYPE_CHECKING:",
269
+ 'class .*\bProtocol\):',
270
+ '@(abc\.)?abstractmethod',
271
+ ]
272
+
273
+ [tool.coverage.html]
274
+ directory = "htmlcov"