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.
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.1.tar.gz (40.9 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.1-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: freeact-0.7.1.tar.gz
  • Upload date:
  • Size: 40.9 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.1.tar.gz
Algorithm Hash digest
SHA256 2e2590e55a24c61ddff29a5776153ba14a280012bc33488c2ad8e26ca90f5fab
MD5 350d5d6e860a9ce6f2d154f621518181
BLAKE2b-256 f67b3535e9aa07b89444c01a3b60daab5fb9f7e47a1f8fbb977f17d0768bef3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for freeact-0.7.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: freeact-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 56.9 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70ed4fc96dfb8ea2a9955787b685e17af5b0bb2d7908a2ff9916f838907f2e2c
MD5 ab020948593c9760242041a34b2e1d54
BLAKE2b-256 8141e63a8181939c86d8fdd3a18ffa7a505f93a32c3c326906163aefc86c22d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for freeact-0.7.1-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