Fork me on GitHub
#datomic
<
2020-11-26
>
thumbnail14:11:08

The datomic REST-docs refer to the client-api for new projects. However how should non-jvm projects proceed? I'm ultimately trying to access datomic through ruby.

joshkh16:11:17

my answer isn't going to be particularly useful to you, but i've been picking apart this working nodejs + datomic cloud library in order to hopefully make a working cljs native version (and also explore a python client). https://github.com/csm/datomic-client-js

❤️ 3
joshkh16:11:11

so far it has been... tedious

thumbnail17:11:14

That's amazing, i could translate your project to ruby as I only need a tiny subset. Reverse engineering the api seems like such a interesting approach

joshkh21:11:46

definitely! that project isn't mine though; i'm just reverse engineering it to port it to cljs and maybe python (like you might for ruby).

joshkh21:11:38

it's a very useful blueprint and reveals some of the communication layers of Datomic Cloud. a big thumbs up to the author.

thumbnail21:11:31

It feels like such a step backwards compared to the REST doc though. There was so much potential there (evident by the many languages who have support for it)

joshkh23:11:36

i have to agree with you there. Datomic Cloud was a huge step to making Datomic accessible without the sysadmin overhead, and Ions did the same for deploying Clojure code without the devops. that being said, AWS promotes Lambda as a cloud-wide connective tissue (as does Ions i guess), and i have a laundry list of use cases for language support outside the JVM

joshkh23:11:28

i asked the same question you did a few months ago and someone recommended rolling out my own Ion to proxy queries over an endpoint. it sounds like a fun project but there are probably things to consider, like how to secure it

joshkh23:11:48

... meanwhile over in Neo4j land 😉 https://neo4j.com/docs/http-api/current/

joshkh16:11:30

using dev-local, is it possible to establish a client using a local binary from import-cloud and then divert all transactions to :mem? in other words, i want to unit test some functions using an established db but not persist d/transactions to it

steveb8n21:11:35

@U0GC1C09L this lib does exactly what you want but not yet for cloud https://github.com/vvvvalvalval/datomock/issues/6

joshkh21:11:24

thanks for sharing. i'm sticking to dev-local as being the "official" solution at the moment, and starting from a cloud db (whether remote or imported locally) is a must. no on-prem for me 🙂