An emerging widget for exploring RESTful APIs in Jupyter notebooks.
Project description
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:
Features
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.
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
, 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.
0.1.2 (2018-11-26) ..................
- Finally rendering README.md on PyPI(?).
- Enable classic notebook extension for qgrid.
Project details
Download files
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ced64f910424f8e1b8937fdf22bb579a00dbf77e6e2af096fe95d932a5af2886 |
|
MD5 | 0131dbe895debe18684b0085b14e143c |
|
BLAKE2-256 | d868eee5b30803cf7f4f206c70642e1bba105f6e7cfea171e32f6fb63ba697a5 |