Skip to main content

FRIDAAY

Format Representing Interdependent Data Actions As YAML

Who needs SQL, Python, JavaScript and CSV? Get it all done by FRIDAAY

Usage

FRIDAAY uses poetry to manage both dependencies and the virtual environment:

$ poetry install # or '$ poetry update'
$ poetry env use python3
$ poetry run pytest
$ poetry run ptw

Overview

FRIDAAY defines a new "atomic unit" of abstraction for the modern data stack called Data Actions.
Each Data Action defines a semantic mapping for creating a new "frame" from existing frames (or inline data). This allows analysts and data scientists to declaratively specify their intent, empowering the underlying platform to efficiently satisfy those requirements. We call this production-ready alternative to traditional exploratory notebooks a PipeBook.

Right now, business logic and data dependencies are trapped inside complex (and often incompatible) programming languages such as SQL, Python, and Scala, and APIs like Spark vs Pandas, TensorFlow vs MLFlow, etc. FRIDAAY replaces these with a simple yet extensible "programming format" based on YAML that enables:

  • fine-grained orchestration
  • full-fidelity no-code visual programming of data pipelines
  • platform and language independence
  • reusable specification of dashboards and data apps
  • inline tests and alerting
  • uniform specification of external integrations
  • schema-aware autocompletion and templates
  • ad-hoc materialization and incrementalism
  • version-controlled user-facing semantic models and metric layers
  • deterministic transformations between versions and vendors
  • novel interaction paradigms beyond notebooks and REPLs
  • turning legacy code into structured data, which we can manage using all our data superpowers

Example

Available with the package in folder = path_resource(PKG_ID, PIPE_FOLDER)

fridaay:
  version: 0.1
  do: core.init
  imports:
   sql: dad_sql_pandas
  set: # global constants (COMMENT)
    NAME: demo_pets
    SAPIENT: Human

test_data:
  doc: Sample data for test purposes
  do: sql.load
  columns: ['Name','Age','Weight', 'Type', 'Timestamp']
  data:
  - ['Ernie', 54, 170.5, 'Human Tech Nerd', 2020-03-20]
  - ['Qhuinn', 7, 36.3, 'English Cocker Spaniel', 2022-06-27]
  - ['Frolic', 2, 76.2, 'Chocolate Labrador', 2022-06-27]

demo_pets:
  do: sql.select
  from: $$ # last frame
  cols:
    Name: .str Personal Name
    Age: .int.year Age
    Weight: .float.pound Current Weight
  where_all:
  - ["Name","!=",Ernie]
  #- ['Timestamp','>', 2022-01-01]
  save: [table]

Releases

$ poetry version patch
$ poetry build && poetry publish
$ poetry version prepatch

Metadata

Release files for fridaay 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fridaay 0.2.3
File Size Uploaded Provenance
fridaay-0.2.3.tar.gz 6.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for fridaay 0.2.3
File Interpreter ABI Platform
fridaay-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 13.5 kB

Release files / fridaay-0.2.3.tar.gz

Download URL fridaay-0.2.3.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7968c76deeb2270b1762252aa3acbbe40d31aa49454180661dd7dadc1698a2e5
BLAKE2b-256 checksum
How to use checksums
195f97d4864c369fab5e22c1f13db1d14a58d1f1042187432cad5b5fc608a038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.9.13 Darwin/21.5.0

Release files / fridaay-0.2.3-py3-none-any.whl

Download URL fridaay-0.2.3-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf80bcf5430474798f73674f1f9c52c5d0dcb71ada7c7a12a78b8b89a04f0060
BLAKE2b-256 checksum
How to use checksums
d48f286063ed891f7ff0b6c055c33d6338e08ac20bedf16e15b1900ba3a20a74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.9.13 Darwin/21.5.0

Security for fridaay 0.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page