Skip to content

pombredanne/phylesystem-api

 
 

Repository files navigation

The Open Tree Of Life API

Build Status

This repository holds the code that runs The Open Tree Of Life API, which talks to the backend datastore phylesystem.

Introduction

See the Version Control Strategy for more details about design decisions and how to use submodules.

Installation

There are a dependencies installable from pypi using pip, and the open tree of life client-side python library is also used on the server side for handling some aspects of NexSON.

$ pip install -r requirements.txt
$ cd ..

The first time you run, you'll need to:

$ git clone https://github.com/OpenTreeOfLife/peyotl.git
$ cd peyotl
$ pip install -r requirements.txt
$ python setup.py develop

subsequently changing to the peyotl directory and running

$ git pull origin master

should be sufficient to get the latest changes.

Configuration

$ cp private/config.exampl private/config

then open private/config in a text editor and tweak it.

  • repo_parent should be a file path which holds 1 or more phyleystem-# repositories with the data.

  • git_ssh and pkey

Logging configuration

The behavior of the log for functions run from with a request is determined by the config file. Specifically, the

[logging]
level = debug
filepath = /tmp/my-api.log
formatter = rich

section of that file.

If you are developer of the phylesystem-api, and you want to see logging for functions that are not called in the context of a request, you can use the environmental variables:

  • OT_API_LOG_FILE_PATH filepath of log file (StreamHandler if omitted)
  • OT_API_LOGGING_LEVEL (NotSet, debug, info, warning, error, or critical)
  • OT_API_LOGGING_FORMAT "rich", "simple" or "None" (None is default)

Deploying

This git repository is meant to be a "web2py application", so you need to create a symlink in $WEB2PY_ROOT/applications to the API repo directory:

cd $WEB2PY_ROOT/application

this will make the app available under /api

ln -sf /dir/with/api.opentreeoflife.org api

Using the API from the command-line

See docs/ for examples of how to use the API with curl.

Using the API from Python

See peyotl has wrappers for accessing phylesystem web services. See the peyotl wiki for details.

Authors

See the CREDITS file

About

API access to Open Tree of Life treestore

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.7%
  • Shell 1.2%
  • CSS 0.1%