An emerging widget for exploring RESTful APIs in Jupyter notebooks.
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:
Ipyrest deals with the following concepts, implemented to varying degrees: HTTP Server, Service, Request, Response, Data, MIME-Types, Compression, Logging, Caching, Time-Outs, Errors, Views, 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 dependencies are: Python >= 3.6, jupyter, ipywidgets, timeout_decorator, requests, and vcr. Plugin dependencies are: ipyleaflet, ipyvolume, geojson, qgrid, protobuf. Testing dependencies are flask, mypy, and pytest.
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 .
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.
docs folder is only a stub for now. At the moment it is recommended to look at
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...
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.
0.1.2 (2018-11-26) ..................
- Finally rendering README.md on PyPI(?).
- Enable classic notebook extension for qgrid.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size ipyrest-0.1.2-py2.py3-none-any.whl (14.2 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View|
|Filename, size ipyrest-0.1.2.tar.gz (60.1 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for ipyrest-0.1.2-py2.py3-none-any.whl