Skip to main content

A research framework for Byzantine-robust distributed ML

Project description

ByzPy

ByzPy is a unified Python framework for Byzantine-robust distributed machine learning. It provides a powerful actor runtime, declarative computation graphs, and batteries-included aggregators and attack simulators.

Installation

Install from PyPI:

pip install byzpy              # CPU baseline
pip install "byzpy[gpu]"       # add CUDA/UCX extras
pip install "byzpy[dev]"       # add development tools (pytest, coverage)

Quick Start

from byzpy.aggregators.coordinate_wise.median import CoordinateWiseMedian
import torch

# Create aggregator
aggregator = CoordinateWiseMedian(chunk_size=4096)

# Aggregate gradients
gradients = [torch.randn(1000) for _ in range(10)]
result = aggregator.aggregate(gradients)

Features

  • Byzantine-robust aggregators – Krum, MDA, trimmed mean, geometric median, and more
  • Unified actor runtime – threads, processes, GPUs, and TCP/UCX remotes share a single API
  • Declarative computation graphs – build heterogeneous pipelines with deterministic scheduling
  • Complete examples – parameter-server and peer-to-peer demos included

CLI Tools

byzpy version                # installed version
byzpy doctor                 # environment diagnostics
byzpy list aggregators       # discover built-ins

Documentation

📖 Full documentation: https://byzpy.github.io/byzpy/

Links:

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

byzpy-0.1.3.tar.gz (152.5 kB view details)

Uploaded Source

Built Distribution

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

byzpy-0.1.3-py3-none-any.whl (240.5 kB view details)

Uploaded Python 3

File details

Details for the file byzpy-0.1.3.tar.gz.

File metadata

  • Download URL: byzpy-0.1.3.tar.gz
  • Upload date:
  • Size: 152.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for byzpy-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c270a3c039a816407ae29f250bf70e56a15b1be8cf9d2ad39631ba63419cc83f
MD5 3f95815898ef321fa91f122e0319e633
BLAKE2b-256 60c84d4a165b182d4374fa16fcf19d9a5990b3ed53b4303c384f18867c7eef3e

See more details on using hashes here.

File details

Details for the file byzpy-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: byzpy-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 240.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for byzpy-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4d69b898e740beb4800c4c9880816c0859db7f112f354d484b78542a38db8719
MD5 be8d08294842d42d36e4c433ce3c5a33
BLAKE2b-256 61e2a41747b8fc841ae88a87d487153a4fa36370da41e1deebb4e624a686eb11

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