Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
Statistics
  • Stars: 1
  • Watchers: 5
  • Forks: 1
  • Open Issues: 2
  • Releases: 0
Created over 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

odinson-rest

This project provides a REST API for Odinson, as well as a Python library for easily interacting with this REST API.

Using the REST interface, you can ...

  • Validate Odinson documents
  • Index Odinson documents
  • Delete indexed Odinson documents
  • Update indexed Odinson documents
  • Search over a collection of Odinson documents
  • Retrieve documents and their metadata

The Python library provides an easy way of manipulating Odinson documents from Python.

Requirements

For details, see the docs.

Testing

You can run all project tests with the following command:

scala sbt test

Documentation

You can generate API documentation using the following command:

scala sbt doc

This will generate HTML pages documenting the API:

  • rest: target/scala-2.12/api/index.html

REST API

Releases

We publish releases in the form of multiplatform docker images: - DockerHub: lumai/odinson-rest-api

Build

The REST API is meant to be run via Docker. Images are built using an SBT task.

Docker

We construct our docker images using the sbt native-packager plugin:

scala sbt dockerize

For information on additional tasks (generating Dockerfiles, publishing images, etc.), see this section of the native-packager documentation.

sbt (Scala)

The REST API server can be launched directly using SBT:

scala sbt web

Run

After building the docker image, launch a container using the following command:

docker docker run --name="odinson-rest-api" \ -it \ --restart "on-failure" \ -e "HOME=/app" \ -p "0.0.0.0:9000:9000" \ "lumai/odinson-rest-api:latest"

Navigate to localhost:9000/api to interactively explore the API through the OpenAPI 3.0 specification.

Develop

bash sbt web

Support

For feature requests and bug reports, please open an issue.

Citing

Please see CITATION.cff

Authors

Owner

  • Name: Lum AI
  • Login: lum-ai
  • Kind: organization
  • Email: hello@lum.ai

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "odinson-rest"
abstract: REST API for the Odinson information extraction engine.
authors:
- family-names: "Hahn-Powell"
  given-names: "Gus"
  orcid: "https://orcid.org/0000-0002-7957-3586"
- name: "Lum AI"
version: 0.0.1
date-released: 2022-01-26
identifiers:
  - description: Identifier for any version of odinson-rest.
    type: doi
    value: "???"
license: Apache-2.0
repository-code: "https://github.com/lum-ai/odinson-rest"

GitHub Events

Total
  • Delete event: 1
  • Push event: 7
Last Year
  • Delete event: 1
  • Push event: 7

Dependencies

.github/workflows/docker.yml actions
  • actions/checkout v4 composite
  • actions/setup-java v3 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/metadata-action v4 composite
  • docker/setup-buildx-action v3 composite
  • docker/setup-qemu-action v3 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-java v3 composite
  • actions/setup-python v2 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/formatting.yml actions
  • actions/checkout v4 composite
  • actions/setup-java v3 composite
  • actions/setup-python v4 composite
.github/workflows/pypi-release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/python.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
.github/workflows/scala.yml actions
  • actions/checkout v4 composite
  • actions/setup-java v3 composite
python/pyproject.toml pypi
  • pydantic ~=2.0.0
  • requests [security]