odinson-rest
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
Repository
Basic Info
- Host: GitHub
- Owner: lum-ai
- License: apache-2.0
- Language: Scala
- Default Branch: main
- Homepage: https://lum.ai/odinson-rest/docs/
- Size: 6.59 MB
Statistics
- Stars: 1
- Watchers: 5
- Forks: 1
- Open Issues: 2
- Releases: 0
Metadata Files
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
- Website: https://lum.ai
- Repositories: 8
- Profile: https://github.com/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
- 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
- actions/checkout v3 composite
- actions/setup-java v3 composite
- actions/setup-python v2 composite
- peaceiris/actions-gh-pages v3 composite
- actions/checkout v4 composite
- actions/setup-java v3 composite
- actions/setup-python v4 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- actions/checkout v4 composite
- actions/setup-java v3 composite
- pydantic ~=2.0.0
- requests [security]