Skip to content

Commit

Permalink
refactor: move configs into its own module (#597)
Browse files Browse the repository at this point in the history
  • Loading branch information
caroljung-cg authored Feb 21, 2025
1 parent 0a9750a commit f4a8327
Show file tree
Hide file tree
Showing 31 changed files with 47 additions and 47 deletions.
4 changes: 2 additions & 2 deletions codegen-examples/examples/pr_review_bot/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import codegen
from codegen import Codebase
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.configs.models.secrets import SecretsConfig
from codegen.configs.models.codebase import CodebaseConfig
from codegen.configs.models.secrets import SecretsConfig

github_token = "Your github token"
open_ai_key = "your open ai key"
Expand Down
2 changes: 1 addition & 1 deletion codegen-examples/examples/sqlalchemy_soft_delete/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def process_soft_deletes(codebase):

if __name__ == "__main__":
from codegen import Codebase
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.configs.models.codebase import CodebaseConfig

repo_path = Path("/tmp/core")
repo_url = "https://github.com/hasgeek/funnel.git"
Expand Down
4 changes: 2 additions & 2 deletions docs/building-with-codegen/parsing-codebases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ You can customize the behavior of your Codebase instance by passing a `CodebaseC

```python
from codegen import Codebase
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.configs.models.secrets import SecretsConfig
from codegen.configs.models.codebase import CodebaseConfig
from codegen.configs.models.secrets import SecretsConfig

codebase = Codebase(
"path/to/repository",
Expand Down
6 changes: 3 additions & 3 deletions src/codegen/cli/auth/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

from codegen.cli.git.repo import get_git_repo
from codegen.cli.rich.codeblocks import format_command
from codegen.configs.constants import CODEGEN_DIR_NAME, ENV_FILENAME
from codegen.configs.session_manager import session_manager
from codegen.configs.user_config import UserConfig
from codegen.git.repo_operator.local_git_repo import LocalGitRepo
from codegen.shared.configs.constants import CODEGEN_DIR_NAME, ENV_FILENAME
from codegen.shared.configs.session_manager import session_manager
from codegen.shared.configs.user_config import UserConfig


class CodegenSession:
Expand Down
6 changes: 3 additions & 3 deletions src/codegen/cli/commands/config/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import rich_click as click
from rich.table import Table

from codegen.shared.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE
from codegen.shared.configs.session_manager import session_manager
from codegen.shared.configs.user_config import UserConfig
from codegen.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE
from codegen.configs.session_manager import session_manager
from codegen.configs.user_config import UserConfig


@click.group(name="config")
Expand Down
4 changes: 2 additions & 2 deletions src/codegen/cli/mcp/resources/system_prompt.py
Original file line number Diff line number Diff line change
Expand Up @@ -1385,8 +1385,8 @@ def baz():
```python
from codegen import Codebase
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.configs.models.secrets import SecretsConfig
from codegen.configs.models.codebase import CodebaseConfig
from codegen.configs.models.secrets import SecretsConfig
codebase = Codebase(
"path/to/repository",
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
from dotenv import set_key
from pydantic_settings import BaseSettings, SettingsConfigDict

from codegen.shared.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE
from codegen.shared.configs.session_manager import session_root
from codegen.configs.constants import ENV_FILENAME, GLOBAL_ENV_FILE
from codegen.configs.session_manager import session_root


class BaseConfig(BaseSettings, ABC):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from pydantic import Field

from codegen.shared.configs.models.base_config import BaseConfig
from codegen.configs.models.base_config import BaseConfig


class CodebaseConfig(BaseConfig):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import os

from codegen.shared.configs.models.base_config import BaseConfig
from codegen.configs.models.base_config import BaseConfig


class RepositoryConfig(BaseConfig):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from codegen.shared.configs.models.base_config import BaseConfig
from codegen.configs.models.base_config import BaseConfig


class SecretsConfig(BaseConfig):
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import json
from pathlib import Path

from codegen.shared.configs.constants import CODEGEN_DIR_NAME, SESSION_FILE
from codegen.configs.constants import CODEGEN_DIR_NAME, SESSION_FILE


class SessionManager:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

from pydantic import Field

from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.configs.models.repository import RepositoryConfig
from codegen.shared.configs.models.secrets import SecretsConfig
from codegen.configs.models.codebase import CodebaseConfig
from codegen.configs.models.repository import RepositoryConfig
from codegen.configs.models.secrets import SecretsConfig


class UserConfig:
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/extensions/lsp/protocol.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
from lsprotocol.types import INITIALIZE, InitializeParams, InitializeResult
from pygls.protocol import LanguageServerProtocol, lsp_method

from codegen.configs.models.codebase import DefaultCodebaseConfig
from codegen.extensions.lsp.io import LSPIO
from codegen.extensions.lsp.progress import LSPProgress
from codegen.extensions.lsp.utils import get_path
from codegen.sdk.core.codebase import Codebase
from codegen.shared.configs.models.codebase import DefaultCodebaseConfig

if TYPE_CHECKING:
from codegen.extensions.lsp.server import CodegenLanguageServer
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/git/repo_operator/repo_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from git.remote import PushInfoList
from github.PullRequest import PullRequest

from codegen.configs.models.secrets import DefaultSecrets
from codegen.git.clients.git_repo_client import GitRepoClient
from codegen.git.configs.constants import CODEGEN_BOT_EMAIL, CODEGEN_BOT_NAME
from codegen.git.repo_operator.local_git_repo import LocalGitRepo
Expand All @@ -26,7 +27,6 @@
from codegen.git.utils.codeowner_utils import create_codeowners_parser_for_repo
from codegen.git.utils.file_utils import create_files
from codegen.git.utils.remote_progress import CustomRemoteProgress
from codegen.shared.configs.models.secrets import DefaultSecrets
from codegen.shared.performance.stopwatch_utils import stopwatch
from codegen.shared.performance.time_utils import humanize_duration

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/runner/clients/codebase_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import logging

from codegen.configs.models import secrets
from codegen.git.schemas.repo_config import RepoConfig
from codegen.runner.clients.server_client import LocalServerClient
from codegen.runner.models.apis import SANDBOX_SERVER_PORT
from codegen.shared.configs.models import secrets

logger = logging.getLogger(__name__)

Expand Down
4 changes: 2 additions & 2 deletions src/codegen/runner/sandbox/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
import psutil
from fastapi import FastAPI

from codegen.configs.models.repository import DefaultRepoConfig
from codegen.configs.models.secrets import DefaultSecrets
from codegen.git.schemas.repo_config import RepoConfig
from codegen.runner.enums.warmup_state import WarmupState
from codegen.runner.models.apis import (
Expand All @@ -23,8 +25,6 @@
)
from codegen.runner.sandbox.middlewares import CodemodRunMiddleware
from codegen.runner.sandbox.runner import SandboxRunner
from codegen.shared.configs.models.repository import DefaultRepoConfig
from codegen.shared.configs.models.secrets import DefaultSecrets
from codegen.shared.enums.programming_language import ProgrammingLanguage
from codegen.shared.performance.memory_utils import get_memory_stats

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/code_generation/codegen_sdk_codebase.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import os.path

from codegen.configs.models.codebase import DefaultCodebaseConfig
from codegen.sdk.code_generation.current_code_codebase import get_codegen_codebase_base_path, get_current_code_codebase
from codegen.sdk.core.codebase import Codebase
from codegen.shared.configs.models.codebase import DefaultCodebaseConfig


def get_codegen_sdk_subdirectories() -> list[str]:
Expand Down
4 changes: 2 additions & 2 deletions src/codegen/sdk/code_generation/current_code_codebase.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
from pathlib import Path
from typing import TypedDict

from codegen.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig
from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.git.schemas.repo_config import RepoConfig
from codegen.sdk.codebase.config import ProjectConfig
from codegen.sdk.core.codebase import Codebase, CodebaseType
from codegen.shared.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig
from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.shared.decorators.docs import DocumentedObject, apidoc_objects, no_apidoc_objects, py_apidoc_objects, ts_apidoc_objects
from codegen.shared.enums.programming_language import ProgrammingLanguage

Expand Down
6 changes: 3 additions & 3 deletions src/codegen/sdk/codebase/codebase_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@

from rustworkx import PyDiGraph, WeightedEdgeList

from codegen.configs.models.codebase import DefaultCodebaseConfig
from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.sdk.codebase.config import ProjectConfig, SessionOptions
from codegen.sdk.codebase.config_parser import ConfigParser, get_config_parser_for_language
from codegen.sdk.codebase.diff_lite import ChangeType, DiffLite
Expand All @@ -27,8 +29,6 @@
from codegen.sdk.extensions.sort import sort_editables
from codegen.sdk.extensions.utils import uncache_all
from codegen.sdk.typescript.external.ts_declassify.ts_declassify import TSDeclassify
from codegen.shared.configs.models.codebase import DefaultCodebaseConfig
from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.shared.enums.programming_language import ProgrammingLanguage
from codegen.shared.exceptions.control_flow import StopCodemodException
from codegen.shared.performance.stopwatch_utils import stopwatch, stopwatch_with_sentry
Expand All @@ -39,6 +39,7 @@
from codeowners import CodeOwners as CodeOwnersParser
from git import Commit as GitCommit

from codegen.configs.models.codebase import CodebaseConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.sdk.codebase.io.io import IO
from codegen.sdk.codebase.node_classes.node_classes import NodeClasses
Expand All @@ -50,7 +51,6 @@
from codegen.sdk.core.interfaces.importable import Importable
from codegen.sdk.core.node_id_factory import NodeId
from codegen.sdk.core.parser import Parser
from codegen.shared.configs.models.codebase import CodebaseConfig

import logging

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/codebase/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
from pydantic.config import ConfigDict
from pydantic.fields import Field

from codegen.configs.models.codebase import DefaultCodebaseConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.git.schemas.repo_config import RepoConfig
from codegen.git.utils.file_utils import split_git_path
from codegen.git.utils.language import determine_project_language
from codegen.shared.configs.models.codebase import DefaultCodebaseConfig
from codegen.shared.enums.programming_language import ProgrammingLanguage

HARD_MAX_AI_LIMIT = 500 # Global limit for AI requests
Expand Down
4 changes: 2 additions & 2 deletions src/codegen/sdk/codebase/factory/codebase_factory.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from codegen.configs.models.codebase import CodebaseConfig
from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.sdk.codebase.config import DefaultCodebaseConfig, ProjectConfig
from codegen.sdk.core.codebase import (
Codebase,
CodebaseType,
)
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.shared.enums.programming_language import ProgrammingLanguage


Expand Down
4 changes: 2 additions & 2 deletions src/codegen/sdk/codebase/factory/get_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
from contextlib import AbstractContextManager, contextmanager
from typing import Literal, overload

from codegen.configs.models.codebase import CodebaseConfig
from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.sdk.codebase.codebase_context import CodebaseContext
from codegen.sdk.codebase.config import ProjectConfig, SessionOptions, TestFlags
from codegen.sdk.codebase.factory.codebase_factory import CodebaseFactory
from codegen.sdk.core.codebase import Codebase, PyCodebaseType, TSCodebaseType
from codegen.sdk.core.file import SourceFile
from codegen.sdk.tree_sitter_parser import print_errors
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.shared.enums.programming_language import ProgrammingLanguage


Expand Down
4 changes: 2 additions & 2 deletions src/codegen/sdk/core/codebase.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
from rich.console import Console
from typing_extensions import TypeVar, deprecated

from codegen.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig
from codegen.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.git.schemas.enums import CheckoutResult
from codegen.git.utils.pr_review import CodegenPR
Expand Down Expand Up @@ -78,8 +80,6 @@
from codegen.sdk.typescript.statements.import_statement import TSImportStatement
from codegen.sdk.typescript.symbol import TSSymbol
from codegen.sdk.typescript.type_alias import TSTypeAlias
from codegen.shared.configs.models.codebase import CodebaseConfig, DefaultCodebaseConfig
from codegen.shared.configs.models.secrets import DefaultSecrets, SecretsConfig
from codegen.shared.decorators.docs import apidoc, noapidoc, py_noapidoc
from codegen.shared.enums.programming_language import ProgrammingLanguage
from codegen.shared.exceptions.control_flow import MaxAIRequestsError
Expand Down
4 changes: 2 additions & 2 deletions src/codegen/sdk/system-prompt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1407,8 +1407,8 @@ You can customize the behavior of your Codebase instance by passing a `CodebaseC

```python
from codegen import Codebase
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.configs.models.secrets import SecretsConfig
from codegen.configs.models.codebase import CodebaseConfig
from codegen.configs.models.secrets import SecretsConfig

codebase = Codebase(
"path/to/repository",
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/codegen/runner/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@

import pytest

from codegen.configs.models.secrets import DefaultSecrets
from codegen.git.clients.git_repo_client import GitRepoClient
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.git.schemas.enums import SetupOption
from codegen.git.schemas.repo_config import RepoConfig
from codegen.runner.clients.codebase_client import CodebaseClient
from codegen.shared.configs.models.secrets import DefaultSecrets
from codegen.shared.enums.programming_language import ProgrammingLanguage


Expand Down
2 changes: 1 addition & 1 deletion tests/integration/codemod/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
from _pytest.python import Metafunc
from pyinstrument import Profiler

from codegen.configs.models.codebase import CodebaseConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.sdk.codebase.config import ProjectConfig
from codegen.sdk.core.codebase import Codebase
from codegen.shared.configs.models.codebase import CodebaseConfig
from tests.shared.codemod.constants import DIFF_FILEPATH
from tests.shared.codemod.models import BASE_PATH, BASE_TMP_DIR, VERIFIED_CODEMOD_DIFFS, CodemodMetadata, Repo, Size
from tests.shared.codemod.test_discovery import find_codemod_test_cases, find_repos, find_verified_codemod_cases
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/codemod/test_parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
import psutil
import pytest

from codegen.configs.models.codebase import DefaultCodebaseConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.sdk.codebase.config import ProjectConfig
from codegen.sdk.codebase.validation import PostInitValidationStatus, post_init_validation
from codegen.sdk.core.codebase import Codebase
from codegen.shared.configs.models.codebase import DefaultCodebaseConfig
from tests.shared.codemod.models import Repo
from tests.shared.utils.recursion import set_recursion_limit

Expand Down
2 changes: 1 addition & 1 deletion tests/shared/codemod/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

from pydantic import BaseModel, ConfigDict

from codegen.configs.models.codebase import CodebaseConfig
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.shared.configs.models.codebase import CodebaseConfig
from codegen.shared.enums.programming_language import ProgrammingLanguage
from tests.shared.codemod.constants import DIFF_FILEPATH
from tests.shared.codemod.verified_codemod_utils import CodemodAPI
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/codegen/sdk/core/test_directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

import pytest

from codegen.configs.models.codebase import DefaultCodebaseConfig
from codegen.sdk.codebase.codebase_context import CodebaseContext
from codegen.sdk.codebase.factory.get_session import get_codebase_session
from codegen.sdk.core.directory import Directory
from codegen.sdk.core.file import File
from codegen.shared.configs.models.codebase import DefaultCodebaseConfig
from codegen.shared.enums.programming_language import ProgrammingLanguage


Expand Down

0 comments on commit f4a8327

Please sign in to comment.