mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2025-12-23 08:54:24 +01:00
remove unused imports automatically (#4449)
* remove unused imports automatically * add linters to pr template * remove useless try statement
This commit is contained in:
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
8
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -36,7 +36,13 @@ By following these guidelines, your PRs are more likely to be merged quickly aft
|
|||||||
- [ ] I have considered potential risks and mitigations for my changes.
|
- [ ] I have considered potential risks and mitigations for my changes.
|
||||||
- [ ] I have documented my changes clearly and comprehensively.
|
- [ ] I have documented my changes clearly and comprehensively.
|
||||||
- [ ] I have not snuck in any "extra" small tweaks changes. <!-- Submit these as separate Pull Requests, they are the easiest to merge! -->
|
- [ ] I have not snuck in any "extra" small tweaks changes. <!-- Submit these as separate Pull Requests, they are the easiest to merge! -->
|
||||||
- [ ] I have run `black .` and `isort .` against my code to ensure it passes our linter.
|
- [ ] I have run the following commands against my code to ensure it passes our linters:
|
||||||
|
```shell
|
||||||
|
black .
|
||||||
|
isort .
|
||||||
|
mypy
|
||||||
|
autoflake --remove-all-unused-imports --recursive --ignore-init-module-imports autogpt tests --in-place
|
||||||
|
```
|
||||||
|
|
||||||
<!-- If you haven't added tests, please explain why. If you have, check the appropriate box. If you've ensured your PR is atomic and well-documented, check the corresponding boxes. -->
|
<!-- If you haven't added tests, please explain why. If you have, check the appropriate box. If you've ensured your PR is atomic and well-documented, check the corresponding boxes. -->
|
||||||
|
|
||||||
|
|||||||
5
.github/workflows/ci.yml
vendored
5
.github/workflows/ci.yml
vendored
@@ -51,6 +51,11 @@ jobs:
|
|||||||
run: mypy
|
run: mypy
|
||||||
if: success() || failure()
|
if: success() || failure()
|
||||||
|
|
||||||
|
- name: Check for unused imports and pass statements
|
||||||
|
run: |
|
||||||
|
cmd="autoflake --remove-all-unused-imports --recursive --ignore-init-module-imports autogpt tests"
|
||||||
|
$cmd --check || (echo "You have unused imports or pass statements, please run '${cmd} --in-place'" && exit 1)
|
||||||
|
|
||||||
test:
|
test:
|
||||||
permissions:
|
permissions:
|
||||||
# Gives the action the necessary permissions for publishing new
|
# Gives the action the necessary permissions for publishing new
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ repos:
|
|||||||
hooks:
|
hooks:
|
||||||
- id: black
|
- id: black
|
||||||
language_version: python3.10
|
language_version: python3.10
|
||||||
|
|
||||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||||
rev: 'v1.3.0'
|
rev: 'v1.3.0'
|
||||||
hooks:
|
hooks:
|
||||||
@@ -28,6 +29,11 @@ repos:
|
|||||||
|
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
|
- id: autoflake
|
||||||
|
name: autoflake
|
||||||
|
entry: autoflake --in-place --remove-all-unused-imports --recursive --ignore-init-module-imports autogpt tests
|
||||||
|
language: python
|
||||||
|
types: [ python ]
|
||||||
- id: pytest-check
|
- id: pytest-check
|
||||||
name: pytest-check
|
name: pytest-check
|
||||||
entry: pytest --cov=autogpt --without-integration --without-slow-integration
|
entry: pytest --cov=autogpt --without-integration --without-slow-integration
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
""" Command and Control """
|
""" Command and Control """
|
||||||
import json
|
import json
|
||||||
from typing import Dict, List, NoReturn, Union
|
from typing import Dict, List, Union
|
||||||
|
|
||||||
from autogpt.agent.agent_manager import AgentManager
|
from autogpt.agent.agent_manager import AgentManager
|
||||||
from autogpt.commands.command import CommandRegistry, command
|
from autogpt.commands.command import CommandRegistry, command
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import functools
|
import functools
|
||||||
import importlib
|
import importlib
|
||||||
import inspect
|
import inspect
|
||||||
from typing import TYPE_CHECKING, Any, Callable, Optional
|
from typing import Any, Callable, Optional
|
||||||
|
|
||||||
from autogpt.config import Config
|
from autogpt.config import Config
|
||||||
from autogpt.logs import logger
|
from autogpt.logs import logger
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import TYPE_CHECKING
|
|
||||||
|
|
||||||
import docker
|
import docker
|
||||||
from docker.errors import ImageNotFound
|
from docker.errors import ImageNotFound
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import os
|
|||||||
import os.path
|
import os.path
|
||||||
from typing import TYPE_CHECKING, Generator, Literal
|
from typing import TYPE_CHECKING, Generator, Literal
|
||||||
|
|
||||||
import charset_normalizer
|
|
||||||
import requests
|
import requests
|
||||||
from colorama import Back, Fore
|
from colorama import Back, Fore
|
||||||
from requests.adapters import HTTPAdapter, Retry
|
from requests.adapters import HTTPAdapter, Retry
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ from webdriver_manager.microsoft import EdgeChromiumDriverManager as EdgeDriverM
|
|||||||
|
|
||||||
from autogpt.commands.command import command
|
from autogpt.commands.command import command
|
||||||
from autogpt.logs import logger
|
from autogpt.logs import logger
|
||||||
from autogpt.memory.vector import MemoryItem, NoMemory, get_memory
|
from autogpt.memory.vector import MemoryItem, get_memory
|
||||||
from autogpt.processing.html import extract_hyperlinks, format_hyperlinks
|
from autogpt.processing.html import extract_hyperlinks, format_hyperlinks
|
||||||
from autogpt.url_utils.validators import validate_url
|
from autogpt.url_utils.validators import validate_url
|
||||||
|
|
||||||
|
|||||||
@@ -44,15 +44,11 @@ class ModelInfo:
|
|||||||
class ChatModelInfo(ModelInfo):
|
class ChatModelInfo(ModelInfo):
|
||||||
"""Struct for chat model information."""
|
"""Struct for chat model information."""
|
||||||
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class TextModelInfo(ModelInfo):
|
class TextModelInfo(ModelInfo):
|
||||||
"""Struct for text completion model information."""
|
"""Struct for text completion model information."""
|
||||||
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class EmbeddingModelInfo(ModelInfo):
|
class EmbeddingModelInfo(ModelInfo):
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from random import shuffle
|
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@@ -13,7 +12,6 @@ from autogpt.llm.base import ChatSequence, Message
|
|||||||
from autogpt.llm.utils import count_message_tokens, create_chat_completion
|
from autogpt.llm.utils import count_message_tokens, create_chat_completion
|
||||||
from autogpt.log_cycle.log_cycle import CURRENT_CONTEXT_FILE_NAME
|
from autogpt.log_cycle.log_cycle import CURRENT_CONTEXT_FILE_NAME
|
||||||
from autogpt.logs import logger
|
from autogpt.logs import logger
|
||||||
from autogpt.memory.vector import MemoryItem, get_memory
|
|
||||||
|
|
||||||
cfg = Config()
|
cfg = Config()
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
from typing import Any, overload
|
from typing import Any, overload
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import numpy.typing as npt
|
|
||||||
import openai
|
import openai
|
||||||
|
|
||||||
from autogpt.config import Config
|
from autogpt.config import Config
|
||||||
|
|||||||
@@ -68,7 +68,6 @@ class BaseOpenAIPlugin(AutoGPTPluginTemplate):
|
|||||||
prompt (PromptGenerator): The prompt generator.
|
prompt (PromptGenerator): The prompt generator.
|
||||||
messages (List[str]): The list of messages.
|
messages (List[str]): The list of messages.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|
||||||
def can_handle_post_planning(self) -> bool:
|
def can_handle_post_planning(self) -> bool:
|
||||||
"""This method is called to check that the plugin can
|
"""This method is called to check that the plugin can
|
||||||
@@ -116,7 +115,6 @@ class BaseOpenAIPlugin(AutoGPTPluginTemplate):
|
|||||||
Returns:
|
Returns:
|
||||||
Optional[str]: The resulting message.
|
Optional[str]: The resulting message.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|
||||||
def can_handle_post_instruction(self) -> bool:
|
def can_handle_post_instruction(self) -> bool:
|
||||||
"""This method is called to check that the plugin can
|
"""This method is called to check that the plugin can
|
||||||
@@ -196,7 +194,6 @@ class BaseOpenAIPlugin(AutoGPTPluginTemplate):
|
|||||||
Returns:
|
Returns:
|
||||||
str: The resulting response.
|
str: The resulting response.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|
||||||
def can_handle_text_embedding(self, text: str) -> bool:
|
def can_handle_text_embedding(self, text: str) -> bool:
|
||||||
"""This method is called to check that the plugin can
|
"""This method is called to check that the plugin can
|
||||||
@@ -214,7 +211,6 @@ class BaseOpenAIPlugin(AutoGPTPluginTemplate):
|
|||||||
Returns:
|
Returns:
|
||||||
list: The text embedding.
|
list: The text embedding.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|
||||||
def can_handle_user_input(self, user_input: str) -> bool:
|
def can_handle_user_input(self, user_input: str) -> bool:
|
||||||
"""This method is called to check that the plugin can
|
"""This method is called to check that the plugin can
|
||||||
@@ -237,8 +233,6 @@ class BaseOpenAIPlugin(AutoGPTPluginTemplate):
|
|||||||
str: The user input.
|
str: The user input.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
pass
|
|
||||||
|
|
||||||
def can_handle_report(self) -> bool:
|
def can_handle_report(self) -> bool:
|
||||||
"""This method is called to check that the plugin can
|
"""This method is called to check that the plugin can
|
||||||
handle the report method.
|
handle the report method.
|
||||||
@@ -253,4 +247,3 @@ class BaseOpenAIPlugin(AutoGPTPluginTemplate):
|
|||||||
Args:
|
Args:
|
||||||
message (str): The message to report.
|
message (str): The message to report.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
import zipfile
|
import zipfile
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Optional, Tuple
|
from typing import List
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
from zipimport import zipimporter
|
from zipimport import zipimporter
|
||||||
|
|
||||||
|
|||||||
@@ -20,5 +20,3 @@ class AbstractSingleton(abc.ABC, metaclass=Singleton):
|
|||||||
"""
|
"""
|
||||||
Abstract singleton class for ensuring only one instance of a class.
|
Abstract singleton class for ensuring only one instance of a class.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
pass
|
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ class VoiceBase(AbstractSingleton):
|
|||||||
"""
|
"""
|
||||||
Setup the voices, API key, etc.
|
Setup the voices, API key, etc.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def _speech(self, text: str, voice_index: int = 0) -> bool:
|
def _speech(self, text: str, voice_index: int = 0) -> bool:
|
||||||
@@ -47,4 +46,3 @@ class VoiceBase(AbstractSingleton):
|
|||||||
Args:
|
Args:
|
||||||
text (str): The text to play.
|
text (str): The text to play.
|
||||||
"""
|
"""
|
||||||
pass
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ class BrianSpeech(VoiceBase):
|
|||||||
|
|
||||||
def _setup(self) -> None:
|
def _setup(self) -> None:
|
||||||
"""Setup the voices, API key, etc."""
|
"""Setup the voices, API key, etc."""
|
||||||
pass
|
|
||||||
|
|
||||||
def _speech(self, text: str, _: int = 0) -> bool:
|
def _speech(self, text: str, _: int = 0) -> bool:
|
||||||
"""Speak text using Brian with the streamelements API
|
"""Speak text using Brian with the streamelements API
|
||||||
|
|||||||
@@ -6,15 +6,8 @@ import yaml
|
|||||||
from colorama import Fore, Style
|
from colorama import Fore, Style
|
||||||
from git.repo import Repo
|
from git.repo import Repo
|
||||||
|
|
||||||
from autogpt.logs import logger
|
|
||||||
|
|
||||||
# Use readline if available (for clean_input)
|
|
||||||
try:
|
|
||||||
import readline
|
|
||||||
except ImportError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
from autogpt.config import Config
|
from autogpt.config import Config
|
||||||
|
from autogpt.logs import logger
|
||||||
|
|
||||||
|
|
||||||
def batch(iterable, max_batch_length: int, overlap: int = 0):
|
def batch(iterable, max_batch_length: int, overlap: int = 0):
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import pytest
|
|||||||
from _pytest.config import Config
|
from _pytest.config import Config
|
||||||
from _pytest.config.argparsing import Parser
|
from _pytest.config.argparsing import Parser
|
||||||
from _pytest.fixtures import FixtureRequest
|
from _pytest.fixtures import FixtureRequest
|
||||||
from _pytest.monkeypatch import MonkeyPatch
|
|
||||||
|
|
||||||
|
|
||||||
def pytest_addoption(parser: Parser) -> None:
|
def pytest_addoption(parser: Parser) -> None:
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import typing
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from autogpt.commands.file_operations import read_file, write_to_file
|
from autogpt.commands.file_operations import read_file
|
||||||
from autogpt.config import Config
|
from autogpt.config import Config
|
||||||
from tests.integration.challenges.utils import run_interaction_loop
|
from tests.integration.challenges.utils import run_interaction_loop
|
||||||
from tests.utils import requires_api_key
|
from tests.utils import requires_api_key
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import contextlib
|
import contextlib
|
||||||
import random
|
import random
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import Any, Callable, Dict, Generator, Optional, Tuple
|
from typing import Any, Callable, Dict, Generator, Tuple
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import numpy
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from autogpt.memory.vector.memory_item import MemoryItem
|
from autogpt.memory.vector.memory_item import MemoryItem
|
||||||
|
|||||||
@@ -3,11 +3,7 @@ from unittest.mock import patch
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from autogpt.config.ai_config import AIConfig
|
from autogpt.config.ai_config import AIConfig
|
||||||
from autogpt.setup import (
|
from autogpt.setup import generate_aiconfig_automatic, prompt_user
|
||||||
generate_aiconfig_automatic,
|
|
||||||
generate_aiconfig_manual,
|
|
||||||
prompt_user,
|
|
||||||
)
|
|
||||||
from tests.utils import requires_api_key
|
from tests.utils import requires_api_key
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# Date: 2023-5-13
|
# Date: 2023-5-13
|
||||||
# Author: Generated by GoCodeo.
|
# Author: Generated by GoCodeo.
|
||||||
import json
|
import json
|
||||||
from io import BytesIO
|
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ for the AI and ensures it behaves as a singleton.
|
|||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from openai import InvalidRequestError
|
|
||||||
|
|
||||||
from autogpt.configurator import create_config
|
from autogpt.configurator import create_config
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import pytest
|
|||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from autogpt.commands.image_gen import generate_image, generate_image_with_sd_webui
|
from autogpt.commands.image_gen import generate_image, generate_image_with_sd_webui
|
||||||
from autogpt.config import Config
|
|
||||||
from tests.utils import requires_api_key
|
from tests.utils import requires_api_key
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
import json
|
import json
|
||||||
import tempfile
|
import tempfile
|
||||||
from functools import partial
|
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
from xml.etree import ElementTree
|
from xml.etree import ElementTree
|
||||||
|
|
||||||
import docx
|
import docx
|
||||||
import yaml
|
import yaml
|
||||||
from bs4 import BeautifulSoup
|
from bs4 import BeautifulSoup
|
||||||
from PyPDF2 import PdfWriter
|
|
||||||
|
|
||||||
from autogpt.commands.file_operations_utils import is_file_binary_fn, read_textual_file
|
from autogpt.commands.file_operations_utils import is_file_binary_fn, read_textual_file
|
||||||
from autogpt.logs import logger
|
from autogpt.logs import logger
|
||||||
|
|||||||
@@ -1,13 +1,10 @@
|
|||||||
import os
|
import os
|
||||||
from unittest.mock import Mock, patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
import requests
|
import requests
|
||||||
from colorama import Fore
|
|
||||||
from git import Repo
|
|
||||||
|
|
||||||
from autogpt.utils import (
|
from autogpt.utils import (
|
||||||
clean_input,
|
|
||||||
get_bulletin_from_web,
|
get_bulletin_from_web,
|
||||||
get_current_git_branch,
|
get_current_git_branch,
|
||||||
get_latest_bulletin,
|
get_latest_bulletin,
|
||||||
|
|||||||
@@ -1,19 +1,11 @@
|
|||||||
from typing import Any, Dict, List, Optional, Tuple
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from autogpt.models.base_open_ai_plugin import (
|
from autogpt.models.base_open_ai_plugin import BaseOpenAIPlugin
|
||||||
BaseOpenAIPlugin,
|
|
||||||
Message,
|
|
||||||
PromptGenerator,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class DummyPlugin(BaseOpenAIPlugin):
|
class DummyPlugin(BaseOpenAIPlugin):
|
||||||
"""A dummy plugin for testing purposes."""
|
"""A dummy plugin for testing purposes."""
|
||||||
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def dummy_plugin():
|
def dummy_plugin():
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
# Dependencies:
|
# Dependencies:
|
||||||
# pip install pytest-mock
|
# pip install pytest-mock
|
||||||
import pytest
|
|
||||||
|
|
||||||
from autogpt.commands.web_requests import scrape_links
|
from autogpt.commands.web_requests import scrape_links
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
|
||||||
from autogpt.json_utils.json_fix_llm import fix_and_parse_json
|
from autogpt.json_utils.json_fix_llm import fix_and_parse_json
|
||||||
from tests.utils import skip_in_ci
|
|
||||||
|
|
||||||
|
|
||||||
class TestParseJson(TestCase):
|
class TestParseJson(TestCase):
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
# Generated by CodiumAI
|
# Generated by CodiumAI
|
||||||
import pytest
|
|
||||||
from loguru import logger
|
|
||||||
|
|
||||||
from autogpt.json_utils.json_fix_llm import (
|
from autogpt.json_utils.json_fix_llm import (
|
||||||
fix_and_parse_json,
|
fix_and_parse_json,
|
||||||
fix_json_using_multiple_techniques,
|
fix_json_using_multiple_techniques,
|
||||||
)
|
)
|
||||||
from tests.utils import requires_api_key
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Code Analysis
|
Code Analysis
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from autogpt.config import Config
|
|
||||||
from autogpt.plugins import denylist_allowlist_check, inspect_zip_for_modules
|
from autogpt.plugins import denylist_allowlist_check, inspect_zip_for_modules
|
||||||
|
|
||||||
PLUGINS_TEST_DIR = "tests/unit/data/test_plugins"
|
PLUGINS_TEST_DIR = "tests/unit/data/test_plugins"
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
|
||||||
import re
|
import re
|
||||||
from typing import Any, Dict, List
|
from typing import Any, Dict, List
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user