Installation

An introduction to using the Sling CLI tool.

Sling CLI Demo

Getting Started

sling CLI is a free tool that allows data extraction and loading from / into many popular databases / storage platforms. Follow the instructions below to install it on your respective operating system.

Installation

All commands below will install the latest version of sling. If you'd like to determine which version is latest/current, you can check out the releases page on github.

Brew on Mac

Follow these directions to install HomeBrew for mac if not already installed.

# Install with brew first
brew install slingdata-io/sling/sling

# Once, installed, `sling` should be available
sling -h

Scoop on Windows

scoop bucket add sling https://github.com/slingdata-io/scoop-sling.git
scoop install sling

# You're good to go!
sling -h

Linux

# download latest binary
curl -LO 'https://github.com/slingdata-io/sling-cli/releases/latest/download/sling_linux_amd64.tar.gz' \
  && tar xf sling_linux_amd64.tar.gz \
  && rm -f sling_linux_amd64.tar.gz \
  && chmod +x sling

# You're good to go!
./sling -h

Docker

docker pull slingdata/sling

docker run --rm -i slingdata/sling --help

Other Binary Downloads

See Releases on Github.

Setting up your Connections

Sling looks for credentials in several places:

  • Environment Variables

  • Sling Env File (located at ~/.sling/env.yaml)

  • DBT Profiles Files (located at ~/.dbt/profiles.yml)

Please see environment for more details.

Using Sling

sling CLI is designed to be easy to use. Say we want to load a CSV file into a PostgreSQL database. We could run the following command:

export MY_PG='postgresql://user:[email protected]:5432/db1'

sling run --src-stream file:///path/to/myfile.csv --tgt-conn MY_PG --tgt-object public.my_new_data

# OR pipe it in
cat /path/to/myfile.csv | sling run --tgt-conn MY_PG --tgt-object public.my_new_data

With Python

If you have Python pip installed, you can simply run:

pip install sling

You call also check out the Python wrapper library on github.

from sling import Replication, ReplicationStream

replication = Replication(
  source='MY_PG',
  target='MY_AWS_S3',
  steams={
    "my_table": ReplicationStream(
      sql="select * from my_table",
      object='my_folder/new_file.csv',
    ),
  }
)

replication.run()

Last updated

Was this helpful?