Skip to content

Conversation

@flying-sheep
Copy link

@flying-sheep flying-sheep commented Jun 3, 2025

Pull Request

Related issue

Fixes #131

What does this PR do?

Adds

TODO

  • API design: wrap workflow so it can be used from Python (no unsafety somehow?)
  • CI to build and test the Python package
  • CI and settings to publish Python package releases

PR checklist

Please check if your PR fulfills the following requirements:

  • Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
  • Have you read the contributing guidelines?
  • Have you made sure that the title is accurate and descriptive of the changes?

Copy link

@ilan-gold ilan-gold left a comment

Choose a reason for hiding this comment

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

Nice, definitely seems doable. Concerned about the thread safety aspect, not sure if that would preclude us from adding the bindings we actually end up using here or not given our setup with dask (since we might need special handling for thread/process safety).


#[pymethods]
impl PyWriter {
fn add_item(&mut self, item: ItemId, vector: PyReadonlyArray1<f32>) -> PyResult<()> {

Choose a reason for hiding this comment

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

I image we would want some sort of iterator over a 2D datastructure (for loops in python to go one-by-one strike me as slower than doing it here).

Separately, I am curious about the data type limitation: https://docs.rs/arroy/latest/arroy/struct.Writer.html#method.add_item I hadn't noticed that that vector has to be fixed at f32

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.

Python support

2 participants