An emerging widget for exploring RESTful APIs in Jupyter notebooks.
Project description
# Ipyrest
[![Binder](https://mybinder.org/badge_logo.svg)](http://beta.mybinder.org/v2/gh/deeplook/ipyrest/master)
[![Nbviewer](https://github.com/jupyter/design/blob/master/logos/Badges/nbviewer_badge.svg)](http://nbviewer.jupyter.org/github/deeplook/ipyrest/tree/master/)
[![Travis-CI](http://img.shields.io/travis/deeplook/ipyrest.svg)](https://travis-ci.org/deeplook/ipyrest)
Ipyrest is an emerging Jupyter notebook widget for exploring RESTful APIs. It has two main goals: provide a more convenient interface in the spirit of Postman, and allow for plug-in components, starting with output renderers for various MIME types, e.g. GeoJSON:
![banner](images/banner.png "")
Features
--------
Ipyrest deals with the following concepts, implementated to varying degrees: Server, Service, Request, Response, Data, MIME-Type, Compression, Logging, Caching, Time-Out, Errors, Viewing, Plugins, Testing, and UI.
At the moment the following plugins are available for rendering output from HTTP responses in common formats: Plain Text, CSV, HTML, Bitmaps, SVG, JSON, GeoJSON, GPX, Protobuf, (and some experimental 3D stuff).
The main direct dependencies are: Python >= 3.6, jupyter (incl. lab), ipywidgets, ipyleaflet, ipyvolume, geojson, qgrid, protobuf, timeout_decorator, requests, vcr, mypy, pytest,
Installation
------------
Released versions of Ipyrest can be installed from PyPI with (as soon as available):
```
pip install ipyrest
```
Development versions of Ipyrest can be installed either directly from GitHub or after downloading/cloning and unpacking like this in its top-level directory:
```
pip install git+https://github.com/deeplook/ipyrest
pip install -e .
```
Testing
-------
Just make sure you have `pytest` installed and run `PYTHONPATH=. pytest -s -v tests` in the root directory. Some tests will automatically start a local webserver in `tests/api_server.py` which implements a set of sample API endpoints for local testing.
Some tests need keys/tokens defined as environment variables for the respective APIs being tested. If not present these tests will be skipped.
Documentation
-------------
The `docs` folder is only a stub for now. At the moment it is recommended to look at [`examples/meetup.ipynb`](examples/meetup.ipynb), mostly a tutorial-like collection of examples given as a presentation at a meetup. Some of these need appropriate API keys.
How to Contribute
-----------------
More to come...
=======
History
=======
0.1.0 (2018-11-24)
------------------
* First release on PyPI.
[![Binder](https://mybinder.org/badge_logo.svg)](http://beta.mybinder.org/v2/gh/deeplook/ipyrest/master)
[![Nbviewer](https://github.com/jupyter/design/blob/master/logos/Badges/nbviewer_badge.svg)](http://nbviewer.jupyter.org/github/deeplook/ipyrest/tree/master/)
[![Travis-CI](http://img.shields.io/travis/deeplook/ipyrest.svg)](https://travis-ci.org/deeplook/ipyrest)
Ipyrest is an emerging Jupyter notebook widget for exploring RESTful APIs. It has two main goals: provide a more convenient interface in the spirit of Postman, and allow for plug-in components, starting with output renderers for various MIME types, e.g. GeoJSON:
![banner](images/banner.png "")
Features
--------
Ipyrest deals with the following concepts, implementated to varying degrees: Server, Service, Request, Response, Data, MIME-Type, Compression, Logging, Caching, Time-Out, Errors, Viewing, Plugins, Testing, and UI.
At the moment the following plugins are available for rendering output from HTTP responses in common formats: Plain Text, CSV, HTML, Bitmaps, SVG, JSON, GeoJSON, GPX, Protobuf, (and some experimental 3D stuff).
The main direct dependencies are: Python >= 3.6, jupyter (incl. lab), ipywidgets, ipyleaflet, ipyvolume, geojson, qgrid, protobuf, timeout_decorator, requests, vcr, mypy, pytest,
Installation
------------
Released versions of Ipyrest can be installed from PyPI with (as soon as available):
```
pip install ipyrest
```
Development versions of Ipyrest can be installed either directly from GitHub or after downloading/cloning and unpacking like this in its top-level directory:
```
pip install git+https://github.com/deeplook/ipyrest
pip install -e .
```
Testing
-------
Just make sure you have `pytest` installed and run `PYTHONPATH=. pytest -s -v tests` in the root directory. Some tests will automatically start a local webserver in `tests/api_server.py` which implements a set of sample API endpoints for local testing.
Some tests need keys/tokens defined as environment variables for the respective APIs being tested. If not present these tests will be skipped.
Documentation
-------------
The `docs` folder is only a stub for now. At the moment it is recommended to look at [`examples/meetup.ipynb`](examples/meetup.ipynb), mostly a tutorial-like collection of examples given as a presentation at a meetup. Some of these need appropriate API keys.
How to Contribute
-----------------
More to come...
=======
History
=======
0.1.0 (2018-11-24)
------------------
* First release on PyPI.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ipyrest-0.1.0.tar.gz
(827.0 kB
view hashes)
Built Distribution
Close
Hashes for ipyrest-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 463bb8add9dd36ee9576ae3b3cc676bb4e925c46161bcf973166545be308bf58 |
|
MD5 | 4e99cd0d8ddcff880c219c61fcde0c97 |
|
BLAKE2b-256 | 7f9924e0db2e6f9304197fa9df543a80891bdc9712f208f690c48f72f0d5748d |