FabioSantos commited on
Commit
22eb228
·
verified ·
1 Parent(s): 5c21f4b

Upload 4 files

Browse files
Files changed (4) hide show
  1. Dockerfile +16 -0
  2. app.py +30 -0
  3. produtos.db +0 -0
  4. requirements.txt +4 -0
Dockerfile ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+
4
+ FROM python:3.9
5
+
6
+ RUN useradd -m -u 1000 user
7
+
8
+ WORKDIR /app
9
+
10
+ COPY --chown=user ./requirements.txt requirements.txt
11
+
12
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
13
+
14
+ COPY --chown=user . /app
15
+
16
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
app.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ import sqlite3
3
+ from typing import List
4
+ from pydantic import BaseModel
5
+
6
+ app = FastAPI()
7
+
8
+ class Produto(BaseModel):
9
+ id: int
10
+ nome: str
11
+ categoria: str
12
+ preco: float
13
+ quantidade: int
14
+
15
+ def get_produtos():
16
+ conn = sqlite3.connect('produtos.db')
17
+ c = conn.cursor()
18
+ c.execute('SELECT * FROM produtos')
19
+ produtos = c.fetchall()
20
+ conn.close()
21
+ return produtos
22
+
23
+ @app.get("/produtos", response_model=List[Produto])
24
+ def list_produtos():
25
+ produtos = get_produtos()
26
+ return [Produto(id=row[0], nome=row[1], categoria=row[2], preco=row[3], quantidade=row[4]) for row in produtos]
27
+
28
+ @app.get("/")
29
+ def greet_json():
30
+ return {"Hello": "World!"}
produtos.db ADDED
Binary file (12.3 kB). View file
 
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ fastapi
2
+ uvicorn[standard]
3
+ pydantic
4
+