Skip to content

Commit 097a846

Browse files
vveerrggclaude
andcommitted
feat: add Python SDK to For Developers section on nostrkey.com
Replace Development section with combined For Developers section featuring the nostrkey Python SDK (pip install nostrkey) for OpenClaw AI entities, plus the existing build-from-source instructions. Add Python SDK to Related Repositories in README. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 10e70e4 commit 097a846

2 files changed

Lines changed: 30 additions & 18 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ Lx7 / Vaiku LLM.being infrastructure
138138
| [nostrkey.browser.plugin.src](https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src) | Browser extension (this repo) | v1.5.5 |
139139
| [nostrkey.app.android.src](https://github.com/HumanjavaEnterprises/nostrkey.app.android.src) | Android app (WebView wrapper) | v1.1.1 |
140140
| [nostrkey.app.ios.src](https://github.com/HumanjavaEnterprises/nostrkey.app.ios.src) | iOS app (WKWebView wrapper) | v1.1.1 |
141+
| [nostrkey.app.OC-python.src](https://github.com/HumanjavaEnterprises/nostrkey.app.OC-python.src) | Python SDK for OpenClaw AI entities | v0.1.0 ([PyPI](https://pypi.org/project/nostrkey/)) |
141142

142143
Mobile apps use dual-WebView architectures (background + UI) with platform-specific bridges (`AndroidBridge.kt` / `IOSBridge.swift`) to translate Chrome extension APIs into native functionality.
143144

docs/index.html

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -408,21 +408,36 @@ <h3>Firefox Installation</h3>
408408
</section>
409409

410410
<section>
411-
<h2>NIPs Supported</h2>
412-
<ul>
413-
<li><strong>NIP-01</strong> — Basic protocol</li>
414-
<li><strong>NIP-04</strong> — Encrypted DMs v1 (deprecated, kept for compatibility)</li>
415-
<li><strong>NIP-07</strong> — Browser extension API</li>
416-
<li><strong>NIP-19</strong> — Bech32 encoding (npub, nsec)</li>
417-
<li><strong>NIP-44</strong> — Encrypted messaging v2 (ChaCha20-Poly1305)</li>
418-
<li><strong>NIP-46</strong> — Nostr Connect / nsecBunker</li>
419-
<li><strong>NIP-49</strong> — Encrypted key export (ncryptsec)</li>
420-
<li><strong>NIP-78</strong> — App-specific data (vault storage)</li>
421-
</ul>
422-
</section>
411+
<h2>For Developers</h2>
423412

424-
<section>
425-
<h2>Development</h2>
413+
<h3>Python SDK — NostrKey for AI Entities</h3>
414+
<p>Give your AI its own cryptographic identity. The <code>nostrkey</code> Python package lets OpenClaw bots generate keypairs, sign events, encrypt data, and connect to Nostr relays.</p>
415+
<pre><code>pip install nostrkey</code></pre>
416+
<pre><code>from nostrkey import Identity
417+
418+
# Create a new AI identity
419+
bot = Identity.generate()
420+
print(f"npub: {bot.npub}")
421+
422+
# Sign a Nostr event
423+
event = bot.sign_event(kind=1, content="Hello from an OpenClaw bot!")
424+
425+
# Save identity (encrypted)
426+
bot.save("my-bot.nostrkey", passphrase="strong-passphrase")</code></pre>
427+
<p style="font-size: 0.875rem; color: var(--text-muted);">Implements NIP-01 (events), NIP-19 (bech32), NIP-44 (encryption), and NIP-46 (bunker). <a href="https://loginwithnostr.com/openclaw" style="color: var(--accent-secondary);">Learn more about OpenClaw identity</a></p>
428+
429+
<div class="cta-row" style="margin-bottom: 32px;">
430+
<a href="https://pypi.org/project/nostrkey/" target="nostrkey-web" class="btn">
431+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 17l6-6-6-6m8 14h8"/></svg>
432+
PyPI Package
433+
</a>
434+
<a href="https://github.com/HumanjavaEnterprises/nostrkey.app.OC-python.src" target="nostrkey-web" class="btn btn-secondary">
435+
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
436+
Python SDK Source
437+
</a>
438+
</div>
439+
440+
<h3>Browser Extension — Build from Source</h3>
426441
<pre><code>git clone https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src.git
427442
cd nostrkey.browser.plugin.src
428443
npm install
@@ -450,10 +465,6 @@ <h2>Development</h2>
450465
Report Issue
451466
</a>
452467
</div>
453-
</section>
454-
455-
<section>
456-
<h2>Build from Source</h2>
457468

458469
<h3>Chrome Sideload (Developer Mode)</h3>
459470
<ol style="list-style: decimal; padding-left: 24px;">

0 commit comments

Comments
 (0)