Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Merge back unblob-native into this repo #1034

Open
vlaci opened this issue Dec 20, 2024 · 9 comments
Open

RFC: Merge back unblob-native into this repo #1034

vlaci opened this issue Dec 20, 2024 · 9 comments
Assignees
Labels
enhancement New feature or request

Comments

@vlaci
Copy link
Contributor

vlaci commented Dec 20, 2024

The Unblob rust extension started its life as an opt-in piece in this repo. We extracted it into its own package due to (1) limitations in Poetry packaging native extensions, and (2) the higher barrier of entry people needed to build Unblob.

  1. I think it is easy to overcome this by now, we just need to use the maturin builder in pyproject.toml to build wheels
  2. More and more Python applications/libraries require Rust, so I wouldn't consider this a niche now. Also, direnv integration helps greatly provisioning dev environments.

+1: Refactors, like dropping support for Python 3.8, wouldn't be missing the unblob-native part :o)

It looks like, we'd need to switch Poetry for maturin or uv for installing the project environment as well, if we want to avoid having a separate build output.

@vlaci vlaci added the enhancement New feature or request label Dec 20, 2024
@qkaiser
Copy link
Contributor

qkaiser commented Dec 23, 2024

I'm all for it. The most sensitive part will be porting unblob-native CI here and converting the current CI/CD pipeline definitions to use maturin without losing anything in the process.

Personally I'm all for limiting duplicate work. Right now the flake updates, the dependency upgrades from dependabot, the project settings, everything is done twice and it's annoying.

@qkaiser
Copy link
Contributor

qkaiser commented Dec 23, 2024

Not sure what's your take but I'd be happy to try uv. My trust in tooling coming out of @astral-sh is rather strong.

@kissgyorgy
Copy link
Contributor

I'm a fan of monorepos, they are a productivity boost. I would have not split the repo first place, but I wasn't here to prevent it 😀

@vlaci
Copy link
Contributor Author

vlaci commented Dec 26, 2024

If we are to do this, we need to get off of Poetry for sure. Tried various ways, but there is still no way to build abi3 wheels with it, and there is no way to use a different builder.
Swithing to uv would be the sensible thing to do, but then we also need to integrate renovate for package updates, as dependabot doesn't handle uv locks.

Renovate would be nice, as we could integrate flake lock updates into it as well.

@kissgyorgy
Copy link
Contributor

We don't have to immediately integrate everything, the first step can be to just merge the two repos, later we can move to uv or whatever needed for a more seamless workflow.

@vlaci
Copy link
Contributor Author

vlaci commented Jan 6, 2025

We don't have to immediately integrate everything, the first step can be to just merge the two repos, later we can move to uv or whatever needed for a more seamless workflow.

IMO, it would be easier the other way around: migrate to uv, then merge. That way, we can get rid of one round of CI test/publisher job merge hell.

@kissgyorgy
Copy link
Contributor

@vlaci
Copy link
Contributor Author

vlaci commented Jan 13, 2025

https://github.com/stvnksslr/uv-migrator

Will look into it. I've tried poetry-to-uv which worked reasonably well.

@vlaci vlaci mentioned this issue Jan 13, 2025
@kissgyorgy
Copy link
Contributor

Ok this is crazy. uv is so fast I needed to try it manually because I thought nothing happened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants