Verified Availability Matrix
Checked against each registry's public API. Click a registry to view the live listing.
| SDK | Registry | Coordinates | Latest | Install | Status |
|---|---|---|---|---|---|
| Python | PyPI | webweavex |
3.0.1 | pip install webweavex |
Published |
| JavaScript / TypeScript | npm | webweavex |
3.0.0 | npm install webweavex |
Published |
| Dart / Flutter | pub.dev | webweavex |
3.0.0 | dart pub add webweavex |
Published |
| Java | Maven Central | io.github.piyush-mishra-00:webweavex |
3.0.0 | implementation 'io.github.piyush-mishra-00:webweavex:3.0.0' |
Published |
| Kotlin | GitHub branch | webweavex-kotlin-3.0.0.jar |
3.0.0 | Download JAR → implementation(files(...)) |
Direct JAR |
Status of the JVM SDKs. Java is published to Maven Central as
io.github.piyush-mishra-00:webweavex:3.0.0 (jar, sources, javadoc, GPG-signed, released
24 July 2026). The older io.webweavex:webweavex coordinate found in some documentation is
wrong — that groupId returns 404. Kotlin is not on Maven Central; no
webweavex-kotlin artifact exists under any groupId. Use the prebuilt JAR from the
kotlin branch, documented below.
Repository Layout
The main branch holds documentation and this site. Each SDK lives on its own long-lived branch,
so a clone of main contains no SDK source. Use git clone -b <branch> to fetch one.
| Branch | Contents | Build entry point |
|---|---|---|
main | Docs portal, README, this site | — |
python | webweavex/ package + core/ engines | pyproject.toml |
javascript | src/ TypeScript sources | package.json (tsup) |
dart | lib/webweavex.dart + lib/src/ | pubspec.yaml |
java | java/src/main/java/io/webweavex/ | java/pom.xml (published to Central) |
kotlin | kotlin/src/ + kotlin/dist/*.jar | kotlin/build.gradle.kts |
Python — PyPI Published
The Python SDK is the reference implementation. Every other SDK is certified byte-for-byte against it. Requires Python 3.10+. Latest published version: 3.0.1.
pip install webweavex
# with browser automation (Playwright)
pip install "webweavex[browser]"
python -m playwright install chromium
# everything
pip install "webweavex[full]"
Canonical pipeline
from webweavex import UniversalInput, run_canonical_pipeline
spec = UniversalInput(
source="https://example.com",
source_type="web",
)
result = run_canonical_pipeline(spec)
print(result.pipeline_hash) # deterministic SHA-256 digest
Extraction helpers
from webweavex import (
extract, extract_async, extract_repo, extract_docs,
extract_web, extract_repository, extract_multimodal,
)
# Generic entry point
doc = extract("https://example.com")
# Repository cognition — builds a knowledge graph of a codebase
repo = extract_repository("./my-project")
# Multimodal (images, PDFs, documents)
media = extract_multimodal("./report.pdf")
Runtime graph & replay
from webweavex import (
build_runtime_graph, query_runtime_graph,
compute_global_runtime_fingerprint,
validate_replay_equivalence,
)
graph = build_runtime_graph([ir_a, ir_b])
nodes = query_runtime_graph(graph, {"type": "element"})
fp = compute_global_runtime_fingerprint(graph)
# Prove two runs are topologically identical
assert validate_replay_equivalence(run_one, run_two)
Kaalka v5 encryption & session persistence
from webweavex import (
encrypt_value, decrypt_value,
encrypt_session_state, decrypt_session_state,
save_encrypted_session, load_encrypted_session,
compute_kaalka_hash, fingerprint,
)
blob = encrypt_session_state({"auth_token": "..."})
save_encrypted_session("session.enc", blob)
restored = decrypt_session_state(load_encrypted_session("session.enc"))
Import surface. webweavex/__init__.py re-exports
173 names in __all__ from the internal core.* engine packages.
Import from the top-level webweavex package only — core.* is internal and unstable.
JavaScript / TypeScript — npm Published
Dual ESM + CommonJS build with bundled TypeScript declarations. Requires Node.js 18+. Latest published version: 3.0.0.
npm install webweavex
# or
pnpm add webweavex
yarn add webweavex
Canonical pipeline
import { UniversalInput, runCanonicalPipeline, VERSION } from "webweavex";
const input = new UniversalInput({
source: "https://example.com",
sourceType: "web",
});
const result = await runCanonicalPipeline(input);
console.log(VERSION, result.pipelineHash);
Browser & authenticated runtime
import {
extractWeb, renderPage, captureRuntime,
createRuntimeSession, persistRuntimeSession, restoreRuntimeSession,
continueAuthenticatedRuntime, extractWithSession,
detectSpaFramework, stabilizeSpaDom,
} from "webweavex";
const session = await createRuntimeSession({ source: "https://app.example.com" });
await persistRuntimeSession(session, "session.enc");
// Later — resume without re-authenticating
const resumed = await restoreRuntimeSession("session.enc");
const page = await extractWithSession("https://app.example.com/dashboard", resumed);
Determinism, replay & reconstruction
import {
computeGlobalRuntimeFingerprint,
computeStableDomHash, computeSpaFingerprint,
validateReplayEquivalence, replayRuntimeState,
reconstructRuntime, rebuildExecutionGraph,
} from "webweavex";
const domHash = computeStableDomHash(html);
const equal = validateReplayEquivalence(runA, runB);
const rebuilt = reconstructRuntime(intermediateRepresentation);
Memory fabric
import {
buildRuntimeMemory, mergeRuntimeMemories, queryRuntimeMemory,
saveRuntimeMemory, loadRuntimeMemory, stableMemoryHash,
} from "webweavex";
const mem = buildRuntimeMemory(extractions);
const merged = mergeRuntimeMemories([mem, priorMemory]);
await saveRuntimeMemory(merged, "memory.enc");
Dart / Flutter — pub.dev Published
Pure-Dart implementation including a BeautifulSoup-parity HTML engine, so it runs on Flutter mobile, Dart server, and Dart CLI with no native bridge. Latest published version: 3.0.0.
dart pub add webweavex
# Flutter
flutter pub add webweavex
Canonical, Python-aligned API
import 'package:webweavex/webweavex.dart';
void main() {
// Python-aligned canonical entry points
final fp = computeGlobalRuntimeFingerprint(graph);
final ok = validateReplayEquivalence(runA, runB);
final rebuilt = reconstructRuntime(ir);
print('fingerprint: $fp replay-equivalent: $ok');
}
HTML extraction with the bundled Soup engine
import 'package:webweavex/webweavex.dart';
void main() {
final soup = Soup(htmlString);
final semantic = extractSemanticHtml(htmlString);
final content = extractSemanticContent(htmlString);
// Ingestion auto-detects the input kind
final kind = detectInputType(source);
final data = ingestInput(source);
}
Adaptive & interaction engines
import 'package:webweavex/webweavex.dart';
// Repair a selector that drifted between releases
final healed = healSelector(brokenSelector, dom);
final anchor = buildSemanticAnchor(element);
// Replay a recorded interaction sequence
replayInteractions(recordedEvents);
// Pagination and modal recovery
final pages = extractPaginatedContent(config);
final modal = recoverModalRuntime(state);
Java — Maven Central Published
Published to Maven Central on 24 July 2026 with jar, sources, javadoc and GPG signatures. The artifact is 374 KB containing 102 classes across 32 packages.
io.github.piyush-mishra-00, not io.webweavex. Older documentation
advertised io.webweavex:webweavex, which does not exist — that groupId returns 404 on
Maven Central. If your build fails to resolve, this is almost certainly why.
1. Declare the dependency
<dependency>
<groupId>io.github.piyush-mishra-00</groupId>
<artifactId>webweavex</artifactId>
<version>3.0.0</version>
</dependency>
dependencies {
implementation("io.github.piyush-mishra-00:webweavex:3.0.0")
}
implementation 'io.github.piyush-mishra-00:webweavex:3.0.0'
2. Use it — determinism, fingerprint, graph, replay
This is the RealWorldValidation example that ships inside the published artifact
(io.webweavex.examples), so it is guaranteed to compile against 3.0.0.
import io.webweavex.WebWeaveX;
import io.webweavex.crypto.Hashing;
import io.webweavex.determinism.GlobalRuntimeFingerprint;
import io.webweavex.determinism.StableSerialize;
import io.webweavex.graph.RuntimeGraph;
import io.webweavex.replay.ReplayEquivalence;
import java.util.*;
public class App {
public static void main(String[] args) {
System.out.println("WebWeaveX Java SDK v" + WebWeaveX.VERSION);
// 1. Deterministic canonical serialization
Map<String, Object> data = new LinkedHashMap<>();
data.put("b", 2);
data.put("a", 1);
String canonical = StableSerialize.stableSerialize(data);
String hash = Hashing.computeDeterministicHash(data);
// 2. Global runtime fingerprint
String fp = GlobalRuntimeFingerprint.compute(new HashMap<>());
// 3. Graph normalization
Map<String, Object> graph = RuntimeGraph.normalizeRuntimeGraph(
Map.of("nodes", List.of(Map.of("id", "1")), "edges", List.of()));
// 4. Replay equivalence
Map<String, Object> env = Map.of("browser_ir", Map.of("runtime_identity", "test"));
Map<String, Object> r = ReplayEquivalence.validate(env, new LinkedHashMap<>(env));
System.out.println("equivalent=" + r.get("equivalent"));
}
}
3. Runtime kernel pipeline
import io.webweavex.kernel.RuntimeKernel;
import io.webweavex.kernel.UniversalInput;
import java.util.Map;
UniversalInput input = UniversalInput.of("https://example.com")
.sourceType("web")
.tick(0L)
.build();
RuntimeKernel kernel = RuntimeKernel.getRuntimeKernel("web");
Map<String, Object> result = kernel.runPipeline(input.toDict(), 0L);
Building from source instead
git clone -b java https://github.com/ni-sh-a-char/WebWeaveX.git
cd WebWeaveX/java
mvn clean install
The Java tree mirrors the Python engine package-for-package under io.webweavex.* —
adaptive, application, ast, auth, causality,
connectors, determinism, distributed, graph,
kernel, memory, replay, repository and more.
Parity against the Python golden vectors is enforced in CI by the java-parity and
parity-regression workflows on the java branch.
Kotlin — Prebuilt JAR Direct JAR
A compiled, ready-to-use JAR ships in the repository at
kotlin/dist/webweavex-kotlin-3.0.0.jar on the kotlin branch.
It is 220 KB and contains 76 public classes under io.webweavex.*.
No Maven Central coordinate resolves — use the JAR directly.
1. Download the JAR
mkdir -p libs
curl -L -o libs/webweavex-kotlin-3.0.0.jar \
https://github.com/ni-sh-a-char/WebWeaveX/raw/kotlin/kotlin/dist/webweavex-kotlin-3.0.0.jar
2. Add it to your build
dependencies {
implementation(files("libs/webweavex-kotlin-3.0.0.jar"))
}
3. Or build from source
git clone -b kotlin https://github.com/ni-sh-a-char/WebWeaveX.git
cd WebWeaveX/kotlin
./gradlew build
4. Use it
import io.webweavex.runtime.RuntimeKernel
import io.webweavex.runtime.UniversalInput
import io.webweavex.extract.ExtractionPipeline
import io.webweavex.fingerprint.Fingerprint
import io.webweavex.crypto.KaalkaV5
fun main() {
// Runtime kernel — extract() returns a UniversalOutput
val kernel = RuntimeKernel()
val input = UniversalInput("https://example.com")
val output = kernel.extract(input)
println("version: ${kernel.version}")
println("capabilities: ${kernel.capabilities}")
// Deterministic fingerprint, byte-exact with Python/JS/Dart
println("fingerprint: ${Fingerprint.compute(input.toMap())}")
// Direct text extraction
val result = ExtractionPipeline.extractText(htmlString, "html")
}
Correction to the bundled JAR README. The kotlin/dist/README.md in the repo
shows WebWeaveX.extract("https://example.com"). There is no io.webweavex.WebWeaveX
class in the shipped JAR — that snippet will not compile. Use
io.webweavex.runtime.RuntimeKernel or io.webweavex.extract.ExtractionPipeline
as shown above.
Shipped Kotlin packages
| Package | Key types |
|---|---|
io.webweavex.runtime | RuntimeKernel, UniversalInput, UniversalOutput, RuntimeNode, RuntimeEdge, DeterministicClock, ReplayClock |
io.webweavex.extract | ExtractionPipeline, HtmlExtractor, JsonExtractor, MarkdownExtractor |
io.webweavex.determinism | CanonicalJson, Normalization, StableSerialize, PyFloat, PyJson |
io.webweavex.crypto | KaalkaV5 |
io.webweavex.replay | ReplayEngine, ReplayEquivalence, ReplaySnapshot |
io.webweavex.memory | MemoryEngine, MemoryStore, MemorySnapshot |
io.webweavex.repository | RepositoryAnalyzer, KnowledgeGraph, QueryEngine, SearchIndex |
io.webweavex.graph | RuntimeGraph |
io.webweavex.workflow | WorkflowEngine, WorkflowStep, WorkflowResult |
io.webweavex.fetch | Crawler, HttpTransport, JavaNetTransport |
Cross-Language Parity
The determinism contract is what makes the five SDKs interchangeable: the same input must produce the same canonical bytes, and therefore the same SHA-256 digest, in every language.
| Layer | Guarantee |
|---|---|
| Canonical JSON | Sorted keys, Python-compatible float repr, UTF-8, no insignificant whitespace |
| Normalization | Volatile keys stripped, stable key ordering, whitespace collapsed |
| Fingerprint | SHA-256 over canonical bytes — identical across all five SDKs |
| Kaalka v5 | Shared key-derivation and cipher spec, portable encrypted envelopes |
Parity is verified by reflective harnesses that replay Python-generated golden vectors through each runtime:
JavaVerify on the java branch and KotlinVerify on the kotlin
branch each hash their result with StableSerialize and compare against the Python vector digest,
reporting MATCH / DIFFER / MISSING per API.
Python Optional Extras
Install only what you need — the base package stays lean.
| Extra | Command | Pulls in |
|---|---|---|
browser | pip install "webweavex[browser]" | Playwright ≥1.40 |
parsers | pip install "webweavex[parsers]" | tree-sitter-languages |
ocr | pip install "webweavex[ocr]" | pytesseract, Pillow |
ingestion | pip install "webweavex[ingestion]" | python-docx, pytesseract, Pillow |
llm | pip install "webweavex[llm]" | groq |
full | pip install "webweavex[full]" | All of the above |
dev | pip install "webweavex[dev]" | pytest, pytest-cov, build |
Base dependencies, always installed: requests, httpx, beautifulsoup4, lxml, markdownify, pypdf.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Could not find io.webweavex:webweavex:3.0.0 |
Wrong groupId — io.webweavex does not exist on Maven Central |
Use io.github.piyush-mishra-00:webweavex:3.0.0. It is published; no local build or mavenLocal() needed. |
Unresolved reference: WebWeaveX (Kotlin) |
The bundled JAR README documents a class that does not exist | Use io.webweavex.runtime.RuntimeKernel or io.webweavex.extract.ExtractionPipeline |
| Cloning the repo yields no SDK source | main is docs-only |
git clone -b python|javascript|dart|java|kotlin ... |
ModuleNotFoundError: playwright |
Browser extra not installed | pip install "webweavex[browser]" && python -m playwright install chromium |
Python reports 3.0.1, other SDKs report 3.0.0 |
Python shipped a patch release; the determinism contract is unchanged | No action needed — hashes remain parity-compatible |