Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

EQ Synapse Server Development

Rust Setup

First, install the Rust toolchain on your device or server:

# Install Rust toolchain on the gateway itself
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt-get install libc-dev

For Development Gateway (ARM64)

Build release version of server components—no cross-compilation necessary:

(cd server; cargo build -r)

For Cross-Compilation (x86_64 → ARM64)

Prerequisites

# Install Rust toolchain on the gateway itself
sudo apt install gcc-aarch64-linux-gnu

Configure Rust Target

# Add ARM64 target to Rust
rustup target add aarch64-unknown-linux-gnu

# Create or update .cargo/config.toml with linker settings
cat > .cargo/config.toml << EOF
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
EOF

Build Options

Build with SIMD support (recommended):

cargo build -r --features simd --target aarch64-unknown-linux-gnu

Build without SIMD support:

cargo build -r --target aarch64-unknown-linux-gnu

References

Python Development

Code Quality Tools

# Install development dependencies
pip install pylint black

# Run linter
pylint synapse/

# Format code
black synapse/

Style guidelines:

  • Use Black’s default formatting:
    • 88 character line length
    • Double quotes for strings
    • Trailing commas in multi-line structures
    • Single spaces around operators
    • No spaces in slices
  • Follow PEP 8 conventions
  • Maintain pylint score above 8.0

Testing

# Install test dependencies
pip install pytest pytest-cov

# Run tests with coverage
pytest --cov=synapse tests/

References



© 2026 EQ Systems Inc.