CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-connectorx

Load data from databases to dataframes, the fastest way.

86

1.04x

Quality

Pending

Does it follow best practices?

Impact

86%

1.04x

Average score across 10 eval scenarios

Overview
Eval results
Files

task.mdevals/scenario-2/

Database Analytics Loader

Build a Python module that loads and processes analytics data from a PostgreSQL database into dataframes for analysis.

Requirements

Your module should provide functionality to:

  1. Load user activity data from a database table into a dataframe
  2. Execute aggregation queries to compute summary statistics
  3. Load multiple related datasets in a single operation
  4. Support loading data into different dataframe formats based on requirements

Implementation

@generates

API

def load_user_activities(connection_string: str, user_id: int = None) -> object:
    """
    Load user activity records from the database.

    If user_id is provided, filter activities for that specific user.
    Otherwise, load all user activities.

    Args:
        connection_string: Database connection string
        user_id: Optional user ID to filter activities

    Returns:
        A dataframe containing activity records with columns:
        activity_id, user_id, activity_type, timestamp, duration_seconds
    """
    pass

def load_daily_summary(connection_string: str, start_date: str, end_date: str) -> object:
    """
    Load aggregated daily activity summaries.

    Returns daily totals of activities and total duration for the date range.

    Args:
        connection_string: Database connection string
        start_date: Start date in 'YYYY-MM-DD' format
        end_date: End date in 'YYYY-MM-DD' format

    Returns:
        A dataframe with columns: activity_date, total_activities, total_duration
    """
    pass

def load_multiple_datasets(connection_string: str, queries: list) -> list:
    """
    Load multiple datasets by executing multiple queries.

    Args:
        connection_string: Database connection string
        queries: List of SQL query strings to execute

    Returns:
        List of dataframes, one for each query in the same order
    """
    pass

def load_to_arrow(connection_string: str, query: str) -> object:
    """
    Load query results into Apache Arrow format.

    Args:
        connection_string: Database connection string
        query: SQL query string

    Returns:
        PyArrow Table containing the query results
    """
    pass

Test Cases

  • Loading all user activities from the database returns a dataframe with 5 columns @test
  • Loading activities for a specific user (user_id=42) returns only that user's records @test
  • Loading daily summary with aggregated counts and durations returns correct totals @test
  • Loading multiple datasets with 3 different queries returns a list of 3 dataframes @test
  • Loading data to Arrow format returns a PyArrow Table object @test

Dependencies { .dependencies }

connectorx { .dependency }

Provides high-performance database-to-dataframe data loading.

Notes

  • Assume PostgreSQL database connection strings follow the format: postgresql://user:password@host:port/database
  • The database contains a table named user_activities with columns matching the API specification
  • Queries should be standard SQL SELECT statements
  • Handle empty result sets appropriately

Install with Tessl CLI

npx tessl i tessl/pypi-connectorx

tile.json