Installation
An introduction to using the Sling CLI tool.
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 -hScoop on Windows
scoop bucket add sling https://github.com/slingdata-io/scoop-sling.git
scoop install sling
# You're good to go!
sling -hLinux
# 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 -hDocker
docker pull slingdata/sling
docker run --rm -i slingdata/sling --helpOther 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_dataexport 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# using windows Powershell
$env:MY_PG = 'postgresql://user:[email protected]:5432/db1'
sling run --src-stream file://C:/path/to/myfile.csv --tgt-conn MY_PG --tgt-object public.my_new_data
# OR pipe it in
cat C:\path\to\myfile.csv | sling run --tgt-conn MY_PG --tgt-object public.my_new_dataexport MY_PG='postgresql://user:[email protected]:5432/db1'
docker run --rm -i -e MY_PG -v /path/to/myfile.csv slingdata/sling run --src-stream file:///path/to/myfile.csv --tgt-conn MY_PG --tgt-object public.my_new_dataWith Python
If you have Python pip installed, you can simply run:
pip install slingYou 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?