Skip to content

docs: DOC-640: Add local development guide for Deephaven libraries#8023

Open
margaretkennedy wants to merge 4 commits into
deephaven:mainfrom
margaretkennedy:doc-640
Open

docs: DOC-640: Add local development guide for Deephaven libraries#8023
margaretkennedy wants to merge 4 commits into
deephaven:mainfrom
margaretkennedy:doc-640

Conversation

@margaretkennedy

Copy link
Copy Markdown
Contributor

Add comprehensive guide for building Java/Groovy projects with Deephaven dependencies, covering Gradle/Maven setup, common dependencies by use case, and local unit testing with ExecutionContext. Include cross-reference from Python docs.

Add comprehensive guide for building Java/Groovy projects with Deephaven dependencies, covering Gradle/Maven setup, common dependencies by use case, and local unit testing with ExecutionContext. Include cross-reference from Python docs.
@github-actions

github-actions Bot commented May 13, 2026

Copy link
Copy Markdown
Contributor

Deploying docs previews for fb51638 (available for 14 days)

Python
Groovy

Copilot AI left a comment

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.

Pull request overview

Adds a new “Local development with Deephaven libraries” guide to the Groovy docs (with a lightweight cross-reference page in the Python docs) and exposes both via their respective sidebars. This is intended to help users set up external Java/Groovy projects that depend on Deephaven artifacts, and to document a unit-testing pattern using ExecutionContext.

Changes:

  • Add Groovy guide covering Gradle/Maven setup, “common dependencies by use case”, and unit testing notes.
  • Add a Python stub page that links users to the Groovy guide for Java/Groovy-focused setup.
  • Update both Groovy and Python sidebars to include the new “Local development” entry.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
docs/python/sidebar.json Adds “Local development” to the Python how-to sidebar.
docs/python/how-to-guides/local-development.md Adds a short Python page that links to the Groovy guide.
docs/groovy/sidebar.json Adds “Local development” to the Groovy how-to sidebar.
docs/groovy/how-to-guides/local-development.md Adds the full local development guide (Gradle/Maven + testing guidance).
Comments suppressed due to low confidence (1)

docs/groovy/how-to-guides/local-development.md:66

  • The “Date/time utilities” entry references deephaven-FishUtil, but there is no FishUtil module in this repo. Update this row to the current artifact that actually contains Deephaven date/time utilities (the io.deephaven.time.* classes are in engine/time).
| Read/write Parquet files               | `deephaven-extensions-parquet-table`             |
| Configuration utilities                | `deephaven-Configuration`                        |
| Date/time utilities                    | `deephaven-FishUtil`                             |
| Logging                                | `deephaven-log-factory`                          |

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/groovy/how-to-guides/local-development.md Outdated
Comment thread docs/groovy/how-to-guides/local-development.md Outdated
Comment thread docs/groovy/how-to-guides/local-development.md
Comment thread docs/groovy/how-to-guides/local-development.md
Comment thread docs/groovy/how-to-guides/local-development.md Outdated

Copilot AI left a comment

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.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (2)

docs/groovy/how-to-guides/local-development.md:130

  • The unit test example imports TestExecutionContext, which lives in the deephaven-engine-test-utils artifact (not in the main runtime dependencies). Add a note and dependency example (e.g., testImplementation io.deephaven:deephaven-engine-test-utils:<version>) so the snippet compiles for readers.
Use JUnit with an `ExecutionContext` to test table operations:

```java skip-test
import io.deephaven.engine.context.ExecutionContext;
import io.deephaven.engine.context.TestExecutionContext;
import io.deephaven.engine.table.Table;
import io.deephaven.util.SafeCloseable;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

public class MyTableUtilsTest {

    private static ExecutionContext executionContext;
    private static SafeCloseable executionContextCloseable;

    @BeforeAll
    public static void setUp() {
        executionContext = TestExecutionContext.createForUnitTests();
        executionContextCloseable = executionContext.open();
    }

docs/groovy/how-to-guides/local-development.md:160

  • The "Reading test data" snippet uses CsvTools and ParquetTools, which require adding the CSV/Parquet extension artifacts (deephaven-extensions-csv, deephaven-extensions-parquet-table). Add a brief note or dependency examples here so readers don't hit ClassNotFound errors when copying the snippet.
```java skip-test
import io.deephaven.csv.CsvTools;
import io.deephaven.parquet.table.ParquetTools;

import java.nio.file.Paths;

// Read CSV from test resources
Table csvTable = CsvTools.readCsv(getClass().getResourceAsStream("/test-data.csv"));

// Read Parquet from test resources
String parquetPath = Paths.get(getClass().getResource("/test-data.parquet").toURI()).toString();
Table parquetTable = ParquetTools.readTable(parquetPath);
</details>

Comment thread docs/groovy/how-to-guides/local-development.md
Comment thread docs/groovy/how-to-guides/local-development.md
Comment thread docs/groovy/how-to-guides/local-development.md Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants