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)
[![image](https://img.shields.io/pypi/pyversions/ipyrest.svg)](https://pypi-hypernode.com/project/ipyrest/)
[![image](https://img.shields.io/pypi/v/ipyrest.svg)](https://pypi-hypernode.com/project/ipyrest/)
[![image](https://img.shields.io/pypi/l/ipyrest.svg)](https://pypi-hypernode.com/project/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, implemented 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:
```
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
-------
Run `pip install -r requirements_test.txt` and `PYTHONPATH=. pytest -s -v tests` in the root directory. Some tests will automatically start a local flask webserver in `tests/api_server.py` which implements a set of sample API endpoints for local testing. And some of these 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.
0.1.1 (2018-11-25)
..................
* Minor test refactoring.
* Minor code/text/formating changes.
* Minor packaging cleanup.
=======
[![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)
[![image](https://img.shields.io/pypi/pyversions/ipyrest.svg)](https://pypi-hypernode.com/project/ipyrest/)
[![image](https://img.shields.io/pypi/v/ipyrest.svg)](https://pypi-hypernode.com/project/ipyrest/)
[![image](https://img.shields.io/pypi/l/ipyrest.svg)](https://pypi-hypernode.com/project/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, implemented 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:
```
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
-------
Run `pip install -r requirements_test.txt` and `PYTHONPATH=. pytest -s -v tests` in the root directory. Some tests will automatically start a local flask webserver in `tests/api_server.py` which implements a set of sample API endpoints for local testing. And some of these 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.
0.1.1 (2018-11-25)
..................
* Minor test refactoring.
* Minor code/text/formating changes.
* Minor packaging cleanup.
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.1.tar.gz
(71.8 kB
view details)
Built Distribution
File details
Details for the file ipyrest-0.1.1.tar.gz
.
File metadata
- Download URL: ipyrest-0.1.1.tar.gz
- Upload date:
- Size: 71.8 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 | 8730a099da6b1e31b536b57aa112b961c20cd41cbe131b6897ffce6d3d3559b4 |
|
MD5 | 4c86383b6e6db652700dc891837508d1 |
|
BLAKE2b-256 | 2288dccdf9d9dec5d98c48cecc64ea1f2c57a460852ed680be21545712fae4b4 |
File details
Details for the file ipyrest-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: ipyrest-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 14.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 | 1e37f724daf1189a482c11516e07ea6be2b0ac55bf3ef40969500079a0503042 |
|
MD5 | c52ffd9bb53115c78d622b0efa0037d0 |
|
BLAKE2b-256 | 271d971cc28bd302560b2f5e9887eaa6d3e674eedeb0d885baefdcd7113c58f5 |