Skip to content

Commit 9f6f35e

Browse files
feat: init fastapi app
1 parent b5364b2 commit 9f6f35e

File tree

7 files changed

+142
-1
lines changed

7 files changed

+142
-1
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.venv
2+
__pycache__

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.12

README.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,21 @@
1-
# oc4ids-datastore-api
1+
# OC4IDS Datastore API
2+
3+
## Local Development
4+
5+
### Prerequisites
6+
7+
- Python 3.12
8+
9+
### Install Python requirements
10+
11+
```
12+
python -m venv .venv
13+
source .venv/bin/activate
14+
pip install -r requirements_dev.txt
15+
```
16+
17+
### Run app
18+
19+
```
20+
fastapi dev oc4ids_datastore_api/main.py
21+
```

oc4ids_datastore_api/__init__.py

Whitespace-only changes.

oc4ids_datastore_api/main.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from fastapi import FastAPI
2+
3+
4+
app = FastAPI()
5+
6+
7+
@app.get("/")
8+
def index():
9+
return "Hello, World!"

pyproject.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[build-system]
2+
requires = ["flit_core >=3.2,<4"]
3+
build-backend = "flit_core.buildapi"
4+
5+
[project]
6+
name = "oc4ids-datastore-api"
7+
description = "OC4IDS Datastore API"
8+
version = "0.1.0"
9+
readme = "README.md"
10+
dependencies = [
11+
"fastapi[standard]"
12+
]

requirements_dev.txt

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
4+
#
5+
# pip-compile --extra=dev --output-file=requirements_dev.txt pyproject.toml
6+
#
7+
annotated-types==0.7.0
8+
# via pydantic
9+
anyio==4.8.0
10+
# via
11+
# httpx
12+
# starlette
13+
# watchfiles
14+
certifi==2025.1.31
15+
# via
16+
# httpcore
17+
# httpx
18+
click==8.1.8
19+
# via
20+
# rich-toolkit
21+
# typer
22+
# uvicorn
23+
dnspython==2.7.0
24+
# via email-validator
25+
email-validator==2.2.0
26+
# via fastapi
27+
fastapi[standard]==0.115.8
28+
# via oc4ids-datastore-api (pyproject.toml)
29+
fastapi-cli[standard]==0.0.7
30+
# via fastapi
31+
h11==0.14.0
32+
# via
33+
# httpcore
34+
# uvicorn
35+
httpcore==1.0.7
36+
# via httpx
37+
httptools==0.6.4
38+
# via uvicorn
39+
httpx==0.28.1
40+
# via fastapi
41+
idna==3.10
42+
# via
43+
# anyio
44+
# email-validator
45+
# httpx
46+
jinja2==3.1.5
47+
# via fastapi
48+
markdown-it-py==3.0.0
49+
# via rich
50+
markupsafe==3.0.2
51+
# via jinja2
52+
mdurl==0.1.2
53+
# via markdown-it-py
54+
pydantic==2.10.6
55+
# via fastapi
56+
pydantic-core==2.27.2
57+
# via pydantic
58+
pygments==2.19.1
59+
# via rich
60+
python-dotenv==1.0.1
61+
# via uvicorn
62+
python-multipart==0.0.20
63+
# via fastapi
64+
pyyaml==6.0.2
65+
# via uvicorn
66+
rich==13.9.4
67+
# via
68+
# rich-toolkit
69+
# typer
70+
rich-toolkit==0.13.2
71+
# via fastapi-cli
72+
shellingham==1.5.4
73+
# via typer
74+
sniffio==1.3.1
75+
# via anyio
76+
starlette==0.45.3
77+
# via fastapi
78+
typer==0.15.1
79+
# via fastapi-cli
80+
typing-extensions==4.12.2
81+
# via
82+
# anyio
83+
# fastapi
84+
# pydantic
85+
# pydantic-core
86+
# rich-toolkit
87+
# typer
88+
uvicorn[standard]==0.34.0
89+
# via
90+
# fastapi
91+
# fastapi-cli
92+
uvloop==0.21.0
93+
# via uvicorn
94+
watchfiles==1.0.4
95+
# via uvicorn
96+
websockets==14.2
97+
# via uvicorn

0 commit comments

Comments
 (0)