Skip to main content

exoclaw-channel-codemod

The codemod that vendors HKUDS/nanobot channels into exoclaw — used as a build-time and test-time dependency by every exoclaw-channel-{slack,telegram,discord,email,matrix,whatsapp} package.

What it does

Given a HKUDS/nanobot channel source file (vendor/upstream.py) and optional ports (vendor/upstream_test.py) snapshotted at a pinned commit (vendor/SHA), plus optional channel-specific patches (patches/00NN-*.patch), it produces:

  • exoclaw_channel_<name>/channel.py — the channel module ready to ship
  • tests/test_channel.py — the upstream test suite re-targeted at the local module

Transforms are mechanical (import rewrites, signature tweaks, bus capture, monkeypatch string-target rewrites). Patches are applied after the codemod for channel-specific tweaks that can't be generalized.

Public API

from exoclaw_channel_codemod import regenerate

regenerate(pkg_dir)  # one package

Pure-Python and idempotent (only writes when content changed).

Maintainer scripts

  • sync.sh <name> [--apply] — fetch latest upstream, diff, optionally regenerate
  • scaffold-channel.sh <name> — bootstrap a new channel package by snapshotting upstream

Why this is its own package

  • Build isolation: hatchling builds each exoclaw-channel-* wheel in an isolated env. The hatch hook in those packages declares exoclaw-channel-codemod as a build dependency so it's importable inside the sandbox.
  • Audit boundary: the codemod is the trusted transform. Versioning it as a real package makes "what was used to derive this generated file" explicit.

Audit boundary

Vendored channel packages commit only vendor/upstream*.py + vendor/SHA + patches/. The generated channel.py and test_channel.py are gitignored — they're derivatives. Anyone reviewing a channel package can verify "this wheel = upstream@SHA + this codemod version + listed patches" by checking out the source and running the test suite (which materializes the codemod output via conftest.py).

Metadata

Release files for exoclaw-channel-codemod 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exoclaw-channel-codemod 0.1.0
File Size Uploaded Provenance Actions
exoclaw_channel_codemod-0.1.0.tar.gz 9.6 kB Without provenance Details for exoclaw_channel_codemod-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for exoclaw-channel-codemod 0.1.0
File Interpreter ABI Platform Actions
exoclaw_channel_codemod-0.1.0-py3-none-any.whl Python 3 none any Details for exoclaw_channel_codemod-0.1.0-py3-none-any.whl

Total release size: 17.0 kB

Release files / exoclaw_channel_codemod-0.1.0.tar.gz

Download URL exoclaw_channel_codemod-0.1.0.tar.gz
Size 9.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c782347d7fd5a6984bde41e1eb18c3318e4451c1c69408b68c1a1898a15cc3b9
BLAKE2b-256 checksum
How to use checksums
28f32ea8859eb35a3f3777c6150181f9b239def988efaf5763b1ed68b79e1ca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / exoclaw_channel_codemod-0.1.0-py3-none-any.whl

Download URL exoclaw_channel_codemod-0.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
74a1796f897677aa8fb720af0d6ef2965f4dec8807526315967ce0dd4309bbde
BLAKE2b-256 checksum
How to use checksums
6b510e133693d94ea339a528cd8421cb39a672d6fe3cabea3210e3613ea6c20a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for exoclaw-channel-codemod 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page