All Projects → kantord → Emuto

kantord / Emuto

Licence: mit
manipulate JSON files

Programming Languages

javascript
184084 projects - #8 most used programming language
script
160 projects
awk
318 projects

Projects that are alternatives of or similar to Emuto

Http Prompt
An interactive command-line HTTP and API testing client built on top of HTTPie featuring autocomplete, syntax highlighting, and more. https://twitter.com/httpie
Stars: ✭ 8,329 (+4527.22%)
Mutual labels:  api, cli, json
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (+4.44%)
Mutual labels:  api, cli, json
Oq
A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using jq filters to transform the data.
Stars: ✭ 132 (-26.67%)
Mutual labels:  cli, json, jq
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+29373.33%)
Mutual labels:  api, cli, json
Ponzu
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.
Stars: ✭ 5,373 (+2885%)
Mutual labels:  api, cli, json
Ferret
Declarative web scraping
Stars: ✭ 4,837 (+2587.22%)
Mutual labels:  cli, data-mining, query-language
Contentful Cli
The official Contentful command line interface. Use Contentful features straight from the command line!
Stars: ✭ 200 (+11.11%)
Mutual labels:  api, cli, json
Dasel
Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies.
Stars: ✭ 759 (+321.67%)
Mutual labels:  cli, data-structures, json
Yq
Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
Stars: ✭ 1,688 (+837.78%)
Mutual labels:  cli, json, jq
Framework
Strongly-typed JavaScript object with support for validation and error handling.
Stars: ✭ 136 (-24.44%)
Mutual labels:  json, frontend
Loophole
Polar devices Python API and CLI.
Stars: ✭ 136 (-24.44%)
Mutual labels:  api, cli
Jsonrpc
The jsonrpc package helps implement of JSON-RPC 2.0
Stars: ✭ 143 (-20.56%)
Mutual labels:  api, json
Aping
angular module to get and display data by adding html-attributes
Stars: ✭ 135 (-25%)
Mutual labels:  api, json
Jstp
Fast RPC for browser and Node.js based on TCP, WebSocket, and MDSF
Stars: ✭ 132 (-26.67%)
Mutual labels:  api, json
Smoke
💨 Simple yet powerful file-based mock server with recording abilities
Stars: ✭ 142 (-21.11%)
Mutual labels:  api, json
Mojo Webqq
【重要通知:WebQQ将在2019年1月1日停止服务,此项目目前已停止维护,感谢大家四年来的一路陪伴】使用Perl语言(不会没关系)编写的smartqq/webqq客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,755 (+875%)
Mutual labels:  api, cli
Node Jq
Node.js wrapper for jq
Stars: ✭ 147 (-18.33%)
Mutual labels:  json, jq
Jsonwatch
Track changes in JSON data from the command line
Stars: ✭ 130 (-27.78%)
Mutual labels:  cli, json
Grafanajsondatasource
Grafana datasource to load JSON data over your arbitrary HTTP backend
Stars: ✭ 146 (-18.89%)
Mutual labels:  api, json
Coloquent
Javascript/Typescript library mapping objects and their interrelations to JSON API, with a clean, fluent ActiveRecord-like (e.g. similar to Laravel's Eloquent) syntax for creating, retrieving, updating and deleting model objects.
Stars: ✭ 149 (-17.22%)
Mutual labels:  json, frontend

WebsiteTutorialLive demoCLI versionCompile-to-JS version


Emuto is a small language for manipulating and restructuring JSON and other data files. Emuto is inspired by jq and GraphQL

build Codecov David NPM GitHub release Twitter URL

Features

  • Transform and query data structures
  • Integrate with unix commands in the command line
  • Conversions between different file formats
  • Supported input formats: JSON, text, csv, tsv, dsv
  • Supported output formats: JSON, text
  • Available as a Webpack loader

Getting started

Emuto as a CLI tool

npm install -g emuto emuto-cli

Read more in the tutorial

For Arch Linux users, also available as an AUR package

Webpack loader for emuto

yarn add --dev emuto emuto-loader

Read more in the Webpack guide

What is emuto good for? Examples

Number of items in JSON file

curl my_file.json | emuto 'length'

Your karma on HackerNews

curl https://hacker-news.firebaseio.com/v0/user/kantord.json -s | emuto '$.karma'

Convert another command's output to JSON

ls | emuto -i=raw '$[0:-1]'

See number of NPM dependencies

cat package.json | emuto -c '$.dependencies | keys | length'

List available scripts in package.json

cat package.json | emuto -c '$.scripts | keys | join " · "'

Get only the relevant data from a huge JSON file

curl https://api.github.com/repos/stedolan/jq/commits |\
emuto -c 'map ($ => $ { commit { message } committer { login } } )'

Automate the restructuring of data by creating scripts with emuto

restructure.emu

#! emuto -s

$
  | map ($ => $ { commit { message } committer { login } } )
  | map ($ => {
      "committer": $.committer.login,
      "message":   $.commit.message,
    })

Calling your script

curl https://api.github.com/repos/stedolan/jq/commits | ./restructure.emu

Contributing Guide

Read our contributing guide to learn about our development process, how to create bugfixes and improvements, and how to build and test your changes to emuto.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].