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.
Source Distribution
Built Distribution
File details
Details for the file ipyrest-0.1.2.tar.gz
.
File metadata
- Download URL: ipyrest-0.1.2.tar.gz
- Upload date:
- Size: 60.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f38d98c7e01d07b887951dd3e6b26fee9814f4e628520d5242dbea251a0116c8 |
|
MD5 | 49f1dbf5f3a1eafb4b62ab7ffa07f9af |
|
BLAKE2b-256 | 3eded132ba2cedad674e87f9b20f669c0d1922c831dd4f15ecf3c89079359b60 |
File details
Details for the file ipyrest-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: ipyrest-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.2 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ced64f910424f8e1b8937fdf22bb579a00dbf77e6e2af096fe95d932a5af2886 |
|
MD5 | 0131dbe895debe18684b0085b14e143c |
|
BLAKE2b-256 | d868eee5b30803cf7f4f206c70642e1bba105f6e7cfea171e32f6fb63ba697a5 |