{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/9"}],"enrichment":{"capability":"Sling moves data between databases, files, and Python data structures using a command-line tool or Python API, supporting extract-load workflows with multiple source and target connectors.","skillfed_tags":["etl-elt","data-pipeline","streaming"],"use_cases":["Migrate tables from PostgreSQL to Snowflake or other data warehouses with full-refresh or incremental modes.","Load CSV or JSON files into a database, preserving data types when using Arrow format.","Stream large datasets from a database to files or another system without loading everything into memory.","Programmatically replicate multiple database schemas with templated naming and custom transformations.","Export pandas or polars DataFrames to databases or files as part of a Python data pipeline."],"what_it_does":"Sling is a Python-based ETL/ELT tool that moves data between databases, files, and in-memory Python structures. It provides both a command-line interface and a Python API (Replication and Sling classes) for defining and running data transfer tasks. The package handles schema mapping, mode selection (full-refresh or incremental), and can stream data from sources like PostgreSQL, Snowflake, or CSV files to targets like databases or local files.\n\nThe tool supports multiple usage patterns: CLI-based configuration via YAML, programmatic replication definitions, and direct streaming for memory-efficient processing of large datasets. It can ingest pandas or polars DataFrames, lists of dictionaries, or generator functions as input, and offers both standard streaming (via stream()) and high-performance Arrow-based streaming (via stream_arrow()) for type-preserving data transfer. Connection management is handled through environment variables or direct parameters.","worth_installing":"Yes, if you need straightforward data movement between databases and files. The package is actively maintained, has no security vulnerabilities, and installs cleanly. However, verify the license status before production use\u2014the metadata shows no SPDX identifier or license text, which is a red flag for compliance-sensitive projects. The API is well-documented in the description, and the low install friction makes it a reasonable choice for ETL/ELT tasks."},"id":"sling","links":{"html":"https://skillfed.io/packages/sling","md":"https://skillfed.io/packages/sling.md","pypi":"https://pypi.org/project/sling/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-08-09","license_spdx":null,"license_treatment":"unclear","name":"sling","python_support":"supports_current","summary":"Slings data from a source to a target"},"popularity":{"monthly_downloads":126262,"position":11783,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.5.24"}
