Skip to content

Modernization Roadmap for main branch #17

@iAmGiG

Description

@iAmGiG

Overview

Full modernization of codebase to modern Python/TensorFlow stack.

Target Stack

  • Python: 3.11+
  • TensorFlow: 2.17+
  • Pandas: 2.2+ (breaking changes from 2.0)
  • NumPy: 2.0+ (breaking changes)
  • Scikit-learn: 1.5+
  • Federated Learning: Flower (flwr) instead of TFF

Breaking Changes to Address

1. Pandas 2.0+ Migration

  • DataFrame.append() removed → Use pd.concat()
  • Impact: ~10 locations
  • Files: train_og.py, test.py, classification scripts

2. Keras 3.0 Migration

  • Standalone keras deprecated
  • Options: tensorflow.keras or new keras 3.0 package
  • Impact: All imports, model loading/saving
  • .h5 format may need migration to .keras

3. TensorFlow 2.17+ Changes

  • Optimizer API changes
  • Model saving format changes
  • Callback signatures may differ

4. NumPy 2.0 Changes

  • Type system changes
  • Some deprecated functions removed
  • May impact array operations

5. Federated Learning Rewrite

  • Replace TensorFlow Federated with Flower framework
  • TFF 0.40.0 has impossible dependencies (jaxlib conflicts)
  • Flower is better documented, actively maintained
  • Original FL code never used actual botnet data anyway

Migration Strategy

  1. Fix deprecations first (pandas, keras imports)
  2. Update TensorFlow code for 2.17+ API
  3. Test classification and anomaly detection modules
  4. Rewrite FL implementation with Flower (new code, not port)
  5. Add proper unit tests
  6. Add CI/CD pipeline

Dependencies

Branch

Work will be done on main branch after archive-2020-fixed is complete.

References

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationmodernizationModernizing code, dependencies, and structure

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions