import json import numpy as np import random import os import zipfile def export_json(data, filename): with open(filename, 'w') as f: json.dump(data, f, indent=4) print(f"Data exported to {filename}") def seed_everything(seed): random.seed(seed) np.random.seed(seed) print(f"Random seeds set to {seed}") def zip_project(output_name="rft_simulation_engine.zip"): files_to_zip = [ 'agent.py', 'simulation.py', 'visualization.py', 'app.py', 'utils.py', 'requirements.txt', 'README.md', 'test_runner.py', 'final_agent_states.json', 'phi_plot.png', 'tau_plot.png', 'fitness_plot.png', 'coherence_plot.png', 'stability_plot.png' ] with zipfile.ZipFile(output_name, 'w') as zf: for file in files_to_zip: if os.path.exists(file): zf.write(file) print(f"Added {file} to {output_name}") else: print(f"Warning: {file} not found, skipping.") print(f"Successfully created {output_name} containing all specified files.") def zip_huggingface_repo(output_name='rft_hf_repo.zip'): """Creates a zip archive containing only the core project files for Hugging Face deployment.""" files_to_include = [ 'agent.py', 'simulation.py', 'visualization.py', 'app.py', 'utils.py', 'requirements.txt', 'README.md' ] with zipfile.ZipFile(output_name, 'w') as zf: for file in files_to_include: if os.path.exists(file): zf.write(file) print(f"Added {file} to {output_name}") else: print(f"Warning: {file} not found, skipping for Hugging Face repo zip.") print(f"Successfully created Hugging Face repository zip: {output_name}") print("utils.py updated successfully with new zip_huggingface_repo function.")