Use

Take Josh anywhere and travel with ease.

Start in your browser.

Just type in a url and you are ready to program. Josh can run in WebAssembly meaning that you just have to send your browser to our IDE and you can start running simulations. All of your code and data stay on your computer unless you select our cloud.

Run in our cloud.

Scaling to the cloud is easy. Get access to on-demand machines in our community cloud which can run different replicates in parallel on high performance infrastructure. This can be executed form the Josh IDE or from other tools like Python. Josh Cloud is free and respects your privacy. It also just takes a minute and your code is already ready to distribute.

Take it to your computer.

Josh is written in Java and easy to execute on your own machine. This can happen either through the command line or through a local user interface. The JVM runtime can also be quite a bit faster than WebAssembly so, when you are ready to make bigger or more involved simulations, this is often a great place to go.

Run in your own cloud.

If you have the Josh jar, running the "server" command starts a node which can respond either as a leader or a follower. This endpoint can be provided in the Josh IDE or in the Python client. By default, local access does not enforce API keys. However, you can add API keys by setting the JOSH_API_KEYS environment variable which should have valid alphanumeric keys separated by commas. The maximum concurrency (number of parallel replicates) can be specified by "--concurrent-workers" and the url where leaders should send worker requests (like to a load balancer) along with the requstor's API key can be specified by the "--worker-url" option. Note that the worker and the leader both check API keys. Also, external data are sent in the request body which may require use of the "--use-http2" option in some environments.

Link up with Python.

Josh can also be used from Python. Though more features are coming soon, this can be another way to integrate Josh into larger workflows and it can interoperate with other common data science libaries. Simply pip install joshpy!