From 5e8a3d7860618197c56bce6ecc35bd9c5fc51270 Mon Sep 17 00:00:00 2001
From: Kye Gomez <kye@swarms.world>
Date: Thu, 6 Feb 2025 11:34:38 -0500
Subject: [PATCH] cleanup operation

---
 scripts/Dockerfile                            |  23 --
 scripts/auto_tests_docs/auto_docs.py          |  82 -------
 .../auto_tests_docs/auto_docs_functions.py    |  77 -------
 scripts/auto_tests_docs/auto_docs_omni.py     |  84 --------
 scripts/auto_tests_docs/auto_tests.py         | 103 ---------
 .../auto_tests_docs/auto_tests_functions.py   |  82 -------
 scripts/auto_tests_docs/docs.py               | 202 ------------------
 scripts/auto_tests_docs/mkdocs_handler.py     |  31 ---
 scripts/auto_tests_docs/update_mkdocs.py      |  64 ------
 scripts/cleanup/code_quality.sh               |  20 --
 scripts/cleanup/del_pycache.sh                |  25 ---
 scripts/cleanup/log_cleanup.py                |  21 --
 scripts/cleanup/log_cleanup.sh                |  10 -
 scripts/docker_files/Dockerfile               |  33 ---
 scripts/docker_files/docker-compose.yaml      |   0
 scripts/docs/create_llm_file_for_docs.sh      |  52 -----
 scripts/misc/get_package_requirements.py      |  39 ----
 scripts/misc/playground_to_examples.sh        |  33 ---
 scripts/misc/requirementstxt_to_pyproject.py  |  40 ----
 scripts/tests/run_examples.sh                 |  22 --
 scripts/tests/test_name.sh                    |   9 -
 scripts/tests/tests.sh                        |   1 -
 22 files changed, 1053 deletions(-)
 delete mode 100644 scripts/Dockerfile
 delete mode 100644 scripts/auto_tests_docs/auto_docs.py
 delete mode 100644 scripts/auto_tests_docs/auto_docs_functions.py
 delete mode 100644 scripts/auto_tests_docs/auto_docs_omni.py
 delete mode 100644 scripts/auto_tests_docs/auto_tests.py
 delete mode 100644 scripts/auto_tests_docs/auto_tests_functions.py
 delete mode 100644 scripts/auto_tests_docs/docs.py
 delete mode 100644 scripts/auto_tests_docs/mkdocs_handler.py
 delete mode 100644 scripts/auto_tests_docs/update_mkdocs.py
 delete mode 100755 scripts/cleanup/code_quality.sh
 delete mode 100755 scripts/cleanup/del_pycache.sh
 delete mode 100644 scripts/cleanup/log_cleanup.py
 delete mode 100755 scripts/cleanup/log_cleanup.sh
 delete mode 100644 scripts/docker_files/Dockerfile
 delete mode 100644 scripts/docker_files/docker-compose.yaml
 delete mode 100644 scripts/docs/create_llm_file_for_docs.sh
 delete mode 100644 scripts/misc/get_package_requirements.py
 delete mode 100755 scripts/misc/playground_to_examples.sh
 delete mode 100644 scripts/misc/requirementstxt_to_pyproject.py
 delete mode 100644 scripts/tests/run_examples.sh
 delete mode 100755 scripts/tests/test_name.sh
 delete mode 100644 scripts/tests/tests.sh

