Hi folks, On mar. 18 mars 2025 18:27:02, Bryce Harrington wrote: > On Tue, Mar 18, 2025 at 08:00:09PM +0000, Simon Quigley wrote: [snip] > > No qualms, I appreciate the work, but as a long-term goal, we might want to > > discuss porting to a compiled language. > > > > I don't want the pitchforks and torches, so I won't go as far as to boldly > > suggest Rust, so I'll say C++. > > Getting this into an object-oriented language also occurred to me, > though as a lot of Ubuntu's tooling has been in Python that seems the > more logical choice. I've worked on enough C/C++ projects to be > comfortable with that, but with launchpadlib being in python that's > where the synergy opportunities are. C.f. Robie's suggestions elsewhere > in this thread for instance.
FWIW, last week I played around with this in Rust[0]. The code is pretty ugly, but I was able to reproduce your script and enhance it with some PoC queue support. There's a launchpadlib crate that uses the same approach as the Python lib, so in theory that's actually easier than Python due to working code completion. In practice the WADL is actually pretty inaccurate on some things like whether something is optional or not, or on the proper type of some arguments. That's not a problem in Python, but it requires serious massaging in Rust[1] (FWIW, I'd probably get out the pitchfork if you proposed a new C++ project) ❯ cargo run -- mpdecimal Compiling pkg-versions v0.1.0 (/home/schopin/dev/pkg-versions) Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.86s Running `target/debug/pkg-versions mpdecimal` ### Debian ### | mpdecimal | 4.0.0-1 | trixie | mpdecimal | 4.0.0-1 | sid ### Ubuntu ### | mpdecimal | 2.4.2-3 | focal | mpdecimal | 2.5.1-2build2 | jammy | mpdecimal | 4.0.0-1 | plucky-proposed (New) [0]: https://code.launchpad.net/~schopin/+git/pkg-versions-rs [1]: https://github.com/jelmer/launchpadlib-rs/pull/165 -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel