Skip to content

flyconnectome/transform_service

 
 

Repository files navigation

Connectome Services

This repository contains code for running various connectome-related services related currently deployed on flyem.mrc-lmb.cam.ac.uk (internally flyem1):

  • a supervoxel look-up service for the Zheng et al. CA3 volume
  • a service for dynamically generating neuroglancer segmentation properties from tables on flytable

Requirements

The project uses uv to manage dependencies and the virtual environment.

# Run to setup dependencies
uv sync

If you are running this server in production, you probably want a virtual environment:

# Create a virtual environment
uv env

In order to use the segment property service, you will also need to setup environment variables:

  • SEATABLE_SERVER: URL for FlyTable
  • SEATABLE_TOKEN: API token for FlyTable

Note to self: on flyem1 I added these to the gunicorn_start script.

Run the web service locally

uv run uvicorn --reload app.main:app

Run tests

uv run pytest

Run in production

We deployed this service on flyem1 using:

  • gunicorn as the webserver
  • supervisor as the process control system for the gunicorn server
  • a reverse proxy set up in nginx forwarding requests to the gunicorn webserver

Please see this tutorial for general step-by-step instructions.

This Slack message contains details on how the service is currently deployed on flyem1.

To restart the service (e.g. after changing the code), you can run:

sudo supervisorctl restart transform_service

About

Small web service to transform fly data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.0%
  • HTML 1.0%