Metadata-Version: 2.4
Name: distributed-compute-locally
Version: 0.1.0
Summary: A library for distributing computational workloads across multiple devices
Home-page: https://github.com/Nebu0528/distributor
Author: Nebu0528
Author-email: nebu0528@users.noreply.github.com
License: MIT
Project-URL: Homepage, https://github.com/Nebu0528/distributor
Project-URL: Documentation, https://github.com/Nebu0528/distributor#readme
Project-URL: Repository, https://github.com/Nebu0528/distributor
Project-URL: Issues, https://github.com/Nebu0528/distributor/issues
Keywords: distributed,computing,parallel,cluster,workload
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cloudpickle>=2.0.0
Requires-Dist: psutil>=5.8.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: flake8>=4.0.0; extra == "dev"
Dynamic: author-email
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Distributed Compute

A Python library for distributing computational workloads across multiple machines on a local network.

## Installation

```bash
pip install -e .
```

## Quick Start

### Starting the Coordinator

```bash
python cli.py coordinator
```

### Starting Workers

On each worker machine:

```bash
python start_worker.py <worker-name> <coordinator-ip>
```

Example:
```bash
python start_worker.py laptop-1 192.168.1.100
```

### Running Computations

```python
from distributed_compute import Coordinator

# Connect to coordinator
coordinator = Coordinator(port=5555, verbose=False)

# Define your task
def heavy_computation(x):
    return x ** 2

# Distribute work
results = coordinator.map(heavy_computation, range(100))
print(results)
```

Or use the provided script:
```bash
python run_computation.py
```

## Examples

See the `examples/` directory:
- `basic_usage.py` - Simple distributed computing
- `ml_inference.py` - ML model inference simulation
- `data_processing.py` - Data processing pipeline

## Features

- Load balancing across workers
- Automatic task redistribution on worker failure
- Real-time monitoring
- Simple API

## Requirements

- Python 3.7+
- Network connectivity between machines

## License

MIT
