Skip to content

Add codegen/utils module #46

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 3 commits into from
Jan 23, 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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Graph sitter
# Codegen

[![Documentation](https://img.shields.io/badge/docs-docs.codegen.com-blue)](https://docs.codegen.com)
[![Unit Tests](https://github.com/codegen-sh/codegen-sdk/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/codegen-sh/codegen-sdk/actions/workflows/unit-tests.yml)
Expand Down
2 changes: 2 additions & 0 deletions hatch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ macos-max-compat = false
[build]
packages = [
"src/codegen/sdk",
"src/codegen/git",
"src/codegen/utils",
"src/codegen/gscli",
"src/graph_visualization",
]
Expand Down
1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ dependencies = [
"toml>=0.10.2",
"PyGithub==2.5.0",
"GitPython==3.1.44",
"psutil>=5.8.0",
]
license = {file = "LICENSE"}
classifiers = [
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/git/repo_operator/remote_repo_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from codegen.git.utils.clone_url import get_clone_url_for_repo_config, url_to_github
from codegen.git.utils.codeowner_utils import create_codeowners_parser_for_repo
from codegen.git.utils.remote_progress import CustomRemoteProgress
from codegen.git.utils.stopwatch_utils import stopwatch
from codegen.utils.performance.stopwatch_utils import stopwatch

logger = logging.getLogger(__name__)

Expand Down
4 changes: 2 additions & 2 deletions src/codegen/git/repo_operator/repo_operator.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
from codegen.git.configs.constants import CODEGEN_BOT_EMAIL, CODEGEN_BOT_NAME
from codegen.git.schemas.enums import CheckoutResult, FetchResult
from codegen.git.schemas.repo_config import BaseRepoConfig
from codegen.git.utils.stopwatch_utils import stopwatch
from codegen.git.utils.time_utils import humanize_duration
from codegen.utils.performance.stopwatch_utils import stopwatch
from codegen.utils.time_utils import humanize_duration

logger = logging.getLogger(__name__)

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/git/utils/clone.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from codegen.git.schemas.github import GithubType
from codegen.git.schemas.repo_config import RepoConfig
from codegen.git.utils.clone_url import get_authenticated_clone_url_for_repo_config
from codegen.git.utils.stopwatch_utils import subprocess_with_stopwatch
from codegen.utils.performance.stopwatch_utils import subprocess_with_stopwatch

logger = logging.getLogger(__name__)

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/gscli/generate/runner_imports.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"""
# TODO: these should also be made public (i.e. included in the docs site)
GS_PRIVATE_IMPORTS = """
from codegen.sdk.codebase.control_flow import StopCodemodException
from codegen.utils.exceptions.control_flow import StopCodemodException
""".strip()

IMPORT_STRING_TEMPLATE = """
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/code_generation/current_code_codebase.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from codegen.sdk.codebase.config import CodebaseConfig, DefaultConfig, ProjectConfig
from codegen.sdk.core.codebase import Codebase, CodebaseType
from codegen.sdk.enums import ProgrammingLanguage
from codegen.sdk.writer_decorators import DocumentedObject, apidoc_objects, no_apidoc_objects, py_apidoc_objects, ts_apidoc_objects
from codegen.utils.decorators.docs import DocumentedObject, apidoc_objects, no_apidoc_objects, py_apidoc_objects, ts_apidoc_objects

logger = logging.getLogger(__name__)

Expand Down
4 changes: 2 additions & 2 deletions src/codegen/sdk/codebase/codebase_graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@
from rustworkx import PyDiGraph, WeightedEdgeList

from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.git.utils.stopwatch_utils import stopwatch, stopwatch_with_sentry
from codegen.sdk.codebase.config import CodebaseConfig, DefaultConfig, ProjectConfig, SessionOptions
from codegen.sdk.codebase.config_parser import ConfigParser, get_config_parser_for_language
from codegen.sdk.codebase.control_flow import StopCodemodException
from codegen.sdk.codebase.diff_lite import ChangeType, DiffLite
from codegen.sdk.codebase.flagging.flags import Flags
from codegen.sdk.codebase.transaction_manager import TransactionManager
Expand All @@ -35,6 +33,8 @@
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.utils.exceptions.control_flow import StopCodemodException
from codegen.utils.performance.stopwatch_utils import stopwatch, stopwatch_with_sentry

if TYPE_CHECKING:
from codegen.sdk.codebase.node_classes.node_classes import NodeClasses
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/codebase/flagging/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from typing_extensions import ReadOnly

from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc


@apidoc
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/codebase/flagging/flags.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from codegen.sdk.codebase.flagging.code_flag import CodeFlag
from codegen.sdk.codebase.flagging.enums import MessageType
from codegen.sdk.core.interfaces.editable import Editable
from codegen.sdk.writer_decorators import noapidoc
from codegen.utils.decorators.docs import noapidoc

if TYPE_CHECKING:
from app.codemod.types import Group
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/codebase/span.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from pydantic_core.core_schema import ValidationInfo
from tree_sitter import Point, Range

from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc


def validate_range(value: Any, info: ValidationInfo) -> Range:
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/codebase/transaction_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from pathlib import Path
from typing import TYPE_CHECKING

from codegen.sdk.codebase.control_flow import MaxPreviewTimeExceeded, MaxTransactionsExceeded
from codegen.sdk.codebase.diff_lite import DiffLite
from codegen.sdk.codebase.transactions import (
EditTransaction,
Expand All @@ -14,6 +13,7 @@
Transaction,
TransactionPriority,
)
from codegen.utils.exceptions.control_flow import MaxPreviewTimeExceeded, MaxTransactionsExceeded

if TYPE_CHECKING:
from codegen.sdk.core.file import File
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/assignment.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from codegen.sdk.extensions.sort import sort_editables
from codegen.sdk.typescript.expressions.object_type import TSObjectType
from codegen.sdk.utils import find_index
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.expressions.type import Type
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/class_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
from codegen.sdk.core.symbol_groups.parents import Parents
from codegen.sdk.enums import SymbolType
from codegen.sdk.extensions.utils import cached_property
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc
from codegen.visualizations.enums import VizNode

if TYPE_CHECKING:
Expand Down
6 changes: 3 additions & 3 deletions src/codegen/sdk/core/codebase.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,11 @@
from codegen.git.repo_operator.repo_operator import RepoOperator
from codegen.git.schemas.enums import CheckoutResult
from codegen.git.schemas.repo_config import BaseRepoConfig
from codegen.git.utils.stopwatch_utils import stopwatch
from codegen.sdk._proxy import proxy_property
from codegen.sdk.ai.helpers import AbstractAIHelper, MultiProviderAIHelper
from codegen.sdk.codebase.codebase_ai import generate_system_prompt, generate_tools
from codegen.sdk.codebase.codebase_graph import GLOBAL_FILE_IGNORE_LIST, CodebaseGraph
from codegen.sdk.codebase.config import CodebaseConfig, DefaultConfig, ProjectConfig, SessionOptions
from codegen.sdk.codebase.control_flow import MaxAIRequestsError
from codegen.sdk.codebase.diff_lite import DiffLite
from codegen.sdk.codebase.flagging.code_flag import CodeFlag
from codegen.sdk.codebase.flagging.enums import FlagKwargs
Expand Down Expand Up @@ -71,7 +69,9 @@
from codegen.sdk.typescript.symbol import TSSymbol
from codegen.sdk.typescript.type_alias import TSTypeAlias
from codegen.sdk.utils import determine_project_language
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc
from codegen.utils.exceptions.control_flow import MaxAIRequestsError
from codegen.utils.performance.stopwatch_utils import stopwatch
from codegen.visualizations.visualization_manager import VisualizationManager

if TYPE_CHECKING:
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/dataclasses/usage.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from dataclasses_json import dataclass_json

from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc

if TYPE_CHECKING:
from codegen.sdk.core.detached_symbols.function_call import FunctionCall
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/detached_symbols/argument.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from codegen.sdk.core.interfaces.importable import Importable
from codegen.sdk.core.node_id_factory import NodeId
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.codebase.codebase_graph import CodebaseGraph
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/detached_symbols/code_block.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from codegen.sdk.extensions.sort import sort_editables
from codegen.sdk.extensions.utils import find_line_start_and_end_nodes
from codegen.sdk.output.ast import AST
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.interfaces.has_block import HasBlock
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/detached_symbols/decorator.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from codegen.sdk.core.expressions import Expression
from codegen.sdk.core.expressions.name import Name
from codegen.sdk.core.interfaces.has_name import HasName
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.class_definition import Class
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/detached_symbols/function_call.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from codegen.sdk.extensions.utils import cached_property, is_descendant_of
from codegen.sdk.typescript.enums import TSFunctionTypeNames
from codegen.sdk.utils import find_first_ancestor
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.codebase.codebase_graph import CodebaseGraph
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/detached_symbols/parameter.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.extensions.resolution import UsageKind
from codegen.sdk.utils import find_first_descendant
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.expressions.type import Type
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/directory.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from pathlib import Path
from typing import TYPE_CHECKING, Generic, Self, TypeVar

from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc

if TYPE_CHECKING:
from codegen.sdk.core.assignment import Assignment
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/export.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from codegen.sdk.core.node_id_factory import NodeId
from codegen.sdk.core.symbol_groups.collection import Collection
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.statements.export_statement import ExportStatement
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/await_expression.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from codegen.sdk.core.interfaces.has_value import HasValue
from codegen.sdk.core.interfaces.wrapper_expression import IWrapper
from codegen.sdk.extensions.autocommit import reader
from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc

Parent = TypeVar("Parent", bound="Editable")

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/binary_expression.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from codegen.sdk.core.symbol_groups.expression_group import ExpressionGroup
from codegen.sdk.extensions.autocommit import commiter, reader
from codegen.sdk.extensions.sort import sort_editables
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

Parent = TypeVar("Parent", bound="Editable")

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/boolean.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from codegen.sdk.core.expressions.builtin import Builtin
from codegen.sdk.core.interfaces.has_name import HasName
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

Parent = TypeVar("Parent", bound="Expression")

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from codegen.sdk.core.interfaces.chainable import Chainable
from codegen.sdk.core.interfaces.has_attribute import HasAttribute
from codegen.sdk.extensions.autocommit import reader
from codegen.sdk.writer_decorators import noapidoc
from codegen.utils.decorators.docs import noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.external_module import ExternalModule
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/chained_attribute.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from codegen.sdk.core.interfaces.has_attribute import HasAttribute
from codegen.sdk.core.interfaces.resolvable import Resolvable
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.interfaces.has_name import HasName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from codegen.sdk.core.expressions import Expression
from codegen.sdk.core.expressions.binary_expression import BinaryExpression
from codegen.sdk.core.symbol_groups.expression_group import ExpressionGroup
from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc

Parent = TypeVar("Parent")

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/defined_name.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from codegen.sdk.codebase.resolution_stack import ResolutionStack
from codegen.sdk.core.expressions import Name
from codegen.sdk.extensions.autocommit import reader
from codegen.sdk.writer_decorators import noapidoc
from codegen.utils.decorators.docs import noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.symbol import Symbol
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/expression.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from codegen.sdk.core.interfaces.editable import Editable
from codegen.sdk.enums import NodeType
from codegen.sdk.extensions.autocommit import reader
from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc

Parent = TypeVar("Parent", bound="Editable")

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/generic_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from codegen.sdk.core.node_id_factory import NodeId
from codegen.sdk.core.symbol_groups.collection import Collection
from codegen.sdk.extensions.resolution import ResolutionStack
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.codebase.codebase_graph import CodebaseGraph
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/multi_expression.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from codegen.sdk.core.interfaces.has_name import HasName
from codegen.sdk.core.node_id_factory import NodeId
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.codebase.codebase_graph import CodebaseGraph
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/name.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from codegen.sdk.core.expressions.expression import Expression
from codegen.sdk.core.interfaces.resolvable import Resolvable
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.core.interfaces.has_name import HasName
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/named_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from codegen.sdk.core.interfaces.importable import Importable
from codegen.sdk.core.interfaces.resolvable import Resolvable
from codegen.sdk.core.node_id_factory import NodeId
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
from codegen.sdk.codebase.codebase_graph import CodebaseGraph
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/none_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from codegen.sdk.core.interfaces.editable import Editable
from codegen.sdk.core.interfaces.importable import Importable
from codegen.sdk.extensions.autocommit import reader
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
pass
Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/number.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from codegen.sdk.core.expressions.builtin import Builtin
from codegen.sdk.core.interfaces.has_name import HasName
from codegen.sdk.extensions.autocommit import commiter
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

Parent = TypeVar("Parent", bound="Expression")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from codegen.sdk.core.interfaces.wrapper_expression import IWrapper
from codegen.sdk.extensions.autocommit import reader
from codegen.sdk.typescript.statements.if_block_statement import TSIfBlockStatement
from codegen.sdk.writer_decorators import apidoc
from codegen.utils.decorators.docs import apidoc

Parent = TypeVar("Parent", bound="Editable")

Expand Down
2 changes: 1 addition & 1 deletion src/codegen/sdk/core/expressions/placeholder_type.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from codegen.sdk.core.interfaces.editable import Editable
from codegen.sdk.core.interfaces.importable import Importable
from codegen.sdk.extensions.autocommit import reader
from codegen.sdk.writer_decorators import apidoc, noapidoc
from codegen.utils.decorators.docs import apidoc, noapidoc

if TYPE_CHECKING:
pass
Expand Down
Loading
Loading