Loaders
The flowerpower-io
library provides a comprehensive set of loader classes, each specialized for reading data from specific file formats or database systems. These loaders extend BaseFileReader
or BaseDatabaseReader
and offer tailored functionalities for efficient data ingestion.
File-based Loaders
CSVFileReader
Reads data from CSV files.
- Path: src/flowerpower_io/loader/csv.py
- Example:
from flowerpower_io.loader import CSVFileReader
import pandas as pd
csv_reader = CSVFileReader(path="data.csv")
df = csv_reader.to_pandas()
ParquetFileReader
Reads data from Parquet files.
- Path: src/flowerpower_io/loader/parquet.py
- Example:
from flowerpower_io.loader import ParquetFileReader
import polars as pl
parquet_reader = ParquetFileReader(path="data.parquet")
df = parquet_reader.to_polars()
JsonFileReader
Reads data from JSON files.
- Path: src/flowerpower_io/loader/json.py
- Example:
from flowerpower_io.loader import JsonFileReader
import pyarrow as pa
json_reader = JsonFileReader(path="data.json")
table = json_reader.to_pyarrow_table()
DeltaTableReader
Reads data from Delta Lake tables.
- Path: src/flowerpower_io/loader/deltatable.py
- Example:
from flowerpower_io.loader import DeltaTableReader
import pandas as pd
delta_reader = DeltaTableReader(path="path/to/delta_table")
df = delta_reader.to_pandas()
PayloadReader
(MQTT)
Reads payloads from MQTT messages. This is a specialized loader for streaming data.
- Path: src/flowerpower_io/loader/mqtt.py
- Example:
# This example is conceptual, as MQTT integration requires a running broker and client setup.
# from flowerpower_io.loader import PayloadReader
# from paho.mqtt.client import Client as MQTTClient
# mqtt_client = MQTTClient()
# # ... configure and connect mqtt_client ...
# payload_reader = PayloadReader(mqtt_client=mqtt_client)
# payload = payload_reader.read_payload()
# print(payload)
Database Loaders
SQLiteReader
Reads data from SQLite databases.
- Path: src/flowerpower_io/loader/sqlite.py
- Example:
from flowerpower_io.loader import SQLiteReader
import pandas as pd
sqlite_reader = SQLiteReader(path="my_database.db", table_name="my_table")
df = sqlite_reader.to_pandas()
DuckDBReader
Reads data from DuckDB databases.
- Path: src/flowerpower_io/loader/duckdb.py
- Example:
from flowerpower_io.loader import DuckDBReader
import polars as pl
duckdb_reader = DuckDBReader(path="my_duckdb.db", table_name="another_table")
df = duckdb_reader.to_polars()
PostgreSQLReader
Reads data from PostgreSQL databases.
- Path: src/flowerpower_io/loader/postgres.py
- Example:
from flowerpower_io.loader import PostgreSQLReader
import pandas as pd
pg_reader = PostgreSQLReader(
database="mydb",
user="myuser",
password="mypassword",
host="localhost",
table_name="users"
)
df = pg_reader.to_pandas()
MySQLReader
Reads data from MySQL databases.
- Path: src/flowerpower_io/loader/mysql.py
- Example:
from flowerpower_io.loader import MySQLReader
import pandas as pd
mysql_reader = MySQLReader(
database="mydb",
user="myuser",
password="mypassword",
host="localhost",
table_name="products"
)
df = mysql_reader.to_pandas()
MSSQLReader
Reads data from Microsoft SQL Server databases.
- Path: src/flowerpower_io/loader/mssql.py
- Example:
from flowerpower_io.loader import MSSQLReader
import pandas as pd
mssql_reader = MSSQLReader(
database="mydb",
user="myuser",
password="mypassword",
host="localhost",
table_name="orders"
)
df = mssql_reader.to_pandas()
OracleDBReader
Reads data from Oracle databases.
- Path: src/flowerpower_io/loader/oracle.py
- Example:
```python
from flowerpower_io.loader import OracleDBReader
import pandas as pd
oracle_reader = OracleDBReader( database="mydb", user="myuser", password="mypassword", host="localhost", table_name="inventory" ) df = oracle_reader.to_pandas()