Installation Guide
This guide will help you install SwarmSim and its dependencies on your system.
Requirements
- Python Version
SwarmSim requires Python 3.10 or later. We recommend using Python 3.12+ for the best performance and feature support.
- Operating Systems
Windows 10/11
macOS 10.14+
Linux (Ubuntu 18.04+, CentOS 7+, or equivalent)
Core Dependencies
SwarmSim depends on the following core Python packages:
numpy >= 1.20.0
scipy >= 1.7.0
pandas >= 1.3.0
matplotlib >= 3.4.0
pyyaml >= 5.4.0
pathlib >= 1.0.0
Optional Dependencies
For enhanced functionality:
# For OpenAI Gym integration
gymnasium >= 0.26.0
# For advanced visualization
plotly >= 5.0.0
seaborn >= 0.11.0
Installation Methods
Method 1: Install from Source (Recommended)
Clone the repository:
git clone https://github.com/SINCROgroup/large_scale_multi_agent_simulator.git cd large_scale_multi_agent_simulator
Create a virtual environment:
Using venv:
python -m venv swarmsim_env # On Windows: swarmsim_env\Scripts\activate # On macOS/Linux: source swarmsim_env/bin/activate
Install SwarmSim:
pip install -e .
This installs SwarmSim in development mode, allowing you to modify the source code.
Verification
Test your installation:
import swarmsim
print(f"SwarmSim version: {swarmsim.__version__}")
# Test basic functionality
from swarmsim.Populations import BrownianMotion
from swarmsim.Simulators import BaseSimulator
# Create a simple simulation
population = BrownianMotion(n=10, x_dim=2)
simulator = BaseSimulator(populations=[population])
# Run a few steps
for _ in range(10):
simulator.step()
print("Installation successful!")
If this runs without errors, your installation is working correctly.
Next Steps
After installation:
Read the Quick Start Guide guide
Explore the example scripts in the
Examples/directoryCheck out the API documentation for detailed usage information
Join our community discussions on GitHub
Support
If you encounter installation issues:
Check the GitHub Issues
Search for existing solutions or create a new issue
Include your OS, Python version, and error messages
Contributing
We welcome contributions! See the development installation section above and our contributing guidelines on GitHub.