Skip to main content

Python Dev Kit Inside Code Interpreter for AI Agents - Jupyter-based code execution with multimodal support

Project description

🤖 py4agent - Python Dev Kit Inside Code Interpreter for AI Agents

A Jupyter-based code execution server with multimodal support designed for AI agents to execute Python code safely and efficiently.

Features

  • 🚀 Fast and reliable code execution via Jupyter kernels
  • 🎨 Multimodal output support (text, plots, tables, images)
  • 🌐 MCP (Model Context Protocol) server support
  • 🔧 Dev Kit Inside Code Interpreter

🚀 Quick Start

📦 Installation

pip install py4agent --upgrade

For detailed installation instructions, see INSTALL.md.

▶️ Running the Code Interpreter Server with Third-Party Jupyter Server

Set up your Jupyter connection parameters:

jupyter-lab --no-browser --port=8888 --NotebookApp.token='your-token-here'

Dynamically connect to your Jupyter server and start executing code!

export JUPYTER_HOST="localhost"
export JUPYTER_PORT="8888"
export JUPYTER_TOKEN="your-token-here"
py4agent-server --host 0.0.0.0 --port 8889 --debug --workers 4

🔌 Running the MCP Server with Self-Contains Jupyter Kernel Manager

Just start it directly without needing an external Jupyter server:

py4agent-mcp --host 0.0.0.0 --port 8889 --debug --workers 4

📁 Project Structure

py4agent/
├── __init__.py           # Package initialization
└── injection/           # Code injection utilities
    ├── __main__.py      # Injection entry point
    ├── jupyter_parse.py # Jupyter message parsing
    ├── display_mime.py  # MIME type display handling
    ├── multimodal.py    # Multimodal output handling
    ├── types.py         # Type definitions
    └── blocks/          # Display block implementations
        ├── plotly_json.py      # Plotly visualization
        ├── table_json.py       # Table display
        ├── search_result.py    # Search results
        └── visual_json.py      # Visual display

📡 API Usage

See the full test examples in test.py.

⚡ Execute Code

curl -X POST http://localhost:8889/execute \
  -H "Content-Type: application/json" \
  -d '{
    "code": "print(1+1)",
    "kernel_id": "your-kernel-id",
    "jupyter_host": "localhost",
    "jupyter_port": "8888",
    "jupyter_token": "your-token",
    "session_id": "test",
    "timeout": 10
  }'

🔧 Create Kernel

curl -X POST http://localhost:8889/jupyter/create \
  -H "Content-Type: application/json" \
  -d '{
    "jupyter_host": "localhost",
    "jupyter_port": "8888",
    "jupyter_token": "your-token"
  }'

🛠️ Development

📚 Dependencies Management

The dependencies are organized into:

  • Core: Web framework and HTTP clients (FastAPI, uvicorn, httpx)
  • Scientific Computing: NumPy, Pandas, SciPy, scikit-learn, etc.
  • Visualization: Plotly, Matplotlib, Seaborn, etc.
  • Database: SQLAlchemy, Redis, MongoDB, etc.
  • Web Scraping: BeautifulSoup, Selenium, Playwright
  • Dev: Testing and linting tools (pytest, black, ruff, mypy)

🧪 Testing

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# With coverage
pytest --cov=py4agent

✨ Code Quality

# Format code
black py4agent/

# Lint code
ruff check py4agent/

# Type checking
mypy py4agent/

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📧 Contact

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

py4agent-1.0.4.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

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

py4agent-1.0.4-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file py4agent-1.0.4.tar.gz.

File metadata

  • Download URL: py4agent-1.0.4.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.11.5 Darwin/25.3.0

File hashes

Hashes for py4agent-1.0.4.tar.gz
Algorithm Hash digest
SHA256 4900d64d12147bd4bfcd8f530dd947b9de9d330211876cf32e8c7423c7acc7e1
MD5 71a15a5f4ab43a5e4950b9edca13da77
BLAKE2b-256 eb36a7918bf8623fc9ac7331fd90f7808ca5dabd7720d70e5d08c949968dda56

See more details on using hashes here.

File details

Details for the file py4agent-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: py4agent-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.11.5 Darwin/25.3.0

File hashes

Hashes for py4agent-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c1d70e0d68a36215b6be3b26d6a4160db63839d88df9968292f9d2d165b49c9b
MD5 8456fc38c42e6251896a77f8a1b31c1a
BLAKE2b-256 84fcc92c364dd9d949196f95e1e6dce5d61a810eebf87fda0c0ea701f866c65f

See more details on using hashes here.

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