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)

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, implementated 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 (as soon as available):

```
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
-------

Just make sure you have `pytest` installed and run `PYTHONPATH=. pytest -s -v tests` in the root directory. Some tests will automatically start a local webserver in `tests/api_server.py` which implements a set of sample API endpoints for local testing.

Some 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.


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.0.tar.gz (827.0 kB view details)

Uploaded Source

Built Distribution

ipyrest-0.1.0-py2.py3-none-any.whl (15.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ipyrest-0.1.0.tar.gz.

File metadata

  • Download URL: ipyrest-0.1.0.tar.gz
  • Upload date:
  • Size: 827.0 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.0.tar.gz
Algorithm Hash digest
SHA256 309d0e3fe1fe86a870abd6605136d05e5fbd31194144c0029e47fb6c7a8131b4
MD5 f6027f523c758423d0c29173a265ec07
BLAKE2b-256 afc3f90fbc4609cc84c3dd94cf2c0eadeae3a2ce989ef0aabba6533559422598

See more details on using hashes here.

File details

Details for the file ipyrest-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ipyrest-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 15.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.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 463bb8add9dd36ee9576ae3b3cc676bb4e925c46161bcf973166545be308bf58
MD5 4e99cd0d8ddcff880c219c61fcde0c97
BLAKE2b-256 7f9924e0db2e6f9304197fa9df543a80891bdc9712f208f690c48f72f0d5748d

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