Giter VIP home page Giter VIP logo

api's Introduction

Core models and APIs for accessing scriptural linked data.

Copyright (C) 2010 OpenScriptures.org contributors

Dual licensed under the MIT or GPL Version 2 licenses.
MIT License: http://creativecommons.org/licenses/MIT/
GPL 2.0 license: http://creativecommons.org/licenses/GPL/2.0/

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

QUICK START
1. create a new virtual directory (or remove your existing one and recreate),
    e.g. run mkvirtualenv openscriptures_api
2. run pip install -r requirements/project.txt
3. run ./manage.py syncdb
4. run ./manage.py load_tischendorf Jude
5. run ./manage.py runserver
6. browse to http://localhost:8000/texts/passage/Bible.Tischendorf:Jude.1.1

api's People

Contributors

paltman avatar westonruter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

api's Issues

Flesh out Server model to enable distributed network and federated API

In order to be a distributed, interoperable network of servers using this (federated) API, the servers need to know about each other. Servers should maintain a manifest of the known servers and be able to propagate and synchronize the server manifest lists with each other. Such manifests need to inclide:

  • Base URL for the API on the server, e.g. http://example.com/foo/api/
  • The openscriptures_api apps installed, e.g. texts, morphs, notes, etc.
  • The version of the API that is being run.
  • The texts and other objects that it has available.
  • Any access restrictions, including rate-limiting, authentication, etc.

The federated nature of the API is critical as it allows copyright-protected works to become part of the network, and it provides redundancy and mirroring to make applications more scalable.

Write importers for additional texts

We currently have an importer written for Tischendorf 2.5, see http://github.com/openscriptures/api/blob/d4633d7778e24eaca6c3d74941bfee9999e81d99/openscriptures_api_texts/management/commands/load_tischendorf.py

But there were also import scripts written for several other Greek manuscript editions before the data models were refactored a bit. The old import scripts can be found here: http://github.com/openscriptures/openscriptures/tree/master/data/manuscripts/

So in once sense, the first task is to port the old import scripts to work with the updated models. After the importers are ported, however, it would be great to get Hebrew Old Testament imported as well as Bible translations, like CrossWire's parsed KJV2003 data: http://www.crosswire.org/sword/modules/ModInfo.jsp?modName=KJV
http://crosswire.org/~dmsmith/kjv2006/

Also, most importantly, we need to get the MorphHB project imported. We need an edition of the Hebrew Bible in the data models. There will likely be unique issues in doing this since there is a lot of unique punctuation marks used in Hebrew. http://github.com/openscriptures/morphhb

Refactor `load` management comment

Refactor load_tischendorf management command so that it is a more generic load command which then takes an argument specifying which text importer to run, for example: ./manage.py load Tischendorf-2.5. If the text is not specified, then all texts are loaded. Allow multiple texts to be specified, as well as multiple osisIDs. For example:

./manage.py load Tischendorf-2.5 greek_majority_text KJV2006 | Jude John.7

Allow other apps to inject additional information at relevant locations via signals

For example, given: /works/Bible.Tischendorf/tokens/2

The token object returned should include relevant information about the lemmas and morph parsings, things which are not part of the openscriptures_texts app. Therefore, the views outputting the token should have signals sprinkled throughout for the openscriptures_morphs app to insert the relevant information for the token.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.