{"id":50773518,"url":"https://github.com/atomadictech/atomadic-sdk","last_synced_at":"2026-06-11T21:03:10.950Z","repository":{"id":363209587,"uuid":"1250813109","full_name":"atomadictech/atomadic-sdk","owner":"atomadictech","description":"Atomadic Public SDK","archived":false,"fork":false,"pushed_at":"2026-06-07T06:14:56.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T00:07:45.225Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atomadictech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-27T01:51:49.000Z","updated_at":"2026-06-07T06:15:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/atomadictech/atomadic-sdk","commit_stats":null,"previous_names":["atomadictech/atomadic-sdk"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/atomadictech/atomadic-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomadictech%2Fatomadic-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomadictech%2Fatomadic-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomadictech%2Fatomadic-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomadictech%2Fatomadic-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomadictech","download_url":"https://codeload.github.com/atomadictech/atomadic-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomadictech%2Fatomadic-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34217317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T21:03:10.206Z","updated_at":"2026-06-11T21:03:10.944Z","avatar_url":"https://github.com/atomadictech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atomadic Python SDK\n\n[![PyPI](https://img.shields.io/pypi/v/atomadic.svg)](https://pypi.org/project/atomadic/)  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n\n**One MCP. One key. Every tool-set you are entitled to.**\n\nAtomadic is sovereign infrastructure for the agent economy. Mount one MCP at\n`mcp.atomadic.tech`; your **entitlement key** decides which product tool-sets you\ncan call. Every call passes Gate-1 (entitlement) then Gate-2 (trust).\n\n- **Docs:** https://atomadic.tech/docs.html\n- **Architecture:** https://atomadic.tech/docs.html?d=architecture\n- **Support:** support@atomadic.tech\n\n## Verify the engine yourself\n\nThe engine publishes a cryptographic receipt of its own state, signed Ed25519.\nAnyone can verify it without an account or API key:\n\n```bash\npip install pynacl requests\npython -c \"\nimport json, requests, base64, nacl.signing\nr = requests.get('https://mcp.atomadic.tech/.well-known/atomadic-closure.json').json()\np = requests.get('https://mcp.atomadic.tech/.well-known/atomadic-issuer-pubkey.json').json()\ntoken = r['attestation'][4:]; pb, sb = token.split('.', 1)\nb64u = lambda s: base64.urlsafe_b64decode(s + '=' * (-len(s) % 4))\nnacl.signing.VerifyKey(b64u(p['key'])).verify(b64u(pb), b64u(sb))\nprint('OK closure_met=', json.loads(b64u(pb))['closure']['closure_met'])\n\"\n```\n\nPASS or FAIL. If even one byte of the published payload is altered after\nsigning, the verify call raises. Standalone kit:\n\u003chttps://github.com/atomadictech/omega-verification-kit\u003e\n\n## Install\n\n```bash\npip install atomadic\n```\n\n## Quickstart\n\n```python\nfrom atomadic import Atomadic, fuse\n\nato = Atomadic(api_key='ato_...')  # or set ATOMADIC_KEY env var\n\n# Call any tool your plan unlocks:\nresult = fuse.assess_architecture_pure(\n    ato,\n    source_text='def f(x):\\n    return x + 1',\n    module_name='f_pure',\n)\nprint(result['verdict'], result['density'])\n\n# Or browse the surface your key unlocks:\nfor t in ato.list_tools():\n    print(t['name'])\n```\n\n## Authentication\n\nGet an entitlement key from [atomadic.tech](https://atomadic.tech). The key is decoded\nand verified at the edge on every call; minting is internal-only. Keep keys\nserver-side -- the gate refuses out-of-plan calls, but secrets belong in your env.\n\n```python\nato = Atomadic(api_key='ato_\u003cblob\u003e_\u003csig\u003e')\n# or:  export ATOMADIC_KEY=ato_\u003cblob\u003e_\u003csig\u003e\n```\n\n## Products \u0026 tool-sets\n\nEach product is an entitlement-gated tool-set; hold the entitlement, call the tool.\nReserved products (Vanguard, Aegis, Catalyst) and roadmap (Evolve, Research, Mind-Lab)\nare not yet in the SDK.\n\n### Fuse [live]\n\n`entitlement: fuse` \u0026middot; `from atomadic import fuse`\n\n\u003e _Architecture compiler -- AI writes code, we give it architecture._\n\nAnalyze your code against the 5-tier, single-callable discipline.\n\n| Tool | Required args |\n|---|---|\n| **`assess_architecture_pure`** | `source_text`, `module_name` |\n| **`assess_import_direction_pure`** | `source_text`, `tier` |\n| **`assess_naming_clarity_pure`** | `source_text` |\n| **`compute_complexity_metrics_pure`** | `source_text` |\n| **`extract_call_graph_pure`** | `source_text` |\n| **`orchestrate_s2s_temporal`** | `intent` |\n| **`scan_code_stubs_pure`** | `source_text` |\n\n```python\nfrom atomadic import Atomadic, fuse\nato = Atomadic(api_key='ato_...')\nfuse.assess_architecture_pure(ato, source_text=..., module_name=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(fuse.assess_architecture_pure)`\n\n### Nexus [live]\n\n`entitlement: nexus` \u0026middot; `from atomadic import nexus`\n\n\u003e _The trust gate every action passes._\n\nGate-2 sovereign trust: trust phases, hallucination bound, signed attestations.\n\n| Tool | Required args |\n|---|---|\n| **`assess_nexus_trust_phase_stateful`** | `ledger_path` |\n| **`assess_sybil_risk_pure`** | `signals` |\n| **`classify_action_severity_pure`** | `action_kind` |\n| **`compute_reputation_score_pure`** | `events` |\n| **`compute_trust_score_pure`** | `attestation_count`, `recent_escalations`, `account_age_days` |\n| **`compute_verified_randomness_pure`** | `seed` |\n| **`define_nexus_constants_pure`** | (none) |\n| **`enforce_nexus_gate_stateful`** | `action_kind`, `severity` |\n| **`match_agent_capability_pure`** | `need`, `candidates` |\n| **`record_nexus_attestation_stateful`** | `action_kind`, `severity`, `ledger_path` |\n| **`record_nexus_escalation_stateful`** | `action_kind`, `escalation_path` |\n| **`scan_nexus_attestation_history_stateful`** | `ledger_path` |\n| **`validate_delegation_chain_pure`** | `chain` |\n\n```python\nfrom atomadic import Atomadic, nexus\nato = Atomadic(api_key='ato_...')\nnexus.assess_nexus_trust_phase_stateful(ato, ledger_path=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(nexus.assess_nexus_trust_phase_stateful)`\n\n### Security [live]\n\n`entitlement: security` \u0026middot; `from atomadic import security`\n\n\u003e _A bubble of protection around every agent._\n\nBubble check, redaction, error-fold, hardening posture (PQC/FIPS-203).\n\n| Tool | Required args |\n|---|---|\n| **`assess_security_bubble_pure`** | `content` |\n| **`classify_error_fold_pure`** | `error_message` |\n| **`compute_hardening_posture_pure`** | `target_product_id`, `hardening_level` |\n| **`compute_redacted_args_pure`** | `args` |\n| **`compute_redacted_text_pure`** | `text` |\n| **`compute_threat_model_pure`** | `component` |\n| **`define_security_constants_pure`** | (none) |\n| **`scan_dependency_risk_pure`** | `requirements_text` |\n| **`validate_secret_hygiene_pure`** | `source_text` |\n\n```python\nfrom atomadic import Atomadic, security\nato = Atomadic(api_key='ato_...')\nsecurity.assess_security_bubble_pure(ato, content=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(security.assess_security_bubble_pure)`\n\n### Proving Ground [live]\n\n`entitlement: proving` \u0026middot; `from atomadic import proving`\n\n\u003e _Nothing ships unproven._\n\nShip-gate, proof-readiness signals, and test-coverage estimation.\n\n| Tool | Required args |\n|---|---|\n| **`assess_proof_readiness_pure`** | `source_text` |\n| **`assess_test_quality_pure`** | `test_source` |\n| **`compute_proof_obligations_pure`** | `source_text` |\n| **`score_documentation_coverage_pure`** | `source_text` |\n| **`score_test_coverage_pure`** | `source_text`, `test_source` |\n\n```python\nfrom atomadic import Atomadic, proving\nato = Atomadic(api_key='ato_...')\nproving.assess_proof_readiness_pure(ato, source_text=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(proving.assess_proof_readiness_pure)`\n\n### Release [live]\n\n`entitlement: release` \u0026middot; `from atomadic import release`\n\n\u003e _Template -\u003e render -\u003e deploy._\n\nTemplate registry, website render, Cloudflare deploy. Dry-run by default.\n\n| Tool | Required args |\n|---|---|\n| **`compose_changelog_pure`** | `entries` |\n| **`compute_semver_bump_pure`** | `change_descriptions` |\n| **`record_release_template_stateful`** | `template_id`, `kind`, `source_kind`, `source_ref`, `registry_path` |\n| **`render_from_template_pure`** | `template`, `context` |\n| **`render_website_stateful`** | `template_dir`, `context`, `output_dir` |\n| **`scan_release_templates_stateful`** | `registry_path` |\n| **`serve_cloudflare_pages_stateful`** | `directory`, `project_name` |\n| **`serve_cloudflare_worker_stateful`** | `worker_dir` |\n| **`validate_release_readiness_pure`** | `checklist` |\n\n```python\nfrom atomadic import Atomadic, release\nato = Atomadic(api_key='ato_...')\nrelease.compose_changelog_pure(ato, entries=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(release.compose_changelog_pure)`\n\n### Healer [beta]\n\n`entitlement: healer` \u0026middot; `from atomadic import healer`\n\n\u003e _Diagnose, grade, and plan the repair._\n\nRead-only diagnosis: code-health grade + advisory repair plan.\n\n| Tool | Required args |\n|---|---|\n| **`assess_artifact_health_pure`** | `source_text` |\n| **`classify_failure_mode_pure`** | `error_message` |\n| **`compose_rollback_plan_pure`** | `error_message` |\n| **`compute_blast_radius_pure`** | `source_text`, `symbol` |\n| **`compute_repair_plan_pure`** | `error_message` |\n\n```python\nfrom atomadic import Atomadic, healer\nato = Atomadic(api_key='ato_...')\nhealer.assess_artifact_health_pure(ato, source_text=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(healer.assess_artifact_health_pure)`\n\n### Aegis \n\n`entitlement: aegis` \u0026middot; `from atomadic import aegis`\n\n| Tool | Required args |\n|---|---|\n| **`assess_compliance_posture_pure`** | `controls` |\n| **`classify_data_sensitivity_pure`** | `text` |\n| **`compose_governance_report_pure`** | `system_name` |\n| **`compute_audit_trail_digest_pure`** | `events` |\n| **`enforce_action_policy_pure`** | `action`, `policy` |\n\n```python\nfrom atomadic import Atomadic, aegis\nato = Atomadic(api_key='ato_...')\naegis.assess_compliance_posture_pure(ato, controls=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(aegis.assess_compliance_posture_pure)`\n\n### Mind_Lab \n\n`entitlement: mind_lab` \u0026middot; `from atomadic import mind_lab`\n\n| Tool | Required args |\n|---|---|\n| **`assess_falsifiability_pure`** | `claim` |\n| **`assess_proposal_verdict_pure`** | `proposal_text` |\n| **`classify_cognitive_bias_pure`** | `reasoning_text` |\n| **`compose_adversarial_critique_pure`** | `proposal` |\n| **`score_idea_readiness_pure`** | `idea_text` |\n\n```python\nfrom atomadic import Atomadic, mind_lab\nato = Atomadic(api_key='ato_...')\nmind_lab.assess_falsifiability_pure(ato, claim=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(mind_lab.assess_falsifiability_pure)`\n\n### Evolve \n\n`entitlement: evolve` \u0026middot; `from atomadic import evolve`\n\n| Tool | Required args |\n|---|---|\n| **`assess_improvement_candidates_pure`** | `source_text`, `module_name` |\n| **`assess_regression_risk_pure`** | `source_text` |\n| **`compose_mutation_plan_pure`** | `source_text` |\n| **`rank_evolution_candidates_pure`** | `candidates` |\n| **`score_evolution_fitness_pure`** | `before_source`, `after_source` |\n\n```python\nfrom atomadic import Atomadic, evolve\nato = Atomadic(api_key='ato_...')\nevolve.assess_improvement_candidates_pure(ato, source_text=..., module_name=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(evolve.assess_improvement_candidates_pure)`\n\n### Vanguard \n\n`entitlement: vanguard` \u0026middot; `from atomadic import vanguard`\n\n| Tool | Required args |\n|---|---|\n| **`assess_mev_exposure_pure`** | `order` |\n| **`assess_transaction_risk_pure`** | `transaction` |\n| **`compose_settlement_terms_pure`** | `amount_usd`, `parties` |\n| **`compute_slippage_guard_pure`** | `expected_out` |\n| **`validate_spend_policy_pure`** | `transaction`, `budget` |\n\n```python\nfrom atomadic import Atomadic, vanguard\nato = Atomadic(api_key='ato_...')\nvanguard.assess_mev_exposure_pure(ato, order=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(vanguard.assess_mev_exposure_pure)`\n\n### Research \n\n`entitlement: research` \u0026middot; `from atomadic import research`\n\n| Tool | Required args |\n|---|---|\n| **`compose_experiment_design_pure`** | `hypothesis` |\n| **`compose_literature_query_pure`** | `topic` |\n| **`compose_problem_decomposition_pure`** | `problem` |\n| **`compose_research_panel_pure`** | `question` |\n| **`rank_hypotheses_pure`** | `hypotheses` |\n\n```python\nfrom atomadic import Atomadic, research\nato = Atomadic(api_key='ato_...')\nresearch.compose_experiment_design_pure(ato, hypothesis=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(research.compose_experiment_design_pure)`\n\n### Catalyst \n\n`entitlement: catalyst` \u0026middot; `from atomadic import catalyst`\n\n| Tool | Required args |\n|---|---|\n| **`compose_paywall_policy_pure`** | `resource`, `price_usd` |\n| **`compute_settlement_split_pure`** | `amount`, `splits` |\n| **`compute_usage_meter_pure`** | `events`, `rate_per_unit` |\n| **`compute_x402_quote_pure`** | `units`, `rate_per_unit` |\n| **`validate_quota_tree_pure`** | `tree` |\n\n```python\nfrom atomadic import Atomadic, catalyst\nato = Atomadic(api_key='ato_...')\ncatalyst.compose_paywall_policy_pure(ato, resource=..., price_usd=...)\n```\n\nSee per-tool docstrings for full arg schemas: `help(catalyst.compose_paywall_policy_pure)`\n\n## Two-gate dispatch\n\nEvery call is filtered then verified:\n\n1. **Gate-1 (entitlement):** `tools/list` shows only the tools your plan unlocks; out-of-plan `tools/call` is refused.\n2. **Gate-2 (trust, Nexus):** trust phase + severity ceiling + hallucination bound. Governed actions return a signed `attest:\u003cid\u003e` receipt.\n\nSee [the architecture docs](https://atomadic.tech/docs.html?d=two-gate) for the full model.\n\n## Plans\n\nFree / Basic / Dev / Pro / Teams / Enterprise -- per product, or whole-line via\nMurmuration Complete. Subscription is the product; x402 meters only overage + agent-\nto-agent calls. Pricing: https://atomadic.tech/docs.html?d=pricing.\n\n## Determinism\n\nPure-tier tools have no side effects and no hidden state: same inputs, same output,\nsame content hash, every time. Re-running a pure tool is a verification.\n\n## Contributing\n\nThis SDK is **auto-emitted from the live Atomadic MCP registry** -- changes here\nshould flow through the engine, not be hand-patched. For issues, requests, or\nfeedback: support@atomadic.tech.\n\n## License\n\nApache-2.0 -- see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomadictech%2Fatomadic-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomadictech%2Fatomadic-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomadictech%2Fatomadic-sdk/lists"}