sq data wrangler
Go to file
Neil O'Toole a92b9abf34
Initial work on a JSON driver (#70)
* implementation work for json importers

* json driver checkpoint

* working on json.ParseObjectsInArray

* json.ParseObjectsInArray seems to be working

* checkpoint while tidying up ParseObjectsInArray

* more tidy checkpoint

* more tidy checkpoint 2

* tidying up ParseObjectsInArray

* tidy up

* code/docs cleanup

* more cleanup of json driver

* more cleanup of json driver

* flat json import seemingly working

* improvements to json driver

* json writer now prints empty [] for postgres empty tables
2020-10-20 09:05:43 -06:00
.github/workflows replaced sakila source slices with funcs (#56) 2020-08-09 08:40:46 -06:00
cli Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
drivers Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
grammar codebase refactor 2020-08-06 11:58:47 -06:00
libsq Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
notifiers Json driver; refactoring of core packages (#66) 2020-08-23 04:42:15 -06:00
testh Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
.editorconfig tidy up 2016-10-16 22:14:01 -06:00
.gitattributes Added go test to github action; fixed Windows test issues (#52) 2020-08-07 23:10:41 -06:00
.gitignore codebase refactor 2020-08-06 11:58:47 -06:00
.golangci.yml codebase refactor 2020-08-06 11:58:47 -06:00
.goreleaser.yml Minor tidying of README and .goreleaser.yml 2020-08-06 12:37:33 -06:00
.lnav.json Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
go.mod Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
go.sum Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
LICENSE codebase refactor 2020-08-06 11:58:47 -06:00
magefile_release.go codebase refactor 2020-08-06 11:58:47 -06:00
magefile_sakila.go codebase refactor 2020-08-06 11:58:47 -06:00
magefile.go Slq move (#67) 2020-08-23 05:16:16 -06:00
main.go Initial work on a JSON driver (#70) 2020-10-20 09:05:43 -06:00
README.md minor doc tidy (#63) 2020-08-19 14:46:04 -06:00

sq: swiss army knife for data

sq provides uniform access to structured data sources like traditional SQL-style databases, or document formats such as CSV or Excel. sq can perform cross-source joins, execute database-native SQL, and output to a multitude of formats including JSON, Excel, CSV, HTML, Markdown and XML, or output directly to a SQL database. sq can inspect sources to see metadata about the source structure (tables, columns, size) and has commands for common database operations such as copying or dropping tables.

Usage

See the wiki.

Installation

From source

From the sq project dir:

$ go install

The simple go install does not populate the binary with build info that is output via the sq version command. To do so, use mage.

$ brew install mage
$ mage install

Other installation options

For homebrew, scoop, rpm etc, see the wiki.

Acknowledgements

  • Much inspiration is owed to jq.
  • See go.mod for a list of third-party packages.
  • Additionally, sq incorporates modified versions of:
  • The Sakila example databases were lifted from jOOQ, which in turn owe their heritage to earlier work on Sakila.