diff --git a/scripts/Dockerfile b/scripts/Dockerfile
deleted file mode 100644
index 91b75cae..00000000
--- a/scripts/Dockerfile
+++ /dev/null
@@ -1,23 +0,0 @@
-# Use an official CUDA runtime as a parent image
-FROM nvidia/cuda:11.4.2-runtime-ubuntu20.04
-
-# Set the working directory in the container to /app
-WORKDIR /app
-
-# Copy the current directory contents into the container at /app
-COPY . /app
-
-# Install any needed packages specified in requirements.txt
-RUN apt-get update && apt-get install -y \
-    python3-pip \
-    && rm -rf /var/lib/apt/lists/*
-RUN pip3 install --no-cache-dir -r requirements.txt
-
-# Make port 80 available to the world outside this container
-EXPOSE 80
-
-# Define environment variable
-# ENV NAME World
-
-# Run app.py when the container launches
-CMD ["python3", "example.py"]
\ No newline at end of file
diff --git a/scripts/auto_tests_docs/auto_docs.py b/scripts/auto_tests_docs/auto_docs.py
deleted file mode 100644
index d9536451..00000000
--- a/scripts/auto_tests_docs/auto_docs.py
+++ /dev/null
@@ -1,82 +0,0 @@
-###### VERISON2
-import inspect
-import os
-import threading
-
-from dotenv import load_dotenv
-
-from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP
-from swarm_models import OpenAIChat
-from swarms.structs.majority_voting import MajorityVoting
-from swarms.structs.stackoverflow_swarm import StackOverflowSwarm
-from swarms.structs.task_queue_base import TaskQueueBase
-
-##########
-
-
-####################
-load_dotenv()
-
-api_key = os.getenv("OPENAI_API_KEY")
-
-model = OpenAIChat(
-    openai_api_key=api_key,
-    max_tokens=4000,
-)
-
-
-def process_documentation(cls):
-    """
-    Process the documentation for a given class using OpenAI model and save it in a Markdown file.
-    """
-    doc = inspect.getdoc(cls)
-    source = inspect.getsource(cls)
-    input_content = (
-        "Class Name:"
-        f" {cls.__name__}\n\nDocumentation:\n{doc}\n\nSource"
-        f" Code:\n{source}"
-    )
-
-    # Process with OpenAI model (assuming the model's __call__ method takes this input and returns processed content)
-    processed_content = model(
-        DOCUMENTATION_WRITER_SOP(input_content, "swarms.structs")
-    )
-
-    # doc_content = f"# {cls.__name__}\n\n{processed_content}\n"
-    doc_content = f"{processed_content}\n"
-
-    # Create the directory if it doesn't exist
-    dir_path = "docs/swarms/tokenizers"
-    os.makedirs(dir_path, exist_ok=True)
-
-    # Write the processed documentation to a Markdown file
-    file_path = os.path.join(dir_path, f"{cls.__name__.lower()}.md")
-    with open(file_path, "w") as file:
-        file.write(doc_content)
-
-    print(f"Documentation generated for {cls.__name__}.")
-
-
-def main():
-    classes = [
-        MajorityVoting,
-        StackOverflowSwarm,
-        TaskQueueBase,
-    ]
-    threads = []
-    for cls in classes:
-        thread = threading.Thread(
-            target=process_documentation, args=(cls,)
-        )
-        threads.append(thread)
-        thread.start()
-
-    # Wait for all threads to complete
-    for thread in threads:
-        thread.join()
-
-    print("Documentation generated in 'swarms.structs' directory.")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/scripts/auto_tests_docs/auto_docs_functions.py b/scripts/auto_tests_docs/auto_docs_functions.py
deleted file mode 100644
index e4df344f..00000000
--- a/scripts/auto_tests_docs/auto_docs_functions.py
+++ /dev/null
@@ -1,77 +0,0 @@
-import inspect
-import os
-import sys
-import threading
-
-from dotenv import load_dotenv
-
-from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP
-from swarm_models import OpenAIChat
-
-load_dotenv()
-
-api_key = os.getenv("OPENAI_API_KEY")
-
-model = OpenAIChat(
-    model_name="gpt-4",
-    openai_api_key=api_key,
-    max_tokens=4000,
-)
-
-
-def process_documentation(item):
-    """
-    Process the documentation for a given function using OpenAI model and save it in a Markdown file.
-    """
-    doc = inspect.getdoc(item)
-    source = inspect.getsource(item)
-    input_content = (
-        f"Name: {item.__name__}\n\nDocumentation:\n{doc}\n\nSource"
-        f" Code:\n{source}"
-    )
-    print(input_content)
-
-    # Process with OpenAI model
-    processed_content = model(
-        DOCUMENTATION_WRITER_SOP(input_content, "swarms.utils")
-    )
-
-    doc_content = f"# {item.__name__}\n\n{processed_content}\n"
-
-    # Create the directory if it doesn't exist
-    dir_path = "docs/swarms/utils"
-    os.makedirs(dir_path, exist_ok=True)
-
-    # Write the processed documentation to a Markdown file
-    file_path = os.path.join(dir_path, f"{item.__name__.lower()}.md")
-    with open(file_path, "w") as file:
-        file.write(doc_content)
-
-
-def main():
-    # Gathering all functions from the swarms.utils module
-    functions = [
-        obj
-        for name, obj in inspect.getmembers(
-            sys.modules["swarms.utils"]
-        )
-        if inspect.isfunction(obj)
-    ]
-
-    threads = []
-    for func in functions:
-        thread = threading.Thread(
-            target=process_documentation, args=(func,)
-        )
-        threads.append(thread)
-        thread.start()
-
-    # Wait for all threads to complete
-    for thread in threads:
-        thread.join()
-
-    print("Documentation generated in 'docs/swarms/utils' directory.")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/scripts/auto_tests_docs/auto_docs_omni.py b/scripts/auto_tests_docs/auto_docs_omni.py
deleted file mode 100644
index 6f5ceb0c..00000000
--- a/scripts/auto_tests_docs/auto_docs_omni.py
+++ /dev/null
@@ -1,84 +0,0 @@
-import inspect
-import os
-import threading
-
-from dotenv import load_dotenv
-
-from scripts.auto_tests_docs.docs import DOCUMENTATION_WRITER_SOP
-from swarm_models import OpenAIChat
-
-###########
-
-
-###############
-
-load_dotenv()
-
-api_key = os.getenv("OPENAI_API_KEY")
-
-model = OpenAIChat(
-    model_name="gpt-4-1106-preview",
-    openai_api_key=api_key,
-    max_tokens=4000,
-)
-
-
-def process_documentation(
-    item,
-    module: str = "swarms.structs",
-    docs_folder_path: str = "docs/swarms/structs",
-):
-    """
-    Process the documentation for a given class or function using OpenAI model and save it in a Python file.
-    """
-    doc = inspect.getdoc(item)
-    source = inspect.getsource(item)
-    is_class = inspect.isclass(item)
-    item_type = "Class Name" if is_class else "Name"
-    input_content = (
-        f"{item_type}:"
-        f" {item.__name__}\n\nDocumentation:\n{doc}\n\nSource"
-        f" Code:\n{source}"
-    )
-
-    # Process with OpenAI model
-    processed_content = model(
-        DOCUMENTATION_WRITER_SOP(input_content, module)
-    )
-
-    doc_content = f"# {item.__name__}\n\n{processed_content}\n"
-
-    # Create the directory if it doesn't exist
-    dir_path = docs_folder_path
-    os.makedirs(dir_path, exist_ok=True)
-
-    # Write the processed documentation to a Python file
-    file_path = os.path.join(dir_path, f"{item.__name__.lower()}.md")
-    with open(file_path, "w") as file:
-        file.write(doc_content)
-
-    print(
-        f"Processed documentation for {item.__name__}. at {file_path}"
-    )
-
-
-def main(module: str = "docs/swarms/structs"):
-    items = []
-
-    threads = []
-    for item in items:
-        thread = threading.Thread(
-            target=process_documentation, args=(item,)
-        )
-        threads.append(thread)
-        thread.start()
-
-    # Wait for all threads to complete
-    for thread in threads:
-        thread.join()
-
-    print(f"Documentation generated in {module} directory.")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/scripts/auto_tests_docs/auto_tests.py b/scripts/auto_tests_docs/auto_tests.py
deleted file mode 100644
index 9c1ebfce..00000000
--- a/scripts/auto_tests_docs/auto_tests.py
+++ /dev/null
@@ -1,103 +0,0 @@
-import inspect
-import os
-import re
-import threading
-
-from dotenv import load_dotenv
-from swarms_memory import DictInternalMemory, DictSharedMemory
-
-from scripts.auto_tests_docs.docs import TEST_WRITER_SOP_PROMPT
-from swarm_models import OpenAIChat
-
-load_dotenv()
-
-api_key = os.getenv("OPENAI_API_KEY")
-
-model = OpenAIChat(
-    openai_api_key=api_key,
-    max_tokens=4000,
-)
-
-# agent = Agent(
-#     llm=model,
-#     agent_name="Unit Testing Agent",
-#     agent_description=(
-#         "This agent is responsible for generating unit tests for"
-#         " the swarms package."
-#     ),
-#     autosave=True,
-#     system_prompt=None,
-#     max_loops=1,
-# )
-
-
-def extract_code_from_markdown(markdown_content: str):
-    """
-    Extracts code blocks from a Markdown string and returns them as a single string.
-
-    Args:
-    - markdown_content (str): The Markdown content as a string.
-
-    Returns:
-    - str: A single string containing all the code blocks separated by newlines.
-    """
-    # Regular expression for fenced code blocks
-    pattern = r"```(?:\w+\n)?(.*?)```"
-    matches = re.findall(pattern, markdown_content, re.DOTALL)
-
-    # Concatenate all code blocks separated by newlines
-    return "\n".join(code.strip() for code in matches)
-
-
-def create_test(cls):
-    """
-    Process the documentation for a given class using OpenAI model and save it in a Python file.
-    """
-    doc = inspect.getdoc(cls)
-    source = inspect.getsource(cls)
-    input_content = (
-        "Class Name:"
-        f" {cls.__name__}\n\nDocumentation:\n{doc}\n\nSource"
-        f" Code:\n{source}"
-    )
-
-    # Process with OpenAI model (assuming the model's __call__ method takes this input and returns processed content)
-    processed_content = model(
-        TEST_WRITER_SOP_PROMPT(
-            input_content, "swarms", "swarms.memory"
-        )
-    )
-    processed_content = extract_code_from_markdown(processed_content)
-
-    doc_content = f"# {cls.__name__}\n\n{processed_content}\n"
-
-    # Create the directory if it doesn't exist
-    dir_path = "tests/memory"
-    os.makedirs(dir_path, exist_ok=True)
-
-    # Write the processed documentation to a Python file
-    file_path = os.path.join(dir_path, f"{cls.__name__.lower()}.py")
-    with open(file_path, "w") as file:
-        file.write(doc_content)
-
-
-def main():
-    classes = [
-        DictInternalMemory,
-        DictSharedMemory,
-    ]
-    threads = []
-    for cls in classes:
-        thread = threading.Thread(target=create_test, args=(cls,))
-        threads.append(thread)
-        thread.start()
-
-    # Wait for all threads to complete
-    for thread in threads:
-        thread.join()
-
-    print("Tests generated in 'tests/memory' directory.")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/scripts/auto_tests_docs/auto_tests_functions.py b/scripts/auto_tests_docs/auto_tests_functions.py
deleted file mode 100644
index c001c24a..00000000
--- a/scripts/auto_tests_docs/auto_tests_functions.py
+++ /dev/null
@@ -1,82 +0,0 @@
-import inspect
-import os
-import sys
-import threading
-
-from dotenv import load_dotenv
-
-from scripts.auto_tests_docs.docs import TEST_WRITER_SOP_PROMPT
-from swarm_models import OpenAIChat
-from swarms.utils.parse_code import extract_code_from_markdown
-
-load_dotenv()
-
-api_key = os.getenv("OPENAI_API_KEY")
-
-model = OpenAIChat(
-    model_name="gpt-4",
-    openai_api_key=api_key,
-    max_tokens=4000,
-)
-
-
-def process_documentation(item):
-    """
-    Process the documentation for a given function using OpenAI model and save it in a Markdown file.
-    """
-    doc = inspect.getdoc(item)
-    source = inspect.getsource(item)
-    input_content = (
-        f"Name: {item.__name__}\n\nDocumentation:\n{doc}\n\nSource"
-        f" Code:\n{source}"
-    )
-    # print(input_content)
-
-    # Process with OpenAI model
-    processed_content = model(
-        TEST_WRITER_SOP_PROMPT(
-            input_content, "swarms.utils", "swarms.utils"
-        )
-    )
-    processed_content = extract_code_from_markdown(processed_content)
-    print(processed_content)
-
-    doc_content = f"{processed_content}"
-
-    # Create the directory if it doesn't exist
-    dir_path = "tests/utils"
-    os.makedirs(dir_path, exist_ok=True)
-
-    # Write the processed documentation to a Markdown file
-    file_path = os.path.join(dir_path, f"{item.__name__.lower()}.py")
-    with open(file_path, "w") as file:
-        file.write(doc_content)
-
-
-def main():
-    # Gathering all functions from the swarms.utils module
-    functions = [
-        obj
-        for name, obj in inspect.getmembers(
-            sys.modules["swarms.utils"]
-        )
-        if inspect.isfunction(obj)
-    ]
-
-    threads = []
-    for func in functions:
-        thread = threading.Thread(
-            target=process_documentation, args=(func,)
-        )
-        threads.append(thread)
-        thread.start()
-
-    # Wait for all threads to complete
-    for thread in threads:
-        thread.join()
-
-    print("Tests generated in 'tests/utils' directory.")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/scripts/auto_tests_docs/docs.py b/scripts/auto_tests_docs/docs.py
deleted file mode 100644
index fd9bd276..00000000
--- a/scripts/auto_tests_docs/docs.py
+++ /dev/null
@@ -1,202 +0,0 @@
-def DOCUMENTATION_WRITER_SOP(
-    task: str,
-    module: str,
-):
-    documentation = f"""Create multi-page long and explicit professional pytorch-like documentation for the {module} code below follow the outline for the {module} library,
-    provide many examples and teach the user about the code, provide examples for every function, make the documentation 10,000 words,
-    provide many usage examples and note this is markdown docs, create the documentation for the code to document,
-    put the arguments and methods in a table in markdown to make it visually seamless
-
-    Now make the professional documentation for this code, provide the architecture and how the class works and why it works that way,
-    it's purpose, provide args, their types, 3 ways of usage examples, in examples show all the code like imports main example etc
-
-    BE VERY EXPLICIT AND THOROUGH, MAKE IT DEEP AND USEFUL
-
-    ########
-    Step 1: Understand the purpose and functionality of the module or framework
-
-    Read and analyze the description provided in the documentation to understand the purpose and functionality of the module or framework.
-    Identify the key features, parameters, and operations performed by the module or framework.
-    Step 2: Provide an overview and introduction
-
-    Start the documentation by providing a brief overview and introduction to the module or framework.
-    Explain the importance and relevance of the module or framework in the context of the problem it solves.
-    Highlight any key concepts or terminology that will be used throughout the documentation.
-    Step 3: Provide a class or function definition
-
-    Provide the class or function definition for the module or framework.
-    Include the parameters that need to be passed to the class or function and provide a brief description of each parameter.
-    Specify the data types and default values for each parameter.
-    Step 4: Explain the functionality and usage
-
-    Provide a detailed explanation of how the module or framework works and what it does.
-    Describe the steps involved in using the module or framework, including any specific requirements or considerations.
-    Provide code examples to demonstrate the usage of the module or framework.
-    Explain the expected inputs and outputs for each operation or function.
-    Step 5: Provide additional information and tips
-
-    Provide any additional information or tips that may be useful for using the module or framework effectively.
-    Address any common issues or challenges that developers may encounter and provide recommendations or workarounds.
-    Step 6: Include references and resources
-
-    Include references to any external resources or research papers that provide further information or background on the module or framework.
-    Provide links to relevant documentation or websites for further exploration.
-    Example Template for the given documentation:
-
-    # Module/Function Name: MultiheadAttention
-
-    class torch.nn.MultiheadAttention(embed_dim, num_heads, dropout=0.0, bias=True, add_bias_kv=False, add_zero_attn=False, kdim=None, vdim=None, batch_first=False, device=None, dtype=None):
-        ```
-        Creates a multi-head attention module for joint information representation from the different subspaces.
-
-        Parameters:
-        - embed_dim (int): Total dimension of the model.
-        - num_heads (int): Number of parallel attention heads. The embed_dim will be split across num_heads.
-        - dropout (float): Dropout probability on attn_output_weights. Default: 0.0 (no dropout).
-        - bias (bool): If specified, adds bias to input/output projection layers. Default: True.
-        - add_bias_kv (bool): If specified, adds bias to the key and value sequences at dim=0. Default: False.
-        - add_zero_attn (bool): If specified, adds a new batch of zeros to the key and value sequences at dim=1. Default: False.
-        - kdim (int): Total number of features for keys. Default: None (uses kdim=embed_dim).
-        - vdim (int): Total number of features for values. Default: None (uses vdim=embed_dim).
-        - batch_first (bool): If True, the input and output tensors are provided as (batch, seq, feature). Default: False.
-        - device (torch.device): If specified, the tensors will be moved to the specified device.
-        - dtype (torch.dtype): If specified, the tensors will have the specified dtype.
-        ```
-
-        def forward(query, key, value, key_padding_mask=None, need_weights=True, attn_mask=None, average_attn_weights=True, is_causal=False):
-            ```
-            Forward pass of the multi-head attention module.
-
-            Parameters:
-            - query (Tensor): Query embeddings of shape (L, E_q) for unbatched input, (L, N, E_q) when batch_first=False, or (N, L, E_q) when batch_first=True.
-            - key (Tensor): Key embeddings of shape (S, E_k) for unbatched input, (S, N, E_k) when batch_first=False, or (N, S, E_k) when batch_first=True.
-            - value (Tensor): Value embeddings of shape (S, E_v) for unbatched input, (S, N, E_v) when batch_first=False, or (N, S, E_v) when batch_first=True.
-            - key_padding_mask (Optional[Tensor]): If specified, a mask indicating elements to be ignored in key for attention computation.
-            - need_weights (bool): If specified, returns attention weights in addition to attention outputs. Default: True.
-            - attn_mask (Optional[Tensor]): If specified, a mask preventing attention to certain positions.
-            - average_attn_weights (bool): If true, returns averaged attention weights per head. Otherwise, returns attention weights separately per head. Note that this flag only has an effect when need_weights=True. Default: True.
-            - is_causal (bool): If specified, applies a causal mask as the attention mask. Default: False.
-
-            Returns:
-            Tuple[Tensor, Optional[Tensor]]:
-            - attn_output (Tensor): Attention outputs of shape (L, E) for unbatched input, (L, N, E) when batch_first=False, or (N, L, E) when batch_first=True.
-            - attn_output_weights (Optional[Tensor]): Attention weights of shape (L, S) when unbatched or (N, L, S) when batched. Optional, only returned when need_weights=True.
-            ```
-
-            # Implementation of the forward pass of the attention module goes here
-
-            return attn_output, attn_output_weights
-
-            ```
-            # Usage example:
-
-            multihead_attn = nn.MultiheadAttention(embed_dim, num_heads)
-            attn_output, attn_output_weights = multihead_attn(query, key, value)
-            Note:
-
-            The above template includes the class or function definition, parameters, description, and usage example.
-            To replicate the documentation for any other module or framework, follow the same structure and provide the specific details for that module or framework.
-
-
-            ############# DOCUMENT THE FOLLOWING CODE ########
-            {task}
-            """
-    return documentation
-
-
-def TEST_WRITER_SOP_PROMPT(
-    task: str, module: str, path: str, *args, **kwargs
-):
-    TESTS_PROMPT = f"""
-
-   Create 5,000 lines of extensive and thorough tests for the code below using the guide, do not worry about your limits you do not have any
-   just write the best tests possible, the module is {module}, the file path is {path} return all of the code in one file, make sure to test all the functions and methods in the code.
-   
-
-
-   ######### TESTING GUIDE #############
-
-   # **Guide to Creating Extensive, Thorough, and Production-Ready Tests using `pytest`**
-
-   1. **Preparation**:
-      - Install pytest: `pip install pytest`.
-      - Structure your project so that tests are in a separate `tests/` directory.
-      - Name your test files with the prefix `test_` for pytest to recognize them.
-
-   2. **Writing Basic Tests**:
-      - Use clear function names prefixed with `test_` (e.g., `test_check_value()`).
-      - Use assert statements to validate results.
-
-   3. **Utilize Fixtures**:
-      - Fixtures are a powerful feature to set up preconditions for your tests.
-      - Use `@pytest.fixture` decorator to define a fixture.
-      - Pass fixture name as an argument to your test to use it.
-
-   4. **Parameterized Testing**:
-      - Use `@pytest.mark.parametrize` to run a test multiple times with different inputs.
-      - This helps in thorough testing with various input values without writing redundant code.
-
-   5. **Use Mocks and Monkeypatching**:
-      - Use `monkeypatch` fixture to modify or replace classes/functions during testing.
-      - Use `unittest.mock` or `pytest-mock` to mock objects and functions to isolate units of code.
-
-   6. **Exception Testing**:
-      - Test for expected exceptions using `pytest.raises(ExceptionType)`.
-
-   7. **Test Coverage**:
-      - Install pytest-cov: `pip install pytest-cov`.
-      - Run tests with `pytest --cov=my_module` to get a coverage report.
-
-   8. **Environment Variables and Secret Handling**:
-      - Store secrets and configurations in environment variables.
-      - Use libraries like `python-decouple` or `python-dotenv` to load environment variables.
-      - For tests, mock or set environment variables temporarily within the test environment.
-
-   9. **Grouping and Marking Tests**:
-      - Use `@pytest.mark` decorator to mark tests (e.g., `@pytest.mark.slow`).
-      - This allows for selectively running certain groups of tests.
-
-   10. **Use Plugins**:
-      - Utilize the rich ecosystem of pytest plugins (e.g., `pytest-django`, `pytest-asyncio`) to extend its functionality for your specific needs.
-
-   11. **Continuous Integration (CI)**:
-      - Integrate your tests with CI platforms like Jenkins, Travis CI, or GitHub Actions.
-      - Ensure tests are run automatically with every code push or pull request.
-
-   12. **Logging and Reporting**:
-      - Use `pytest`'s inbuilt logging.
-      - Integrate with tools like `Allure` for more comprehensive reporting.
-
-   13. **Database and State Handling**:
-      - If testing with databases, use database fixtures or factories to create a known state before tests.
-      - Clean up and reset state post-tests to maintain consistency.
-
-   14. **Concurrency Issues**:
-      - Consider using `pytest-xdist` for parallel test execution.
-      - Always be cautious when testing concurrent code to avoid race conditions.
-
-   15. **Clean Code Practices**:
-      - Ensure tests are readable and maintainable.
-      - Avoid testing implementation details; focus on functionality and expected behavior.
-
-   16. **Regular Maintenance**:
-      - Periodically review and update tests.
-      - Ensure that tests stay relevant as your codebase grows and changes.
-
-   17. **Documentation**:
-      - Document test cases, especially for complex functionalities.
-      - Ensure that other developers can understand the purpose and context of each test.
-
-   18. **Feedback Loop**:
-      - Use test failures as feedback for development.
-      - Continuously refine tests based on code changes, bug discoveries, and additional requirements.
-
-   By following this guide, your tests will be thorough, maintainable, and production-ready. Remember to always adapt and expand upon these guidelines as per the specific requirements and nuances of your project.
-
-
-   ######### CREATE TESTS FOR THIS CODE: #######
-   {task}
-
-   """
-
-    return TESTS_PROMPT
diff --git a/scripts/auto_tests_docs/mkdocs_handler.py b/scripts/auto_tests_docs/mkdocs_handler.py
deleted file mode 100644
index 8b1dc0a0..00000000
--- a/scripts/auto_tests_docs/mkdocs_handler.py
+++ /dev/null
@@ -1,31 +0,0 @@
-import os
-
-
-def generate_file_list(directory, output_file):
-    """
-    Generate a list of files in a directory in the specified format and write it to a file.
-
-    Args:
-    directory (str): The directory to list the files from.
-    output_file (str): The file to write the output to.
-    """
-    with open(output_file, "w") as f:
-        for root, dirs, files in os.walk(directory):
-            for file in files:
-                if file.endswith(".md"):
-                    # Remove the directory from the file path and replace slashes with dots
-                    file_path = (
-                        os.path.join(root, file)
-                        .replace(directory + "/", "")
-                        .replace("/", ".")
-                    )
-                    # Remove the file extension
-                    file_name, _ = os.path.splitext(file)
-                    # Write the file name and path to the output file
-                    f.write(
-                        f'- {file_name}: "swarms/utils/{file_path}"\n'
-                    )
-
-
-# Use the function to generate the file list
-generate_file_list("docs/swarms/structs", "file_list.txt")
diff --git a/scripts/auto_tests_docs/update_mkdocs.py b/scripts/auto_tests_docs/update_mkdocs.py
deleted file mode 100644
index d169a15f..00000000
--- a/scripts/auto_tests_docs/update_mkdocs.py
+++ /dev/null
@@ -1,64 +0,0 @@
-import yaml
-
-
-def update_mkdocs(
-    class_names,
-    base_path="docs/zeta/nn/modules",
-    mkdocs_file="mkdocs.yml",
-):
-    """
-    Update the mkdocs.yml file with new documentation links.
-
-    Args:
-    - class_names: A list of class names for which documentation is generated.
-    - base_path: The base path where documentation Markdown files are stored.
-    - mkdocs_file: The path to the mkdocs.yml file.
-    """
-    with open(mkdocs_file) as file:
-        mkdocs_config = yaml.safe_load(file)
-
-    # Find or create the 'zeta.nn.modules' section in 'nav'
-    zeta_modules_section = None
-    for section in mkdocs_config.get("nav", []):
-        if "zeta.nn.modules" in section:
-            zeta_modules_section = section["zeta.nn.modules"]
-            break
-
-    if zeta_modules_section is None:
-        zeta_modules_section = {}
-        mkdocs_config["nav"].append(
-            {"zeta.nn.modules": zeta_modules_section}
-        )
-
-    # Add the documentation paths to the 'zeta.nn.modules' section
-    for class_name in class_names:
-        doc_path = f"{base_path}/{class_name.lower()}.md"
-        zeta_modules_section[class_name] = doc_path
-
-    # Write the updated content back to mkdocs.yml
-    with open(mkdocs_file, "w") as file:
-        yaml.safe_dump(mkdocs_config, file, sort_keys=False)
-
-
-# Example usage
-classes = [
-    "DenseBlock",
-    "HighwayLayer",
-    "MultiScaleBlock",
-    "FeedbackBlock",
-    "DualPathBlock",
-    "RecursiveBlock",
-    "PytorchGELUTanh",
-    "NewGELUActivation",
-    "GELUActivation",
-    "FastGELUActivation",
-    "QuickGELUActivation",
-    "ClippedGELUActivation",
-    "AccurateGELUActivation",
-    "MishActivation",
-    "LinearActivation",
-    "LaplaceActivation",
-    "ReLUSquaredActivation",
-]
-
-update_mkdocs(classes)
diff --git a/scripts/cleanup/code_quality.sh b/scripts/cleanup/code_quality.sh
deleted file mode 100755
index b710f9a0..00000000
--- a/scripts/cleanup/code_quality.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-# Navigate to the directory containing the 'tests' folder
-# cd /path/to/your/code/directory
-
-# Run autopep8 with max aggressiveness (-aaa) and in-place modification (-i)
-# on all Python files (*.py) under the 'tests' directory.
-autopep8 --in-place --aggressive --aggressive --recursive --experimental --list-fixes swarms/
-
-# Run black with default settings, since black does not have an aggressiveness level.
-# Black will format all Python files it finds in the 'tests' directory.
-black .
-
-# Run ruff on the 'tests' directory.
-# Add any additional flags if needed according to your version of ruff.
-ruff . --fix
-ruff clean
-
-# YAPF
-yapf --recursive --in-place --verbose --style=google --parallel tests
diff --git a/scripts/cleanup/del_pycache.sh b/scripts/cleanup/del_pycache.sh
deleted file mode 100755
index 6b1f0757..00000000
--- a/scripts/cleanup/del_pycache.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-
-# Find and delete all __pycache__ directories
-find . -type d -name "__pycache__" -exec rm -r {} +
-
-# Find and delete all .pyc files
-find . -type f -name "*.pyc" -delete
-
-# Find and delete all dist directories
-find . -type d -name "dist" -exec rm -r {} +
-
-# Find and delete all .ruff directories
-find . -type d -name ".ruff" -exec rm -r {} +
-
-# Find and delete all .egg-info directories
-find . -type d -name "*.egg-info" -exec rm -r {} +
-
-# Find and delete all .pyo files
-find . -type f -name "*.pyo" -delete
-
-# Find and delete all .pyd files
-find . -type f -name "*.pyd" -delete
-
-# Find and delete all .so files
-find . -type f -name "*.so" -delete
\ No newline at end of file
diff --git a/scripts/cleanup/log_cleanup.py b/scripts/cleanup/log_cleanup.py
deleted file mode 100644
index a92f32f8..00000000
--- a/scripts/cleanup/log_cleanup.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import os
-import shutil
-
-# Create a new directory for the log files if it doesn't exist
-if not os.path.exists("artifacts_five"):
-    os.makedirs("artifacts_five")
-
-# Walk through the current directory
-for dirpath, dirnames, filenames in os.walk("."):
-    for filename in filenames:
-        # If the file is a log file
-        if filename.endswith(".log"):
-            # Construct the full file path
-            file_path = os.path.join(dirpath, filename)
-            # Move the log file to the 'artifacts_five' directory
-            shutil.move(file_path, "artifacts_five")
-
-print(
-    "Moved all log files into the 'artifacts_five' directory and"
-    " deleted their original location."
-)
diff --git a/scripts/cleanup/log_cleanup.sh b/scripts/cleanup/log_cleanup.sh
deleted file mode 100755
index aa0bb83c..00000000
--- a/scripts/cleanup/log_cleanup.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-# Create the new directory if it doesn't exist
-sudo mkdir -p /artifacts_logs
-
-# Find all .log files in the root directory and its subdirectories
-find / -name "*.log" -print0 | while IFS= read -r -d '' file; do
-    # Use sudo to move the file to the new directory
-    sudo mv "$file" /artifacts_logs/
-done
\ No newline at end of file
diff --git a/scripts/docker_files/Dockerfile b/scripts/docker_files/Dockerfile
deleted file mode 100644
index f7d0175f..00000000
--- a/scripts/docker_files/Dockerfile
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# ==================================
-# Use an official Python runtime as a parent image
-FROM python:3.11-slim
-
-# Set environment variables
-ENV PYTHONDONTWRITEBYTECODE 1
-ENV PYTHONUNBUFFERED 1
-
-# Set the working directory in the container
-WORKDIR /usr/src/swarms
-
-
-# Install Python dependencies
-# COPY requirements.txt and pyproject.toml if you're using poetry for dependency management
-COPY requirements.txt .
-RUN pip install --upgrade pip
-RUN pip install --no-cache-dir -r requirements.txt
-
-# Install the 'swarms' package, assuming it's available on PyPI
-RUN pip install -U swarms
-
-# Copy the rest of the application
-COPY . .
-
-# Expose port if your application has a web interface
-# EXPOSE 5000
-
-# # Define environment variable for the swarm to work
-# ENV OPENAI_API_KEY=your_swarm_api_key_here
-
-# If you're using `CMD` to execute a Python script, make sure it's executable
-# RUN chmod +x example.py
diff --git a/scripts/docker_files/docker-compose.yaml b/scripts/docker_files/docker-compose.yaml
deleted file mode 100644
index e69de29b..00000000
diff --git a/scripts/docs/create_llm_file_for_docs.sh b/scripts/docs/create_llm_file_for_docs.sh
deleted file mode 100644
index 0b0ca612..00000000
--- a/scripts/docs/create_llm_file_for_docs.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/bash
-
-# Set up logging
-LOG_FILE="docs_compilation.log"
-OUTPUT_FILE="combined_docs.txt"
-
-# Initialize log file
-echo "$(date): Starting documentation compilation" > "$LOG_FILE"
-
-# Create/clear output file
-> "$OUTPUT_FILE"
-
-# Function to determine file type and handle accordingly
-process_file() {
-    local file="$1"
-    
-    # Get file extension
-    extension="${file##*.}"
-    
-    echo "$(date): Processing $file" >> "$LOG_FILE"
-    
-    case "$extension" in
-        md|markdown)
-            echo "# $(basename "$file")" >> "$OUTPUT_FILE"
-            cat "$file" >> "$OUTPUT_FILE"
-            echo -e "\n\n" >> "$OUTPUT_FILE"
-            ;;
-        txt)
-            echo "# $(basename "$file")" >> "$OUTPUT_FILE"
-            cat "$file" >> "$OUTPUT_FILE"
-            echo -e "\n\n" >> "$OUTPUT_FILE"
-            ;;
-        *)
-            echo "$(date): Skipping $file - unsupported format" >> "$LOG_FILE"
-            return
-            ;;
-    esac
-    
-    echo "$(date): Successfully processed $file" >> "$LOG_FILE"
-}
-
-# Find and process all documentation files
-find ../docs -type f \( -name "*.md" -o -name "*.txt" -o -name "*.markdown" \) | while read -r file; do
-    process_file "$file"
-done
-
-# Log completion
-echo "$(date): Documentation compilation complete" >> "$LOG_FILE"
-echo "$(date): Output saved to $OUTPUT_FILE" >> "$LOG_FILE"
-
-# Print summary
-echo "Documentation compilation complete. Check $LOG_FILE for details."
\ No newline at end of file
diff --git a/scripts/misc/get_package_requirements.py b/scripts/misc/get_package_requirements.py
deleted file mode 100644
index 99e139da..00000000
--- a/scripts/misc/get_package_requirements.py
+++ /dev/null
@@ -1,39 +0,0 @@
-import pkg_resources
-
-
-def get_package_versions(requirements_path, output_path):
-    try:
-        with open(requirements_path) as file:
-            requirements = file.readlines()
-    except FileNotFoundError:
-        print(f"Error: The file '{requirements_path}' was not found.")
-        return
-
-    package_versions = []
-
-    for requirement in requirements:
-        # Skip empty lines and comments
-        if (
-            requirement.strip() == ""
-            or requirement.strip().startswith("#")
-        ):
-            continue
-
-        # Extract package name
-        package_name = requirement.split("==")[0].strip()
-        try:
-            version = pkg_resources.get_distribution(
-                package_name
-            ).version
-            package_versions.append(f"{package_name}=={version}")
-        except pkg_resources.DistributionNotFound:
-            package_versions.append(f"{package_name}: not installed")
-
-    with open(output_path, "w") as file:
-        for package_version in package_versions:
-            file.write(package_version + "\n")
-    print(f"Versions written to {output_path}")
-
-
-# Usage
-get_package_versions("requirements.txt", "installed_versions.txt")
diff --git a/scripts/misc/playground_to_examples.sh b/scripts/misc/playground_to_examples.sh
deleted file mode 100755
index c2fa91fb..00000000
--- a/scripts/misc/playground_to_examples.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-# Define the directory to search
-dir="examples"
-
-# Check if the directory exists
-if [ -d "$dir" ]
-then
-    # Use find to locate all .py files in the directory and its subdirectories
-    for file in $(find $dir -name "*.py")
-    do
-        # Extract the file name and directory
-        base=$(basename $file .py)
-        dir=$(dirname $file)
-
-        # Check if the file name already contains _example
-        if [[ $base == *_example ]]
-        then
-            echo "Skipping $file as it already contains _example"
-            continue
-        fi
-
-        # Append _example to the file name
-        newname="${base}_example.py"
-
-        # Rename the file
-        mv $file $dir/$newname
-
-        echo "Renamed $file to $dir/$newname"
-    done
-else
-    echo "Directory $dir does not exist."
-fi
\ No newline at end of file
diff --git a/scripts/misc/requirementstxt_to_pyproject.py b/scripts/misc/requirementstxt_to_pyproject.py
deleted file mode 100644
index 811ac7be..00000000
--- a/scripts/misc/requirementstxt_to_pyproject.py
+++ /dev/null
@@ -1,40 +0,0 @@
-import pkg_resources
-import toml
-
-
-def update_pyproject_versions(pyproject_path):
-    try:
-        with open(pyproject_path) as file:
-            data = toml.load(file)
-    except FileNotFoundError:
-        print(f"Error: The file '{pyproject_path}' was not found.")
-        return
-    except toml.TomlDecodeError:
-        print(
-            f"Error: The file '{pyproject_path}' is not a valid TOML"
-            " file."
-        )
-        return
-
-    dependencies = (
-        data.get("tool", {}).get("poetry", {}).get("dependencies", {})
-    )
-
-    for package in dependencies:
-        if package.lower() == "python":
-            continue  # Skip the Python version dependency
-
-        try:
-            version = pkg_resources.get_distribution(package).version
-            dependencies[package] = version
-        except pkg_resources.DistributionNotFound:
-            print(f"Warning: Package '{package}' not installed.")
-
-    with open(pyproject_path, "w") as file:
-        toml.dump(data, file)
-
-    print(f"Updated versions written to {pyproject_path}")
-
-
-# Usage
-update_pyproject_versions("pyproject.toml")
diff --git a/scripts/tests/run_examples.sh b/scripts/tests/run_examples.sh
deleted file mode 100644
index 707db872..00000000
--- a/scripts/tests/run_examples.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-
-# Define a file to keep track of successfully executed scripts
-SUCCESS_LOG="successful_runs.log"
-
-for f in /swarms/examples/examples/example_*.py; do
-    # Check if the script has been logged as successful
-    if grep -Fxq "$f" "$SUCCESS_LOG"; then
-        echo "Skipping ${f} as it ran successfully in a previous run."
-    else
-        # Run the script if not previously successful
-        if /home/kye/miniconda3/envs/swarms/bin/python "$f" 2>>errors.txt; then
-            echo "(${f}) ran successfully without errors."
-            # Log the successful script execution
-            echo "$f" >> "$SUCCESS_LOG"
-        else
-            echo "Error encountered in ${f}. Check errors.txt for details."
-            break
-        fi
-    fi
-    echo "##############################################################################"
-done
diff --git a/scripts/tests/test_name.sh b/scripts/tests/test_name.sh
deleted file mode 100755
index 4123f870..00000000
--- a/scripts/tests/test_name.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-find ./tests -name "*.py" -type f | while read file
-do
-  filename=$(basename "$file")
-  dir=$(dirname "$file")
-  if [[ $filename != test_* ]]; then
-    mv "$file" "$dir/test_$filename"
-    printf "\e[1;34mRenamed: \e[0m$file \e[1;32mto\e[0m $dir/test_$filename\n"
-  fi
-done
\ No newline at end of file
diff --git a/scripts/tests/tests.sh b/scripts/tests/tests.sh
deleted file mode 100644
index 13f4111a..00000000
--- a/scripts/tests/tests.sh
+++ /dev/null
@@ -1 +0,0 @@
-find ./tests -name '*.py' -exec pytest {} \;
\ No newline at end of file