# Looking for an open WebSockets API to make a package for

**URL:** <https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163>\
**Category:** Community\
**Tags:** question, package, web\
**Created:** [February 19, 2018, 1:08pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163 "2018-02-19T13:08:37Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![erikedin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/erikedin/32/9281_2.png) [@erikedin](https://discourse.julialang.org/u/erikedin)\
**Post date:** [February 19, 2018, 1:08pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/1 "2018-02-19T13:08:37Z")

</div>

I’m the developer of the DandelionWebSockets package, which is a WebSocket client. While I am again actively developing it, the original use case I had for it is no longer relevant (I made a simple Slack bot using it).

I was hoping someone would have a suggestion on some WebSockets based API somewhere, that I could make a package for, using my WebSockets client. I was thinking something along the lines of some open scientific data database, but I haven’t been able to find a suitable API service. I’m open to other suggestions, though.  
The open data services I found so far have been REST APIs. I have been searching along the lines of climate data like NOAA [Web Services API (version 2) Documentation | Climate Data Online (CDO) | National Climatic Data Center (NCDC)](https://www.ncdc.noaa.gov/cdo-web/webservices/v2).

The primary reason for wanting to make a package for it is to be able to exercise the code in order to find issues myself, and get a good idea of where I need to make an effort in order to make it easier for users.

---

<div class="post-metadata">

**Author:** ![tamasgal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamasgal/32/27946_2.png) [@tamasgal](https://discourse.julialang.org/u/tamasgal)\
**Post date:** [February 19, 2018, 1:48pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/2 "2018-02-19T13:48:51Z")

</div>

Hey Erik,

I am (was) actually using your code in one of my Julia packages ([https://github.com/tamasgal/KM3NeT.jl/blob/master/src/WebSocketClient.jl](https://github.com/tamasgal/KM3NeT.jl/blob/master/src/WebSocketClient.jl)) but had some problems with deprecation warnings (don’t remember anymore, something with Nettle and Strings etc.) so it’s currently buried in a non-public prototype branch.

I was originally looking for a lightweight WebSocket package which could easily talk to a web server. In my case to a Python webserver based on Tornado to visualise realtime events in a neutrino detector (using this prototype visualiser: [http://tamasgal.com/rba/](http://tamasgal.com/rba/)).

Nice to hear you are working on it again and I hope to be able to (re)include it in my project!

Sorry for being off-topic, I was just happy to see that you are still working on it 🙂

Cheers!

---

<div class="post-metadata">

**Author:** ![erikedin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/erikedin/32/9281_2.png) [@erikedin](https://discourse.julialang.org/u/erikedin)\
**Post date:** [February 19, 2018, 2:03pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/3 "2018-02-19T14:03:17Z")

</div>

I’m glad it was at least partly useful. I actually recently replaced Nettle with the SHA.jl package instead, because I had issues building it on Travis-CI. Most of the deprecation warnings should be fixed, but some still remain.

---

<div class="post-metadata">

**Author:** ![hgeorgako](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hgeorgako/32/5518_2.png) [@hgeorgako](https://discourse.julialang.org/u/hgeorgako)\
**Post date:** [February 19, 2018, 4:11pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/4 "2018-02-19T16:11:36Z")

</div>

> **[BitMEX | Bitcoin Mercantile Exchange](https://www.bitmex.com/app/wsAPI)**
>
> Trade Bitcoin and other cryptocurrencies with up to 100x leverage. Fast execution, low fees, Bitcoin futures and swaps: available only on BitMEX.

This would be a nice use case.

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [February 19, 2018, 7:19pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/5 "2018-02-19T19:19:48Z")

</div>

What about the [open science framework?](https://osf.io). Not sure if their API is suitable, but I’m told their developers are super responsive and eager to get new people involved.

---

<div class="post-metadata">

**Author:** ![DatName](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datname/32/418_2.png) [@DatName](https://discourse.julialang.org/u/DatName)\
**Post date:** [February 19, 2018, 7:56pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/6 "2018-02-19T19:56:20Z")

</div>

@erikedin I also used your package (a fork of it) to handle [https://docs.gdax.com/#websocket-feed](https://docs.gdax.com/#websocket-feed) which is a feed of order books updates of several cryptocurrencies. It is publicly available and really easy to use.  
Though I had to tweak some parts of your code in order to make it work for me nicely, I must say that it was a pleasure to use your code. Really nice work. Glad to hear that your are working on it again.

---

<div class="post-metadata">

**Author:** ![samoconnor](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/samoconnor/32/1802_2.png) [@samoconnor](https://discourse.julialang.org/u/samoconnor)\
**Post date:** [February 19, 2018, 11:09pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/7 "2018-02-19T23:09:17Z")

</div>

Related:

- There is a WebSockets client/server implementation in HTTP.jl (used internally to test HTTP.jl): [https://github.com/JuliaWeb/HTTP.jl/blob/master/src/WebSockets.jl](https://github.com/JuliaWeb/HTTP.jl/blob/master/src/WebSockets.jl)  
usage example: [https://github.com/JuliaWeb/HTTP.jl/blob/master/test/WebSockets.jl](https://github.com/JuliaWeb/HTTP.jl/blob/master/test/WebSockets.jl)
- @anon67531922 is working on a branch of WebSockets.jl that I believe will have client support: [https://github.com/JuliaWeb/WebSockets.jl/tree/change\_dependencies](https://github.com/JuliaWeb/WebSockets.jl/tree/change_dependencies)

---

<div class="post-metadata">

**Author:** ![erikedin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/erikedin/32/9281_2.png) [@erikedin](https://discourse.julialang.org/u/erikedin)\
**Post date:** [February 20, 2018, 4:17pm UTC](https://discourse.julialang.org/t/looking-for-an-open-websockets-api-to-make-a-package-for/9163/8 "2018-02-20T16:17:10Z")

</div>

Thanks for all the suggestions! The open science framework is exactly along the lines I was thinking, but didn’t have a WebSocket API as far as I could see.  
As for the cryptocurrency feeds, I used to work in algorithmic trading, and the sight of price feeds and order books gives me anxiety. 🙂 Sorry!

I really didn’t think I’d have any problems coming up with a suitable service, but I googled a lot and only come up with REST APIs. If push comes to shove, I’ll dust off my old Slack library. I’d rather not, because I didn’t particularly like the Slack API, but it’ll do in a pinch.
