Metadata-Version: 2.0
Name: odm2rest
Version: 0.1.0a0
Summary: A Python RESTful web service inteface for accessing data in an ODM2 database via Django rest swagger APIs
Home-page: https://github.com/ODM2/ODM2RESTfulWebServices
Author: Landung Setiawan
Author-email: landungs@uw.edu
License: BSD License
Description-Content-Type: UNKNOWN
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: django (==1.11)
Requires-Dist: djangorestframework (==3.6.4)
Requires-Dist: sqlalchemy
Requires-Dist: psycopg2
Requires-Dist: pyodbc
Requires-Dist: pyyaml
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: ipykernel
Requires-Dist: jsonschema
Requires-Dist: strict-rfc3339
Requires-Dist: odm2api (==0.7)
Requires-Dist: djangorestframework-csv
Requires-Dist: djangorestframework-xml
Requires-Dist: djangorestframework-yaml

# ODM2 RESTful Web Services

[![Build status](https://travis-ci.org/ODM2/ODM2RESTfulWebServices.svg?branch=master)](https://travis-ci.org/ODM2/ODM2RESTfulWebServices)

A Python RESTful web service inteface for accessing data in an ODM2 database via Django rest swagger APIs.

NOTE: Currently this repository is under heavy development, a working version is not guaranteed at any point. We will start creating tagged releases soon; once available, please use the latest tagged release for stability.

## Development Installation

1. Clone both ODM2PythonAPI repository and ODM2RESTfulWebServices repository.

    ```bash
    $ git clone https://github.com/ODM2/ODM2RESTfulWebServices.git odm2restapi
    $ git clone https://github.com/ODM2/ODM2PythonAPI.git odm2pythonapi
    ```

2. Create a new conda environment from the `odm2restapi` environment file.

   ```bash
   $ cd odm2restapi/
   $ git checkout odm2rest_1_0 # This is the development branch, all PR's must merge to here!
   $ conda env create --file environment.yml
   ```

3. Install `odm2pythonapi` master into the environment

   ```bash
   $ source activate odm2restenv
   $ pip install -e ../odm2pythonapi/ # Assuming you're still under odm2restapi folder
   ```

4. Install [`npm` and `nodejs`](https://www.npmjs.com/get-npm), which will be used to install the swagger editor.
5. Get swagger editor for a nice interface and syntax checking when editing the swagger yaml file.

   ```bash
   $ cd odm2restapi/
   $ npm init -y
   $ sudo npm install -g swagger
   $ swagger project edit # This will open a new browser
   ```


## Legacy prototype version

The first version of the ODM2 RESTful API was developed in late 2015 and early 2016 as a prototype. That legacy code base is no longer used, and the current code base was developed from scratch (though guided by some lessons learned). The legacy code has been archived at the [odm2rest_legacy branch](https://github.com/ODM2/ODM2RESTfulWebServices/tree/odm2rest_legacy). See also relevant discussions on that branch and subsequent architectural decisions at [issue 11](https://github.com/ODM2/ODM2RESTfulWebServices/issues/11).

## Credits

This work was supported by National Science Foundation Grants [EAR-1224638](http://www.nsf.gov/awardsearch/showAward?AWD_ID=1224638) and [ACI-1339834](http://www.nsf.gov/awardsearch/showAward?AWD_ID=1339834). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. 


