Skip to main content

Marmo-Core

PyPI Python versions CI License

Marmo-Core is a lightweight Python kernel for registering, retrieving, selecting, and safely executing AI-agent resources.

Requirements

  • Python 3.10 or newer

Install the published package with:

python -m pip install marmo-core

For local development, install the checkout with:

python -m pip install -e '.[dev]'

Validate and inspect the bundled resource examples with:

marmo validate examples/resources
marmo search examples/resources --task "read a local text file safely"

The resources directory also includes ten standalone samples for each of Memory, Tool, and Agent. Every Tool and Agent sample resolves an executable standard-library implementation through its python: ref, so no manual binding is needed. Filesystem samples are confined to the current working directory. External samples still require the declared permissions and human approval; notification webhooks are configured through MARMO_NOTIFICATION_<DESTINATION>_URL rather than model-visible arguments. The format-code sample invokes Ruff and therefore requires the .[dev] extra.

marmo validate resources/memory resources/tools resources/agents
marmo list resources/memory resources/tools resources/agents

Run the offline JSON validation Tool end to end with the mock LLM:

marmo run resources/tools/validate-json.json \
  --task "validate JSON input" \
  --tool-args '{"tool.marmo.samples.validate-json":{"value":{"name":"Marmo"},"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}}}}' \
  --strict --format json

Agent samples are also directly executable:

marmo run resources/agents/security-reviewer.json \
  --task "review webhook security" \
  --tool-args '{"agent.marmo.samples.security-reviewer":{"goal":"Review webhook security","context":"external upload"}}' \
  --format json

API and model configuration

Create a .env file and set the relevant key when using an OpenAI-compatible LLM, Anthropic LLM, or embedding provider. Model names and model-specific runtime settings are also read from .env rather than being hard-coded by the providers. In a source checkout, .env.example can be copied as a starting point:

cp .env.example .env
OPENAI_API_KEY=your_key_here
ANTHROPIC_API_KEY=your_key_here
OPENAI_MODEL=gpt-5.6-terra
OPENAI_REASONING_EFFORT=none
ANTHROPIC_MODEL=claude-sonnet-5
ANTHROPIC_MAX_TOKENS=16384
OPENAI_EMBEDDING_MODEL=text-embedding-3-small

OPENAI_MODEL, ANTHROPIC_MODEL, and OPENAI_EMBEDDING_MODEL are required when the corresponding provider is constructed without an explicit model argument. ANTHROPIC_MAX_TOKENS is required unless max_tokens is passed explicitly. OPENAI_REASONING_EFFORT is optional and applies when the OpenAI model is resolved from the environment. The package loads .env without overriding values already present in the operating-system environment. .env is excluded from Git.

The benchmark-only embedding and cross-encoder integration is optional:

python -m pip install '.[benchmark]'

Run the test suite with:

python -W error::ResourceWarning -m unittest discover -s tests

Strict CLI runs

The kernel normally allows a task to recover after a resource is denied or cannot be activated. For automation and release checks, pass --strict so a skipped resource or a tool named in --tool-args that was not evaluated makes the command exit non-zero.

CLI commands auto-discover resources, skills, or examples/resources from the current directory when no resource path is provided. Connector-only runs should pass --no-default-resources to make their behavior independent of the working directory.

--allow-side-effect is an exact, repeatable allowlist. For example, allowing both side-effect-free resources and read operations requires --allow-side-effect none --allow-side-effect read.

See Built-in Connectors and Local Resource Packages for complete usage examples.

Release files for marmo-core 0.4.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 marmo-core 0.4.0
File Size Uploaded
marmo_core-0.4.0.tar.gz 339.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for marmo-core 0.4.0
File Interpreter ABI Platform
marmo_core-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 513.7 kB

Release files / marmo_core-0.4.0.tar.gz

Download URL marmo_core-0.4.0.tar.gz
Size 339.2 kB
Tags Source
SHA-256 checksum
How to use checksums
dbcb32d4103ed6100c8ee4379dedde583ab54850fa2031873ca620f1aff5ba23
BLAKE2b-256 checksum
How to use checksums
207876d51b7c0a57613d3a1d46fd830d1e7aa025142303c89e6e61309380c032
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release files / marmo_core-0.4.0-py3-none-any.whl

Download URL marmo_core-0.4.0-py3-none-any.whl
Size 174.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
727e28663a9335d3cc763e13ca9a272c583db02d19d9a6eca48cfd4dcf17db29
BLAKE2b-256 checksum
How to use checksums
0a4ae15bc5f39ea4ad4d589ea9290398c752ba54eae0dc8946b4af1503ea48fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.

Transparency log

Release history Release notifications | RSS feed

0.6.0

2 release files

0.5.0

2 release files

This release

0.4.0 This release

2 release files

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