Skip to main content

Freeact code action agent

Project description

freeact

Website PyPI - Version GitHub Release GitHub Actions Workflow Status GitHub License

[!NOTE] Next generation freeact

This is the next generation of freeact, a complete rewrite. Older versions are maintained on the 0.6.x branch and can be obtained with pip install freeact<0.7.

Freeact is a lightweight, general-purpose agent that acts via code actions rather than JSON tool calls1). It writes executable Python code that can call multiple tools programmatically, process intermediate results, and use loops and conditionals in a single pass, which would otherwise require many inference rounds with JSON tool calling.

Beyond executing tools, freeact can develop new tools from successful code actions, evolving its own tool library over time. Tools are defined via Python interfaces, progressively discovered and loaded from the agent's workspace2) rather than consuming context upfront. All execution happens locally in a secure sandbox via ipybox and sandbox-runtime.

Supported models: Freeact supports models compatible with Pydantic AI, with gemini-3-flash-preview as the current default.

Documentation

Interfaces

Freeact provides a Python SDK for application integration, and a CLI tool for running the agent in a terminal.

Features

Freeact combines the following elements into a coherent system:

Feature Description
Programmatic tool calling Agents call tools programmatically within code actions rather than through JSON structures. Freeact generates typed Python APIs from MCP tool schemas to enable this. LLMs are heavily pretrained on Python code, making this more reliable than JSON tool calling.
Reusable code actions Successful code actions can be saved as discoverable tools with clean interfaces where function signature, data models and docstrings are separated from implementation. Agents can then use these tools in later code actions, preserving behavior as executable tools. The result is tool libraries that evolve as agents work.
Agent skills Freeact supports the agentskills.io specification, a lightweight format for extending agent capabilities with specialized knowledge and workflows. Freeact provides skills for saving code actions as tools, enhancing existing tools, and structured task planning.
Progressive loading Tool and skill information is loaded in stages as needed, rather than consuming context upfront. For tools: category names, tool names, and API definitions load progressively as needed. For skills: metadata loads at startup; full instructions load when triggered.
Sandbox mode Code actions execute locally in a stateful IPython kernel via ipybox. Sandbox mode restricts filesystem and network access for executed code (example). Stdio MCP servers can be sandboxed independently.
Unified approval Code actions, programmatic tool calls, and JSON-based tool calls all require approval before proceeding. Unified approval ensures every action can be inspected and gated with a uniform interface regardless of how it originates.
Subagents Agents can delegate subtasks to child agents that run with their own kernel and context. Parent and child share the same event stream and approval flow.
Python ecosystem Agents can use any Python package available in the execution environment, from data processing with pandas to visualization with matplotlib to HTTP requests with httpx. Many capabilities like data transformation or scientific computing don't need to be wrapped as tools when agents can call libraries directly.

Beyond task execution

Most agents focus on either software development (coding agents) or on non-coding task execution using predefined tools, but not both. Freeact covers a wider range of this spectrum, from task execution to tool development. Its primary function is executing code actions with programmatic tool calling, guided by user instructions and custom skills.

Beyond task execution, freeact can save successful code actions as reusable tools or enhance existing tools, acting as a toolsmith in its workspace2). For heavier tool engineering like refactoring or reducing tool overlap, freeact is complemented by coding agents like Claude Code, Gemini CLI, etc. Currently the toolsmith role is interactive, with autonomous tool library evolution planned for future versions.


1) Freeact also supports JSON-based tool calls on MCP servers, but mainly for internal operations.
2) A workspace is an agent's working directory where it manages tools, skills, configuration and other resources.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freeact-0.7.4.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freeact-0.7.4-py3-none-any.whl (61.4 kB view details)

Uploaded Python 3

File details

Details for the file freeact-0.7.4.tar.gz.

File metadata

  • Download URL: freeact-0.7.4.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for freeact-0.7.4.tar.gz
Algorithm Hash digest
SHA256 e43c064d99305641f1d333ac960b32676945d547705da781eb520867b09f7c14
MD5 31b201333824a0184ea041b40079abd8
BLAKE2b-256 04e32c675998ac3e7595a831f111dd7a87405381045886e4f4c9e92a0ae900af

See more details on using hashes here.

Provenance

The following attestation bundles were made for freeact-0.7.4.tar.gz:

Publisher: release.yml on gradion-ai/freeact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file freeact-0.7.4-py3-none-any.whl.

File metadata

  • Download URL: freeact-0.7.4-py3-none-any.whl
  • Upload date:
  • Size: 61.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for freeact-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ca159e305b34c7be74982324619538c83ae7f5c89f6105f1b6b28e4330d7c658
MD5 21153bdf73dc83e6112b67e0e867444b
BLAKE2b-256 a3bbe158444ac7c44e008512a08b335845a411ce33a793c6a51fd62390ba7f55

See more details on using hashes here.

Provenance

The following attestation bundles were made for freeact-0.7.4-py3-none-any.whl:

Publisher: release.yml on gradion-ai/freeact

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page