FastApi + Mongo REST API wiki about Plants Vs Zombies videogame
Install poetry:
curl -sSL https://install.python-poetry.org | python3 -
Init repo:
poetry new pvz-svc
Create the virtual env folder:
mkdir .venv
Install all the dependencies in the project (clean-state):
poetry install
Install any dependency you need:
poetry add lib_here
Remove a dependency you don't need:
poetry remove lib_here
Activate using the command:
source .venv/bin/activate
Exit virtual env:
exit
or
deactivate
If multiple python versions are found in the operative system, then
- use pyenv to handle the versions
- if needed set the local python for this project, like
pyenv local 3.12.1
- you can confirm all good by checking
pyenv which python
- set the specific python version like
poetry env use $USER_HOME/.pyenv/versions/3.12.1/bin/python
- then install using commands like the ones in the previous section
Update pip:
py -m pip install --upgrade pip
Install python3-venv:
py -m pip install virtualenv
Then create the folder for allocate the virtual environment:
py -m virtualenv env
Optional (run if UnauthorizedAccess in powershell console):
Set-ExecutionPolicy Unrestricted -Scope Process
Then activate the virtual env:
.\venv\Scripts\activate.ps1
Now you can install python libs as you need it
Configure all your dependencies in Pipfile. See: Pypi
For generate requirements.txt file please execute:
pip3 freeze > requirements.txt
Open {base_url}/docs while running to access swagger instance Open {base_url}/redoc while running to access redoc instance
You might need to create a DB in Atlas Mongo, then please reference .env.sample
, to create your own .env
file with the relevant database info. Once ready you can do the following to launch:
cd src
uvicorn main:app --reload
cd src
pytest
This app can be hosted in Railway, folder that helps with it is .ci
folder.
- Author - gal16v8d