Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

slyce

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

slyce

  • 1.6.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

slyce

Ruby utility to show summary statistics or export data from MySQL, SQLite, or DuckDB.

TODO

  • Unify each each executable to have as close to the same features as possible

Usage

usage: slyce [options] <database> <table>
        --csv                        Output comma separated values
        --psv                        Output pipe separated values
        --tsv                        Output tab separated values
    -a, --ascii                      Convert data to ASCII using AnyAscii
    -c, --columns                    Display column names and quit
    -h, --help                       Show help and command usage
    -n, --natural                    Sort naturally, not numerically
    -r, --rows <count>               Rows of data to select
    -s, --suppress                   Suppress header when exporting delimited files
    -v, --version                    Show version number
    -w, --where <cond>               Where clause (eg - 'age>50 and state='AZ')
    -x, --extract <col1,col2,...>    Comma separated list of columns to extract

Supported platforms

MySQL

The executable is called slyce.

SQLite

The executable is called slyce3 and requires the regexp sqlite3 extension from https://github.com/nalgeon/sqlean

You can download the latest version at: https://github.com/nalgeon/sqlean/releases/latest

For example, on Apple Silicon with macOS with an M1 you can use:

wget https://github.com/nalgeon/sqlean/releases/download/0.19.3/sqlean-macos-arm64.zip
unzip sqlean-macos-arm64.zip regexp.dylib

DuckDB

The executable is called slyced. It requires the duckdb gem, which can be installed with:

gem install duckdb

Example

The following will open my-database.duck and will export the first 10 rows with the last_name field equal to Miller and it will extract six fields starting with id,first_name,.... The output will be a csv file to STDOUT.

slyced my-database.duck members -r 10 -w "last_name='Miller'" -xid,first_name,city,state,zip,medical_plan --csv

The following will show the most frequent 5 values from the temp_table table in the nearsite database for these fields: ef_id,external_id,insurance_plan. In addition, only rows with the condition specified in the -w option are shown.

slyce nearsite temp_table -s 10 -w "ef_id>=251 and benefit_status='X'" -x ef_id,external_id,insurance_plan -r 5

The resulting table looks like:

    ef_id
    =====
781 255
 35 253
 31 510
 19 251
  5 258
    -----
871 shown (top 5)
879 total (all 10)

    external_id
    ===========
816 NULL
  1 1235
  1 1266
  1 1320
  1 1548
    -----
820 shown (top 5)
879 total (all 64)

    insurance_plan
    ==============
176 Aetna PPO
144 Aetna HSA
103 NULL
 82 Kaiser Northern CA
 73
    -----
578 shown (top 5)
879 total (all 35)

FAQs

Package last updated on 26 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc