Skip to content

Host data in S3 and use DuckDB for data ingest#67

Open
erlewa wants to merge 40 commits into
mainfrom
erl/feat/bump_dependancies
Open

Host data in S3 and use DuckDB for data ingest#67
erlewa wants to merge 40 commits into
mainfrom
erl/feat/bump_dependancies

Conversation

@erlewa

@erlewa erlewa commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Bumped project dependencies

Python ingest script moved to archive-heatmaps-v2 repository

Removed microservice that served data in favor of using DuckDB to read files hosted in an S3 bucket.

erlewa added 30 commits May 11, 2026 16:26
…kspace, working on bumping version from 2021 to 2024
@erlewa erlewa self-assigned this Jul 14, 2026
@erlewa
erlewa force-pushed the erl/feat/bump_dependancies branch from d53db50 to dae5456 Compare July 14, 2026 18:10
Comment thread .github/workflows/rust.yml Outdated

@kalebvonburris kalebvonburris left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Mostly nitpicks. I'd definitely double check with more Clippy groups on and cargo fmt.

Comment thread build.rs Outdated
Comment thread src/ingest/async_duckdb.rs Outdated
Comment thread src/ingest/load.rs
Comment on lines +165 to +186
leptos::task::spawn_local(load_data_async(
self.event_loop_proxy.clone(),
self.active_requests,
self.set_active_requests,
self.connection.clone(),
self.ingest_queue.clone(),
self.ingest_flag.clone(),
self.ingest_filter.clone(),
))
}
}
}

async fn load_data_async(
event_loop_proxy: EventLoopProxy<UserMessage<'static>>,
active_requests: leptos::prelude::ReadSignal<u32>,
set_active_requests: leptos::prelude::WriteSignal<u32>,
connection: Rc<AsyncDuckDBConnection>,
ingest_queue: Rc<Mutex<VecDeque<String>>>,
ingest_flag: Rc<RefCell<AtomicBool>>,
ingest_filter: Rc<RefCell<Filter>>,
) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Could you not pass in a DataLoader? Or a &DataLoader?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I need to mutate the data loader fields and load_data_async is called by a method implemented on DataLoader. I tried that initially but ran into a bunch of errors with trying to move self, I can revisit this though and see if I can make something work because the giant argument list is not my favorite!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Trying to pass a reference to self into load_data_async like this:

leptos::task::spawn_local(load_data_async(self))

Gives this error:

borrowed data escapes outside of method
argument requires that `'1` must outlive `'static`

I briefly tried wrapping self in an Rc but that didnt change anything. If you have ideas for a solution there I am open to hearing them otherwise I think I am stuck with lots of Rc wrapped arguments.

Comment thread src/types.rs Outdated
@kalebvonburris

kalebvonburris commented Jul 14, 2026

Copy link
Copy Markdown

For what I mentioned before, if you add this to you lib.rs (you'll need to add one or it might work in your main.rs), it'll make clippy far more pendantic:

 #![warn(
     clippy::all,
     clippy::restriction,
     clippy::pedantic,
     clippy::nursery,
     clippy::cargo,
 )]

Though, nursery and cargo can probably be removed.

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.

3 participants