
for that install some pip packages
pip install fastapiand you need a ASGI server for production
here we use uvicorn
pip install uvicronand you need an another package named gunicorn
pip install gunicornHere we have to create a file for our python code. so create a file named main.py and write some code like this
from fastapi import FastAPIapp = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
return {"item_id": item_id, "q": q}uvicorn main:app --reloadthis will run your app in localhost and the default port will be 8000. Here main is the filename and app is the fastapi object.
Next is adding some stuffs for hosting.
for creating the file just run:
pip freeze > requirements.txtit will create the file and contents like be this
anyio==3.4.0
asgiref==3.4.1
certifi==2021.10.8
charset-normalizer==2.0.9
click==8.0.3
fastapi==0.70.1
gunicorn==20.1.0
h11==0.12.0
idna==3.3
pydantic==1.8.2
requests==2.26.0
sniffio==1.2.0
starlette==0.16.0
typing-extensions==4.0.1
urllib3==1.26.7
uvicorn==0.16.0Its the list of packages need to run your app.
create a file named Procfile without any extensions and paste the below code
web: gunicorn -w 3 -k uvicorn.workers.UvicornWorker main:appthis contain the running script for execute your app
here main is the python file name and app is the fastapi object. so it can be changed..
Now the app is ready for deploy.
Create a Github Repo and push the code to it
and create a new heroku app linked with the respective github repo in heroku dashboard.
After bulid finished in heroku just go to your-app-url/docs for get your api documentation
0
7
0