Fundamentals
Python Data Placement
Install the Python 3.10+ SDK:
python -m pip install neutron-ai-sdk
The official SDK handles runtime memory operations. A small standard-library REST helper performs Nucleus provisioning and readiness checks because those control-plane methods are not yet part of the Python SDK.
Provision the three Nuclei
from __future__ import annotations
import json
import os
from typing import Any
from urllib.request import Request, urlopen
def required_env(name: str) -> str:
value = os.environ.get(name)
if not value:
raise RuntimeError(f"{name} is required")
return value
API_URL = required_env("NEUTRON_API_URL").rstrip("/")
def neutron_request(
token: str,
method: str,
path: str,
body: dict[str, Any] | None = None,
) -> Any:
payload = json.dumps(body).encode("utf-8") if body is not None else None
request = Request(
f"{API_URL}{path}",
data=payload,
method=method,
headers={
"authorization": f"Bearer {token}",
"content-type": "application/json",
},
)
with urlopen(request, timeout=30) as response:
raw_body = response.read().decode("utf-8")
return json.loads(raw_body) if raw_body else None
workspace_key = required_env("NEUTRON_WORKSPACE_API_KEY")
profiles = [
{
"nucleusId": "product-knowledge-global",
"name": "Global product knowledge",
"placement": {
"mode": "global",
"guarantee": "none",
"notes": ["Approved global knowledge; no jurisdictional storage guarantee."],
},
},
{
"nucleusId": "support-operations-weur",
"name": "Western Europe support operations",
"placement": {
"mode": "regional",
"regionHint": "weur",
"r2LocationHint": "weur",
"guarantee": "best_effort_regional",
"notes": ["Latency preference only; not a legal residency boundary."],
},
},
{
"nucleusId": "regulated-cases-eu",
"name": "EU regulated case memory",
"placement": {
"mode": "jurisdictional",
"jurisdiction": "eu",
"regionalServicesRequired": True,
"metadataBoundaryRequired": True,
"geoKeyManagerRequired": False,
"guarantee": "jurisdictional_storage",
"notes": [
"Requires the EU Durable Object jurisdiction and matching EU archive binding.",
"Processing, logs, metadata, keys, retention, and contracts require separate verification.",
],
},
},
]
for profile in profiles:
neutron_request(workspace_key, "POST", "/v1/nuclei", profile)
Handle an already-existing Nucleus as explicit deployment state. Do not retry creation with a different placement profile.
Build the memory router
from neutron_ai import NeutronAIClient
global_memory = NeutronAIClient(
base_url=API_URL,
token=required_env("NEUTRON_GLOBAL_TOKEN"),
nucleus_id="product-knowledge-global",
)
western_europe_memory = NeutronAIClient(
base_url=API_URL,
token=required_env("NEUTRON_WEUR_TOKEN"),
nucleus_id="support-operations-weur",
)
eu_regulated_memory = NeutronAIClient(
base_url=API_URL,
token=required_env("NEUTRON_EU_TOKEN"),
nucleus_id="regulated-cases-eu",
)
def store_global_product_knowledge(text: str) -> Any:
return global_memory.remember({
"scopeId": "kb:approved-products",
"type": "knowledge",
"privacyClass": "public",
"text": text,
})
def store_western_europe_support_lesson(text: str) -> Any:
return western_europe_memory.remember({
"scopeId": "history:support-resolutions",
"type": "tool_lesson",
"privacyClass": "tenant",
"text": text,
})
def store_eu_regulated_case(case_id: str, minimized_summary: str) -> Any:
return eu_regulated_memory.remember({
"scopeId": f"case:{case_id}",
"type": "experience",
"privacyClass": "user_private",
"text": minimized_summary,
"metadata": {
"dataClass": "eu-regulated-case",
"source": "approved-case-summary",
},
})
Keep these functions behind trusted classification policy. Do not let untrusted callers supply a Nucleus ID or arbitrary scope.
Recall EU case context
eu_case_context = eu_regulated_memory.agent_context({
"scopeIds": [
"case:case-4821",
"policy:eu-case-handling",
"kb:approved-products",
],
"agentId": "agent:eu-case-support",
"task": "Prepare the next authorized case-support step.",
"privacyClasses": ["tenant", "user_private"],
"tokenBudget": 1_200,
"cachePolicy": {
"mode": "prefer_cache",
"keyMode": "intent_profile",
"ttlSeconds": 120,
"includeDynamicRag": True,
"allowSensitive": False,
},
})
All requested scopes resolve inside regulated-cases-eu; the call cannot cross into another Nucleus.
Verify jurisdictional readiness
eu_token = required_env("NEUTRON_EU_TOKEN")
placement = neutron_request(
eu_token,
"GET",
"/v1/nuclei/regulated-cases-eu/placement",
)
health = neutron_request(
eu_token,
"GET",
"/v1/nuclei/regulated-cases-eu/health",
)
blocking_warnings = {
"jurisdictional_do_subnamespace_unavailable",
"jurisdictional_archive_bucket_missing",
}
active_warnings = set(health.get("warnings", []))
if active_warnings & blocking_warnings:
raise RuntimeError(f"EU Nucleus is not ready: {sorted(active_warnings)}")
Return to the placement architecture and production checklist.