Skip to main content

Command Line Tool to Work with Transit Format

Project description Documentation Status

Command Line Tool to Work with Transit Format


  • convert to and form json, edn, transit
  • read content from stdin or files


$ transito -h
usage: transito [-h] {t2j,j2t,e2t,t2e,http} ...

Transit CLI

positional arguments:
    t2j                 convert transit to json
    j2t                 convert json to transit
    e2t                 convert edn to transit
    t2e                 convert transit to edn
    http                make http requests with transit data

optional arguments:
  -h, --help            show this help message and exit


Convert Transit to JSON from a file:

$ transito t2j examples/ex1.transit

[":keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]

Convert Transit to JSON from stdin:

$ transito t2j -

[":keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]


The first line is the input, then I pressed Enter and Ctrl+D

Piping from another command:

$ echo '["~#list",["~:keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]' | transito t2j -

[":keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]

Same for Edn:

$ transito t2e examples/ex1.transit

(keyword lala 1 1.2 true nil [] ["hi" \a])
$ echo '["~#list",["~:keyword","~$lala",1,1.2,true,null,[],["hi",["~#char","a"]]]]' | transito t2e -

(keyword lala 1 1.2 true nil [] ["hi" \a])
$ transito t2e -

(keyword lala 1 1.2 true nil [] ["hi" \a])

you should get the idea, some with transit as output just in case:

$ transito e2t -
(keyword lala 1 1.2 true nil [] ["hi" \a])

$ transito t2j -
["~keyword", "~lala", 1, 1.2, true, null, [], ["hi", "a"]]


to json conversions are lossy, this means that in order to not crash when serializing keywords, symbols and chars we do a lossy serialization, chars are strings, keywords are strings starting with : and symbols are strings starting with ~.

The idea of this translation is to provide a way to view the edn or transit as json and shouldn’t be used to send this data to a production system.

HTTP Requests

You an make an http request that supports transit, json or edn but writting and reading the request and response in a more readable way, for example, make a request writing edn that will be transformed to transit before being sent, the response will be transformed to edn if possible to make it more readable:

$ echo '(increment {:value 20})' | transito http post http://localhost:8080/action e2t -

Status: 200
Content-Type: application/transit+json
Content-Length: 28

{:value [:count]}

You may ask, isn’t it complected? yes, yes it is.


Tools used in rendering this package:


0.1.3 (2015-12-01)

  • add support for keywords with namespaces in edn

0.1.2 (2015-26-11)

  • fix edn encoding from transit on http response

0.1.1 (2015-25-11)

  • add support for http requests
  • fix keyword serialization in edn

0.1.0 (2015-25-11)

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

Files for transito, version 0.1.6
Filename, size File type Python version Upload date Hashes
Filename, size transito-0.1.6-py2.py3-none-any.whl (28.5 kB) File type Wheel Python version 2.7 Upload date Hashes View
Filename, size transito-0.1.6.tar.gz (16.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page