Skip to content

Commit b448a81

Browse files
authored
Swap programming_language argument to just language (#444)
Better user-facing API
1 parent 9e21f9f commit b448a81

File tree

25 files changed

+59
-82
lines changed

25 files changed

+59
-82
lines changed

codegen-examples/examples/cyclomatic_complexity/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import codegen
22
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
43
from codegen.sdk.core.statements.for_loop_statement import ForLoopStatement
54
from codegen.sdk.core.statements.if_block_statement import IfBlockStatement
65
from codegen.sdk.core.statements.try_catch_statement import TryCatchStatement
@@ -82,7 +81,7 @@ def calculate_cyclomatic_complexity(code_block):
8281

8382
if __name__ == "__main__":
8483
print("🔍 Analyzing codebase...")
85-
codebase = Codebase.from_repo("fastapi/fastapi", commit="887270ff8a54bb58c406b0651678a27589793d2f", programming_language=ProgrammingLanguage.PYTHON)
84+
codebase = Codebase.from_repo("fastapi/fastapi", commit="887270ff8a54bb58c406b0651678a27589793d2f", language="python")
8685

8786
print("Running analysis...")
8887
run(codebase)

codegen-examples/examples/delete_dead_code/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The script (`run.py`) performs the dead code removal in several key steps:
1212
1. **Codebase Loading**
1313

1414
```python
15-
codebase = Codebase.from_repo("tox-dev/tox", programming_language=ProgrammingLanguage.PYTHON)
15+
codebase = Codebase.from_repo("tox-dev/tox", language="python")
1616
```
1717

1818
- Loads a codebase using the `Codebase.from_repo` method

codegen-examples/examples/delete_dead_code/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import codegen
22
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
43

54

65
@codegen.function("delete-dead-code")
@@ -38,7 +37,7 @@ def run(codebase: Codebase):
3837

3938
if __name__ == "__main__":
4039
print("🔍 Analyzing codebase...")
41-
codebase = Codebase.from_repo("tox-dev/tox", programming_language=ProgrammingLanguage.PYTHON, commit="b588b696e0940c1813014b31b68d7660d8a1914f")
40+
codebase = Codebase.from_repo("tox-dev/tox", language="python", commit="b588b696e0940c1813014b31b68d7660d8a1914f")
4241

4342
print("🚮 Deleting dead code...")
4443
run(codebase)

codegen-examples/examples/dict_to_schema/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import codegen
2-
from codegen.shared.enums.programming_language import ProgrammingLanguage
32
from codegen import Codebase
43

54

@@ -97,7 +96,7 @@ def run(codebase: Codebase):
9796

9897
if __name__ == "__main__":
9998
print("Initializing codebase...")
100-
codebase = Codebase.from_repo("modal-labs/modal-client", commit="81941c24897889a2ff2f627c693fa734967e693c", programming_language=ProgrammingLanguage.PYTHON)
99+
codebase = Codebase.from_repo("modal-labs/modal-client", commit="81941c24897889a2ff2f627c693fa734967e693c", language="python")
101100

102101
print("Running codemod...")
103102
run(codebase)

codegen-examples/examples/fragment_to_shorthand/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import codegen
22
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
43

54

65
@codegen.function("fragment_to_shorthand")
@@ -34,6 +33,6 @@ def run(codebase: Codebase):
3433

3534
if __name__ == "__main__":
3635
print("🎯 Starting Fragment to shorthand conversion...")
37-
codebase = Codebase.from_repo("RocketChat/Rocket.Chat", commit="a4f2102af1c2e875c60cafebd0163105bdaca678", programming_language=ProgrammingLanguage.TYPESCRIPT)
36+
codebase = Codebase.from_repo("RocketChat/Rocket.Chat", commit="a4f2102af1c2e875c60cafebd0163105bdaca678", language="typescript")
3837
run(codebase)
3938
print("✅ Done! All Fragments converted to shorthand syntax!")

codegen-examples/examples/freezegun_to_timemachine_migration/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import codegen
2-
from codegen.shared.enums.programming_language import ProgrammingLanguage
32
from codegen import Codebase
43

54

@@ -59,5 +58,5 @@ def run(codebase: Codebase):
5958

6059

6160
if __name__ == "__main__":
62-
codebase = Codebase.from_repo("getmoto/moto", commit="786a8ada7ed0c7f9d8b04d49f24596865e4b7901", programming_language=ProgrammingLanguage.PYTHON)
61+
codebase = Codebase.from_repo("getmoto/moto", commit="786a8ada7ed0c7f9d8b04d49f24596865e4b7901", language="python")
6362
run(codebase)

codegen-examples/examples/generate_training_data/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import codegen
44
from codegen import Codebase
5-
from codegen.shared.enums.programming_language import ProgrammingLanguage
65
from codegen.sdk.core.external_module import ExternalModule
76
from codegen.sdk.core.import_resolution import Import
87
from codegen.sdk.core.symbol import Symbol
@@ -95,7 +94,7 @@ def run(codebase: Codebase):
9594

9695
if __name__ == "__main__":
9796
print("Initializing codebase...")
98-
codebase = Codebase.from_repo("fastapi/fastapi", commit="887270ff8a54bb58c406b0651678a27589793d2f", programming_language=ProgrammingLanguage.PYTHON)
97+
codebase = Codebase.from_repo("fastapi/fastapi", commit="887270ff8a54bb58c406b0651678a27589793d2f", language="python")
9998

10099
print("Generating training data...")
101100
training_data = run(codebase)

codegen-examples/examples/langchain_agent/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
SemanticEditTool,
1515
ViewFileTool,
1616
)
17-
from codegen.shared.enums.programming_language import ProgrammingLanguage
1817
from langchain import hub
1918
from langchain.agents import AgentExecutor
2019
from langchain.agents.openai_functions_agent.base import OpenAIFunctionsAgent
@@ -93,7 +92,7 @@ def create_codebase_agent(
9392
if __name__ == "__main__":
9493
# Initialize codebase
9594
print("Initializing codebase...")
96-
codebase = Codebase.from_repo("fastapi/fastapi", programming_language=ProgrammingLanguage.PYTHON)
95+
codebase = Codebase.from_repo("fastapi/fastapi", language="python")
9796

9897
# Create agent with history
9998
print("Creating agent...")

codegen-examples/examples/modules_dependencies/run.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import codegen
2-
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
42
import networkx as nx
3+
from codegen import Codebase
54

65

76
@codegen.function("visualize-modules-dependencies")
@@ -35,5 +34,5 @@ def run(codebase: Codebase):
3534

3635

3736
if __name__ == "__main__":
38-
codebase = Codebase.from_repo("getsentry/sentry", commit="fb0d53b2210cc896fc3e2cf32dae149ea8a8a45a", programming_language=ProgrammingLanguage.PYTHON)
37+
codebase = Codebase.from_repo("getsentry/sentry", commit="fb0d53b2210cc896fc3e2cf32dae149ea8a8a45a", language="python")
3938
run(codebase)

codegen-examples/examples/openapi_decorators/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import codegen
22
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
43

54

65
def analyze_model_fields(method) -> dict:
@@ -262,6 +261,6 @@ def run(codebase: Codebase):
262261

263262
if __name__ == "__main__":
264263
print("🎯 Starting OpenAPI decorators addition...")
265-
codebase = Codebase.from_repo("mindsdb/mindsdb", commit="4b76c44bfaec789289e15fbdff7397e866009f94", programming_language=ProgrammingLanguage.PYTHON)
264+
codebase = Codebase.from_repo("mindsdb/mindsdb", commit="4b76c44bfaec789289e15fbdff7397e866009f94", language="python")
266265
run(codebase)
267266
print("✅ Done! OpenAPI decorators added to all API endpoints!")

codegen-examples/examples/pr_review_bot/run.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import json
2+
13
import codegen
24
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
45
from codegen.sdk.codebase.config import CodebaseConfig
5-
import json
66
from codegen.sdk.secrets import Secrets
77
from codegen.shared.configs.models.feature_flags import CodebaseFeatureFlags
88

@@ -76,7 +76,7 @@ def run(codebase: Codebase):
7676
codebase = Codebase.from_repo(
7777
"getsentry/sentry",
7878
shallow=False,
79-
programming_language=ProgrammingLanguage.PYTHON,
79+
language="python",
8080
config=CodebaseConfig(
8181
secrets=Secrets(openai_key=open_ai_key, github_api_key=github_token),
8282
feature_flags=CodebaseFeatureFlags(

codegen-examples/examples/reexport_management/run.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
import codegen
22
from codegen import Codebase
3-
43
from codegen.sdk.typescript.file import TSImport
54

6-
from codegen.shared.enums.programming_language import ProgrammingLanguage
7-
85
processed_imports = set()
96

107

@@ -125,6 +122,6 @@ def run(codebase: Codebase):
125122

126123
if __name__ == "__main__":
127124
print("🎯 Starting reexport organization...")
128-
codebase = Codebase("./", programming_language=ProgrammingLanguage.TYPESCRIPT)
125+
codebase = Codebase("./", language="typescript")
129126
run(codebase)
130127
print("✅ Done! All reexports organized successfully!")

codegen-examples/examples/slack_chatbot/api.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import modal
77
from codegen import Codebase
88
from codegen.extensions import VectorIndex
9-
from codegen.shared.enums.programming_language import ProgrammingLanguage
109
from fastapi import FastAPI, Request
1110
from openai import OpenAI
1211
from slack_bolt import App
@@ -29,7 +28,7 @@ def format_response(answer: str, context: list[tuple[str, int]]) -> str:
2928
def answer_question(query: str) -> tuple[str, list[tuple[str, int]]]:
3029
"""Use RAG to answer a question about FastAPI."""
3130
# Initialize codebase. Smart about caching.
32-
codebase = Codebase.from_repo("codegen-sh/codegen-sdk", programming_language=ProgrammingLanguage.PYTHON, tmp_dir="/root")
31+
codebase = Codebase.from_repo("codegen-sh/codegen-sdk", language="python", tmp_dir="/root")
3332

3433
# Initialize vector index
3534
index = VectorIndex(codebase)

codegen-examples/examples/sqlalchemy_soft_delete/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ This codemod includes support for running without the graph feature enabled. Thi
127127
To run in no-graph mode:
128128

129129
```python
130-
codebase = Codebase(str(repo_path), programming_language=ProgrammingLanguage.PYTHON, config=CodebaseConfig(feature_flags=GSFeatureFlags(disable_graph=True)))
130+
codebase = Codebase(str(repo_path), language="python", config=CodebaseConfig(feature_flags=GSFeatureFlags(disable_graph=True)))
131131
```
132132

133133
## Running the Conversion

codegen-examples/examples/sqlalchemy_soft_delete/run.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1+
import shutil
2+
import subprocess
3+
from pathlib import Path
4+
15
import codegen
26
from codegen import Codebase
37
from codegen.sdk.core.detached_symbols.function_call import FunctionCall
48
from codegen.shared.configs.models.feature_flags import CodebaseFeatureFlags
5-
from codegen.shared.enums.programming_language import ProgrammingLanguage
6-
import shutil
7-
import subprocess
8-
from pathlib import Path
99

1010

1111
def should_process_join_call(call, soft_delete_models, join_methods):
@@ -92,16 +92,16 @@ def process_soft_deletes(codebase):
9292

9393

9494
if __name__ == "__main__":
95-
from codegen.sdk.core.codebase import Codebase
9695
from codegen.sdk.codebase.config import CodebaseConfig
96+
from codegen.sdk.core.codebase import Codebase
9797

9898
repo_path = Path("/tmp/core")
9999
repo_url = "https://github.com/hasgeek/funnel.git"
100100

101101
try:
102102
clone_repo(repo_url, repo_path)
103103
subprocess.run(["git", "-C", str(repo_path), "checkout", "8454e15"], check=True)
104-
codebase = Codebase(str(repo_path), programming_language=ProgrammingLanguage.PYTHON, config=CodebaseConfig(feature_flags=CodebaseFeatureFlags(disable_graph=True)))
104+
codebase = Codebase(str(repo_path), language="python", config=CodebaseConfig(feature_flags=CodebaseFeatureFlags(disable_graph=True)))
105105
process_soft_deletes(codebase)
106106
finally:
107107
shutil.rmtree(repo_path)

codegen-examples/examples/usesuspensequery_to_usesuspensequeries/run.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import codegen
22
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
43
from codegen.sdk.core.detached_symbols.function_call import FunctionCall
54

65

@@ -82,6 +81,6 @@ def run(codebase: Codebase):
8281

8382
if __name__ == "__main__":
8483
print("Initializing codebase...")
85-
codebase = Codebase.from_repo("deepfence/ThreatMapper", programming_language=ProgrammingLanguage.TYPESCRIPT)
84+
codebase = Codebase.from_repo("deepfence/ThreatMapper", language="typescript")
8685
print("Running codemod...")
8786
run(codebase)

codegen-examples/examples/visualize_codebases/blast_radius.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import codegen
2-
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
42
import networkx as nx
5-
from codegen.sdk.python.symbol import PySymbol
6-
from codegen.sdk.python.function import PyFunction
3+
from codegen import Codebase
74
from codegen.sdk.core.dataclasses.usage import Usage
5+
from codegen.sdk.python.function import PyFunction
6+
from codegen.sdk.python.symbol import PySymbol
87

98
# Create a directed graph for visualizing relationships between code elements
109
G = nx.DiGraph()
@@ -112,7 +111,7 @@ def run(codebase: Codebase):
112111

113112
if __name__ == "__main__":
114113
print("Initializing codebase...")
115-
codebase = Codebase.from_repo("codegen-oss/posthog", commit="b174f2221ea4ae50e715eb6a7e70e9a2b0760800", programming_language=ProgrammingLanguage.PYTHON)
114+
codebase = Codebase.from_repo("codegen-oss/posthog", commit="b174f2221ea4ae50e715eb6a7e70e9a2b0760800", language="python")
116115
print(f"Codebase with {len(codebase.files)} files and {len(codebase.functions)} functions.")
117116
print("Creating graph...")
118117

codegen-examples/examples/visualize_codebases/call_trace.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import codegen
2-
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
42
import networkx as nx
3+
from codegen import Codebase
4+
from codegen.sdk.core.class_definition import Class
55
from codegen.sdk.core.detached_symbols.function_call import FunctionCall
6-
from codegen.sdk.core.function import Function
76
from codegen.sdk.core.external_module import ExternalModule
8-
from codegen.sdk.core.class_definition import Class
7+
from codegen.sdk.core.function import Function
98

109
G = nx.DiGraph()
1110

@@ -114,7 +113,7 @@ def run(codebase: Codebase):
114113

115114
if __name__ == "__main__":
116115
print("Initializing codebase...")
117-
codebase = Codebase.from_repo("codegen-oss/posthog", commit="b174f2221ea4ae50e715eb6a7e70e9a2b0760800", programming_language=ProgrammingLanguage.PYTHON)
116+
codebase = Codebase.from_repo("codegen-oss/posthog", commit="b174f2221ea4ae50e715eb6a7e70e9a2b0760800", language="python")
118117
print(f"Codebase with {len(codebase.files)} files and {len(codebase.functions)} functions.")
119118
print("Creating graph...")
120119

codegen-examples/examples/visualize_codebases/dependency_trace.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import codegen
2-
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
42
import networkx as nx
3+
from codegen import Codebase
54
from codegen.sdk.core.class_definition import Class
6-
from codegen.sdk.core.symbol import Symbol
75
from codegen.sdk.core.import_resolution import Import
6+
from codegen.sdk.core.symbol import Symbol
87

98
G = nx.DiGraph()
109

@@ -76,7 +75,7 @@ def run(codebase: Codebase):
7675

7776
if __name__ == "__main__":
7877
print("Initializing codebase...")
79-
codebase = Codebase.from_repo("codegen-oss/posthog", commit="b174f2221ea4ae50e715eb6a7e70e9a2b0760800", programming_language=ProgrammingLanguage.PYTHON)
78+
codebase = Codebase.from_repo("codegen-oss/posthog", commit="b174f2221ea4ae50e715eb6a7e70e9a2b0760800", language="python")
8079
print(f"Codebase with {len(codebase.files)} files and {len(codebase.functions)} functions.")
8180
print("Creating graph...")
8281

codegen-examples/examples/visualize_codebases/method_relationships.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import codegen
2-
from codegen import Codebase
3-
from codegen.shared.enums.programming_language import ProgrammingLanguage
42
import networkx as nx
3+
from codegen import Codebase
4+
from codegen.sdk.core.class_definition import Class
55
from codegen.sdk.core.detached_symbols.function_call import FunctionCall
6-
from codegen.sdk.core.function import Function
76
from codegen.sdk.core.external_module import ExternalModule
8-
from codegen.sdk.core.class_definition import Class
7+
from codegen.sdk.core.function import Function
98

109
G = nx.DiGraph()
1110

@@ -100,7 +99,7 @@ def run(codebase: Codebase):
10099

101100
if __name__ == "__main__":
102101
print("Initializing codebase...")
103-
codebase = Codebase.from_repo("codegen-oss/modal-client", commit="00bf226a1526f9d775d2d70fc7711406aaf42958", programming_language=ProgrammingLanguage.PYTHON)
102+
codebase = Codebase.from_repo("codegen-oss/modal-client", commit="00bf226a1526f9d775d2d70fc7711406aaf42958", language="python")
104103
print(f"Codebase with {len(codebase.files)} files and {len(codebase.functions)} functions.")
105104
print("Creating graph...")
106105

0 commit comments

Comments
 (0)