Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 63 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,70 @@ All code files must include the NVIDIA copyright header:

Use `make update-license-headers` to add headers automatically.

## Signing Off on Your Work (DCO)
## Signing Your Work (DCO)

When contributing, you must agree that you have authored 100% of the content, that you have the necessary rights to the content, and that the content you contribute may be provided under the project license. All contributors are asked to sign the [Developer Certificate of Origin (DCO)](DCO) when submitting their first pull request. The process is automated by a bot that will comment on the pull request.
Every commit in a contribution must include a `Signed-off-by` trailer. By signing off, you certify that you have the right to submit the contribution under the project's open source license, as set out in the Developer Certificate of Origin (DCO) below.

Add your sign-off with `git commit -s`:

```bash
git commit -s -m "describe your change"
Comment on lines +124 to +129

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.

[P3] Keep the DCO bot-signing step documented

Could we retain the bot-signing instructions alongside git commit -s in both contribution guides? The existing workflow still requires a first-time contributor’s PR-comment signature, so following these instructions alone won’t satisfy the DCO check. This is non-blocking, but documenting both steps would avoid confusion.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 1f2802f. Both contribution guides now document the first-time DCO Assistant signature alongside the per-commit git commit -s requirement, including the exact PR-comment phrase configured in the workflow and the recheck command. The full DCO certification remains unchanged. Fern validation and internal-link checks passed.

```

Git adds a trailer using the name and email address in your Git configuration:

```text
Signed-off-by: Your Name <you@example.com>
```

Review the certification before signing off. When submitting a pull request, ensure that all of its commits contain the required sign-off.

First-time contributors must also complete the DCO Assistant's PR-comment signature. When the bot asks you to sign, read the DCO and post this exact comment on your pull request:

```text
I have read the DCO document and I hereby sign the DCO.
```

Complete both steps: sign off every commit and, when prompted, sign through the bot. If the bot needs to check again after you have signed, post `recheck` on the pull request.

### Developer Certificate of Origin

```text
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or

(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or

(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified
it.

(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
```

## Code of Conduct

Expand Down
2 changes: 2 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

