Skip to content

Commit ed32b36

Browse files
committed
feat(debug): setup for vscode debugging
1 parent 5505349 commit ed32b36

File tree

7 files changed

+116
-20
lines changed

7 files changed

+116
-20
lines changed

.vscode/launch.json

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "gen3_inference",
6+
"type": "debugpy",
7+
"request": "launch",
8+
"module": "uvicorn",
9+
"args": [
10+
"gen3_inference.main:app_instance",
11+
"--reload",
12+
"--reload-dir",
13+
"./services/gen3_inference/src/gen3_inference",
14+
"--port",
15+
"4143",
16+
"--env-file",
17+
".env",
18+
"--app-dir",
19+
"./services/gen3_inference/src/gen3_inference"
20+
],
21+
"jinja": true
22+
},
23+
{
24+
"name": "gen3_embeddings",
25+
"type": "debugpy",
26+
"request": "launch",
27+
"module": "uvicorn",
28+
"args": [
29+
"gen3_embeddings.main:app_instance",
30+
"--reload",
31+
"--reload-dir",
32+
"./services/gen3_embeddings/src/gen3_embeddings",
33+
"--port",
34+
"4142",
35+
"--env-file",
36+
".env",
37+
"--app-dir",
38+
"./services/gen3_embeddings/src/gen3_embeddings"
39+
],
40+
"jinja": true
41+
},
42+
{
43+
"name": "gen3_ai_model_repo",
44+
"type": "debugpy",
45+
"request": "launch",
46+
"module": "uvicorn",
47+
"args": [
48+
"gen3_ai_model_repo.main:app_instance",
49+
"--reload",
50+
"--reload-dir",
51+
"./services/gen3_ai_model_repo/src/gen3_ai_model_repo",
52+
"--port",
53+
"4141",
54+
"--env-file",
55+
".env",
56+
"--app-dir",
57+
"./services/gen3_ai_model_repo/src/gen3_ai_model_repo"
58+
],
59+
"jinja": true
60+
}
61+
]
62+
}

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,20 @@ just lint services/gen3_inference -v
129129
* PostgreSQL for services that need a database
130130
* No ORM. `asyncpg` with shared code in `libraries/common`
131131

132-
## Metrics
132+
## Development Details
133+
134+
### Using VSCode?
135+
136+
See [these docs](./docs/vscode.md) for more info on how to best set up for development of this repo.
137+
138+
### Metrics
133139

134140
By default, we support Prometheus metrics. They can be exposed at a `/metrics` endpoint compatible with Prometheus scraping and visualize in Prometheus or
135141
Graphana, etc.
136142

137143
You can [run Prometheus locally](https://github.com/prometheus/prometheus) if you want to test or visualize these.
138144

139-
### tl;dr
145+
#### Setup Locally
140146

141147
Run the service locally using `just run {{service}}`.
142148

docs/vscode.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# VSCode
2+
3+
## Debugging
4+
5+
This comes bundled with a `launch.json` which uses uvicorn to launch the apps.
6+
7+
This allows you to easily debug in VSCode.
8+
9+
Go to the "Run and Debug" pane and you should see each of the services available to run:
10+
11+
- `gen3_inference`
12+
- `gen3_embeddings`
13+
- `gen3_ai_model_repo`
14+
15+
## Importing Common Libraries
16+
17+
You may need to add this to your .vscode/settings.json for intellisense to pick up the common libraries:
18+
19+
```
20+
"python.analysis.extraPaths": [
21+
"./libraries/common",
22+
"./libraries/common/src"
23+
]
24+
```

libraries/common/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ dev = [
3636
"pytest-xdist",
3737
"pyright",
3838
"pylint>=4.0.5",
39+
"dotenv>=0.9.9",
3940
]
4041

4142
[tool.uv]

services/gen3_ai_model_repo/uv.lock

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

services/gen3_embeddings/uv.lock

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

services/gen3_inference/uv.lock

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)