├── .github └── workflows │ └── ci_workflow.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── gluestick ├── __init__.py ├── etl_utils.py ├── pandas_utils.py ├── reader.py ├── readers │ ├── __init__.py │ ├── pl_lazyframe_reader.py │ └── pl_reader.py ├── singer.py └── utils │ ├── __init__.py │ └── polars_utils.py ├── mypy.ini ├── pyproject.toml ├── requirements.txt ├── setup.py ├── tests ├── __init__.py ├── data │ ├── input │ │ ├── campaign_csv-20250427T202522.csv │ │ ├── campaign_performance-20250427T202442.parquet │ │ ├── json_to_cols.csv │ │ ├── json_to_cols_unique.csv │ │ ├── json_to_rows.csv │ │ └── multi_json.csv │ └── output │ │ ├── campaign_performance_csv.csv │ │ ├── campaign_performance_csv.parquet │ │ ├── campaign_performance_parquet.csv │ │ ├── campaign_performance_parquet.parquet │ │ ├── chunk_csv_campaign_performance.singer │ │ ├── chunk_parquet_campaign_performance.singer │ │ ├── data.singer │ │ ├── explode_multi.csv │ │ ├── json_to_cols.csv │ │ ├── json_to_cols_unique.csv │ │ └── json_to_rows.csv └── etl_test.py └── tox.ini /.github/workflows/ci_workflow.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/.github/workflows/ci_workflow.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/README.md -------------------------------------------------------------------------------- /gluestick/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/__init__.py -------------------------------------------------------------------------------- /gluestick/etl_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/etl_utils.py -------------------------------------------------------------------------------- /gluestick/pandas_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/pandas_utils.py -------------------------------------------------------------------------------- /gluestick/reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/reader.py -------------------------------------------------------------------------------- /gluestick/readers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gluestick/readers/pl_lazyframe_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/readers/pl_lazyframe_reader.py -------------------------------------------------------------------------------- /gluestick/readers/pl_reader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/readers/pl_reader.py -------------------------------------------------------------------------------- /gluestick/singer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/singer.py -------------------------------------------------------------------------------- /gluestick/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gluestick/utils/polars_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/gluestick/utils/polars_utils.py -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/mypy.ini -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/input/campaign_csv-20250427T202522.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/input/campaign_csv-20250427T202522.csv -------------------------------------------------------------------------------- /tests/data/input/campaign_performance-20250427T202442.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/input/campaign_performance-20250427T202442.parquet -------------------------------------------------------------------------------- /tests/data/input/json_to_cols.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/input/json_to_cols.csv -------------------------------------------------------------------------------- /tests/data/input/json_to_cols_unique.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/input/json_to_cols_unique.csv -------------------------------------------------------------------------------- /tests/data/input/json_to_rows.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/input/json_to_rows.csv -------------------------------------------------------------------------------- /tests/data/input/multi_json.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/input/multi_json.csv -------------------------------------------------------------------------------- /tests/data/output/campaign_performance_csv.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/campaign_performance_csv.csv -------------------------------------------------------------------------------- /tests/data/output/campaign_performance_csv.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/campaign_performance_csv.parquet -------------------------------------------------------------------------------- /tests/data/output/campaign_performance_parquet.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/campaign_performance_parquet.csv -------------------------------------------------------------------------------- /tests/data/output/campaign_performance_parquet.parquet: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/campaign_performance_parquet.parquet -------------------------------------------------------------------------------- /tests/data/output/chunk_csv_campaign_performance.singer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/chunk_csv_campaign_performance.singer -------------------------------------------------------------------------------- /tests/data/output/chunk_parquet_campaign_performance.singer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/chunk_parquet_campaign_performance.singer -------------------------------------------------------------------------------- /tests/data/output/data.singer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/data.singer -------------------------------------------------------------------------------- /tests/data/output/explode_multi.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/explode_multi.csv -------------------------------------------------------------------------------- /tests/data/output/json_to_cols.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/json_to_cols.csv -------------------------------------------------------------------------------- /tests/data/output/json_to_cols_unique.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/json_to_cols_unique.csv -------------------------------------------------------------------------------- /tests/data/output/json_to_rows.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/data/output/json_to_rows.csv -------------------------------------------------------------------------------- /tests/etl_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tests/etl_test.py -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hotgluexyz/gluestick/HEAD/tox.ini --------------------------------------------------------------------------------