Skip to content

[None][fix] Clean up llmc licensing docs#13700

Merged
bmarimuthu-nv merged 3 commits intoNVIDIA:mainfrom
nv-auto-deploy:bala/llmc-licensing
May 4, 2026
Merged

[None][fix] Clean up llmc licensing docs#13700
bmarimuthu-nv merged 3 commits intoNVIDIA:mainfrom
nv-auto-deploy:bala/llmc-licensing

Conversation

@bmarimuthu-nv
Copy link
Copy Markdown
Collaborator

@bmarimuthu-nv bmarimuthu-nv commented May 2, 2026

Summary by CodeRabbit

  • New Features

    • Added automatic generation of license and attribution documentation for project dependencies.
  • Chores

    • Modified package build process to dynamically generate compliance files instead of copying pre-existing versions.

Description

llm-commpiler repo license doc was a direct copy of trt-llm repo, includes all dependencies of trt-llm.
Instead let's have it reflect only the actual dependencies of llmc (which is a subset of trt-llm)

Test Coverage

PR Checklist

Please review the following before submitting your PR:

  • PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.

  • PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.

  • Test cases are provided for new code paths (see test instructions)

  • Any new dependencies have been scanned for license and vulnerabilities

  • CODEOWNERS updated if ownership changes

  • Documentation updated as needed

  • Update tava architecture diagram if there is a significant design change in PR.

  • The reviewers assigned automatically/manually are appropriate for the PR.

  • Please check this after reviewing the above items as appropriate for this PR.

GitHub Bot Help

To see a list of available CI bot commands, please comment /bot help.

@bmarimuthu-nv bmarimuthu-nv force-pushed the bala/llmc-licensing branch 2 times, most recently from fc6b55a to 7d79d85 Compare May 2, 2026 01:18
@bmarimuthu-nv bmarimuthu-nv marked this pull request as ready for review May 2, 2026 01:21
@bmarimuthu-nv bmarimuthu-nv requested a review from a team as a code owner May 2, 2026 01:21
@bmarimuthu-nv bmarimuthu-nv requested a review from nvchenghaoz May 2, 2026 01:21
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 2, 2026

📝 Walkthrough

Walkthrough

A new license and attribution generation module is introduced for the llmc package, providing metadata for vendored projects and direct dependencies, full license text templates, and generator functions to create LICENSE and ATTRIBUTIONS-Python.md files. The package creator is updated to call these generators instead of copying pre-existing license files.

Changes

License and Attribution Generation

Layer / File(s) Summary
Metadata Definition
examples/auto_deploy/llmc/_license_data.py (lines 1–103)
VENDORED_PROJECTS list defines vendored upstream components with copyright and SPDX license IDs. DIRECT_DEP_LICENSES dict maps package names to (display_name, license_id, source_url) tuples for attribution lookup.
License Text Templates
examples/auto_deploy/llmc/_license_data.py (lines 105–330)
LICENSE_TEXTS dict stores dedented full license text bodies keyed by SPDX ID (Apache-2.0, MIT, BSD-3-Clause).
Generation Functions
examples/auto_deploy/llmc/_license_data.py (lines 333–423)
generate_license() builds a LICENSE file with vendored projects and deduplicated license texts. generate_attributions() writes ATTRIBUTIONS-Python.md by parsing dependencies and resolving them through the license map, with fallback for unknown packages.
Integration in Package Creation
examples/auto_deploy/llmc/create_standalone_package.py (lines 46–47, 185–188, 502–542)
Imports generation functions and VENDORED_PROJECTS; updates _MANAGED_PATHS to include ATTRIBUTIONS-Python.md; replaces copying of LICENSE and ATTRIBUTIONS-Python.md with calls to generate_license() and generate_attributions(); adjusts compliance-file copy loop to only include CODE_OF_CONDUCT.md and SECURITY.md.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the issue and solution clearly: llmc was using TRT-LLM's full dependency list instead of its own subset. However, the Test Coverage section is empty, which is a required template section. Fill in the Test Coverage section with relevant tests that verify the license generation functions work correctly and produce accurate attribution files for the llmc package.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: introducing generated licensing documentation (LICENSE and ATTRIBUTIONS-Python.md) for the llmc package instead of copying from TRT-LLM.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Review rate limit: 9/10 reviews remaining, refill in 6 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@examples/auto_deploy/llmc/_license_data.py`:
- Around line 408-413: When license metadata is missing (info is falsy) for a
direct dependency, don't silently write "License: Unknown" and continue; instead
fail the generation by raising an error. Replace the current branch that appends
"License: Unknown" and continues so that if the dependency is direct (check the
direct-flag available in the loop—e.g., is_direct, dependency.is_direct, or
similar), raise a RuntimeError (or call sys.exit(1)) with a descriptive message
that includes dep_str; for non-direct/transitive deps you may keep the existing
fallback logging to lines as before. Ensure the raised error short-circuits
generation so missing license metadata for direct deps fails the build.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b04055af-0d8e-4b69-b118-26f6437aedd2

