Skip to content

Create a Python API#326

Merged
dralley merged 2 commits into
rpm-rs:masterfrom
dralley:python-api
Apr 24, 2026
Merged

Create a Python API#326
dralley merged 2 commits into
rpm-rs:masterfrom
dralley:python-api

Conversation

@dralley

@dralley dralley commented Apr 10, 2026

Copy link
Copy Markdown
Member

📜 Checklist

  • Commits are cleanly separated and have useful messages
  • A changelog entry or entries has been added to CHANGELOG.md
  • Documentation is thorough
  • Test coverage is excellent and passes
  • Works when tests are run --all-features enabled

@dralley dralley force-pushed the python-api branch 4 times, most recently from 68d42f3 to 078cbba Compare April 13, 2026 15:32
@dralley dralley force-pushed the python-api branch 13 times, most recently from 38a029e to 645630a Compare April 22, 2026 20:49
@dralley dralley marked this pull request as ready for review April 22, 2026 22:21
@dralley

dralley commented Apr 22, 2026

Copy link
Copy Markdown
Member Author

@drahnr Do you have any interest in looking over any of this

If not it's ready to merge.

This should be the last major push from me in a good long while though. I have some other projects to work on.

Assisted-By: claude-opus-4.6
Comment thread src/python.rs
)?;

m.add(
"DependencyFlags",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is quite a lot of manual labor to maintain / upkeep

@dralley dralley Apr 23, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It shouldn't need to change much at this point - I'm pretty satisfied with the API now. With all of the examples that are written now, any major usability issues are sorted out

I really wish the constants list didn't need to be copied though. I will admit that the cost/benefit of that is maybe not that high. But it is at least just "mechanical". The extension code is voluminous but not that complex.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I made a conscious effort to resolve every usability nitpick I could think of before doing this to avoid needing to duplicate work later.

Short write = when the write() call writes less bytes than the buffer
contains.

Short writes tend to happen when:

* I/O is slow
* user is writing to a socket or pipe

But should be rare for normal disk I/O

closes rpm-rs#333
@dralley dralley merged commit d4bbc47 into rpm-rs:master Apr 24, 2026
20 checks passed
@dralley dralley deleted the python-api branch April 24, 2026 12:41
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.

2 participants