Skip to content

Create read only client for connection to penelopedb [Ticket #10] - #32

Closed
chelseakwan wants to merge 8 commits into
mainfrom
10---create-read-only-client-for-connection-to-penelopedb
Closed

chelseakwan wants to merge 8 commits into
mainfrom
10---create-read-only-client-for-connection-to-penelopedb

Conversation

@chelseakwan

@chelseakwan chelseakwan commented Sep 20, 2026 •

Copy link
Copy Markdown
Collaborator

Overview

Provide a brief summary of the changes you made and files touched.

Updated client.py to switch from returning lists of Pydantic objects to NumPy 2D arrays, and added cursor-based pagination for pulling large amounts of data.

Technical Description

Added a method of reading data from PenelopeDB so we can write it into OrionDB in the next ticket. Updated the client to return NumPy arrays instead of Pydantic objects and added pagination so pulling the full data table doesn't time out or exhaust memory.

How Has This Been Tested?

Describe your steps for testing this work. Include screenshots or unit test files.
Ran test_penelope.py against the live PenelopeDB. Confirmed get_by_time_bounds and get_by_run_id return correctly-shaped NumPy arrays with real data from the 8/15 test day. We also confirmed get_all_paginated() correctly chunks through the table without timing out.

Ticket Review

Answer the following:

  1. What went well
  • successfully completed the ticket!
  1. What was difficult
  • We had never heard of pagination before, so we had to learn it but it wasn't that complicated.
  1. If you could start over what would you do differently
  • N/A, I thought it went well and was able to learn a lot

@chelseakwan chelseakwan linked an issue Sep 20, 2026 that may be closed by this pull request
@TKDPenguin
TKDPenguin requested review from TKDPenguin and a lite review from Copilot and removed request for Copilot September 20, 2026 16:00

@TKDPenguin TKDPenguin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks great for the most part! The only thing is that in your PR description you put N/A under how you tested the code, but you have test_penelope.py. Did you run test_penelope.py? If so, what did it output? Did it seem correct?

@diyakadakia

Copy link
Copy Markdown
Collaborator

Yes sorry, we did test it in test_penelope.py. The output seemed correct for get_by_time_bounds and get_by_run_id. Also ran get_all() works, but times out on the full table.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Penelope] Create Read-Only Client for connection to PenelopeDB

4 participants