Metadata-Version: 2.1
Name: FederatedCryptix
Version: 1.0.0
Summary: FederatedCryptix is an innovative and modular framework designed for federated learning with a strong focus on cryptographic security.
Home-page: https://github.com/mehrdaddjavadi/FederatedCryptix
Author: Mehrdad Javadi
Author-email: mehrdaddjavadi@gmail.com
License: UNKNOWN
Keywords: federated learning,machine learning,deep learning,active learning,encryption,homomorphic encryption,FederatedCryptix
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
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: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: numpy
Requires-Dist: tensorflow
Requires-Dist: websockets
Requires-Dist: pytest
Requires-Dist: tenseal

# FederatedCryptix

## Overview

This repository contains a federated learning framework that enables collaborative training of machine learning models across multiple devices while preserving data privacy.

## Folder Structure

- **config/**: Configuration files for models and training parameters.
- **encryption/**: Contains encryption and decryption logic using TenSEAL.
- **models/**: Model implementations for TensorFlow and PyTorch.
- **communication/**: Manages WebSocket communication.
- **server/**: Central server implementation.
- **clients/**: Client device implementation.
- **utils/**: Utility functions and decorators.
- **logs/**: Log files for server and clients.
- **main_server.py**: Entry point to start the central server.
- **main_client.py**: Entry point to start a client device.

## Getting Started

### Central Server

1. Install dependencies:
   ```sh
   pip install -r requirements.txt
   ```


