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 details)
Built Distribution
File details
Details for the file ipyrest-0.1.0.tar.gz
.
File metadata
- Download URL: ipyrest-0.1.0.tar.gz
- Upload date:
- Size: 827.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 309d0e3fe1fe86a870abd6605136d05e5fbd31194144c0029e47fb6c7a8131b4 |
|
MD5 | f6027f523c758423d0c29173a265ec07 |
|
BLAKE2b-256 | afc3f90fbc4609cc84c3dd94cf2c0eadeae3a2ce989ef0aabba6533559422598 |
File details
Details for the file ipyrest-0.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: ipyrest-0.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 463bb8add9dd36ee9576ae3b3cc676bb4e925c46161bcf973166545be308bf58 |
|
MD5 | 4e99cd0d8ddcff880c219c61fcde0c97 |
|
BLAKE2b-256 | 7f9924e0db2e6f9304197fa9df543a80891bdc9712f208f690c48f72f0d5748d |