11 releases

0.3.0 Jul 22, 2024
0.2.1 Jun 4, 2024
0.2.0 May 20, 2024
0.1.8 Mar 15, 2024
0.1.0 Mar 24, 2023

#176 in Development tools

Download history 7/week @ 2024-09-11 25/week @ 2024-09-18 24/week @ 2024-09-25 299/week @ 2024-10-02 377/week @ 2024-10-09 395/week @ 2024-10-16 504/week @ 2024-10-23 453/week @ 2024-10-30 374/week @ 2024-11-06 516/week @ 2024-11-13 361/week @ 2024-11-20 244/week @ 2024-11-27 498/week @ 2024-12-04

1,685 downloads per month

Apache-2.0 OR MIT

135KB
3K SLoC

Duchess: silky smooth Java integration

Duchess is a Rust crate that makes it easy, ergonomic, and efficient to interoperate with Java code.

TL;DR

Duchess permits you to reflect Java classes into Rust and easily invoke methods on Java objects. For example the following Java code...

Logger logger = new log.Logger();
logger.addEvent(
    Event.builder()
        .withTime(new Date())
        .withName("foo")
        .build()
);

...could be executed in Rust as follows:

let logger = log::Logger::new().execute()?;
logger
    .add_event(
        log::Event::builder()
            .with_time(java::util::Date::new())
            .with_name("foo")
            .build(),
    )
    .execute()?;

Curious to learn more?

Check out the...

Curious to get involved?

Look for issues tagged with good first issue and join the Zulip. For more information on how to develop duchess, see Contributing. You may also be able to improve test coverage.

Dependencies

~5–16MB
~219K SLoC