Skip to content

refactor: move configs into its own module #597

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 21, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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
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
Loading