📥 Commits

Reviewing files that changed from the base of the PR and between fb0efdd and 7d79d85.

📒 Files selected for processing (2)
  • examples/auto_deploy/llmc/_license_data.py
  • examples/auto_deploy/llmc/create_standalone_package.py

Comment thread examples/auto_deploy/llmc/_license_data.py
@bmarimuthu-nv
Copy link
Copy Markdown
Collaborator Author

/bot run --stage-list "H100_PCIe-AutoDeploy-1"

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 2, 2026

⚠️ Bot command ignored: The /bot command must appear at the very beginning of the comment (no leading blank lines or spaces). Please post a new comment with /bot as the first character.

@bmarimuthu-nv
Copy link
Copy Markdown
Collaborator Author

/bot run --stage-list "H100_PCIe-AutoDeploy-1"

@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #46534 [ run ] triggered by Bot. Commit: 7d79d85 Link to invocation

@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #46534 [ run ] completed with state SUCCESS. Commit: 7d79d85
/LLM/main/L0_MergeRequest_PR pipeline #36593 (Partly Tested) completed with status: 'SUCCESS'

CI Report

Link to invocation

…LM's

The extraction script was blindly copying TRT-LLM's entire LICENSE file,
which listed 13 vendored projects — only 4-5 of which have code in the
standalone package. This included the restrictive LTX-2 Community License
for code not present in the repo. ATTRIBUTIONS-Python.md was not managed
by the script at all, resulting in a stale 282-package file inherited from
TRT-LLM.

Changes:
- Replace shutil.copy2(LICENSE) with _generate_license() that only
  includes the 6 vendored projects actually in auto_deploy
- Add _generate_attributions() to produce ATTRIBUTIONS-Python.md from
  the 19 direct dependencies with known licenses
- Add ATTRIBUTIONS-Python.md to _MANAGED_PATHS so it is regenerated
  on every extraction run

Signed-off-by: Balamurugan Marimuthu <246387390+bmarimuthu-nv@users.noreply.github.com>
Signed-off-by: Balamurugan Marimuthu <246387390+bmarimuthu-nv@users.noreply.github.com>
Signed-off-by: Balamurugan Marimuthu <246387390+bmarimuthu-nv@users.noreply.github.com>
@bmarimuthu-nv bmarimuthu-nv force-pushed the bala/llmc-licensing branch from 7d79d85 to bfae070 Compare May 4, 2026 20:30
@bmarimuthu-nv
Copy link
Copy Markdown
Collaborator Author

/bot run --stage-list "H100_PCIe-AutoDeploy-1"

@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #46686 [ run ] triggered by Bot. Commit: bfae070 Link to invocation

Comment thread examples/auto_deploy/llmc/_license_data.py
@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #46686 [ run ] completed with state SUCCESS. Commit: bfae070
/LLM/main/L0_MergeRequest_PR pipeline #36725 (Partly Tested) completed with status: 'SUCCESS'

CI Report

Link to invocation

@bmarimuthu-nv
Copy link
Copy Markdown
Collaborator Author

/bot skip --comment "llc packaging only - tested locally and passes AD stage test"

@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #46702 [ skip ] triggered by Bot. Commit: bfae070 Link to invocation

@tensorrt-cicd
Copy link
Copy Markdown
Collaborator

PR_Github #46702 [ skip ] completed with state SUCCESS. Commit: bfae070
Skipping testing for commit bfae070

Link to invocation

@bmarimuthu-nv bmarimuthu-nv merged commit 15eb8f7 into NVIDIA:main May 4, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants