MCPcopy Index your code
hub / github.com/duchess-rs/duchess

github.com/duchess-rs/duchess @v0.3.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.3 ↗ · + Follow
578 symbols 1,362 edges 135 files 128 documented · 22%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 287
Function 145
Class 93
Interface 37
Enum 16

Languages

Rust83%
Java17%

Modules by API surface

duchess-reflect/src/class_info.rs58 symbols
src/jvm.rs42 symbols
src/raw.rs24 symbols
macro/src/derive.rs22 symbols
duchess-reflect/src/parse.rs20 symbols
duchess-reflect/src/signature.rs19 symbols
duchess-reflect/src/codegen.rs19 symbols
duchess-reflect/src/argument.rs14 symbols
duchess-reflect/src/reflect.rs13 symbols
test-crates/duchess-java-tests/tests/rust-to-java/examples/auth.rs11 symbols
src/array.rs11 symbols
macro/src/java_function.rs11 symbols

For agents

$ claude mcp add duchess \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page