Skip to content
Q-Zoo rainbow fish and wave logo

Q-Zoo

Launch Network Lab

Lab · Upload

Upload → Validate → Configure → Run → Results

Server Actions mirror the Amplify + S3 + Lambda stack: request presigned URLs, validate files, gate by plan, and queue classical or quantum jobs.

Upload

Request a presigned URL and PUT the CSV/GraphML to qzoo-lab-uploads/{user}/{uploadId}.

const presign = await requestUploadUrl('graph.graphml', 'basic');
await fetch(presign.url, { method: 'PUT', body: file, headers: presign.fields });

Validate (Lambda)

Lambda checks size, schema, encodings, and extracts a preview sample with node/edge counts.

const result = await runValidation(presign.uploadId);
console.log(result.metrics.nodes, result.metrics.edges);

Configure & queue

Pick Community Detection or Network Flow; gate modes by plan and push to classical or quantum queues.

await queueJob({ uploadId: presign.uploadId, task: 'community_detect', mode: 'classical', plan: 'basic' });

Track results

Read LabJobs and S3 artifacts; emit receipts later via QTL.

const jobUrl = '/lab/results/' + presign.uploadId;

Latest presign

qzoo-lab-uploads/demo-user/upl-3c9356bb-0171-430b-95f5-ed1ddffbca2f/graph.graphml

Expires in 900s

Validation preview

Nodes: 320

Edges: 1180

Weights: yes

Job queued

ID: job-upl-3c9356bb-0171-430b-95f5-ed1ddffbca2f

Queue: classical

Status: queued

Plan enforcement examples

basic

Uploads: 50 KB

Edges: ≤ 1k edges

Sandbox: Single-qubit sandbox

pro

Uploads: 5 MB

Edges: ≤ 100k edges (pre-filtered)

Sandbox: Single + Multi-qubit sandbox

org

Uploads: 50 MB

Edges: Priority queue, higher limits

Sandbox: All sandboxes + team workspace