diff --git a/.circleci/config.yml b/.circleci/config.yml index 7d22160c4..3cb5f6dd9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -96,9 +96,6 @@ commands: - run: command: | uv run --frozen cibuildwheel --output-dir dist - if [[ "<>" == "true" ]]; then - uv build --package codegen-git --wheel --sdist - fi rm dist/.gitignore || true environment: HATCH_BUILD_HOOKS_ENABLE: "true" diff --git a/.github/codecov.yml b/.github/codecov.yml index a9111cff1..c943f5891 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -29,11 +29,6 @@ component_management: name: codegen-sdk-core paths: - src/codegen/sdk/** - - component_id: codegen-git - name: codegen-git - paths: - - codegen-git/** - flag_management: default_rules: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 445432f95..70ca3ee5a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,7 +32,6 @@ jobs: - name: Build release distributions run: | uv build --wheel - uv build --package codegen-git --wheel env: HATCH_BUILD_HOOKS_ENABLE: true - name: Upload distributions diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 46cc593d0..3bd6ea1be 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -69,7 +69,7 @@ repos: - id: deptry pass_filenames: false always_run: true - entry: bash -c "uv run --frozen --all-extras --dev deptry src codegen-git/src --ignore DEP001" + entry: bash -c "uv run --frozen --all-extras --dev deptry src --ignore DEP001" - repo: "local" hooks: - id: disallowed-words-check diff --git a/codegen-git/README.md b/codegen-git/README.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/codegen-git/pyproject.toml b/codegen-git/pyproject.toml deleted file mode 100644 index c09efdb08..000000000 --- a/codegen-git/pyproject.toml +++ /dev/null @@ -1,42 +0,0 @@ -[project] -name = "codegen-git" -dynamic = ["version", "urls"] -description = "" -readme = "README.md" -dependencies = [ - "PyGithub==2.5.0", - "GitPython==3.1.44", - "termcolor>=2.4.0", - "codeowners>=0.7.0", -] -license = {file = "../LICENSE"} -classifiers = [ - "License :: OSI Approved :: Apache Software License", -] -requires-python = ">=3.9" -[build-system] -requires = ["hatchling", "hatch-vcs"] -build-backend = "hatchling.build" - -[tool.hatch.build.targets.wheel] -packages = ["src/codegen_git"] - -[tool.hatch.version] -source = "vcs" -raw-options = { root = ".." } - -[tool.hatch.metadata.hooks.vcs] -Homepage = "https://github.com/codegen-sh/codegen-sdk" -source_archive = "https://github.com/codegen-sh/codegen-sdk/archive/{commit_hash}.zip" - -#[tool.hatch.build.targets.wheel.hooks.mypyc] -#dependencies = ["hatch-mypyc", "pydantic"] -#require-runtime-dependencies = true -[tool.hatch.envs.default] -installer = "uv" -[tool.hatch.envs.default.env-vars] -UV_EXTRA_INDEX_URL = "https://aws@codegen-922078275900.d.codeartifact.us-east-1.amazonaws.com/pypi/codegen/simple/" - - -[tool.uv] -cache-keys = [{ git = { commit = true, tags = true } }] diff --git a/codegen-git/src/codegen_git/clients/types.py b/codegen-git/src/codegen_git/clients/types.py deleted file mode 100644 index f2f50f622..000000000 --- a/codegen-git/src/codegen_git/clients/types.py +++ /dev/null @@ -1,4 +0,0 @@ -from codegen_git.clients.github_client import GithubClient -from codegen_git.clients.github_enterprise_client import GithubEnterpriseClient - -GithubClientType = GithubClient | GithubEnterpriseClient diff --git a/pyproject.toml b/pyproject.toml index ba0f99b6a..5e871570d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,6 @@ dependencies = [ "docstring-parser<1.0,>=0.16", "plotly<6.0.0,>=5.24.0", "humanize<5.0.0,>=4.10.0", - "codegen-git", "autoflake>=2.3.1", "black>=24.8.0", "pytest-snapshot>=0.9.0", @@ -54,6 +53,8 @@ dependencies = [ "pyinstrument>=5.0.0", "pip>=24.3.1", # This is needed for some NPM/YARN/PNPM post-install scripts to work! "emoji>=2.14.0", + "PyGithub==2.5.0", + "GitPython==3.1.44", ] license = {file = "LICENSE"} classifiers = [ @@ -101,7 +102,7 @@ keyring-provider = "subprocess" #extra-index-url = ["https://aws@codegen-922078275900.d.codeartifact.us-east-1.amazonaws.com/pypi/codegen/simple/"] publish-url = "https://codegen-922078275900.d.codeartifact.us-east-1.amazonaws.com/pypi/codegen/" [tool.uv.workspace] -members = ["codegen-git"] +members = [] [tool.cython-lint] max-line-length = 200 @@ -147,7 +148,7 @@ lint.exclude = [ ] # disable just linting for notebooks (allow for formatting) lint.pydocstyle.convention = "google" [tool.ruff.lint.isort] -known-first-party = ["app", "codegen_git"] +known-first-party = ["app"] known-third-party = ["git"] #known-local-folder=[] [tool.coverage.run] @@ -200,9 +201,6 @@ junit_logging = "all" requires = ["hatchling>=1.26.3", "hatch-vcs>=0.4.0", "setuptools-scm>=8.0.0"] build-backend = "hatchling.build" -[tool.uv.sources] -codegen-git = { workspace = true } - [tool.deptry] extend_exclude = [".*/eval/test_files/.*.py", ".*conftest.py"] pep621_dev_dependency_groups = ["types"] @@ -213,6 +211,7 @@ DEP004 = "pytest" [tool.deptry.package_module_name_map] python-levenshtein = ["Levenshtein"] +PyGithub = ["github"] [tool.cibuildwheel] build-frontend = "build[uv]" skip = ["*-musllinux_i686", "*-manylinux_i686", "*-musllinux_x86_64"] diff --git a/codegen-git/src/codegen_git/clients/git_integration_client.py b/src/codegen/git/clients/git_integration_client.py similarity index 97% rename from codegen-git/src/codegen_git/clients/git_integration_client.py rename to src/codegen/git/clients/git_integration_client.py index 3ee40dd30..7cff0ffb3 100644 --- a/codegen-git/src/codegen_git/clients/git_integration_client.py +++ b/src/codegen/git/clients/git_integration_client.py @@ -6,7 +6,7 @@ from github.Installation import Installation from github.InstallationAuthorization import InstallationAuthorization -from codegen_git.schemas.github import GithubType +from codegen.git.schemas.github import GithubType logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/clients/git_repo_client.py b/src/codegen/git/clients/git_repo_client.py similarity index 98% rename from codegen-git/src/codegen_git/clients/git_repo_client.py rename to src/codegen/git/clients/git_repo_client.py index 0a6d5338a..7e8d70263 100644 --- a/codegen-git/src/codegen_git/clients/git_repo_client.py +++ b/src/codegen/git/clients/git_repo_client.py @@ -14,11 +14,11 @@ from github.Tag import Tag from github.Workflow import Workflow -from codegen_git.clients.github_client_factory import GithubClientFactory -from codegen_git.clients.types import GithubClientType -from codegen_git.schemas.github import GithubScope, GithubType -from codegen_git.schemas.repo_config import RepoConfig -from codegen_git.utils.format import format_comparison +from codegen.git.clients.github_client_factory import GithubClientFactory +from codegen.git.clients.types import GithubClientType +from codegen.git.schemas.github import GithubScope, GithubType +from codegen.git.schemas.repo_config import RepoConfig +from codegen.git.utils.format import format_comparison logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/clients/github_client.py b/src/codegen/git/clients/github_client.py similarity index 93% rename from codegen-git/src/codegen_git/clients/github_client.py rename to src/codegen/git/clients/github_client.py index 11f0dfa86..e2571b05f 100644 --- a/codegen-git/src/codegen_git/clients/github_client.py +++ b/src/codegen/git/clients/github_client.py @@ -7,9 +7,9 @@ from github.Organization import Organization from github.Repository import Repository -from codegen_git.configs.token import get_token_for_repo_config -from codegen_git.schemas.github import GithubScope, GithubType -from codegen_git.schemas.repo_config import RepoConfig +from codegen.git.configs.token import get_token_for_repo_config +from codegen.git.schemas.github import GithubScope, GithubType +from codegen.git.schemas.repo_config import RepoConfig logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/clients/github_client_factory.py b/src/codegen/git/clients/github_client_factory.py similarity index 89% rename from codegen-git/src/codegen_git/clients/github_client_factory.py rename to src/codegen/git/clients/github_client_factory.py index 20ec4f0d4..c6e2ba1a5 100644 --- a/codegen-git/src/codegen_git/clients/github_client_factory.py +++ b/src/codegen/git/clients/github_client_factory.py @@ -1,8 +1,8 @@ -from codegen_git.clients.github_client import GithubClient -from codegen_git.clients.github_enterprise_client import GithubEnterpriseClient -from codegen_git.clients.types import GithubClientType -from codegen_git.schemas.github import GithubType -from codegen_git.schemas.repo_config import RepoConfig +from codegen.git.clients.github_client import GithubClient +from codegen.git.clients.github_enterprise_client import GithubEnterpriseClient +from codegen.git.clients.types import GithubClientType +from codegen.git.schemas.github import GithubType +from codegen.git.schemas.repo_config import RepoConfig class GithubClientFactory: diff --git a/codegen-git/src/codegen_git/clients/github_enterprise_client.py b/src/codegen/git/clients/github_enterprise_client.py similarity index 54% rename from codegen-git/src/codegen_git/clients/github_enterprise_client.py rename to src/codegen/git/clients/github_enterprise_client.py index 5c369c806..4519a02c4 100644 --- a/codegen-git/src/codegen_git/clients/github_enterprise_client.py +++ b/src/codegen/git/clients/github_enterprise_client.py @@ -1,6 +1,6 @@ -from codegen_git.clients.github_client import GithubClient -from codegen_git.configs.config import config -from codegen_git.schemas.github import GithubType +from codegen.git.clients.github_client import GithubClient +from codegen.git.configs.config import config +from codegen.git.schemas.github import GithubType class GithubEnterpriseClient(GithubClient): diff --git a/src/codegen/git/clients/types.py b/src/codegen/git/clients/types.py new file mode 100644 index 000000000..c0e6f2f37 --- /dev/null +++ b/src/codegen/git/clients/types.py @@ -0,0 +1,4 @@ +from codegen.git.clients.github_client import GithubClient +from codegen.git.clients.github_enterprise_client import GithubEnterpriseClient + +GithubClientType = GithubClient | GithubEnterpriseClient diff --git a/codegen-git/src/codegen_git/configs/config.py b/src/codegen/git/configs/config.py similarity index 100% rename from codegen-git/src/codegen_git/configs/config.py rename to src/codegen/git/configs/config.py diff --git a/codegen-git/src/codegen_git/configs/constants.py b/src/codegen/git/configs/constants.py similarity index 100% rename from codegen-git/src/codegen_git/configs/constants.py rename to src/codegen/git/configs/constants.py diff --git a/codegen-git/src/codegen_git/configs/token.py b/src/codegen/git/configs/token.py similarity index 69% rename from codegen-git/src/codegen_git/configs/token.py rename to src/codegen/git/configs/token.py index 0396b8205..e1ba23d12 100644 --- a/codegen-git/src/codegen_git/configs/token.py +++ b/src/codegen/git/configs/token.py @@ -1,8 +1,8 @@ import logging -from codegen_git.configs.config import config -from codegen_git.schemas.github import GithubType -from codegen_git.schemas.repo_config import RepoConfig +from codegen.git.configs.config import config +from codegen.git.schemas.github import GithubType +from codegen.git.schemas.repo_config import RepoConfig logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/py.typed b/src/codegen/git/py.typed similarity index 100% rename from codegen-git/src/codegen_git/py.typed rename to src/codegen/git/py.typed diff --git a/codegen-git/src/codegen_git/repo_operator/local_repo_operator.py b/src/codegen/git/repo_operator/local_repo_operator.py similarity index 94% rename from codegen-git/src/codegen_git/repo_operator/local_repo_operator.py rename to src/codegen/git/repo_operator/local_repo_operator.py index 3511d5147..57f287862 100644 --- a/codegen-git/src/codegen_git/repo_operator/local_repo_operator.py +++ b/src/codegen/git/repo_operator/local_repo_operator.py @@ -7,11 +7,11 @@ from git import Repo as GitCLI from git.remote import PushInfoList -from codegen_git.repo_operator.repo_operator import RepoOperator -from codegen_git.schemas.enums import FetchResult -from codegen_git.schemas.repo_config import BaseRepoConfig -from codegen_git.utils.clone_url import url_to_github -from codegen_git.utils.file_utils import create_files +from codegen.git.repo_operator.repo_operator import RepoOperator +from codegen.git.schemas.enums import FetchResult +from codegen.git.schemas.repo_config import BaseRepoConfig +from codegen.git.utils.clone_url import url_to_github +from codegen.git.utils.file_utils import create_files class OperatorIsLocal(Exception): diff --git a/codegen-git/src/codegen_git/repo_operator/remote_repo_operator.py b/src/codegen/git/repo_operator/remote_repo_operator.py similarity index 92% rename from codegen-git/src/codegen_git/repo_operator/remote_repo_operator.py rename to src/codegen/git/repo_operator/remote_repo_operator.py index 799eb8ff5..604dc72db 100644 --- a/codegen-git/src/codegen_git/repo_operator/remote_repo_operator.py +++ b/src/codegen/git/repo_operator/remote_repo_operator.py @@ -7,16 +7,16 @@ from git import GitCommandError, Remote from git.remote import PushInfoList -from codegen_git.clients.git_repo_client import GitRepoClient -from codegen_git.repo_operator.repo_operator import RepoOperator -from codegen_git.schemas.enums import CheckoutResult, FetchResult, SetupOption -from codegen_git.schemas.github import GithubScope, GithubType -from codegen_git.schemas.repo_config import RepoConfig -from codegen_git.utils.clone import clone_or_pull_repo, clone_repo, pull_repo -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.git.clients.git_repo_client import GitRepoClient +from codegen.git.repo_operator.repo_operator import RepoOperator +from codegen.git.schemas.enums import CheckoutResult, FetchResult, SetupOption +from codegen.git.schemas.github import GithubScope, GithubType +from codegen.git.schemas.repo_config import RepoConfig +from codegen.git.utils.clone import clone_or_pull_repo, clone_repo, pull_repo +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 logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/repo_operator/repo_operator.py b/src/codegen/git/repo_operator/repo_operator.py similarity index 98% rename from codegen-git/src/codegen_git/repo_operator/repo_operator.py rename to src/codegen/git/repo_operator/repo_operator.py index f673ff24d..961546bf4 100644 --- a/codegen-git/src/codegen_git/repo_operator/repo_operator.py +++ b/src/codegen/git/repo_operator/repo_operator.py @@ -14,11 +14,11 @@ from git import Repo as GitCLI from git.remote import PushInfoList -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.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 logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/schemas/enums.py b/src/codegen/git/schemas/enums.py similarity index 100% rename from codegen-git/src/codegen_git/schemas/enums.py rename to src/codegen/git/schemas/enums.py diff --git a/codegen-git/src/codegen_git/schemas/github.py b/src/codegen/git/schemas/github.py similarity index 100% rename from codegen-git/src/codegen_git/schemas/github.py rename to src/codegen/git/schemas/github.py diff --git a/codegen-git/src/codegen_git/schemas/repo_config.py b/src/codegen/git/schemas/repo_config.py similarity index 100% rename from codegen-git/src/codegen_git/schemas/repo_config.py rename to src/codegen/git/schemas/repo_config.py diff --git a/codegen-git/src/codegen_git/utils/clone.py b/src/codegen/git/utils/clone.py similarity index 94% rename from codegen-git/src/codegen_git/utils/clone.py rename to src/codegen/git/utils/clone.py index 7451a6a41..9a8f22ac4 100644 --- a/codegen-git/src/codegen_git/utils/clone.py +++ b/src/codegen/git/utils/clone.py @@ -2,10 +2,10 @@ import os import subprocess -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.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 logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/utils/clone_url.py b/src/codegen/git/utils/clone_url.py similarity index 87% rename from codegen-git/src/codegen_git/utils/clone_url.py rename to src/codegen/git/utils/clone_url.py index 1f7ead544..ed87f59c4 100644 --- a/codegen-git/src/codegen_git/utils/clone_url.py +++ b/src/codegen/git/utils/clone_url.py @@ -1,8 +1,8 @@ from urllib.parse import urlparse -from codegen_git.configs.token import get_token_for_repo_config -from codegen_git.schemas.github import GithubType -from codegen_git.schemas.repo_config import RepoConfig +from codegen.git.configs.token import get_token_for_repo_config +from codegen.git.schemas.github import GithubType +from codegen.git.schemas.repo_config import RepoConfig def url_to_github(url: str, branch: str) -> str: diff --git a/codegen-git/src/codegen_git/utils/codeowner_utils.py b/src/codegen/git/utils/codeowner_utils.py similarity index 93% rename from codegen-git/src/codegen_git/utils/codeowner_utils.py rename to src/codegen/git/utils/codeowner_utils.py index b53925841..b0d0c5df0 100644 --- a/codegen-git/src/codegen_git/utils/codeowner_utils.py +++ b/src/codegen/git/utils/codeowner_utils.py @@ -3,8 +3,8 @@ from codeowners import CodeOwners from github.PullRequest import PullRequest -from codegen_git.clients.git_repo_client import GitRepoClient -from codegen_git.configs.constants import CODEOWNERS_FILEPATHS +from codegen.git.clients.git_repo_client import GitRepoClient +from codegen.git.configs.constants import CODEOWNERS_FILEPATHS logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/utils/file_utils.py b/src/codegen/git/utils/file_utils.py similarity index 100% rename from codegen-git/src/codegen_git/utils/file_utils.py rename to src/codegen/git/utils/file_utils.py diff --git a/codegen-git/src/codegen_git/utils/format.py b/src/codegen/git/utils/format.py similarity index 100% rename from codegen-git/src/codegen_git/utils/format.py rename to src/codegen/git/utils/format.py diff --git a/codegen-git/src/codegen_git/utils/remote_progress.py b/src/codegen/git/utils/remote_progress.py similarity index 94% rename from codegen-git/src/codegen_git/utils/remote_progress.py rename to src/codegen/git/utils/remote_progress.py index 46c70aaca..2a2b1b39d 100644 --- a/codegen-git/src/codegen_git/utils/remote_progress.py +++ b/src/codegen/git/utils/remote_progress.py @@ -3,7 +3,7 @@ from git import RemoteProgress -from codegen_git.schemas.enums import FetchResult +from codegen.git.schemas.enums import FetchResult logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/utils/stopwatch_utils.py b/src/codegen/git/utils/stopwatch_utils.py similarity index 96% rename from codegen-git/src/codegen_git/utils/stopwatch_utils.py rename to src/codegen/git/utils/stopwatch_utils.py index 808ed37fc..4e2a00bd7 100644 --- a/codegen-git/src/codegen_git/utils/stopwatch_utils.py +++ b/src/codegen/git/utils/stopwatch_utils.py @@ -5,7 +5,7 @@ import sentry_sdk -from codegen_git.utils.time_utils import humanize_duration +from codegen.git.utils.time_utils import humanize_duration logger = logging.getLogger(__name__) diff --git a/codegen-git/src/codegen_git/utils/time_utils.py b/src/codegen/git/utils/time_utils.py similarity index 100% rename from codegen-git/src/codegen_git/utils/time_utils.py rename to src/codegen/git/utils/time_utils.py diff --git a/src/codegen/sdk/code_generation/current_code_codebase.py b/src/codegen/sdk/code_generation/current_code_codebase.py index 07f88ac7b..d4501402c 100644 --- a/src/codegen/sdk/code_generation/current_code_codebase.py +++ b/src/codegen/sdk/code_generation/current_code_codebase.py @@ -4,12 +4,12 @@ from pathlib import Path from typing import TypedDict +from codegen.git.repo_operator.local_repo_operator import LocalRepoOperator +from codegen.git.schemas.repo_config import BaseRepoConfig 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_git.repo_operator.local_repo_operator import LocalRepoOperator -from codegen_git.schemas.repo_config import BaseRepoConfig logger = logging.getLogger(__name__) diff --git a/src/codegen/sdk/codebase/codebase_graph.py b/src/codegen/sdk/codebase/codebase_graph.py index 7bbf7aff5..c9a75b5ba 100644 --- a/src/codegen/sdk/codebase/codebase_graph.py +++ b/src/codegen/sdk/codebase/codebase_graph.py @@ -15,6 +15,8 @@ from git import Commit as GitCommit 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 @@ -33,8 +35,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_git.repo_operator.repo_operator import RepoOperator -from codegen_git.utils.stopwatch_utils import stopwatch, stopwatch_with_sentry if TYPE_CHECKING: from codegen.sdk.codebase.node_classes.node_classes import NodeClasses diff --git a/src/codegen/sdk/codebase/config.py b/src/codegen/sdk/codebase/config.py index fa105b306..01c429113 100644 --- a/src/codegen/sdk/codebase/config.py +++ b/src/codegen/sdk/codebase/config.py @@ -1,8 +1,8 @@ from pydantic import BaseModel, ConfigDict, Field +from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.enums import ProgrammingLanguage from codegen.sdk.secrets import Secrets -from codegen_git.repo_operator.repo_operator import RepoOperator HARD_MAX_AI_LIMIT = 500 # Global limit for AI requests diff --git a/src/codegen/sdk/codebase/factory/codebase_factory.py b/src/codegen/sdk/codebase/factory/codebase_factory.py index 3ce79bb47..84e7379f1 100644 --- a/src/codegen/sdk/codebase/factory/codebase_factory.py +++ b/src/codegen/sdk/codebase/factory/codebase_factory.py @@ -1,11 +1,11 @@ +from codegen.git.repo_operator.local_repo_operator import LocalRepoOperator +from codegen.git.schemas.repo_config import BaseRepoConfig from codegen.sdk.codebase.config import CodebaseConfig, ProjectConfig from codegen.sdk.core.codebase import ( Codebase, CodebaseType, ) from codegen.sdk.enums import ProgrammingLanguage -from codegen_git.repo_operator.local_repo_operator import LocalRepoOperator -from codegen_git.schemas.repo_config import BaseRepoConfig class CodebaseFactory: diff --git a/src/codegen/sdk/codebase/factory/get_session.py b/src/codegen/sdk/codebase/factory/get_session.py index 722b30b00..ec4a31cce 100644 --- a/src/codegen/sdk/codebase/factory/get_session.py +++ b/src/codegen/sdk/codebase/factory/get_session.py @@ -4,6 +4,8 @@ from contextlib import AbstractContextManager, contextmanager from typing import Any, Literal, overload +from codegen.git.repo_operator.local_repo_operator import LocalRepoOperator +from codegen.git.schemas.repo_config import BaseRepoConfig from codegen.sdk.codebase.codebase_graph import CodebaseGraph from codegen.sdk.codebase.config import CodebaseConfig, GSFeatureFlags, ProjectConfig, SessionOptions, TestFlags from codegen.sdk.codebase.factory.codebase_factory import CodebaseFactory @@ -11,8 +13,6 @@ from codegen.sdk.enums import ProgrammingLanguage from codegen.sdk.secrets import Secrets from codegen.sdk.tree_sitter_parser import print_errors -from codegen_git.repo_operator.local_repo_operator import LocalRepoOperator -from codegen_git.schemas.repo_config import BaseRepoConfig @overload diff --git a/src/codegen/sdk/core/codebase.py b/src/codegen/sdk/core/codebase.py index 9b0894406..c2abf8349 100644 --- a/src/codegen/sdk/core/codebase.py +++ b/src/codegen/sdk/core/codebase.py @@ -19,6 +19,11 @@ from rich.console import Console from typing_extensions import deprecated +from codegen.git.repo_operator.local_repo_operator import LocalRepoOperator +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 @@ -67,11 +72,6 @@ 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_git.repo_operator.local_repo_operator import LocalRepoOperator -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 graph_visualization.visualization_manager import VisualizationManager if TYPE_CHECKING: diff --git a/src/codegen/sdk/fetch_codebase.py b/src/codegen/sdk/fetch_codebase.py index 27812a738..4fd4ce009 100644 --- a/src/codegen/sdk/fetch_codebase.py +++ b/src/codegen/sdk/fetch_codebase.py @@ -1,10 +1,10 @@ import logging import os +from codegen.git.repo_operator.local_repo_operator import LocalRepoOperator from codegen.sdk.codebase.config import DefaultConfig, ProjectConfig from codegen.sdk.core.codebase import Codebase from codegen.sdk.utils import determine_project_language -from codegen_git.repo_operator.local_repo_operator import LocalRepoOperator logger = logging.getLogger(__name__) diff --git a/src/codegen/sdk/skills/core/skill_implementation.py b/src/codegen/sdk/skills/core/skill_implementation.py index 912cb2b36..2679b7b8c 100644 --- a/src/codegen/sdk/skills/core/skill_implementation.py +++ b/src/codegen/sdk/skills/core/skill_implementation.py @@ -3,12 +3,12 @@ import textwrap from collections.abc import Callable +from codegen.git.schemas.repo_config import BaseRepoConfig from codegen.sdk.codebase.factory.get_session import get_codebase_session from codegen.sdk.core.codebase import CodebaseType from codegen.sdk.enums import ProgrammingLanguage from codegen.sdk.skills.core.skill_test import SkillTestCase from codegen.sdk.skills.utils.utils import verify_skill_output -from codegen_git.schemas.repo_config import BaseRepoConfig class SkillImplementation: diff --git a/src/codegen/sdk/testing/models.py b/src/codegen/sdk/testing/models.py index 65a45b8f7..5c97c31c5 100644 --- a/src/codegen/sdk/testing/models.py +++ b/src/codegen/sdk/testing/models.py @@ -9,11 +9,11 @@ from pydantic import BaseModel, ConfigDict +from codegen.git.repo_operator.local_repo_operator import LocalRepoOperator from codegen.sdk.codebase.config import GSFeatureFlags from codegen.sdk.enums import ProgrammingLanguage from codegen.sdk.testing.constants import DIFF_FILEPATH from codegen.sdk.testing.verified_codemod_utils import CodemodAPI -from codegen_git.repo_operator.local_repo_operator import LocalRepoOperator BASE_TMP_DIR = Path(os.getenv("GITHUB_WORKSPACE", tempfile.gettempdir())) BASE_PATH: Path = Path(__file__).parent.parent.parent.parent.parent diff --git a/src/graph_visualization/visualization_manager.py b/src/graph_visualization/visualization_manager.py index fc8996f6f..6d39d674c 100644 --- a/src/graph_visualization/visualization_manager.py +++ b/src/graph_visualization/visualization_manager.py @@ -4,8 +4,8 @@ import plotly.graph_objects as go from networkx import Graph +from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.core.interfaces.editable import Editable -from codegen_git.repo_operator.repo_operator import RepoOperator from graph_visualization.viz_utils import graph_to_json logger = logging.getLogger(__name__) diff --git a/src/graph_visualization/viz_utils.py b/src/graph_visualization/viz_utils.py index 5c03d9fed..8e839644f 100644 --- a/src/graph_visualization/viz_utils.py +++ b/src/graph_visualization/viz_utils.py @@ -6,10 +6,10 @@ import networkx as nx from networkx import DiGraph, Graph +from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.core.interfaces.editable import Editable from codegen.sdk.core.interfaces.importable import Importable from codegen.sdk.output.utils import DeterministicJSONEncoder -from codegen_git.repo_operator.repo_operator import RepoOperator from graph_visualization.enums import GraphJson, GraphType if TYPE_CHECKING: diff --git a/tests/codemod/conftest.py b/tests/codemod/conftest.py index f6bb791dc..82114d6ea 100644 --- a/tests/codemod/conftest.py +++ b/tests/codemod/conftest.py @@ -9,14 +9,14 @@ from _pytest.python import Metafunc from pyinstrument import Profiler +from codegen.git.repo_operator.local_repo_operator import LocalRepoOperator +from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.codebase.config import CodebaseConfig, GSFeatureFlags, ProjectConfig from codegen.sdk.codemod import Codemod3 from codegen.sdk.core.codebase import Codebase from codegen.sdk.testing.constants import DIFF_FILEPATH from codegen.sdk.testing.models import BASE_PATH, BASE_TMP_DIR, VERIFIED_CODEMOD_DIFFS, CodemodMetadata, Repo, Size from codegen.sdk.testing.test_discovery import find_codemod_test_cases, find_repos, find_verified_codemod_cases -from codegen_git.repo_operator.local_repo_operator import LocalRepoOperator -from codegen_git.repo_operator.repo_operator import RepoOperator from tests.utils.recursion import set_recursion_limit logger = logging.getLogger(__name__) diff --git a/tests/codemod/test_parse.py b/tests/codemod/test_parse.py index 9de43f6be..48e191c08 100644 --- a/tests/codemod/test_parse.py +++ b/tests/codemod/test_parse.py @@ -5,11 +5,11 @@ import psutil import pytest +from codegen.git.repo_operator.repo_operator import RepoOperator from codegen.sdk.codebase.config import CodebaseConfig, DefaultFlags, ProjectConfig from codegen.sdk.codebase.validation import PostInitValidationStatus, post_init_validation from codegen.sdk.core.codebase import Codebase from codegen.sdk.testing.models import Repo -from codegen_git.repo_operator.repo_operator import RepoOperator from tests.utils.recursion import set_recursion_limit BYTES_IN_GIGABYTE = 1024**3 diff --git a/codegen-git/tests/codegen_git/clients/test_git_repo_client.py b/tests/git/clients/test_git_repo_client.py similarity index 82% rename from codegen-git/tests/codegen_git/clients/test_git_repo_client.py rename to tests/git/clients/test_git_repo_client.py index 826188458..c729dc9a6 100644 --- a/codegen-git/tests/codegen_git/clients/test_git_repo_client.py +++ b/tests/git/clients/test_git_repo_client.py @@ -1,10 +1,10 @@ from unittest.mock import MagicMock, patch -from codegen_git.clients.git_repo_client import GitRepoClient -from codegen_git.schemas.github import GithubScope +from codegen.git.clients.git_repo_client import GitRepoClient +from codegen.git.schemas.github import GithubScope -@patch("codegen_git.clients.git_repo_client.GithubClientFactory") +@patch("codegen.git.clients.git_repo_client.GithubClientFactory") def test_delete_branch_default( mock_github_client_factory, ): @@ -15,7 +15,7 @@ def test_delete_branch_default( assert git_repo_client._write_client.call_count == 0 -@patch("codegen_git.clients.git_repo_client.GithubClientFactory") +@patch("codegen.git.clients.git_repo_client.GithubClientFactory") def test_delete_branch_non_default_branch( mock_github_client_factory, ): @@ -27,7 +27,7 @@ def test_delete_branch_non_default_branch( assert mock_ref.delete.call_count == 1 -@patch("codegen_git.clients.git_repo_client.GithubClientFactory") +@patch("codegen.git.clients.git_repo_client.GithubClientFactory") def test_delete_branch_cannot_write_branch( mock_github_client_factory, ): diff --git a/codegen-git/tests/codegen_git/clients/test_github_client_factory.py b/tests/git/clients/test_github_client_factory.py similarity index 87% rename from codegen-git/tests/codegen_git/clients/test_github_client_factory.py rename to tests/git/clients/test_github_client_factory.py index 3a3fb0bc4..668faae0e 100644 --- a/codegen-git/tests/codegen_git/clients/test_github_client_factory.py +++ b/tests/git/clients/test_github_client_factory.py @@ -1,5 +1,5 @@ -from codegen_git.clients.github_client_factory import GithubClientFactory -from codegen_git.schemas.github import GithubType +from codegen.git.clients.github_client_factory import GithubClientFactory +from codegen.git.schemas.github import GithubType def test_github_client_factory_create_from_token_no_token(): diff --git a/codegen-git/tests/conftest.py b/tests/git/conftest.py similarity index 87% rename from codegen-git/tests/conftest.py rename to tests/git/conftest.py index 30308cdf0..ef06df1c3 100644 --- a/codegen-git/tests/conftest.py +++ b/tests/git/conftest.py @@ -2,7 +2,7 @@ import pytest -from codegen_git.schemas.repo_config import RepoConfig +from codegen.git.schemas.repo_config import RepoConfig @pytest.fixture(autouse=True) @@ -19,7 +19,7 @@ def mock_config(): @pytest.fixture(autouse=True) def repo_config() -> RepoConfig: - with patch("codegen_git.utils.clone.get_authenticated_clone_url_for_repo_config") as mock_clone_url: + with patch("codegen.git.utils.clone.get_authenticated_clone_url_for_repo_config") as mock_clone_url: mock_clone_url.return_value = "https://github.com/codegen-sh/Kevin-s-Adventure-Game.git" repo_config = RepoConfig(id=321, name="Kevin-s-Adventure-Game", full_name="codegen-sh/Kevin-s-Adventure-Game", organization_id="123", organization_name="codegen-sh") yield repo_config diff --git a/codegen-git/tests/codegen_git/repo_operator/test_remote_repo_operator.py b/tests/git/repo_operator/test_remote_repo_operator.py similarity index 90% rename from codegen-git/tests/codegen_git/repo_operator/test_remote_repo_operator.py rename to tests/git/repo_operator/test_remote_repo_operator.py index f194c680a..c033181d0 100644 --- a/codegen-git/tests/codegen_git/repo_operator/test_remote_repo_operator.py +++ b/tests/git/repo_operator/test_remote_repo_operator.py @@ -3,9 +3,9 @@ import pytest from github.MainClass import Github -from codegen_git.repo_operator.remote_repo_operator import RemoteRepoOperator -from codegen_git.schemas.enums import CheckoutResult -from codegen_git.utils.file_utils import create_files +from codegen.git.repo_operator.remote_repo_operator import RemoteRepoOperator +from codegen.git.schemas.enums import CheckoutResult +from codegen.git.utils.file_utils import create_files shallow_options = [True, False] @@ -16,7 +16,7 @@ def op(repo_config, request, tmpdir): @pytest.mark.parametrize("op", shallow_options, ids=lambda x: f"shallow={x}", indirect=True) -@patch("codegen_git.clients.github_client.Github") +@patch("codegen.git.clients.github_client.Github") def test_checkout_branch(mock_git_client, op: RemoteRepoOperator): mock_git_client.return_value = Github("test_token", "https://api.github.com") op.pull_repo() @@ -38,7 +38,7 @@ def test_checkout_branch(mock_git_client, op: RemoteRepoOperator): @pytest.mark.parametrize("op", [True], ids=lambda x: f"shallow={x}", indirect=True) -@patch("codegen_git.clients.github_client.Github") +@patch("codegen.git.clients.github_client.Github") def test_checkout_branch_local_already_checked_out(mock_git_client, op: RemoteRepoOperator): mock_git_client.return_value = Github("test_token", "https://api.github.com") @@ -58,7 +58,7 @@ def test_checkout_branch_local_already_checked_out(mock_git_client, op: RemoteRe @pytest.mark.parametrize("op", [True], ids=lambda x: f"shallow={x}", indirect=True) -@patch("codegen_git.clients.github_client.Github") +@patch("codegen.git.clients.github_client.Github") def test_checkout_branch_remote_already_checked_out_resets_branch(mock_git_client, op: RemoteRepoOperator): mock_git_client.return_value = Github("test_token", "https://api.github.com") diff --git a/codegen-git/tests/codegen_git/schemas/test_github.py b/tests/git/schemas/test_github.py similarity index 77% rename from codegen-git/tests/codegen_git/schemas/test_github.py rename to tests/git/schemas/test_github.py index b15257614..26d2b4d3a 100644 --- a/codegen-git/tests/codegen_git/schemas/test_github.py +++ b/tests/git/schemas/test_github.py @@ -1,4 +1,4 @@ -from codegen_git.schemas.github import GithubType +from codegen.git.schemas.github import GithubType def test_github_type_base_url(): diff --git a/tests/unit/python/file/test_file_owners.py b/tests/unit/python/file/test_file_owners.py index 4016dc0a2..b393d1d18 100644 --- a/tests/unit/python/file/test_file_owners.py +++ b/tests/unit/python/file/test_file_owners.py @@ -21,7 +21,7 @@ def test_file_owners_codeowners_parser_returns_non_empty_set(tmpdir) -> None: """ mock_codeowners = MagicMock() mock_codeowners.of = lambda file_path: [("TEAM", "@team-owner"), ("USER", "@user-owner")] if file_path == "file.py" else {} - with patch("codegen_git.repo_operator.local_repo_operator.LocalRepoOperator.codeowners_parser", mock_codeowners): + with patch("codegen.git.repo_operator.local_repo_operator.LocalRepoOperator.codeowners_parser", mock_codeowners): with get_codebase_session(tmpdir=tmpdir, files={"file.py": content}) as codebase: file = codebase.get_file("file.py") owners = file.owners diff --git a/tests/unit/skills/test_skills.py b/tests/unit/skills/test_skills.py index 611d3fb75..8d4a0b2de 100644 --- a/tests/unit/skills/test_skills.py +++ b/tests/unit/skills/test_skills.py @@ -1,11 +1,11 @@ import pytest +from codegen.git.schemas.repo_config import BaseRepoConfig from codegen.sdk.codebase.factory.get_session import get_codebase_session from codegen.sdk.skills.core.skill_implementation import SkillImplementation from codegen.sdk.skills.core.skill_test import SkillTestCase from codegen.sdk.skills.core.utils import get_all_skill_implementations from codegen.sdk.skills.utils.utils import verify_skill_output -from codegen_git.schemas.repo_config import BaseRepoConfig skill_implementations = get_all_skill_implementations() cases = [(skill, test_case, idx) for skill in skill_implementations for idx, test_case in enumerate(skill.test_cases) if not skill.external] diff --git a/tests/utils/codebase_comparison_utils.py b/tests/utils/codebase_comparison_utils.py index 433998257..0918160ea 100644 --- a/tests/utils/codebase_comparison_utils.py +++ b/tests/utils/codebase_comparison_utils.py @@ -8,9 +8,9 @@ from Levenshtein import distance as levenshtein_distance from pytest_snapshot.plugin import Snapshot +from codegen.git.schemas.enums import DiffChangeType from codegen.sdk.core.codebase import Codebase from codegen.sdk.testing.constants import DIFF_FILEPATH -from codegen_git.schemas.enums import DiffChangeType logger = logging.getLogger(__name__) diff --git a/uv.lock b/uv.lock index 0d9714287..72c2b8c47 100644 --- a/uv.lock +++ b/uv.lock @@ -1,12 +1,6 @@ version = 1 requires-python = ">=3.12, <3.14" -[manifest] -members = [ - "codegen-git", - "codegen-sdk", -] - [[package]] name = "annotated-types" version = "0.7.0" @@ -250,8 +244,6 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, @@ -259,10 +251,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, @@ -270,8 +258,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, ] [[package]] @@ -362,26 +348,9 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, ] -[[package]] -name = "codegen-git" -source = { editable = "codegen-git" } -dependencies = [ - { name = "codeowners" }, - { name = "gitpython" }, - { name = "pygithub" }, - { name = "termcolor" }, -] - -[package.metadata] -requires-dist = [ - { name = "codeowners", specifier = ">=0.7.0" }, - { name = "gitpython", specifier = "==3.1.44" }, - { name = "pygithub", specifier = "==2.5.0" }, - { name = "termcolor", specifier = ">=2.4.0" }, -] - [[package]] name = "codegen-sdk" +version = "0.1.dev24+g7916928.d20250123" source = { editable = "." } dependencies = [ { name = "anthropic" }, @@ -390,7 +359,6 @@ dependencies = [ { name = "backoff" }, { name = "black" }, { name = "click" }, - { name = "codegen-git" }, { name = "codeowners" }, { name = "dataclasses-json" }, { name = "dicttoxml" }, @@ -475,7 +443,6 @@ requires-dist = [ { name = "backoff", specifier = "==2.2.1" }, { name = "black", specifier = ">=24.8.0" }, { name = "click", specifier = ">=8.1.7" }, - { name = "codegen-git", editable = "codegen-git" }, { name = "codeowners", specifier = ">=0.6.0,<1.0.0" }, { name = "dataclasses-json", specifier = ">=0.6.4,<1.0.0" }, { name = "dicttoxml", specifier = ">=1.7.16,<2.0.0" }, @@ -616,7 +583,6 @@ dependencies = [ ] sdist = { url = "https://files.pythonhosted.org/packages/91/4c/45dfa6829acffa344e3967d6006ee4ae8be57af746ae2eba1c431949b32c/cryptography-44.0.0.tar.gz", hash = "sha256:cd4e834f340b4293430701e772ec543b0fbe6c2dea510a5286fe0acabe153a02", size = 710657 } wheels = [ - { url = "https://files.pythonhosted.org/packages/55/09/8cc67f9b84730ad330b3b72cf867150744bf07ff113cda21a15a1c6d2c7c/cryptography-44.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:84111ad4ff3f6253820e6d3e58be2cc2a00adb29335d4cacb5ab4d4d34f2a123", size = 6541833 }, { url = "https://files.pythonhosted.org/packages/7e/5b/3759e30a103144e29632e7cb72aec28cedc79e514b2ea8896bb17163c19b/cryptography-44.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15492a11f9e1b62ba9d73c210e2416724633167de94607ec6069ef724fad092", size = 3922710 }, { url = "https://files.pythonhosted.org/packages/5f/58/3b14bf39f1a0cfd679e753e8647ada56cddbf5acebffe7db90e184c76168/cryptography-44.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831c3c4d0774e488fdc83a1923b49b9957d33287de923d58ebd3cec47a0ae43f", size = 4137546 }, { url = "https://files.pythonhosted.org/packages/98/65/13d9e76ca19b0ba5603d71ac8424b5694415b348e719db277b5edc985ff5/cryptography-44.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:761817a3377ef15ac23cd7834715081791d4ec77f9297ee694ca1ee9c2c7e5eb", size = 3915420 }, @@ -624,9 +590,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/75/ea/af65619c800ec0a7e4034207aec543acdf248d9bffba0533342d1bd435e1/cryptography-44.0.0-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4ac4c9f37eba52cb6fbeaf5b59c152ea976726b865bd4cf87883a7e7006cc543", size = 3932569 }, { url = "https://files.pythonhosted.org/packages/c7/af/d1deb0c04d59612e3d5e54203159e284d3e7a6921e565bb0eeb6269bdd8a/cryptography-44.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:ed3534eb1090483c96178fcb0f8893719d96d5274dfde98aa6add34614e97c8e", size = 4016721 }, { url = "https://files.pythonhosted.org/packages/bd/69/7ca326c55698d0688db867795134bdfac87136b80ef373aaa42b225d6dd5/cryptography-44.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f3f6fdfa89ee2d9d496e2c087cebef9d4fcbb0ad63c40e821b39f74bf48d9c5e", size = 4240915 }, - { url = "https://files.pythonhosted.org/packages/ef/d4/cae11bf68c0f981e0413906c6dd03ae7fa864347ed5fac40021df1ef467c/cryptography-44.0.0-cp37-abi3-win32.whl", hash = "sha256:eb33480f1bad5b78233b0ad3e1b0be21e8ef1da745d8d2aecbb20671658b9053", size = 2757925 }, - { url = "https://files.pythonhosted.org/packages/64/b1/50d7739254d2002acae64eed4fc43b24ac0cc44bf0a0d388d1ca06ec5bb1/cryptography-44.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:abc998e0c0eee3c8a1904221d3f67dcfa76422b23620173e28c11d3e626c21bd", size = 3202055 }, - { url = "https://files.pythonhosted.org/packages/11/18/61e52a3d28fc1514a43b0ac291177acd1b4de00e9301aaf7ef867076ff8a/cryptography-44.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:660cb7312a08bc38be15b696462fa7cc7cd85c3ed9c576e81f4dc4d8b2b31591", size = 6542801 }, { url = "https://files.pythonhosted.org/packages/1a/07/5f165b6c65696ef75601b781a280fc3b33f1e0cd6aa5a92d9fb96c410e97/cryptography-44.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1923cb251c04be85eec9fda837661c67c1049063305d6be5721643c22dd4e2b7", size = 3922613 }, { url = "https://files.pythonhosted.org/packages/28/34/6b3ac1d80fc174812486561cf25194338151780f27e438526f9c64e16869/cryptography-44.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:404fdc66ee5f83a1388be54300ae978b2efd538018de18556dde92575e05defc", size = 4137925 }, { url = "https://files.pythonhosted.org/packages/d0/c7/c656eb08fd22255d21bc3129625ed9cd5ee305f33752ef2278711b3fa98b/cryptography-44.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:c5eb858beed7835e5ad1faba59e865109f3e52b3783b9ac21e7e47dc5554e289", size = 3915417 }, @@ -634,8 +597,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a2/cd/2f3c440913d4329ade49b146d74f2e9766422e1732613f57097fea61f344/cryptography-44.0.0-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:9e6fc8a08e116fb7c7dd1f040074c9d7b51d74a8ea40d4df2fc7aa08b76b9e6c", size = 3932331 }, { url = "https://files.pythonhosted.org/packages/7f/df/8be88797f0a1cca6e255189a57bb49237402b1880d6e8721690c5603ac23/cryptography-44.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:d2436114e46b36d00f8b72ff57e598978b37399d2786fd39793c36c6d5cb1c64", size = 4017372 }, { url = "https://files.pythonhosted.org/packages/af/36/5ccc376f025a834e72b8e52e18746b927f34e4520487098e283a719c205e/cryptography-44.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a01956ddfa0a6790d594f5b34fc1bfa6098aca434696a03cfdbe469b8ed79285", size = 4239657 }, - { url = "https://files.pythonhosted.org/packages/46/b0/f4f7d0d0bcfbc8dd6296c1449be326d04217c57afb8b2594f017eed95533/cryptography-44.0.0-cp39-abi3-win32.whl", hash = "sha256:eca27345e1214d1b9f9490d200f9db5a874479be914199194e746c893788d417", size = 2758672 }, - { url = "https://files.pythonhosted.org/packages/97/9b/443270b9210f13f6ef240eff73fd32e02d381e7103969dc66ce8e89ee901/cryptography-44.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:708ee5f1bafe76d041b53a4f95eb28cdeb8d18da17e597d46d7833ee59b97ede", size = 3202071 }, ] [[package]] @@ -688,18 +649,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/99/2c/3e3afb1df3dc8a8deeb143f6ac41acbfdfae4f03a54c760871c56832a554/dependency_groups-1.3.0-py3-none-any.whl", hash = "sha256:1abf34d712deda5581e80d507512664d52b35d1c2d7caf16c85e58ca508547e0", size = 8597 }, ] -[[package]] -name = "deprecated" -version = "1.2.15" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "wrapt" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/2e/a3/53e7d78a6850ffdd394d7048a31a6f14e44900adedf190f9a165f6b69439/deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d", size = 2977612 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1d/8f/c7f227eb42cfeaddce3eb0c96c60cbca37797fa7b34f8e1aeadf6c5c0983/Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320", size = 9941 }, -] - [[package]] name = "deptry" version = "0.22.0" @@ -1572,23 +1521,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d4/d7/f1b7db88d8e4417c5d47adad627a93547f44bdc9028372dbd2313f34a855/pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a", size = 62725 }, ] -[[package]] -name = "pygithub" -version = "2.5.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "deprecated" }, - { name = "pyjwt", extra = ["crypto"] }, - { name = "pynacl" }, - { name = "requests" }, - { name = "typing-extensions" }, - { name = "urllib3" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/16/ce/aa91d30040d9552c274e7ea8bd10a977600d508d579a4bb262b95eccf961/pygithub-2.5.0.tar.gz", hash = "sha256:e1613ac508a9be710920d26eb18b1905ebd9926aa49398e88151c1b526aad3cf", size = 3552804 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/37/05/bfbdbbc5d8aafd8dae9b3b6877edca561fccd8528ef5edc4e7b6d23721b5/PyGithub-2.5.0-py3-none-any.whl", hash = "sha256:b0b635999a658ab8e08720bdd3318893ff20e2275f6446fcf35bf3f44f2c0fd2", size = 375935 }, -] - [[package]] name = "pygls" version = "1.3.1" @@ -1683,40 +1615,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ee/6d/8f35cab314cab3b67681ec072e7acb6432bee3ebc45dcf11fd8b6535cb57/pyjson5-1.6.8-cp313-cp313-win_arm64.whl", hash = "sha256:f984d06902b2096206d15bcbc6f0c75c024de295294ca04c8c11aedc871e2da0", size = 126843 }, ] -[[package]] -name = "pyjwt" -version = "2.10.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/46/bd74733ff231675599650d3e47f361794b22ef3e3770998dda30d3b63726/pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953", size = 87785 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/61/ad/689f02752eeec26aed679477e80e632ef1b682313be70793d798c1d5fc8f/PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb", size = 22997 }, -] - -[package.optional-dependencies] -crypto = [ - { name = "cryptography" }, -] - -[[package]] -name = "pynacl" -version = "1.5.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "cffi" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a7/22/27582568be639dfe22ddb3902225f91f2f17ceff88ce80e4db396c8986da/PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", size = 3392854 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/75/0b8ede18506041c0bf23ac4d8e2971b4161cd6ce630b177d0a08eb0d8857/PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", size = 349920 }, - { url = "https://files.pythonhosted.org/packages/59/bb/fddf10acd09637327a97ef89d2a9d621328850a72f1fdc8c08bdf72e385f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", size = 601722 }, - { url = "https://files.pythonhosted.org/packages/5d/70/87a065c37cca41a75f2ce113a5a2c2aa7533be648b184ade58971b5f7ccc/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", size = 680087 }, - { url = "https://files.pythonhosted.org/packages/ee/87/f1bb6a595f14a327e8285b9eb54d41fef76c585a0edef0a45f6fc95de125/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", size = 856678 }, - { url = "https://files.pythonhosted.org/packages/66/28/ca86676b69bf9f90e710571b67450508484388bfce09acf8a46f0b8c785f/PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", size = 1133660 }, - { url = "https://files.pythonhosted.org/packages/3d/85/c262db650e86812585e2bc59e497a8f59948a005325a11bbbc9ecd3fe26b/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", size = 663824 }, - { url = "https://files.pythonhosted.org/packages/fd/1a/cc308a884bd299b651f1633acb978e8596c71c33ca85e9dc9fa33a5399b9/PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", size = 1117912 }, - { url = "https://files.pythonhosted.org/packages/25/2d/b7df6ddb0c2a33afdb358f8af6ea3b8c4d1196ca45497dd37a56f0c122be/PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543", size = 204624 }, - { url = "https://files.pythonhosted.org/packages/5e/22/d3db169895faaf3e2eda892f005f433a62db2decbcfbc2f61e6517adfa87/PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", size = 212141 }, -] - [[package]] name = "pyright" version = "1.1.392.post0"