Skip to main content

Data-modelling and processing framework for automating Python and SQL tasks

Project description

SAYN logo

SAYN is a modern data processing and modelling framework. Users define tasks (incl. Python, automated SQL transformations and more) and their relationships, SAYN takes care of the rest. It is designed for simplicity, flexibility and centralisation in order to bring significant efficiency gains to the data engineering workflow.

Use Cases

SAYN can be used for multiple purposes across the data engineering and analytics workflows:

  • Data extraction: complement tools such as Fivetran or Stitch with customised extraction processes.
  • Data modelling: transform raw data in your data warehouse (e.g. aggregate activity or sessions, calculate marketing campaign ROI, etc.).
  • Data science: integrate and execute data science models.

Key Features

SAYN has the following key features:

  • YAML based DAG (Direct Acyclic Graph) creation. This means all analysts, including non Python proficient ones, can easily add tasks to ETL processes with SAYN.
  • Automated SQL transformations: write your SELECT statement. SAYN turns it into a table/view and manages everything for you.
  • Jinja parameters: switch easily between development and product environment and other tricks with Jinja templating.
  • Python tasks: use Python scripts to complement your extraction and loading layer and build data science models.
  • Multiple databases supported.
  • and much more... See the Documentation.

Design Principles

SAYN aims to empower data engineers and analysts through its three core design principles:

  • Simplicity: data processes should be easy to create, scale and maintain. So your team can focus on data transformation instead of writing processes. SAYN orchestrates all your tasks systematically and provides a lot of automation features.
  • Flexibility: the power of data is unlimited and so should your tooling. SAYN supports both SQL and Python so your analysts can choose the most optimal solution for each process.
  • Centralisation: all analytics code should live in one place, making your life easier and allowing dependencies throughout the whole analytics process.

Quick Start

SAYN supports Python 3.7 to 3.10.

pip install sayn
sayn init test_sayn
cd test_sayn
sayn run

This is it! You completed your first SAYN run on the example project. Continue with the Tutorial: Part 1 which will give you a good overview of SAYN's true power!

Release Updates

If you want to receive update emails about SAYN releases, you can sign up here.

Support

If you need any help with SAYN, or simply want to know more, please contact the team at sayn@173tech.com.

License

SAYN is open source under the Apache 2.0 license.


Made with :heart: by 173tech.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sayn-0.6.17.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sayn-0.6.17-py3-none-any.whl (133.4 kB view details)

Uploaded Python 3

File details

Details for the file sayn-0.6.17.tar.gz.

File metadata

  • Download URL: sayn-0.6.17.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/24.6.0

File hashes

Hashes for sayn-0.6.17.tar.gz
Algorithm Hash digest
SHA256 0feff6e1792097a1c2969344ca24722068797e1f7a66d5b368aaa4e4c933bd25
MD5 33a3acd365e0abc7488e05a8533f01d6
BLAKE2b-256 0b3d3e32526fd0fd1a23ae26a6a2fc31bc1e5c75cce66bdf6be8133bea08b29c

See more details on using hashes here.

File details

Details for the file sayn-0.6.17-py3-none-any.whl.

File metadata

  • Download URL: sayn-0.6.17-py3-none-any.whl
  • Upload date:
  • Size: 133.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Darwin/24.6.0

File hashes

Hashes for sayn-0.6.17-py3-none-any.whl
Algorithm Hash digest
SHA256 6079d75298b27c0aad652d13c147fa2a176322dbc366c258ecb7e81bc0474aca
MD5 1c46c47ddcdde8cfd2cfabf301a17893
BLAKE2b-256 347f6b79360cb7aa018c353d4ba447ead559f61fd300571381b1782c972a218a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page