# ==============================================================================
# VARIABLES AND FUNCTIONS
# ==============================================================================
Expand Down
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,7 @@ pip install data-designer
> With uv, use `uv pip install` or `uv add` with the same `-c` URL. See [dependency security](https://docs.nvidia.com/nemo/datadesigner/concepts/security#dependency-security) for details.

> [!NOTE]
> This project will download and install additional third-party open source
> software projects. Review the license terms of these open source projects
> before use.
> NOTICE AND DISCLAIMER: This software automatically retrieves, accesses or interacts with external materials. Those retrieved materials are not distributed with this software and are governed solely by separate terms, conditions and licenses. You are solely responsible for finding, reviewing and complying with all applicable terms, conditions, and licenses, and for verifying the security, integrity and suitability of any retrieved materials for your specific use case. This software is provided "AS IS", without warranty of any kind. The author makes no representations or warranties regarding any retrieved materials, and assumes no liability for any losses, damages, liabilities or legal consequences from your use or inability to use this software or any retrieved materials. Use this software and the retrieved materials at your own risk.

Or install from source:

Expand Down Expand Up @@ -200,7 +198,7 @@ _Last updated on October 27, 2026_

## License

Apache License 2.0 – see [LICENSE](LICENSE) for details.
Apache License 2.0 – see [LICENSE](LICENSE) for details. Each separately published Python package includes an identical copy of this license. In particular, `packages/data-designer-slurm/LICENSE` is retained to accompany the independently distributed Slurm package.

---

Expand Down
59 changes: 35 additions & 24 deletions docs/colab_notebooks/1-the-basics.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -10,30 +10,6 @@
"<a href=\"https://colab.research.google.com/github/NVIDIA-NeMo/DataDesigner/blob/main/docs/colab_notebooks/1-the-basics.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"id": "5ef696bd",
"metadata": {},
"source": [
"# 🎨 Data Designer Tutorial: The Basics\n",
"\n",
"#### πŸ“š What you'll learn\n",
"\n",
"This notebook demonstrates the basics of Data Designer by generating a simple product review dataset.\n"
]
},
{
"cell_type": "markdown",
"id": "b18ff627",
"metadata": {},
"source": [
"### πŸ“¦ Import Data Designer\n",
"\n",
"- `data_designer.config` provides access to the configuration API.\n",
"\n",
"- `DataDesigner` is the main interface for data generation.\n"
]
},
{
"cell_type": "markdown",
"id": "8fa4025d",
Expand Down Expand Up @@ -79,6 +55,41 @@
" os.environ[\"NVIDIA_API_KEY\"] = getpass.getpass(\"Enter your NVIDIA API key: \")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "345cc4f9",
"metadata": {},
"outputs": [],
"source": [
"# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n",
"# SPDX-License-Identifier: Apache-2.0"
]
},
{
"cell_type": "markdown",
"id": "5ef696bd",
"metadata": {},
"source": [
"# 🎨 Data Designer Tutorial: The Basics\n",
"\n",
"#### πŸ“š What you'll learn\n",
"\n",
"This notebook demonstrates the basics of Data Designer by generating a simple product review dataset.\n"
]
},
{
"cell_type": "markdown",
"id": "b18ff627",
"metadata": {},
"source": [
"### πŸ“¦ Import Data Designer\n",
"\n",
"- `data_designer.config` provides access to the configuration API.\n",
"\n",
"- `DataDesigner` is the main interface for data generation.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,6 @@
"<a href=\"https://colab.research.google.com/github/NVIDIA-NeMo/DataDesigner/blob/main/docs/colab_notebooks/2-structured-outputs-and-jinja-expressions.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"id": "458a84da",
"metadata": {},
"source": [
"# 🎨 Data Designer Tutorial: Structured Outputs, Jinja Expressions, and Conditional Generation\n",
"\n",
"#### πŸ“š What you'll learn\n",
"\n",
"In this notebook, we will continue our exploration of Data Designer, demonstrating more advanced data generation using structured outputs, Jinja expressions, and conditional generation with `skip.when`.\n",
"\n",
"If this is your first time using Data Designer, we recommend starting with the [first notebook](https://docs.nvidia.com/nemo/datadesigner/tutorials/the-basics) in this tutorial series.\n"
]
},
{
"cell_type": "markdown",
"id": "7bd6f907",
"metadata": {},
"source": [
"### πŸ“¦ Import Data Designer\n",
"\n",
"- `data_designer.config` provides access to the configuration API.\n",
"\n",
"- `DataDesigner` is the main interface for data generation.\n"
]
},
{
"cell_type": "markdown",
"id": "3f97b658",
Expand Down Expand Up @@ -81,6 +55,43 @@
" os.environ[\"NVIDIA_API_KEY\"] = getpass.getpass(\"Enter your NVIDIA API key: \")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ab80f4f5",
"metadata": {},
"outputs": [],
"source": [
"# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n",
"# SPDX-License-Identifier: Apache-2.0"
]
},
{
"cell_type": "markdown",
"id": "458a84da",
"metadata": {},
"source": [
"# 🎨 Data Designer Tutorial: Structured Outputs, Jinja Expressions, and Conditional Generation\n",
"\n",
"#### πŸ“š What you'll learn\n",
"\n",
"In this notebook, we will continue our exploration of Data Designer, demonstrating more advanced data generation using structured outputs, Jinja expressions, and conditional generation with `skip.when`.\n",
"\n",
"If this is your first time using Data Designer, we recommend starting with the [first notebook](https://docs.nvidia.com/nemo/datadesigner/tutorials/the-basics) in this tutorial series.\n"
]
},
{
"cell_type": "markdown",
"id": "7bd6f907",
"metadata": {},
"source": [
"### πŸ“¦ Import Data Designer\n",
"\n",
"- `data_designer.config` provides access to the configuration API.\n",
"\n",
"- `DataDesigner` is the main interface for data generation.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down
63 changes: 37 additions & 26 deletions docs/colab_notebooks/3-seeding-with-a-dataset.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,6 @@
"<a href=\"https://colab.research.google.com/github/NVIDIA-NeMo/DataDesigner/blob/main/docs/colab_notebooks/3-seeding-with-a-dataset.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"id": "ff27e870",
"metadata": {},
"source": [
"# 🎨 Data Designer Tutorial: Seeding Synthetic Data Generation with an External Dataset\n",
"\n",
"#### πŸ“š What you'll learn\n",
"\n",
"In this notebook, we will demonstrate how to seed synthetic data generation in Data Designer with an external dataset.\n",
"\n",
"If this is your first time using Data Designer, we recommend starting with the [first notebook](https://docs.nvidia.com/nemo/datadesigner/tutorials/the-basics) in this tutorial series.\n"
]
},
{
"cell_type": "markdown",
"id": "0f3e6128",
"metadata": {},
"source": [
"### πŸ“¦ Import Data Designer\n",
"\n",
"- `data_designer.config` provides access to the configuration API.\n",
"\n",
"- `DataDesigner` is the main interface for data generation.\n"
]
},
{
"cell_type": "markdown",
"id": "cd25d0dc",
Expand Down Expand Up @@ -81,6 +55,43 @@
" os.environ[\"NVIDIA_API_KEY\"] = getpass.getpass(\"Enter your NVIDIA API key: \")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "101038e4",
"metadata": {},
"outputs": [],
"source": [
"# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n",
"# SPDX-License-Identifier: Apache-2.0"
]
},
{
"cell_type": "markdown",
"id": "ff27e870",
"metadata": {},
"source": [
"# 🎨 Data Designer Tutorial: Seeding Synthetic Data Generation with an External Dataset\n",
"\n",
"#### πŸ“š What you'll learn\n",
"\n",
"In this notebook, we will demonstrate how to seed synthetic data generation in Data Designer with an external dataset.\n",
"\n",
"If this is your first time using Data Designer, we recommend starting with the [first notebook](https://docs.nvidia.com/nemo/datadesigner/tutorials/the-basics) in this tutorial series.\n"
]
},
{
"cell_type": "markdown",
"id": "0f3e6128",
"metadata": {},
"source": [
"### πŸ“¦ Import Data Designer\n",
"\n",
"- `data_designer.config` provides access to the configuration API.\n",
"\n",
"- `DataDesigner` is the main interface for data generation.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down
Loading
Loading