Dependencies Guide

This guide provides a comprehensive list of dependencies required by Arc Memory, along with installation instructions and troubleshooting tips.

Core Dependencies

These dependencies are required for the basic functionality of Arc Memory:

DependencyVersionDescription
Python>=3.9Programming language
Git>=2.25.0Version control system
SQLite>=3.31.0Database engine
PyGithub>=1.55.0GitHub API client
Click>=8.0.0Command-line interface toolkit
Rich>=10.0.0Terminal formatting library
Pydantic>=1.9.0Data validation library
Requests>=2.25.0HTTP library
Typer>=0.4.0CLI builder
Networkx>=2.6.0Graph algorithms library

Optional Dependencies

These dependencies are optional but recommended for enhanced functionality:

DependencyVersionDescriptionUsed For
Docker>=20.10.0Containerization platformSandbox environments
E2B SDK>=0.8.0E2B cloud sandbox clientCloud sandbox environments
Langchain>=0.0.200LLM frameworkExplanation generation
Smol Agents>=0.1.0Agent frameworkSimulation workflow
Pandas>=1.3.0Data analysis libraryMetrics analysis
Matplotlib>=3.5.0Plotting libraryVisualization

Installation

Basic Installation

To install Arc Memory with core dependencies:

pip install arc-memory

Full Installation

To install Arc Memory with all optional dependencies:

pip install arc-memory[full]

Individual Optional Dependencies

To install Arc Memory with specific optional dependencies:

# For simulation features
pip install arc-memory[simulation]

# For visualization features
pip install arc-memory[viz]

# For cloud sandbox features
pip install arc-memory[cloud]

System Requirements

Minimum Requirements

  • CPU: 2 cores
  • RAM: 4 GB
  • Disk Space: 1 GB + repository size
  • Operating System: Linux, macOS, or Windows 10+
  • CPU: 4+ cores
  • RAM: 8+ GB
  • Disk Space: 5 GB + repository size
  • Operating System: Linux or macOS

External Services

Arc Memory may interact with the following external services:

ServicePurposeRequired?
GitHub APIFetching PR and issue dataYes, for GitHub repositories
E2B CloudCloud sandbox environmentsNo, optional for simulations
Hugging FaceModel hosting for LLM featuresNo, optional for explanations

Dependency Details

Python

Arc Memory requires Python 3.9 or higher. We recommend using Python 3.10 for optimal performance.

Installation

  • Linux: Use your distribution’s package manager or pyenv
  • macOS: Use Homebrew (brew install python@3.10) or pyenv
  • Windows: Download from python.org

Git

Git 2.25.0 or higher is required for accessing repository history.

Installation

  • Linux: Use your distribution’s package manager (apt install git, yum install git, etc.)
  • macOS: Use Homebrew (brew install git) or download from git-scm.com
  • Windows: Download from git-scm.com

SQLite

SQLite 3.31.0 or higher is required for the knowledge graph database.

Installation

  • Linux: Use your distribution’s package manager (apt install sqlite3, yum install sqlite, etc.)
  • macOS: Included with the OS, or use Homebrew (brew install sqlite)
  • Windows: Download from sqlite.org

Docker (Optional)

Docker 20.10.0 or higher is required for Docker sandbox environments.

Installation

Troubleshooting

Common Issues

Missing Git

If you see an error like Command 'git' not found:

  1. Install Git using the instructions above
  2. Ensure Git is in your PATH
  3. Restart your terminal or command prompt

SQLite Version Issues

If you see an error about SQLite version:

  1. Check your SQLite version: sqlite3 --version
  2. Update SQLite if needed
  3. If you can’t update system SQLite, consider using a Python SQLite package: pip install pysqlite3

GitHub API Rate Limiting

If you see GitHub API rate limit errors:

  1. Authenticate with a GitHub token: arc auth gh --token YOUR_TOKEN
  2. Reduce the scope of your build: arc build --max-commits 1000 --days 30
  3. Use incremental builds when possible: arc build --incremental

Docker Permission Issues

If you see permission errors with Docker:

  1. Add your user to the docker group: sudo usermod -aG docker $USER
  2. Log out and log back in
  3. Verify with: docker run hello-world

Dependency Conflicts

If you experience dependency conflicts:

  1. Use a virtual environment: python -m venv venv && source venv/bin/activate
  2. Install Arc Memory in the virtual environment: pip install arc-memory
  3. Consider using pip-tools to manage dependencies: pip install pip-tools

Version Compatibility

Arc Memory VersionPython VersionsGit VersionsSQLite Versions
0.1.x3.9, 3.10>=2.25.0>=3.31.0
0.2.x3.9, 3.10, 3.11>=2.25.0>=3.31.0
0.3.x3.9, 3.10, 3.11>=2.30.0>=3.35.0

See Also