-
Tor-Einar Skog authoredTor-Einar Skog authored
VIPSCore-Python
Python implementation of VIPSCore, to enable models written in Python.
Notes to self
Consider using the advice listed here: https://github.com/zhanymkanov/fastapi-best-practices
Installation
Clone Gitlab repo
$ git clone git@gitlab.nibio.no:VIPS/VIPSCore-Python.git
$ cd VIPSCore-Python
Create and activate virtual environment
$ python3 -m venv venv
$ . venv/bin/activate
Upgrade pip in virtual environment
(venv)$ python3 -m pip install --upgrade pip
-> Successfully installed pip-22.3.1
Install dependencies from requirements.txt
(venv)$ pip install -r requirements.txt
Update dependencies
This was done at start of project, and must be repeated after all dependency changes:
TODO: Decide on whether to use pip freeze or manage requirements.txt manually. Ref e.g. this blogpost
(venv)$ pip install "fastapi[all]" (and others)
(venv)$ pip freeze > requirements.txt
NB! fastapi[all]
includes a lot of things, in order to get started quickly. Should consider importing only the relevant packages later on.
Start and stop virtual environment
$ . venv/bin/activate
(venv)$ deactivate
Install VIPS models
The VIPS models available will vary between deployments of VIPSCore-Python. They are installed using pip, and specified in models.txt
- which can be considered a deployment specific addendum to requirements.txt
. Copy models_example.txt
to models.txt
to get started.
pip install -r models.txt
Development
Run application locally
(venv)$ uvicorn src.main:app --reload