{"_id":"tables","_rev":"17-753add3dae07516e24ba3245d6a84a9d","name":"tables","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","dist-tags":{"latest":"2.3.0"},"versions":{"0.0.1":{"name":"tables","version":"0.0.1","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables.","main":"index.js","bin":{"tables":"bin/tables"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/datanews/tables.git"},"keywords":["CSV","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/datanews/tables/issues"},"homepage":"https://github.com/datanews/tables#readme","dependencies":{"JSONStream":"^1.1.1","chalk":"^1.1.1","commander":"^2.9.0","csv-parse":"^1.0.2","d3-queue":"^2.0.3","dotenv":"^2.0.0","event-stream":"^3.3.2","fast-csv":"^1.0.0","lodash":"^4.6.1","moment-timezone":"^0.5.1","mysql":"^2.10.2","pg":"^4.5.1","pg-hstore":"^2.3.2","progress":"^1.1.8","sequelize":"^3.19.3","sqlite3":"^3.1.1"},"gitHead":"de4c7c3c4b15721a41099f146d6c9256f135beab","_id":"tables@0.0.1","_shasum":"edd79dc0ba14f9da5709dee717ccf8e2f6679235","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.0","_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"dist":{"shasum":"edd79dc0ba14f9da5709dee717ccf8e2f6679235","tarball":"https://registry.npmjs.org/tables/-/tables-0.0.1.tgz","integrity":"sha512-TXvm2uvAMz1/maT2ZT6mfYpIcfRp2dGqrkD8eoxAYwkP4lh76zNPZgJiIv1rCD3/B08zU4fFyrNFkvCFBCC/kA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFHt1s6dRS0HjwCFMcwPcst3qDWTZ2nZ+5WjnREtpYqdAiEAlY2SUxRhUmuWt4Pv2528pK7d2JWQqzq/FDtrwrMiZI8="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tables-0.0.1.tgz_1458078174908_0.28768341755494475"},"directories":{}},"0.0.2":{"name":"tables","version":"0.0.2","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables.","main":"index.js","bin":{"tables":"bin/tables"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/datanews/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/datanews/tables/issues"},"homepage":"https://github.com/datanews/tables#readme","engines":{"node":">=0.10.3 <=4.4.0"},"dependencies":{"JSONStream":"^1.1.1","chalk":"^1.1.1","cli-spinner":"^0.2.4","commander":"^2.9.0","csv-parse":"^1.0.2","d3-queue":"^2.0.3","dotenv":"^2.0.0","event-stream":"^3.3.2","fast-csv":"^1.0.0","lodash":"^4.6.1","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql":"^2.10.2","pg":"^4.5.1","pg-hstore":"^2.3.2","progress":"^1.1.8","sequelize":"^3.19.3","sqlite3":"^3.1.1","unpipe":"^1.0.0"},"gitHead":"d7605d2299d6ba59a4183983744fdc0fd8f6a865","_id":"tables@0.0.2","_shasum":"dfd868c339550a72e7b01682392b9b1651af44e4","_from":".","_npmVersion":"2.14.20","_nodeVersion":"4.4.0","_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"dist":{"shasum":"dfd868c339550a72e7b01682392b9b1651af44e4","tarball":"https://registry.npmjs.org/tables/-/tables-0.0.2.tgz","integrity":"sha512-4NnLV+oKbfQ1WdTgcgIxaKQVDeYga/XaoRTmCV3OJcuXP4Z42+5dQXgM5jCUV5SfrKLdpWS99qmwS3HXEpFZnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCgBirThWlSM6VD5dKPcTKAWiXsG5kbRH4yaa6F1d4eawIhAP528RFfPvhjuX7GJncQ9jEVSy+1Nd0lJZHag1HCeomY"}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmOperationalInternal":{"host":"packages-13-west.internal.npmjs.com","tmp":"tmp/tables-0.0.2.tgz_1458322559533_0.8787216700147837"},"directories":{}},"0.0.3":{"name":"tables","version":"0.0.3","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables.","main":"index.js","bin":{"tables":"bin/tables"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/datanews/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/datanews/tables/issues"},"homepage":"https://github.com/datanews/tables#readme","engines":{"node":">=0.10.3 <=4.4.0"},"dependencies":{"chalk":"^1.1.1","cli-spinner":"^0.2.4","commander":"^2.9.0","csv-parse":"^1.0.2","d3-queue":"^2.0.3","dotenv":"^2.0.0","event-stream":"^3.3.2","lodash":"^4.6.1","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql":"^2.10.2","pg":"^4.5.1","pg-hstore":"^2.3.2","progress":"^1.1.8","sequelize":"^3.19.3","sqlite3":"^3.1.1","tito":"^0.4.0","unpipe":"^1.0.0"},"devDependencies":{"byline":"^4.2.1"},"gitHead":"f2a9cb3eec4c9ee6b296e3022f5dd5cb21aae76e","_id":"tables@0.0.3","_shasum":"52f3f5877dbaee19e58d67c4970b816d29ef175d","_from":".","_npmVersion":"2.14.20","_nodeVersion":"4.4.0","_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"dist":{"shasum":"52f3f5877dbaee19e58d67c4970b816d29ef175d","tarball":"https://registry.npmjs.org/tables/-/tables-0.0.3.tgz","integrity":"sha512-GBtActPyurTEnsNfob794zLSEQtYJ7zJgPuahtt+uCuFXwSYE+ZzIes6jl7yjIeS4w8n0wSTThYeeupwqgbScg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIAtIasXNgEyrJbe6Kq/tNKsS/zeHBYjFXnpfgDkyVPQIhAMbsBTq3LjPR9QZs6Wt+xiFLtF0SAWh/4Ds3CIJXRSYb"}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tables-0.0.3.tgz_1459537631593_0.98374536447227"},"directories":{}},"0.0.4":{"name":"tables","version":"0.0.4","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables.","main":"index.js","bin":{"tables":"bin/tables"},"scripts":{"test":"./node_modules/mocha/bin/mocha tests/*","example-water":"./bin/tables -i examples/nyc-water-quality-complaints.csv"},"repository":{"type":"git","url":"git+https://github.com/datanews/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/datanews/tables/issues"},"homepage":"https://github.com/datanews/tables#readme","engines":{"node":">=0.10.3"},"dependencies":{"chalk":"^1.1.1","cli-spinner":"^0.2.4","commander":"^2.9.0","csv-parse":"^1.0.2","d3-queue":"^2.0.3","dotenv":"^2.0.0","event-stream":"^3.3.2","lodash":"^4.6.1","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql":"^2.10.2","pg":"^4.5.1","pg-hstore":"^2.3.2","progress":"^1.1.8","sequelize":"^3.19.3","sqlite3":"^3.1.1","tito":"^0.4.0","unpipe":"^1.0.0"},"devDependencies":{"byline":"^4.2.1","mocha":"^2.4.5","test-console":"^1.0.0"},"gitHead":"30aacad09790c13deb310a5edde6fdb5f700396b","_id":"tables@0.0.4","_shasum":"1eda85021da4d916efc00020f23f6e4398a6e84c","_from":".","_npmVersion":"3.8.3","_nodeVersion":"5.10.0","_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"dist":{"shasum":"1eda85021da4d916efc00020f23f6e4398a6e84c","tarball":"https://registry.npmjs.org/tables/-/tables-0.0.4.tgz","integrity":"sha512-zWQsGhiEVWqy/H2rLeYgqixmHhxmL3vO9w7M5WE1x5qxIstAotNgKjoAtbyOxk3JZE5EhPJlDlKOPt9hiVt/3Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHTNKAO2xTpqf5fi1KggX1fx11jn7dQXlxYWqna6oLprAiArUtypqdVDvWfZjXRwMdHywuhpcfUv343nMycf5p2lmg=="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tables-0.0.4.tgz_1461172593175_0.7759912670589983"},"directories":{}},"0.0.5":{"name":"tables","version":"0.0.5","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables.","main":"index.js","bin":{"tables":"bin/tables"},"scripts":{"test":"./node_modules/mocha/bin/mocha tests/*","example-water":"./bin/tables -i examples/nyc-water-quality-complaints.csv"},"repository":{"type":"git","url":"git+https://github.com/datanews/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/datanews/tables/issues"},"homepage":"https://github.com/datanews/tables#readme","engines":{"node":">=0.10.3"},"dependencies":{"chalk":"^1.1.1","cli-spinner":"^0.2.4","commander":"^2.9.0","csv-parse":"^1.0.2","d3-queue":"^2.0.3","dotenv":"^2.0.0","event-stream":"^3.3.2","lodash":"^4.6.1","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql":"^2.10.2","pg":"^4.5.1","pg-hstore":"^2.3.2","progress":"^1.1.8","sequelize":"^3.19.3","sqlite3":"^3.1.8","tito":"^0.4.0","unpipe":"^1.0.0"},"devDependencies":{"byline":"^4.2.1","mocha":"^2.4.5","test-console":"^1.0.0"},"gitHead":"f1f6569ba146c37c3818d70af6abdad199d7d576","_id":"tables@0.0.5","_shasum":"66fee57ef4aebd1a2273331fe7dd587d032c15dd","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"dist":{"shasum":"66fee57ef4aebd1a2273331fe7dd587d032c15dd","tarball":"https://registry.npmjs.org/tables/-/tables-0.0.5.tgz","integrity":"sha512-ketXhnGiLJ2soGFlKXMtha+nPLulep9aK/cRG1KSCuHS90upoKsfIjenI8y9TwotIyir3XtE9RXjBphAU5YwZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGmn1ILeQZpoLS9s0gBK8hA9xHIgxQV+aTq0A67c/3uIAiEAkxG46NVDl4OAPvUQmKS6XX1jXP97fsjCUaWCvR/FMyw="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/tables-0.0.5.tgz_1482337270042_0.9920680883806199"},"directories":{}},"0.1.0":{"name":"tables","version":"0.1.0","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables.","main":"index.js","bin":{"tables":"bin/tables"},"scripts":{"test":"./node_modules/mocha/bin/mocha tests/*","example-water":"./bin/tables -i examples/nyc-water-quality-complaints.csv"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=0.10.3"},"dependencies":{"chalk":"^1.1.1","cli-spinner":"^0.2.4","commander":"^2.9.0","csv-parse":"^1.0.2","d3-queue":"^2.0.3","dotenv":"^2.0.0","event-stream":"^3.3.2","lodash":"^4.6.1","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql":"^2.10.2","pg":"^4.5.1","pg-hstore":"^2.3.2","progress":"^1.1.8","sequelize":"^3.19.3","sqlite3":"^4.0.6","tito":"^0.4.0","unpipe":"^1.0.0"},"devDependencies":{"byline":"^4.2.1","mocha":"^2.4.5","test-console":"^1.0.0"},"gitHead":"c1d41b0a5cf2f9f91e1a3a827b4a12e422a5cd45","_id":"tables@0.1.0","_nodeVersion":"10.14.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-UWrXe8aHk/T7DBFhagoxucVPeB7UNkeLjwSt9O6YIXXBnbxf482TSPSuswrRyBW2ywM95NUi7rhTVtIHRQQcFw==","shasum":"3675c4ca68020927d8779bd49b1a1d6db5875967","tarball":"https://registry.npmjs.org/tables/-/tables-0.1.0.tgz","fileCount":23,"unpackedSize":123188,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgti0CRA9TVsSAnZWagAAxSoP/0a+qdcSE7ecbfkmcF35\nRUhtdznZJc9kP3bAiwB8wRtZhn6VQJghOIvp0jhaUv93l4aQwKnnaFueUI3W\nHGqxnt6B+9FLBGO9TmzWgeyTLE6bpf5X/Ba4VOe51kNhdnfxBt3fOOWQ0B/G\n8Duus/VYQFl0/+p9Qcw3mxCaln2M04QEbt9S5cfEDP+aIDTT3Ut2HSEN0Cec\n6qL1/Tb+0hYay5SWQ9yAYKLADYYTzKn7r2Xp2p1HKMvd1mlzBPGOGKosOJKh\n4Xv/+Ftv4ZxgaD0drhQYfExhzdRZ948uvefYnLMhqoBA7nKBVHar6F8tFkrr\nJ4JQl1cP/JbFegJX/ThSXv/x3bnj0cOPYGRwm38XzOKoJ6UMmyhN7FY1BVs7\nVOtaJfP7y3rbOjdZ2gxueORx7K/r3LG+o0bxkdnZ5MjcYlfnvFjPmCQex8DS\nUuH5me69Ej8JBMmMFr6oOiiFkRL2RK8qs0g9lJ0W7vaplVW3Cf6p7nWOruRo\nW/5TtpPslaOO7MXVy2lvPkdQZXZg1ySkHAo1wtVwQ9S+WYdqByp6oMgSBZR3\nhoCT3ArN8SuSqnvtDCQkoSfv37/WODmnlA6Lo4MR9kN+UQt6rKs1dfEe/Im6\nyYOQEBkBj/RfczyrWXMEG6D3E7UGQavUNlF/enSzySjgdTlmCErT6x3HQW8w\n4jKq\r\n=L6yW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIYQ6ujrjrQ8RKibUJFUuLB1JLspGvxYIy9LkHLV3nfQIgA2qCEPcWWAJwytL2RqWLOB1GV+8fzgYbPz1zBrMK+q8="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_0.1.0_1552079027376_0.5610129871186387"},"_hasShrinkwrap":false},"1.0.0":{"name":"tables","version":"1.0.0","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","main":"index.js","bin":{"tables":"bin/tables.js"},"scripts":{"test":"mocha tests/*","example-water":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv","example-water-silent":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-silent.sqlite --silent","example-water-advanced":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-advanced.sqlite --key=unique_key --index-fields=\".*date,.*name,latitude,longitude,.*borough,status\" --overwrite","example-water-transformer":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-transformer.sqlite --key=custom_key --transformer=examples/nyc-water-example-transformer.js --overwrite","example-water-pipe-no-db":"cat examples/nyc-water-quality-complaints.csv | ./bin/tables.js && ls tables-import.sqlite","example-water-remote":"curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | tables --db=sqlite://examples/water-remote.sqlite --overwrite -y","example-github-json":"curl --silent https://api.github.com/users/zzolo/followers | tables --format=json --db=sqlite://./examples/github-followers.sqlite --table-name=followers --key=id","example-fec-bulk-candidates":"curl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" | funzip | tables --db=\"sqlite://examples/fec-bulk.sqlite\" --table-name=\"candidates\" --key=\"CAND_ID\" --csv-delimiter=\"|\" --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"","example-chicago-ordinance-viloations":"curl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" | tables --db=\"sqlite://examples/chicago.sqlite\" --table-name=\"ordinance_violations\" --key=\"ID\"  --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,.*respondents,latitude,longitude,.*borough,status\"","examples":"npm run example-water && npm run example-water-silent && npm run example-water-advanced && npm run example-water-pipe-no-db && npm run example-water-remote && npm run example-github-json","example-movie-render":"terminalizer render docs/tables-examples.terminalizer.yml -o docs/tables-examples.terminalizer.gif"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=8.9.0"},"dependencies":{"chalk":"^2.4.2","cli-spinners":"^2.1.0","commander":"^2.20.0","debug":"^4.1.1","dotenv":"^2.0.0","event-stream":"^3.3.2","inquirer":"^6.2.2","lodash":"^4.17.11","log-symbols":"^2.2.0","log-update":"^3.2.0","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql2":"^1.6.5","pg":"^7.9.0","pg-hstore":"^2.3.2","replace-ext":"^1.0.0","sequelize":"^5.3.0","sqlite3":"^4.0.6","tito":"^0.4.0"},"devDependencies":{"eslint":"^5.16.0","mocha":"^2.4.5","node-fetch":"^2.3.0","object-path":"^0.11.4","terminalizer":"^0.6.1"},"gitHead":"3fb57e23ad9fe9b7e4ba2a14c6707cad4a402d1a","_id":"tables@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.4.0","_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"dist":{"integrity":"sha512-g4NESAQY60Lsfs+UPijRFxB71w/grpa8uIIk/0HIGTNswrepxEQeVDzRpN6UGFA6gbjdcU8SiE3cXAfRxusDGQ==","shasum":"f25b4c4f2e2584165e3e01cf834f512caceaa46a","tarball":"https://registry.npmjs.org/tables/-/tables-1.0.0.tgz","fileCount":25,"unpackedSize":5857175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJct3/1CRA9TVsSAnZWagAAYYIP/0/yCjxedBvNvVPLDXEW\nxUaiFidwB/cizTqC0nxs27WrHCPXjQLFvp+OnyJnsFbeekEKnpesPbx56zpZ\n56tLs9KRi/ccVVPKN65oi+bnWLKpBuSjLy+MThgJHTAmpDZfYYRaQakeztk7\ncyAAHoK+niQYNwU43T8PWMoJjrndR4l8rI0h609qkZyelL1j8JVopfG6mBdU\n0cZ+FaduD2zjJUjGfyMZKsYMuPXW8Ck/Aoc8uvbs0CERKGZd5j77nSX2cTMB\n0GcVqgckuSI00buFYQWuIaNXdmXcA/QoVg0UEM1toEGEBTSONeeGeflUGbBN\nlLvltS57wESw80704mhSKcMjhzCdr1iCzySp8iHOOTpnZkmYWwJ3Fqdw7tGb\n2Lux7Ke6ZsjG3shyeVEyV6A/wcH5gIjEmyB4etq6NAm2eseDKXoqP7LB5yFF\nuS5nnUNvg5L8092gLQ5w+W5wk5TEUg8oKCTgrHJDw0D/rKpyh2eTCBciDuAl\nnz9jV4sk2ECWL4irVqGCdL7grygIuO/sH16QDg3cod6ZkrBrBTHaOMdSzAXg\ngszRS9eKQGCvvrpR1/GTqrg1rXZOx4FoDSg7ymzTsvsqagIGuZ59GhWnsrT9\n9H0Z29yD8IMadUZXQA7Lfsh6e+9snJB6awjG+hIRkSlqiq5NyK2zp1LEOSfF\nNHLk\r\n=OIYq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID19Tjxx6mUBAz51z95dJtB9xraUvCZzvjDecow4+NGIAiATn6Z0bUGl+QIwDgWL+iE0+TqgWE8nmfrNX+8JzQGLEw=="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_1.0.0_1555529716390_0.1534263803371776"},"_hasShrinkwrap":false},"2.0.0":{"name":"tables","version":"2.0.0","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","main":"index.js","bin":{"tables":"bin/tables.js"},"scripts":{"test":"mocha tests/*","example-water":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv","example-water-silent":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-silent.sqlite --silent","example-water-advanced":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-advanced.sqlite --key=unique_key --index-fields=\".*date,.*name,latitude,longitude,.*borough,status\" --overwrite","example-water-transformer":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-transformer.sqlite --key=custom_key --transformer=examples/nyc-water-example-transformer.js --overwrite","example-water-models":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-models.sqlite --models=examples/nyc-water-example-models.js --overwrite","example-water-pipe-no-db":"cat examples/nyc-water-quality-complaints.csv | ./bin/tables.js && ls tables-import.sqlite","example-water-remote":"curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | tables --db=sqlite://examples/water-remote.sqlite --overwrite -y","example-github-json":"curl --silent https://api.github.com/users/zzolo/followers | tables --format=json --db=sqlite://./examples/github-followers.sqlite --table-name=followers --key=id","example-fec-bulk-candidates":"curl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" | funzip | tables --db=\"sqlite://examples/fec-bulk.sqlite\" --table-name=\"candidates\" --key=\"CAND_ID\" --csv-delimiter=\"|\" --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"","example-chicago-ordinance-viloations":"curl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" | tables --db=\"sqlite://examples/chicago.sqlite\" --table-name=\"ordinance_violations\" --key=\"ID\"  --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,.*respondents,latitude,longitude,.*borough,status\"","examples":"npm run example-water && npm run example-water-silent && npm run example-water-advanced && npm run example-water-transformer && npm run example-water-models && npm run example-water-pipe-no-db && npm run example-water-remote && npm run example-github-json","example-movie-render":"terminalizer render docs/tables-examples.terminalizer.yml -o docs/tables-examples.terminalizer.gif"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=8.9.0"},"dependencies":{"chalk":"^2.4.2","cli-spinners":"^2.1.0","commander":"^2.20.0","debug":"^4.1.1","dotenv":"^2.0.0","event-stream":"^3.3.2","inquirer":"^6.2.2","lodash":"^4.17.11","log-symbols":"^2.2.0","log-update":"^3.2.0","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql2":"^1.6.5","pg":"^7.9.0","pg-hstore":"^2.3.2","replace-ext":"^1.0.0","sequelize":"^5.3.0","sqlite3":"^4.0.6","tito":"^0.4.0"},"devDependencies":{"eslint":"^5.16.0","mocha":"^2.4.5","node-fetch":"^2.3.0","object-path":"^0.11.4","terminalizer":"^0.6.1"},"gitHead":"07fb56364559d03d4dd54d1ea07fe9ea525a4a85","_id":"tables@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.4.0","_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"dist":{"integrity":"sha512-CdUhOiZcKlPXNn/Bn159r62nbsida2ARRQWs+ujjibV6/M95IErb/E4WFaOZYJKUc/l24uQf9xL7tEV/QqusqA==","shasum":"45d897bcbb3941095fb3864c861e4b39466dafa0","tarball":"https://registry.npmjs.org/tables/-/tables-2.0.0.tgz","fileCount":26,"unpackedSize":5860868,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuODeCRA9TVsSAnZWagAAVdwP/RHx4U0deXiorjO2sROb\n/Dk3PPIHjFLTYUpQNwFSpqmQCFgzfWiDvNJnkT97PxK08JZpWbc/xprjzvNa\nZl7RYODdILJNnbyNAq4k7BBcSS+hiYDsUxBw8WRnjYMInVmVHS0CybRNvtyk\niAyDDm2gipXsDvPo3UAFxk5CcdkWElt7aR634m3gObpOIXWR+6gSENtWi0Xv\nm5g6Iq23bCfGGFhXOLRg5NXUim2Bac/0vpl7QZilSQKwsxePAB+0RiYkQAlR\nBcL2Lcyq+AVhtHo0Yki6tiys83d7IciK8aGhj2ZMV7+gHNZKGNdrmh1PXRy7\nosyb1wWAvw8saAbSIRNH5XasPrSrywsGlbvUlJlfIZK0Mq/p8lkQY3bHd9l9\npZ9Zdy5vOe6BDF59xB8yNjMeLsx/mjDzA+KkoT2dDwV923CAyjocYzM9036A\nY4+6COXPUnffdRhKTIKhP+LR+Kl+6zU13hHStxlyQsWUL2Qwuh/Up4ID7guT\nBfGCDXjyGnxh1pJsu2/NxlPsc7ibH7NKfIomnTX4UQphyT4naCs66J+D/u4m\nNI6nlzDHkVR2pHQmNIbWjPtK5tg7eSBoxeReRkbCAO/rALM8g6K/2ThrZfrv\nGEVTBXoMCOTNzQMwVmv0OaI/ebUC9pFWXc0fvVwreJdwi+x247PUIGY3hU0o\nqKf4\r\n=gH0g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPbQtITuAHrm6vQK8XpWAFNKGUy3fAkbqavEhcB7SyKgIhANMkt1O2w5CVOz0gMHQnQ5IdWcS9VF3T8hL9nB8xq/bc"}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_2.0.0_1555620061992_0.6659061608947556"},"_hasShrinkwrap":false},"2.1.0":{"name":"tables","version":"2.1.0","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","main":"index.js","bin":{"tables":"bin/tables.js"},"scripts":{"test":"mocha tests/*","example-water":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv","example-water-silent":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-silent.sqlite --silent","example-water-advanced":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-advanced.sqlite --key=unique_key --index-fields=\".*date,.*name,latitude,longitude,.*borough,status\" --overwrite","example-water-transformer":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-transformer.sqlite --key=custom_key --transformer=examples/nyc-water-example-transformer.js --overwrite","example-water-models":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-models.sqlite --models=examples/nyc-water-example-models.js --overwrite","example-water-pipe-no-db":"cat examples/nyc-water-quality-complaints.csv | ./bin/tables.js && ls tables-import.sqlite","example-water-remote":"curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | ./bin/tables.js --db=sqlite://examples/water-remote.sqlite --overwrite -y","example-github-json":"curl --silent https://api.github.com/users/zzolo/followers | ./bin/tables.js --format=json --db=sqlite://./examples/github-followers.sqlite --table-name=followers --key=id","example-fec-bulk-candidates":"curl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" | funzip | ./bin/tables.js --db=\"sqlite://examples/fec-bulk.sqlite\" --table-name=\"candidates\" --key=\"CAND_ID\" --csv-delimiter=\"|\" --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"","example-chicago-ordinance-violations":"curl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" | ./bin/tables.js --db=\"sqlite://examples/chicago.sqlite\" --table-name=\"ordinance_violations\" --key=\"ID\" --guess-size=1000 --batch-size=1000 --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,latitude,longitude,.*borough,status\"","examples":"npm run example-water && npm run example-water-silent && npm run example-water-advanced && npm run example-water-transformer && npm run example-water-models && npm run example-water-pipe-no-db && npm run example-water-remote && npm run example-github-json && npm run example-fec-bulk-candidates","example-movie-render":"terminalizer render docs/tables-examples.terminalizer.yml -o docs/tables-examples.terminalizer.gif"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=8.9.0"},"dependencies":{"chalk":"^2.4.2","cli-spinners":"^2.1.0","commander":"^2.20.0","debug":"^4.1.1","dotenv":"^2.0.0","event-stream":"^3.3.2","inquirer":"^6.2.2","lodash":"^4.17.11","log-symbols":"^2.2.0","log-update":"^3.2.0","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql2":"^1.6.5","pg":"^7.9.0","pg-hstore":"^2.3.2","replace-ext":"^1.0.0","sequelize":"^5.3.0","sqlite3":"^4.0.6","tito":"^0.4.0"},"devDependencies":{"eslint":"^5.16.0","mocha":"^2.4.5","node-fetch":"^2.3.0","object-path":"^0.11.4","terminalizer":"^0.6.1"},"gitHead":"ff5a65ab342f002f2851543fcc5da88e96cfa230","_id":"tables@2.1.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-4R+8GKNAomWYvuCEjJ+eDhKT56PyAeTm4CuKTzmoXuCuI80elBJwYUglr+dmhXKUTZ8tYqbYt5jLuzNuHzFW5w==","shasum":"8c0a45fd86485e15dd26e8aa8edd99467a6e5e01","tarball":"https://registry.npmjs.org/tables/-/tables-2.1.0.tgz","fileCount":27,"unpackedSize":5868679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvfC3CRA9TVsSAnZWagAA5xUP/REhzhFgBvUVkmE5uGlL\nOUqoPwOxNEV7h9zrhNfffdhSRGncQVAP2O0jKGewE5ROZbysfwvzCpekhXbh\nC97KLEID2L7dB/3ZekuNYtyABkfWOD+L5onGl0p+xmpLpuJ8DQziNvYPClOj\nii948QP57PaLkxGtdC7yUMAG8YmOe/ECZVPMkcilnu6tF9EbPPfZT7pms5Aw\ntAXbU7kYinZzsQOKu/FeD9DZmB5ODu+rlj8OPplDA03biDARY9AyiNZmULDd\n3oTQXrESxms/2LGsGMapTKtLydzS/rnIsbtP1iouo5mca72pVcd6f0quVO25\ntw/548bvCW6Z86eKP5/B6HliKrsIPyDfxmLfYsPX/XkYOgENMm41lK9HnZPX\n0qkdH4oQI3hhJUXMv8l6pvOkFfFRcMdxmBo8r/hZj5IUERohqmmjdkDy1jBY\nclT/x64y/zasUNdzM3Y8AUxF4U00zOHlxRsUy/ubvT4J6hQgk8RcTQEy9UkX\nySv8SRtZXpP3ZYiLqsa8cFS9SxpkAQuDObjoyt/z2TnKph9SFyWP9nRoNiHq\nJ9H+C2IFMrq1VHckHXgCW3oMAVDZ/rVjtlGtRnmzYLhCa5Q1GgpASPgXP8mh\ndhYiiI7ZFp3EQaj/rFPmA8gZT90nXKZjxanvFBj4SSW7E+qnQ2OR4Jil2dOd\nXVaM\r\n=07DZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHaLIRzoTCcFWm7UHELrX2ZI3lrdNzhn4pUyqTQBCe4lAiEA1K2ISY0UIIShO60GMEmygAmuSpaKFgZf+mH37q4CTRM="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_2.1.0_1555951798177_0.18265627878478785"},"_hasShrinkwrap":false},"2.2.0":{"name":"tables","version":"2.2.0","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","main":"index.js","bin":{"tables":"bin/tables.js"},"scripts":{"test":"mocha tests/*","example-water":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv","example-water-silent":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-silent.sqlite --silent","example-water-advanced":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-advanced.sqlite --key=unique_key --index-fields=\".*date,.*name,latitude,longitude,.*borough,status\" --overwrite","example-water-transformer":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-transformer.sqlite --key=custom_key --transformer=examples/nyc-water-example-transformer.js --overwrite","example-water-models":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-models.sqlite --models=examples/nyc-water-example-models.js --overwrite","example-water-pipe-no-db":"cat examples/nyc-water-quality-complaints.csv | ./bin/tables.js && ls tables-import.sqlite","example-water-remote":"curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | ./bin/tables.js --db=sqlite://examples/water-remote.sqlite --overwrite -y","example-water-hook":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv -c examples/nyc-water-example-hooks.js --db=sqlite://./examples/water-hooks.sqlite --overwrite -y","example-github-json":"curl --silent https://api.github.com/users/zzolo/followers | ./bin/tables.js --format=json --db=sqlite://./examples/github-followers.sqlite --table-name=followers --key=id","example-fec-bulk-candidates":"curl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" | funzip | ./bin/tables.js --db=\"sqlite://examples/fec-bulk.sqlite\" --table-name=\"candidates\" --key=\"CAND_ID\" --csv-delimiter=\"|\" --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"","example-chicago-ordinance-violations":"curl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" | ./bin/tables.js --db=\"sqlite://examples/chicago.sqlite\" --table-name=\"ordinance_violations\" --key=\"ID\" --guess-size=1000 --batch-size=1000 --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,latitude,longitude,.*borough,status\"","examples":"npm run example-water && npm run example-water-silent && npm run example-water-advanced && npm run example-water-transformer && npm run example-water-models && npm run example-water-pipe-no-db && npm run example-water-remote && npm run example-water-hook && npm run example-github-json && npm run example-fec-bulk-candidates","example-movie-render":"terminalizer render docs/tables-examples.terminalizer.yml -o docs/tables-examples.terminalizer.gif"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=8.9.0"},"dependencies":{"chalk":"^2.4.2","cli-spinners":"^2.1.0","commander":"^2.20.0","debug":"^4.1.1","dotenv":"^2.0.0","event-stream":"^3.3.2","inquirer":"^6.2.2","lodash":"^4.17.11","log-symbols":"^2.2.0","log-update":"^3.2.0","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql2":"^1.6.5","pg":"^7.9.0","pg-hstore":"^2.3.2","replace-ext":"^1.0.0","sequelize":"^5.3.0","sqlite3":"^4.0.6","tito":"^0.4.0"},"devDependencies":{"eslint":"^5.16.0","mocha":"^2.4.5","node-fetch":"^2.3.0","object-path":"^0.11.4","terminalizer":"^0.6.1"},"gitHead":"4ae0d8d75662748cbf35724d5675651d43bc526b","_id":"tables@2.2.0","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-ClyEghkj6o0BSjE3Bb0ZGbgbtQVlsE/j8D9eAoDjlz45LT9SZf/PQZUeyvUmawizHpK3ehfaJO+8wahLnbNv7g==","shasum":"9a3b5a795af97e69c46af5f5f6771c6277ffc5c9","tarball":"https://registry.npmjs.org/tables/-/tables-2.2.0.tgz","fileCount":28,"unpackedSize":5871283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcviL2CRA9TVsSAnZWagAAi5QQAIC/LIgbfQA9owHE5c7M\nSynrngMmQK2sR9S9ROlAdX5eFjLrhORlLJvMT/gRW51NTdu6o5CS4IEmeVz0\nsQQE9n1aor+nq7Vwg33KNzp58ooVf9k/WnnNeTITB0iJaWhyvdgZCIkIAjiV\nwmvf5GR7k0CRtrTjn8wHPFX01qTmi6KN53AwTx7cLB6wFHPxKmsoITpl8hIs\neTNztQU42Ia8NjEV4fpldQh9F6ifHYzF47d4og9LMw4+7R7LQ2f145eV+dP4\nSDHofwrSxR3JAy7lbi36k7zt4mMItBVfalvGThXJjZDa4C0wmACN///7sSkg\njJPc7Hhb54woOkwTHyqXVOOKWNoNPDXuXULylDhTAvVcUwPzPUaTXVYLJGLJ\nchlXUuEew2w79JZTg4Du+nfNNaArGUHhL0J2jIhZ2eN5AsVO9Tfebj56g5JX\nlNx4UmwDNrEeeHx5/lhW/aSIWMT6kllU1TyLVSsrnVwiEDP3uRVBTQBWSIX/\nYVALMxYDGmnHRSd9EHIa3L44LwmeQ2YiqzPoG80EZQOFasE2BC8iTqPnd1kL\ndir5TOkDrhDLRHZBTNjcpULNOEiJyvoZ3a9dzBHX/+8K7gq/A1naedeI7u9V\nw9+6H3k4CeMuUg+Mp3kFnIunerqoIFFGzYoK6KTQ8IEJI6gSQcvAkvoLEB34\nuTq6\r\n=PPJx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyedZ9a9u0WHi3Xb9gXsSbe7+RJveEJLwP5QWkEQIw3AIgTSQfHpX3PZ+YAn00yx1fom0badlGFoSevENpaVClg3g="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_2.2.0_1555964661340_0.23542225980663956"},"_hasShrinkwrap":false},"2.2.1":{"name":"tables","version":"2.2.1","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","main":"index.js","bin":{"tables":"bin/tables.js"},"scripts":{"test":"mocha tests/*","example-water":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv","example-water-silent":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/waterx-silent.sqlite --silent","example-water-advanced":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-advanced.sqlite --key=unique_key --index-fields=\".*date,.*name,latitude,longitude,.*borough,status\" --overwrite","example-water-transformer":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-transformer.sqlite --key=custom_key --transformer=examples/nyc-water-example-transformer.js --overwrite","example-water-models":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-models.sqlite --models=examples/nyc-water-example-models.js --overwrite","example-water-pipe-no-db":"cat examples/nyc-water-quality-complaints.csv | ./bin/tables.js && ls tables-import.sqlite","example-water-remote":"curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | ./bin/tables.js --db=sqlite://examples/water-remote.sqlite --overwrite -y","example-water-hook":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv -c examples/nyc-water-example-hooks.js --db=sqlite://./examples/water-hooks.sqlite --overwrite -y","example-github-json":"curl --silent https://api.github.com/users/zzolo/followers | ./bin/tables.js --format=json --db=sqlite://./examples/github-followers.sqlite --table-name=followers --key=id","example-fec-bulk-candidates":"curl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" | funzip | ./bin/tables.js --db=\"sqlite://examples/fec-bulk.sqlite\" --table-name=\"candidates\" --key=\"CAND_ID\" --csv-delimiter=\"|\" --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"","example-chicago-ordinance-violations":"curl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" | ./bin/tables.js --db=\"sqlite://examples/chicago.sqlite\" --table-name=\"ordinance_violations\" --key=\"ID\" --guess-size=1000 --batch-size=1000 --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,latitude,longitude,.*borough,status\"","examples":"npm run example-water && npm run example-water-silent && npm run example-water-advanced && npm run example-water-transformer && npm run example-water-models && npm run example-water-pipe-no-db && npm run example-water-remote && npm run example-water-hook && npm run example-github-json && npm run example-fec-bulk-candidates","example-movie-render":"terminalizer render docs/tables-examples.terminalizer.yml -o docs/tables-examples.terminalizer.gif"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=8.9.0"},"dependencies":{"chalk":"^2.4.2","cli-spinners":"^2.1.0","commander":"^2.20.0","debug":"^4.1.1","dotenv":"^2.0.0","event-stream":"^3.3.2","inquirer":"^6.2.2","lodash":"^4.17.11","log-symbols":"^2.2.0","log-update":"^3.2.0","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql2":"^1.6.5","pg":"^7.9.0","pg-hstore":"^2.3.2","replace-ext":"^1.0.0","sequelize":"^5.3.0","sqlite3":"^4.0.6","tito":"^0.4.0"},"devDependencies":{"eslint":"^5.16.0","mocha":"^2.4.5","node-fetch":"^2.3.0","object-path":"^0.11.4","terminalizer":"^0.6.1"},"gitHead":"160fbea201e3b247c456a1ff75130df69a265400","_id":"tables@2.2.1","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Ts4uMmCA/yY3xK6pmTH71pai9GiNbC+H79cmoW4id1nQR7G16webGuSCMG7d9kTj+N/aIl0X2fDhGLCqxFOmXw==","shasum":"f39cb6efedbbc7a4f26931e17c34b6a504584a3f","tarball":"https://registry.npmjs.org/tables/-/tables-2.2.1.tgz","fileCount":28,"unpackedSize":5871479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcviSuCRA9TVsSAnZWagAAidEP/3e7QkDbBqu3siRFttpP\nyRTfNodUyJAj987x/b7++anV30GtjLbzX1VwN2XlUjD9W/hz9Gbtrlhe7VhY\nPd1/OYIK0wYUWiCShog9KDRuzlCQ4X4AGyrMRqiVhDdoXy8yqjfYR/LRtilO\nwdLS2YDqotrEbHt+2W38x5jOdJ5FrU5FLFyRXGJf2SvngQmP4IU92wX6VGKK\n0ucdX9Ij0Y/4B5QZVLZlH5sElmc7fVI1ONnwZpzNSXwtMrPCrbsnh1zajmYJ\njZD3GZ7oU8Ew97uYSqnWvzZntiHdaqN/NKISso6BQ3E0TNHtrtCKB+L7NK00\ndht6pKVa3IDIy6eNQGveuGV8ClMSu3QAzcL+SrrVg22MN8VRsn7geg/CoeLE\nBWo3r2NljyWIVSiV10uRAI5SRzbB4QxpKZYcr/3NeBeo6K6YQ6E2+iZq0etk\nhDnyjsEu9WL740QDCdyHU8c0Thj9eCiJUEST/6TzRC/ZlFmFUIEm7tkRkuyX\nX5OZChsF2OAsGgaqO7/wUjnqth/sW0HfsauNKTD76q4/ZKSSXnhDTGS8c4ZO\n2YT9nxYE/OLte18vkTIw1KJP/opI47yCWKjZuss1cbwXJw7xM56Ua11lZBNK\nciIXIYrESZadIOQM7M5SRwsEG+1e6/hWS2/S9rPSgDIVQTeil9IrcdowBPxJ\ne106\r\n=yeYB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFE/WVCL/uieRDstYRpCvCrVU2OFfZ7Kg018Xamvz5rWAiA4+xL/08jsnAETIq5x7DyaKK0cY+UWtiaesz1w3Tjf2g=="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_2.2.1_1555965101662_0.5260791578948676"},"_hasShrinkwrap":false},"2.2.2":{"name":"tables","version":"2.2.2","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","main":"index.js","bin":{"tables":"bin/tables.js"},"scripts":{"test":"mocha tests/*","example-water":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv","example-water-silent":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/waterx-silent.sqlite --silent","example-water-advanced":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-advanced.sqlite --key=unique_key --index-fields=\".*date,.*name,latitude,longitude,.*borough,status\" --overwrite","example-water-transformer":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-transformer.sqlite --key=custom_key --transformer=examples/nyc-water-example-transformer.js --overwrite","example-water-models":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-models.sqlite --models=examples/nyc-water-example-models.js --overwrite","example-water-pipe-no-db":"cat examples/nyc-water-quality-complaints.csv | ./bin/tables.js && ls tables-import.sqlite","example-water-remote":"curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | ./bin/tables.js --db=sqlite://examples/water-remote.sqlite --overwrite -y","example-water-hook":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv -c examples/nyc-water-example-hooks.js --db=sqlite://./examples/water-hooks.sqlite --overwrite -y","example-github-json":"curl --silent https://api.github.com/users/zzolo/followers | ./bin/tables.js --format=json --db=sqlite://./examples/github-followers.sqlite --table-name=followers --key=id","example-fec-bulk-candidates":"curl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" | funzip | ./bin/tables.js --db=\"sqlite://examples/fec-bulk.sqlite\" --table-name=\"candidates\" --key=\"CAND_ID\" --csv-delimiter=\"|\" --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"","example-chicago-ordinance-violations":"curl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" | ./bin/tables.js --db=\"sqlite://examples/chicago.sqlite\" --table-name=\"ordinance_violations\" --key=\"ID\" --guess-size=1000 --batch-size=1000 --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,latitude,longitude,.*borough,status\"","examples":"npm run example-water && npm run example-water-silent && npm run example-water-advanced && npm run example-water-transformer && npm run example-water-models && npm run example-water-pipe-no-db && npm run example-water-remote && npm run example-water-hook && npm run example-github-json && npm run example-fec-bulk-candidates","example-movie-render":"terminalizer render docs/tables-examples.terminalizer.yml -o docs/tables-examples.terminalizer.gif"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=8.9.0"},"dependencies":{"chalk":"^2.4.2","cli-spinners":"^2.1.0","commander":"^2.20.0","debug":"^4.1.1","dotenv":"^2.0.0","event-stream":"^3.3.2","inquirer":"^6.2.2","lodash":"^4.17.11","log-symbols":"^2.2.0","log-update":"^3.2.0","merge2":"^1.0.1","moment-timezone":"^0.5.1","mysql2":"^1.6.5","pg":"^7.9.0","pg-hstore":"^2.3.2","replace-ext":"^1.0.0","sequelize":"^5.3.0","sqlite3":"^4.0.6","tito":"^0.4.0"},"devDependencies":{"eslint":"^5.16.0","mocha":"^2.4.5","node-fetch":"^2.3.0","object-path":"^0.11.4","terminalizer":"^0.6.1"},"gitHead":"536e4fa1b814f86a92e2db6560dbd40519c5de0e","_id":"tables@2.2.2","_nodeVersion":"10.15.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-22R3tMAgOXwGqWk+K7Vc9+nG2kwq0z/wMckecuNHDZ1Dv+dHZYLcMqoIdG8Ih6EBs+Y79xPPTzQ6Nj0GZT/paw==","shasum":"cc7fb882ce26c29c9345aed6ae7c1567c19e8d07","tarball":"https://registry.npmjs.org/tables/-/tables-2.2.2.tgz","fileCount":28,"unpackedSize":5871421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvigHCRA9TVsSAnZWagAAjUkP/1U/R4yTY4htYxua5Y0L\n6O7a3RX2kdVSPVR/MIKqmQPfJSIstn1YBh3lzxJgU4swUrfiGzvId0Pq17jj\nMOOeDO7KLkvbaZF98ffILnUK+scr0pWHvGTTqYz/oWqagCYddJMsR5VilWB0\nGGoVXwY7jU3OvuAXMfglwv/LPO6SkDBNDzngVjtKtwUNY+GX2VxlZmYLmLXz\nKuPwOoLwwwOHgSVi1irMiq1IO9BbNy6HkOYhXuziLjXsW0b1WPGj2ZqZnytF\n1afyYFs8X4fPDXlWsBRgk3GCCGi8/SkCLv4CBtrwFCJpXZCBEd7vgz9G4faN\ngCkPPcoERN1wM2/dXRX71GD/k8ykMtcVWyucd0IRXBYQ7oq9Vx/AYx8Szhlv\ncT5uZHhVgG0cdMgWcOvfwQl+lpAAHfGZ0RUxEKh7TxbTqKLzTf8qBcpZvrWA\nfLVf4X5nttR58y6K5Jxu4YDgwv7YoGlDMKMZx3g9EpLtMQyxvz3yeT8ThF8+\n2VgvQH3pUot7WI3Jx9cm4UY5iQdgUN54tuVrQF+yaEiwYBw3H1A9zpE+7uXx\nyy/yNHYElrctRMwDLCXNEtUe5NBdkONgcjViJdrSow3pi3svuJo3mFtvwiKD\nuIpuBRp4VvUOiAlj4vFGsME0DZy4TG5lTgyy1PDZH56DvJ7c76aBnls4jxpq\nPA5d\r\n=7Atv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHrIvl75VesgiJQXyWvIHGnN6k1c3PZOo6ItWmheoJQKAiEA9MkrSEho2OtyL57ijoHpiooL5kQVOxxrXr129nej+98="}]},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_2.2.2_1555965958503_0.6864869982252291"},"_hasShrinkwrap":false},"2.3.0":{"name":"tables","version":"2.3.0","description":"Tables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational tables quickly and easily.","main":"index.js","bin":{"tables":"bin/tables.js"},"scripts":{"test":"mocha tests/*","example-water":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv","example-water-silent":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/waterx-silent.sqlite --silent","example-water-advanced":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-advanced.sqlite --key=unique_key --index-fields=\".*date,.*name,latitude,longitude,.*borough,status\" --overwrite","example-water-transformer":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-transformer.sqlite --key=custom_key --transformer=examples/nyc-water-example-transformer.js --overwrite","example-water-models":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv --db=sqlite://examples/water-models.sqlite --models=examples/nyc-water-example-models.js --overwrite","example-water-pipe-no-db":"cat examples/nyc-water-quality-complaints.csv | ./bin/tables.js && ls tables-import.sqlite","example-water-remote":"curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | ./bin/tables.js --db=sqlite://examples/water-remote.sqlite --overwrite -y","example-water-hook":"./bin/tables.js -i examples/nyc-water-quality-complaints.csv -c examples/nyc-water-example-hooks.js --db=sqlite://./examples/water-hooks.sqlite --overwrite -y","example-github-json":"curl --silent https://api.github.com/users/zzolo/followers | ./bin/tables.js --format=json --db=sqlite://./examples/github-followers.sqlite --table-name=followers --key=id","example-fec-bulk-candidates":"curl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" | funzip | ./bin/tables.js --db=\"sqlite://examples/fec-bulk.sqlite\" --table-name=\"candidates\" --key=\"CAND_ID\" --csv-delimiter=\"|\" --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"","example-chicago-ordinance-violations":"curl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" | ./bin/tables.js --db=\"sqlite://examples/chicago.sqlite\" --table-name=\"ordinance_violations\" --key=\"ID\" --guess-size=1000 --batch-size=1000 --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,latitude,longitude,.*borough,status\"","examples":"npm run example-water && npm run example-water-silent && npm run example-water-advanced && npm run example-water-transformer && npm run example-water-models && npm run example-water-pipe-no-db && npm run example-water-remote && npm run example-water-hook && npm run example-github-json && npm run example-fec-bulk-candidates","example-movie-render":"terminalizer render docs/tables-examples.terminalizer.yml -o docs/tables-examples.terminalizer.gif"},"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"keywords":["CSV","JSON","SQL"],"author":{"name":"Alan Palazzolo"},"license":"MIT","bugs":{"url":"https://github.com/zzolo/tables/issues"},"homepage":"https://github.com/zzolo/tables#readme","engines":{"node":">=8.9.0"},"dependencies":{"chalk":"^4.1.0","cli-spinners":"^2.5.0","commander":"^6.2.1","debug":"^4.3.1","dotenv":"^8.2.0","event-stream":"^4.0.1","inquirer":"^7.3.3","lodash":"^4.17.20","log-symbols":"^4.0.0","log-update":"^4.0.0","merge2":"^1.4.1","moment-timezone":"^0.5.32","mysql2":"^2.2.5","pg":"^8.5.1","pg-hstore":"^2.3.3","replace-ext":"^2.0.0","sequelize":"^6.3.5","sqlite3":"^5.0.1","tito":"^0.6.1"},"devDependencies":{"eslint":"^7.17.0","mocha":"^8.2.1","node-fetch":"^2.6.1","object-path":"^0.11.5","terminalizer":"^0.7.2"},"gitHead":"6e7c61338252edd9fb531aaf9b6d9ffde29f9291","_id":"tables@2.3.0","_nodeVersion":"14.15.0","_npmVersion":"6.14.8","dist":{"integrity":"sha512-nOFgtbMnu7rEVg7YiQwIUaGbtwGJ7DyN2J/wrNxwxSuc6Ws8gIRKWRwmvYvnDdB0yPJV3C6mHrVME/b/47SVhg==","shasum":"60392dc1f11319e200c5210609913c4c5eddd1e2","tarball":"https://registry.npmjs.org/tables/-/tables-2.3.0.tgz","fileCount":28,"unpackedSize":5877217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgC5imCRA9TVsSAnZWagAAHGYP/jcXpelaONA02Hpv71uH\noin+t5SxFOKK2kqob4SJzk59fcYjB9liHkuJXXFV7apFJ9xQF0YWkGOaJJ3F\naSgtLliksPdkJR5VgktVHhQ5asK+e0PK9zCfyRS6oRnXQd+xGNSietB2umWx\nge/4QzDitopNkQYQA/DT7XlkZ2FpBg62tyTGTYFUWGSS7qQDYjnwNgWZWkV1\n31CF3G65szyDdHSZLzvHQSG83gE5bCNMw0mfe3afs9RsR3ybKHZunudY7Fwq\nyNTgap+bmMymnrODuy9swdUUNm06Lx9JFOcQyG8hst1VlkOvutyl5AibToE2\njn2F8Sw30wR4kAqHxIXrEuQaKwEEG6D6ZevU3AMhLipYdYqaPQ+xTJQ3IeLC\nb8A2Qak/nFpHbev4RRFjsrIUIldioZN4zkKZ+HM9njECHq8pSRbrbEe7RMN5\nusAzps4WEsiqPejW8Tt7xZguaAt1wP+GSWLFhsQ0DJ2DCc1MWVTeyvqOuhCl\nlLADrBHIGkkoSZwCeUJ4PPwcgYtE+LqhsL1QmX+7F5a1RUY5FowuOb4bJnYn\nlOfah/HC1kI9ZQPdoOUICBo7xRQa8JfWoi/S38CYy8yPotFTMd+qaMTGoRlb\ntyukSziBUpfFLUbWY4g4hbYocwqgQIfW5ak1/Yx92VZIZZnMxvcWJkb0sHgE\nCmfI\r\n=wJ91\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA6afIbwkFRm+5GQjaNVYtDiw1F0ZG/wJ1UCkOz7B3RjAiEA8Vpo46Uf/hgJpaUiPOqTogRednpWGqbN8ZcYs7VogIQ="}]},"_npmUser":{"name":"zzolo","email":"npm@zzolo.org"},"directories":{},"maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tables_2.3.0_1611372710374_0.8773845792826902"},"_hasShrinkwrap":false}},"readme":"# Tables\n\nTables is a simple command-line tool and powerful library for importing data like a CSV or JSON file into relational database tables. The goal is to make data import easy, configurable, and stable for large datasets into a relational database for better analysis.\n\n[![Image showing build status with Travis CI](https://travis-ci.org/zzolo/tables.svg?branch=master \"Build Status\")](https://travis-ci.org/zzolo/tables) [![Image showing status of NPM depencies](https://david-dm.org/zzolo/tables.svg)](https://david-dm.org/zzolo/tables \"Dependencies\")\n[![Image showing license for project](https://img.shields.io/npm/l/tables.svg \"License\")]()\n\n![Animated gif showing basic usage of Tables](https://github.com/zzolo/tables/raw/master/docs/tables-examples.terminalizer.gif \"Basic Tables usage\")\n\n## Install\n\n- To include as a library: `npm install tables`\n- To use as a command-line tool: `npm install -g tables`\n  - Or you can use directly via `npx`: `npx tables ...`\n\n## Features\n\n- Automatic data type guessing.\n- Automatic indexes guessing.\n- Efficient memory and CPU usage utilizing Node streams.\n- Supports CSV-ish, JSON, NDJSON, and HTML table data sources (utilizes [tito](https://github.com/shawnbot/tito)).\n- Default use of SQLite so no need to setup a database server.\n- (Needs re-do) Resumable (currently only works for CSV in input mode).\n- Sane defaults.\n- Supports MySQL, Postgres, and SQLite.\n  - Untested in MSSQL\n- Useful, pretty output\n\n## Command line usage\n\nThe command line version can handle most of the simple options that the library uses. A simple example that reads in a CSV named `filename.csv` will produce an SQLite database at `filename.sqlite`.\n\n```bash\ntables -i filename.csv\n```\n\n### CLI options\n\nUse the `--help` option to get a full, up-to-date look at what the options are, but here are most of them for reference:\n\n- `--help`: Shows help message.\n- `--version`: Outputs version.\n- `--input`: The input file to use. Tables also can use a piped in source as well, if this is not provided. See _Pipe_ section below.\n- `--db`: The database URI to push data into. By default, Tables will use the input option to create a SQLite database with the same path with a `.sqlite` extension, or for piping, it will create an SQLite database name `tables-import.sqlite` where the command is run. If you are using a password to access your database please consider using the `TABLES_DB_URI` environment variable for security reasons. Examples:\n  - `--db=\"sqlite://./my-new-db.sql\"`\n  - `--db=\"mysql://username:password@localhost/my-database\"`\n  - `--db=\"postgres://username:@localhost:1234/my-database\"`\n- `--format`: Force type of parsing. This is determined from filename and defaults to `csv`. Valid values are `csv`, `tsv`, `json`, `ndjson`, `html`.\n- `--key`: Creates a unique key from columns if the models options in config is not provided. This is a **suggested option** as it allows for data to be updated as opposed to being added to. You can use a comma-delimited list of columns for a multi-column key, like \"column 1,other,thing\". Do note that this option only works if not manually defining the model, specifically in a config file.\n- `--index-fields`: Defines which fields will be indexed. By default this looks fields that end in \"key\", \"id\", or \"name\".\n  - Provide a JS regular expression that starts with `/`, for example `/^(key|column)$`.\n  - Or provide a comma-separated list of columns or regular-expression-like values, such as `key|column_1` or `.*key|.*id`.\n- `--table-name`: Specify name of table importing into. By default, Tables uses the file name if provided, or `tables_import` for piping data. Do note that this option only works if not manually defining the model, specifically in a config file.\n- `--silent`: No output except errors.\n- `--overwrite`: **WARNING: DELETES DATA** Removes existing data and tables. Use this is you don't have a unique key, `--key` option, defined or if your model has changed.\n- `--batch-size`: Numbers of rows to import at once. Default is `500`. Use lower or higher numbers depending on the database and how it is configured.\n- `--guess-size`: Numbers of rows to use for guessing model. Default is `500`. Use lower or higher numbers depending on the database and how it is configured.\n- `--csv-headers`: Use the keyword, false, if there are no headers. Or use a comma separated list of headers. Defaults to reading headers from file. Forces type to CSV.\n- `--csv-delimiter`: CSV delimiter character. Defaults to `,`. If you need to use a tab character, use `--csv-delimiter=$'\\t'`. Forces type to CSV.\n- `--csv-quote`: CSV quote character. Defaults to `\"`. Forces type to CSV.\n- `--json-path`: JSON path to use for parsing rows. Default is `*`. See [JSONStream](https://github.com/dominictarr/JSONStream). Forces type to CSV.\n- `--html-selector`: CSS selector to target specific table when using the `html` type.\n- `--date-format`: Date format to use when guessing date columns and parsing data. Defaults to `MM/DD/YYYY`. See [moment.js](http://momentjs.com/docs/) for options.\n- `--datetime-format`: Datetime format to use when guessing date columns and parsing data. Defaults to `MM/DD/YYYY HH:mm:ss a`. See [moment.js](http://momentjs.com/docs/) for options.\n- `--transformer`: Point to a JS module that exports a function to transform the data before being loaded into the database. See _transformer_ documentation below.\n- `--models`: Point to a JS module that exports a function to define the database models (table layout). See _models_ documentation below.\n- `--no-transactions`: Turn off transactions. Each batch is a single transaction.\n- `--no-optimize`: Turn off optimizations that run before and after database inserts/updates are made. For very large datasets, optimizing could add a significant amount of time Tables takes.\n- `--config`: Allows to use a JS file that exports configuration for Tables. Any other options will override the values in the file. This allows for options that are not easily supported on a command line. See _Options_ section under _Library Use_.\n\n### Piping\n\nPiping in data is supported. It should be noted that a couple things happen with piping. A bit more memory is used if guessing models. A progress bar with time estimate cannot be used since we can't know how much data is in total. Without an input file and certain options not defined, the default SQLite file will be `tables-import.sql` and table name of `tables_import`.\n\n```sh\ncat filename.json | tables -f json\n```\n\n### Examples\n\nGet data from the NYC Data Portal about water quality complaints and then create an SQLite database of the same name. This will create `examples/nyc-water-quality-complaints.sql` with a `nyc_water_quality_complaints` table that has all the data.\n\n```sh\n$ curl --silent \"https://data.cityofnewyork.us/api/views/qfe3-6dkn/rows.csv\" | tables --db=\"sqlite://nyc-water-quality-complaints.sqlite\" --table-name=\"nyc_water_complaints\";\n$ sqlite3 nyc-water-quality-complaints.sqlite\nsqlite> .tables\nsqlite> SELECT * FROM nyc_water_complaints;\n```\n\nPut my Github followers into an SQLite database named `github.sql` and table name `followers`:\n\n```sh\ncurl --silent \"https://api.github.com/users/zzolo/followers\" | tables --format=\"json\" --db=\"sqlite://./examples/github.sqlite\" --table-name=\"followers\" --key=\"id\";\n```\n\nUsing a little script to turn a paging API into [ndjson](http://ndjson.org/), we can get all 40k+ candidates from the [FEC API](https://api.open.fec.gov/developers/).\n\n```sh\nFEC_API_KEY=xxxxx node examples/api-pager.js --uri=\"https://api.open.fec.gov/v1/candidates/?per_page=100&page=[[page]]&api_key=$FEC_API_KEY\" --results=\"results\" --page=\"pagination.page\" --pages=\"pagination.pages\" | tables --db=\"sqlite://examples/fec.sqlite\" --table-name=\"candidates\" --key=\"candidate_id\"\n```\n\nOr, use the [FEC bulk downloads](https://www.fec.gov/data/browse-data/?tab=bulk-data) to get candidates from a specific year. The format that the bulk data comes in is pipe (`|`) delimited and does not have headers, but we can account for that with specific arguments.\n\n```sh\ncurl -L --silent \"https://www.fec.gov/files/bulk-downloads/2020/weball20.zip\" \\\n| funzip \\\n| tables --db=\"sqlite://examples/fec-bulk.sqlite\" \\\n  --table-name=\"candidates\" \\\n  --key=\"CAND_ID\" \\\n  --csv-delimiter=\"|\" \\\n  --csv-headers=\"CAND_ID,CAND_NAME,CAND_ICI,PTY_CD,CAND_PTY_AFFILIATION,TTL_RECEIPTS,TRANS_FROM_AUTH,TTL_DISB,TRANS_TO_AUTH,COH_BOP, COH_COP,CAND_CONTRIB,CAND_LOANS,OTHER_LOANS,CAND_LOAN_REPAY,OTHER_LOAN_REPAY,DEBTS_OWED_BY,TTL_INDIV_CONTRIB,CAND_OFFICE_ST,CAND_OFFICE_DISTRICT,SPEC_ELECTION,PRIM_ELECTION,RUN_ELECTION,GEN_ELECTION,GEN_ELECTION_PRECENT,OTHER_POL_CMTE_CONTRIB,POL_PTY_CONTRIB,CVG_END_DT,INDIV_REFUNDS,CMTE_REFUNDS\"\n```\n\nLoad in 600k+ rows of [ordinance violations in Chicago](https://data.cityofchicago.org/Administration-Finance/Ordinance-Violations/6br9-quuz). This specific examples expands on what fields will be indexed. Indexing will make the database loading a bit slower and will increase disk size (this produced a 500MB+ file), but will make queries faster. We also update the model guessing size which helps alleviates issues with guessing field length. And then update the batch size which may help speed things up, though this is dependent on may things.\n\n```sh\ncurl -L --silent \"https://data.cityofchicago.org/api/views/6br9-quuz/rows.csv?accessType=DOWNLOAD\" \\\n| tables \\\n  --db=\"sqlite://examples/chicago.sqlite\" \\\n  --table-name=\"ordinance_violations\" \\\n  --key=\"ID\" \\\n  --guess-size=1000 \\\n  --batch-size=1000 \\\n  --index-fields=\".*date,.*name,.*number,.*disposition,.*fine,.*cost,.*code,latitude,longitude,.*borough,status\" \\\n  --overwrite \\\n  --yes\n```\n\n## Library use\n\nInclude like most libraries:\n\n```js\nconst { Tables } = require(\"tables\");\n```\n\nImport in a CSV file:\n\n```js\n// Define instance\nlet t = new Tables({\n  input: \"./examples/nyc-water-quality-complaints.csv\",\n  db: \"sqlite://examples/nyc-water-complaints.sqlite\",\n  // If running as a library, you probably want to supress the output\n  silent: true\n});\n\n// Run import\nawait t.start();\n```\n\n### Library options\n\n- `models`: This is how the database tables are defined. If this is left empty, Tables will try to guess this from some of the data. We use [Sequelize models](http://docs.sequelizejs.com/manual/models-definition.html) to help abstract things for different database. Data types are the types supported by [Sequelize types](http://docs.sequelizejs.com/manual/data-types.html). The only different is that you can attach a `tablesInputColumn` property to each field to help with auto-transforming.\n\n  - Argument `databaseConnection`: This is the Sequelize instance.\n  - Argument `Sequelize`: This is the Sequelize library for getting the data types from.\n  - Argument `options`: The options that were passed to the Tables object.\n  - Context: The context of the function should be the Tables object.\n  - Returns: The function should return an object of Sequelize Models.\n  - Example:\n\n    ```js\n    ...\n    models: (db, Sequelize, options) {\n      class ExampleModel extends Sequelize.Model {}\n      ExampleModel.init(\n        {\n          id: {\n            // This is our only custom field that will help the auto\n            // transformer know how to match up fields\n            tablesInputColumn: 'Unique Key',\n            // Field describes the column name in the database\n            field: 'id',\n            type: Sequelize.STRING(128),\n            primaryKey: true\n          },\n          type: {\n            tablesInputColumn: 'Complaint Type',\n            field: 'type',\n            type: Sequelize.STRING(128)\n          },\n          description: {\n            tablesInputColumn: 'Descriptor',\n            field: 'description',\n            type: Sequelize.TEXT\n          }\n        },\n        {\n          sequelize: db,\n          tableName: 'example_model',\n          indexes: [\n            // These need to be the field name, not the\n            // sequelize name\n            fields: ['type', 'description']\n          ]\n          // These are suggested, but not necessary\n          timestamps: false,\n          underscored: true,\n          freezeTableName: true\n        }\n      );\n\n      return {\n        // The key here is important if writing your own\n        // transformer\n        exampleModel: ExampleModel,\n        // You could have multiple models/tables\n        // anotherTable: AnotherTable,\n        // lookupTable: LookupTable\n      };\n    }\n    ...\n    ```\n\n- `transformer`: Custom transform function that will get run before loading data into the database. If not provided, Tables will use the an automatic transform function that uses the models to try to match up columns. The context is the Tables object and arguments are:\n\n  - Argument `data`: Data coming from format pipe.\n  - Argument `models`: Models configuration. If the `models` options is not provided, the transformer function gets run when guessing models, so this will be undefined when that happens.\n  - Argument `options`: Options that were given or configured by the Tables object.\n  - Context: The context of the function will be the Tables object.\n  - Returns: Should return transformed data, an object where each key correspondes to a model, and each value is the row of data to insert/update.\n  - For example:\n\n    ```js\n    ...\n    transformer: (data, models, options) {\n      return {\n        modelName: {\n          id: data['Unique Key'],\n          thing: data.t + 1,\n          other: data['OTHER']\n        }\n      };\n    }\n    ...\n    ```\n\n- `formatOptions`: Options to pass to the stream parser. This will depend on what `inputType` option is given and the defaults change on that as well. See [tito](https://github.com/shawnbot/tito) for full options.\n\n  - The CSV parser is [fast-csv](https://github.com/C2FO/fast-csv)\n  - The JSON parser is [JSONstream](https://github.com/dominictarr/JSONStream) and should be in a format like `{ path: \"*\" }`.\n  - The HTML table parser can use a CSS selector to get the table with some like `{ selector: \".table\" }`\n\n- `fieldsToIndex`: Used if guessing models (i.e. `models` options is not provided). This should be a JS regular expression or a string version of a regular expression.\n- `dbOptions`: Tables uses [Sequelize](http://sequelize.readthedocs.org/) as its ORM to more easily support multiple database backends. This options is an object that goes into `new Sequelize(uri, options)`. Defaults in here are important for regular Tables usage.\n- `hooks`: An object of functions that get run at certain points during Tables lifecycle. All hooks pass the `sequelize`, `models`, and `options` object, with the Tables instance as the context. The following are the supported hooks:\n  - `finish`: Run right before the final optimize step. Helpful for database updates that can't be performed during import.\n\nThe following are all options that correspond to command-line options; see that section for more description.\n\n| Library option   | CLI option          | Notes                                                                              |\n| ---------------- | ------------------- | ---------------------------------------------------------------------------------- |\n| `input`          | `--input`           |                                                                                    |\n| `format`         | `--format`          |                                                                                    |\n| `db`             | `--db`              | Suggested to use `TABLES_DB_URI` environment variable if you are using a password. |\n| `tableName`      | `--table-name`      |                                                                                    |\n| `key`            | `--key`             |                                                                                    |\n| `batchSize`      | `--batch-size`      |                                                                                    |\n| `guessSize`      | `--guess-size`      |                                                                                    |\n| `dateFormat`     | `--date-format`     |                                                                                    |\n| `datetimeFormat` | `--datetime-format` |                                                                                    |\n| `overwrite`      | `--overwrite`       |                                                                                    |\n| `silent`         | `--silent`          |                                                                                    |\n\n## Tips\n\n* If you run into a `Parse Error` on a \"CSV\" input and your input doesn't actually use quote characters, it could be that you need to set the quote character to null or an empty string, i.e. `--csv-quote=\"\"`.\n\n## Debugging\n\nUse the `DEBUG` environment variable to get debug information, for instance `DEBUG=tables*`.\n\n## Tests\n\nTests are run through mocha; after a `npm install`, do the following:\n\n```bash\nnpm run test\n```\n\n## Credits\n\nTables was worked on while I worked at WNYC and Star Tribune.\n","maintainers":[{"name":"zzolo","email":"npm@zzolo.org"}],"time":{"modified":"2022-06-27T03:29:50.538Z","created":"2016-03-15T21:42:58.014Z","0.0.1":"2016-03-15T21:42:58.014Z","0.0.2":"2016-03-18T17:36:02.156Z","0.0.3":"2016-04-01T19:07:14.274Z","0.0.4":"2016-04-20T17:16:35.620Z","0.0.5":"2016-12-21T16:21:11.870Z","0.1.0":"2019-03-08T21:03:47.509Z","1.0.0":"2019-04-17T19:35:16.578Z","2.0.0":"2019-04-18T20:41:02.198Z","2.1.0":"2019-04-22T16:49:58.347Z","2.2.0":"2019-04-22T20:24:21.508Z","2.2.1":"2019-04-22T20:31:41.836Z","2.2.2":"2019-04-22T20:45:58.729Z","2.3.0":"2021-01-23T03:31:50.570Z"},"homepage":"https://github.com/zzolo/tables#readme","keywords":["CSV","JSON","SQL"],"repository":{"type":"git","url":"git+https://github.com/zzolo/tables.git"},"author":{"name":"Alan Palazzolo"},"bugs":{"url":"https://github.com/zzolo/tables/issues"},"license":"MIT","readmeFilename":"README.md","users":{"mkoldov":true}}