Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
PuREST JSON is a library for connecting Puredata (Pd) to HTTP services and encoding and decoding JSON data.
Failed to load latest commit information.
debian Cleaning up copyright files.
examples Replaced void pointers with specific pointers.
manual Cosmetic changes for next version:
unittests Renamed unit test files.
uthash @ 08121e0 [json-encode] and [urlparams]: Replace linked list with hash table.
.gitignore Removed build artifacts.
.gitmodules [json-encode] and [urlparams]: Replace linked list with hash table.
Changelog.txt Updated version to 1.2.0
LICENSE.txt Cleaning up copyright files.
Makefile Different formats for and LICENSE.txt [oauth] issues all HTTP requests.
ctw.c Commenting functions in .c files. Simplified and formatted Mac OSX embedding.
json-decode.c Commenting functions in .c files.
json-decode.h Comments in .h files.
json-encode.c no array functions for [urlparams]
json-encode.h [json-encode] and [urlparams]: positive defines
json-help.pd Updated help patches.
kvp.c [json-encode] and [urlparams]: positive defines
oauth.c Commenting functions in .c files.
oauth.h Comments in .h files.
old-json-c-version.patch Patch for json-c 0.10.
purest_json-meta.pd Updated version to 1.2.0
purest_json.c Assertion and comments.
purest_json.h Formatting of macro.
rest-help.pd Include streaming mode in help.
rest.c Commenting functions in .c files.
rest.h Comments in .h files.
string.c Commenting functions in .c files.
strlist.c Commenting functions in .c files.
test.json Loading JSON data from file (issue #12);
urlparams-help.pd Updated help patches.
urlparams.c no array functions for [urlparams]
urlparams.h [json-encode] and [urlparams]: positive defines

  _____        _____  ______  _____ _______        _  _____  ____  _   _
 |  __ \      |  __ \|  ____|/ ____|__   __|      | |/ ____|/ __ \| \ | |
 | |__) |_   _| |__) | |__  | (___    | |         | | (___ | |  | |  \| |
 |  ___/| | | |  _  /|  __|  \___ \   | |     _   | |\___ \| |  | | . ` |
 | |    | |_| | | \ \| |____ ____) |  | |    | |__| |____) | |__| | |\  |
 |_|     \__,_|_|  \_\______|_____/   |_|     \____/|_____/ \____/|_| \_|

PuREST JSON is a library for connecting Puredata (Pd) to HTTP services and encoding and decoding JSON data.

The library can issue GET, POST, PUT and DELETE statements, so consumation of RESTful services is possible, e.g. CouchDB.

The library used to be called CouchPdb, but handles all HTTP requests, so the name was not fitting any more.

About Puredata (From the official website)

Pd (aka Pure Data) is a real-time graphical programming environment for audio, video, and graphical processing. It is the third major branch of the family of patcher programming languages known as Max (Max/FTS, ISPW Max, Max/MSP, jMax, etc.) originally developed by Miller Puckette and company at IRCAM. The core of Pd is written and maintained by Miller Puckette and includes the work of many developers, making the whole package very much a community effort.

Externals in the library


Object for issuing HTTP request.


Object for issuing HTTP requests with OAUTH.


Object for encoding data to JSON.


Object for decoding JSON data.


Object for url encoding and contatenating url parameters.

For the usage of the externals see the help patches for the objects.

Binary downloads

Binary packages can be found at

How to build PuREST JSON

The library uses the template for Pd-extended. Drop the library in a new folder purest_json in the "external" path of the Pd-extended source code and run make in the folder. libcurl and json-c is needed.

Details can be found at

If you encouter bugs or feel like a feature is missing, have a look the bug tracker at

Something went wrong with that request. Please try again.