Skip to main content

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.


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)

Uploaded Source

Built Distribution

ipyrest-0.1.1-py2.py3-none-any.whl (14.1 kB view details)

Uploaded Python 2 Python 3

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

Hashes for ipyrest-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8730a099da6b1e31b536b57aa112b961c20cd41cbe131b6897ffce6d3d3559b4
MD5 4c86383b6e6db652700dc891837508d1
BLAKE2b-256 2288dccdf9d9dec5d98c48cecc64ea1f2c57a460852ed680be21545712fae4b4

See more details on using hashes here.

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

Hashes for ipyrest-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1e37f724daf1189a482c11516e07ea6be2b0ac55bf3ef40969500079a0503042
MD5 c52ffd9bb53115c78d622b0efa0037d0
BLAKE2b-256 271d971cc28bd302560b2f5e9887eaa6d3e674eedeb0d885baefdcd7113c58f5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page