From 19d80212f074c330cdf60143cba014b3b0550754 Mon Sep 17 00:00:00 2001 From: ankitat Date: Fri, 15 May 2026 11:00:51 +0530 Subject: [PATCH 1/3] docs(README): instantiate PLC OSS template skeleton Apply the PLC-OSS-Template's own customization steps to the bootstrapped README: - Step 5 (remove meta-instructions section ending at ``) - Step 2 placeholder substitution: `[Project Title]` -> `DeepStream` - Align LICENSE reference with PLC convention (`LICENSE.md` -> `LICENSE`) Content placeholders inside the project skeleton (``, ``, ``, ``, etc.) and the `GOVERNANCE.md` reference are intentionally left as TODOs - those need real project-specific values, not template substitution. Co-Authored-By: Claude Opus 4.7 (1M context) Committed-By: ankitat's Claude Agent Codex Review: Approved: --- README.md | 88 ++----------------------------------------------------- 1 file changed, 2 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index 56b69ecf..8ed77c27 100644 --- a/README.md +++ b/README.md @@ -1,88 +1,4 @@ -# __NVIDIA_OSS__ Standard Repo Template - -This README file is from the NVIDIA_OSS standard repo template of [PLC-OSS-Template](https://github.com/NVIDIA-GitHub-Management/PLC-OSS-Template?tab=readme-ov-file). It provides a list of files in the PLC-OSS-Template and guidelines on how to use (clone and customize) them. - -**Upon completing the customization for the project repo, the repo admin should replace this README template with the project specific README file.** - -- Files (org-wide templates in the NVIDIA .github org repo; per-repo overrides allowed) in [PLC-OSS-Template](https://github.com/NVIDIA-GitHub-Management/PLC-OSS-Template?tab=readme-ov-file) - - - Root - - README.md skeleton (CTA + Quickstart + Support/Security/Governance links) - - LICENSE (Apache 2.0 by default) - - For other licenses, see the [Confluence page](https://confluence.nvidia.com/pages/viewpage.action?pageId=788418816) for other licenses - - CLA.md file (delete if not using MIT or BSD licenses) - - CODE_OF_CONDUCT.md - - SECURITY.md (vuln reporting path) - - CONTRIBUTING.md (base; repo can add specifics) - - SUPPORT.md (Support levels/channels) - - GOVERNANCE.md (baseline; repo may extend) - - CITATION.md (for projects that need citation) - - - .github/ - - ISSUE_TEMPLATE/ () - - bug.yml, feature.yml, task.yml, config.yml - - PULL_REQUEST_TEMPLATE.md () - - workflows/ - - Note: workflow-templates/ for starter workflows should live in the org-level .github repo, not per-repo - - - Repo-specific (not org-template, maintained by the team) - - CODEOWNERS (place at .github/CODEOWNERS or repo root) - - CHANGELOG.md (or RELEASE.md) - - ROADMAP.md - - MAINTAINERS.md - - NOTICE or THIRD_PARTY_NOTICES / THIRD_PARTY_LICENSES (dependency specific) - - Build/package files (CMake, pyproject, Dockerfile, etc.) - - - Recommended structure and hygiene - - docs/ - - examples/ - - tests/ - - scripts/ - - Container/dev env: Dockerfile, docker/, .devcontainer/ (optional) - - Build/package (language-specific): - - Python: pyproject.toml, setup.cfg/setup.py, requirements.txt, environment.yml - - C++: CMakeLists.txt, cmake/, vcpkg.json - - Repo hygiene: .gitignore, .gitattributes, .editorconfig, .pre-commit-config.yaml, .clang-format - - -## Usage of [PLC-OSS-Template](https://github.com/NVIDIA-GitHub-Management/PLC-OSS-Template?tab=readme-ov-file) for NEW NVIDIA OSS repos - -1. Clone the [PLC-OSS-Template](https://github.com/NVIDIA-GitHub-Management/PLC-OSS-Template?tab=readme-ov-file) -2. Find/replace all in the clone of `___PROJECT___` and `__PROJECT_NAME__` with the name of the specific project. -3. Inspect all files to make sure all replacements work and update text as needed - - -**What you can reuse immediately** -- CODE_OF_CONDUCT.md -- SECURITY.md -- CONTRIBUTING.md (base) -- .github/ISSUE_TEMPLATE/.yml (bug/feature/task + config.yml) -- .github/PULL_REQUEST_TEMPLATE.md -- Reusable workflows - -**What you must customize per repo** -- README.md: copy the skeleton and fill in product-specific details (Quickstart, Requirements, Usage, Support level, links) -- LICENSE: check file is correct, update year, consult Confluence for alternatives https://confluence.nvidia.com/pages/viewpage.action?pageId=788418816, add CLA.md only if your license/process requires it -- CODEOWNERS: replace with your GitHub team handle(s). Place at .github/CODEOWNERS (or repo root) -- MAINTAINERS.md: list maintainers names/roles, escalation path -- CHANGELOG.md (or RELEASE.md): track releases/changes -- SUPPORT.md: Update for your project -- ROADMAP.md (optional): upcoming milestones -- NOTICE / THIRD_PARTY_NOTICES (if you ship third‑party content) -- Build/package files (CMake/pyproject/Dockerfile/etc.), tests/, docs/, examples/, scripts/ as appropriate -- Workflows: Edit if you need custom behavior - - -4. Change git origin to point to new repo and push -5. Remove the line break below and everything above it - -## Usage for existing NVIDIA OSS repos - -1. Follow the steps above, but add the files to your existing repo and merge - - ------------------------------------------ -# [Project Title] +# DeepStream One-sentence value proposition for users. Who is it for, and why it matters. # Overview @@ -150,5 +66,5 @@ Provide the channel for community communications. Provide a list of related references # License -This project is licensed under the [NAME HERE] License - see the LICENSE.md file for details +This project is licensed under the Apache 2.0 License - see the LICENSE file for details - License: From 14c836859e4d452cecda6375806afa671c78e4d4 Mon Sep 17 00:00:00 2001 From: ankitat Date: Fri, 15 May 2026 11:01:25 +0530 Subject: [PATCH 2/3] docs: add PLC OSS template sibling files (LICENSE, CONTRIBUTING, CODE_OF_CONDUCT) The new README references CONTRIBUTING.md, CODE_OF_CONDUCT.md, and LICENSE; none existed in the repo. Pulled all three from the PLC OSS template (github.com/NVIDIA-GitHub-Management/PLC-OSS-Template): - `LICENSE`: Apache 2.0, copied verbatim. - `CONTRIBUTING.md`: `__PROJECT__` -> `DeepStream`, `rapidsai` -> `NVIDIA`. - `CODE_OF_CONDUCT.md`: `__PROJECT__` -> `DeepStream`. Known TODOs left intact (out of scope for the mechanical substitution): - `CONTRIBUTING.md` lines 10, 33-34, 39, 52, 60: six `RAPIDS`-with-capital references and two RAPIDS-specific external URLs (jarmak-nv/rapids- repo-template, docs.rapids.ai/api/cudf) that the literal `rapidsai` substitution didn't catch. - `CONTRIBUTING.md:52` and `:57`: after substitution, links point at `NVIDIA/kb/issues/42` and `orgs/NVIDIA/projects/80` - non-existent targets; need a separate cleanup pass with real DeepStream-team references. - `GOVERNANCE.md`: referenced in README but not present in the PLC template; reference left as a TODO per repo-admin direction. Co-Authored-By: Claude Opus 4.7 (1M context) Committed-By: ankitat's Claude Agent Codex Review: Approved: --- CODE_OF_CONDUCT.md | 84 +++++++++++++++++++ CONTRIBUTING.md | 95 +++++++++++++++++++++ LICENSE | 201 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 380 insertions(+) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..ef263611 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,84 @@ +# Contributor Covenant Code of Conduct + +## Overview + +Define the code of conduct followed and enforced for DeepStream. + +### Intended audience + +Community | Developers | Project Leads + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting GitHub_Conduct@nvidia.com. All complaints will be reviewed and +investigated and will result in a response that is deemed necessary and appropriate +to the circumstances. The project team is obligated to maintain confidentiality with +regard to the reporter of an incident. Further details of specific enforcement policies +may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..ba5624c5 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,95 @@ +# Contributing to DeepStream + +If you are interested in contributing to DeepStream, your contributions will fall +into three categories: +1. You want to report a bug, feature request, or documentation issue + - File an [issue](https://github.com/NVIDIA/DeepStream/issues/new/choose) + describing what you encountered or what you want to see changed. + - Please run and paste the output of the `DeepStream/print_env.sh` script while + reporting a bug to gather and report relevant environment details. + - The RAPIDS team will evaluate the issues and triage them, scheduling + them for a release. If you believe the issue needs priority attention + comment on the issue to notify the team. +2. You want to propose a new Feature and implement it + - Post about your intended feature, and we shall discuss the design and + implementation. + - Once we agree that the plan looks good, go ahead and implement it, using + the [code contributions](#code-contributions) guide below. +3. You want to implement a feature or bug-fix for an outstanding issue + - Follow the [code contributions](#code-contributions) guide below. + - If you need more context on a particular issue, please ask and we shall + provide. + +## Code contributions + +### Your first issue + +1. Read the project's [README.md](https://github.com/NVIDIA/DeepStream/blob/main/README.md) + to learn how to setup the development environment. +2. Find an issue to work on. The best way is to look for the [good first issue](https://github.com/NVIDIA/DeepStream/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) + or [help wanted](https://github.com/NVIDIA/DeepStream/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) labels +3. Comment on the issue saying you are going to work on it. +4. Get familar with the developer guide relevant for you: + * For C++ developers it is available here [DEVELOPER_GUIDE.md](https://github.com/jarmak-nv/rapids-repo-template/blob/main/Maintainers/DEVELOPER_GUIDE.md) + * For Python developers, a [cuDF SAMPLE Python DEVELOPER_GUIDE.md](https://docs.rapids.ai/api/cudf/stable/developer_guide/index.html) is availabe as well. +5. Code! Make sure to update unit tests! +6. When done, [create your pull request](https://github.com/NVIDIA/DeepStream/compare). +7. Verify that CI passes all [status checks](https://help.github.com/articles/about-status-checks/), or fix if needed. +8. Wait for other developers to review your code and update code as needed. +9. Once reviewed and approved, a RAPIDS developer will merge your pull request. + +Remember, if you are unsure about anything, don't hesitate to comment on issues and ask for clarifications! + +### Managing PR labels + +Each PR must be labeled according to whether it is a "breaking" or "non-breaking" change (using Github labels). This is used to highlight changes that users should know about when upgrading. + +For DeepStream, a "breaking" change is one that modifies the public, non-experimental, Python API in a +non-backward-compatible way. The C++ API does not have an expectation of backward compatibility at this +time, so changes to it are not typically considered breaking. Backward-compatible API changes to the Python +API (such as adding a new keyword argument to a function) do not need to be labeled. + +Additional labels must be applied to indicate whether the change is a feature, improvement, bugfix, or documentation change. See the shared RAPIDS documentation for these labels: https://github.com/NVIDIA/kb/issues/42. + +### Seasoned developers + +Once you have gotten your feet wet and are more comfortable with the code, you +can look at the prioritized issues of our next release in our [project board](https://github.com/orgs/NVIDIA/projects/80). + +> **Pro Tip:** Always look at the release board with the highest number for +issues to work on. This is where RAPIDS developers also focus their efforts. + +Look at the unassigned issues, and find an issue you are comfortable with +contributing to. Start with _Step 3_ from above, commenting on the issue to let +others know you are working on it. If you have any questions related to the +implementation of the issue, ask them in the issue instead of the PR. + +### Branches and Versions + +The DeepStream repository has two main branches: + +1. `main` branch: it contains the last released version. Only hotfixes are targeted and merged into it. +2. `branch-x.y`: it is the development branch which contains the upcoming release. All the new features should be based on this branch and Merge/Pull request should target this branch (with the exception of hotfixes). + +### Additional details + +For every new version `x.y` of DeepStream there is a corresponding branch called `branch-x.y`, from where new feature development starts and PRs will be targeted and merged before its release. The exceptions to this are the 'hotfixes' that target the `main` branch, which target critical issues raised by Github users and are directly merged to `main` branch, and create a new subversion of the project. While trying to patch an issue which requires a 'hotfix', please state the intent in the PR. + +For all development, your changes should be pushed into a branch (created using the naming instructions below) in your own fork of DeepStream and then create a pull request when the code is ready. + +A few days before releasing version `x.y` the code of the current development branch (`branch-x.y`) will be frozen and a new branch, 'branch-x+1.y' will be created to continue development. + +### Branch naming + +Branches used to create PRs should have a name of the form `-` +which conforms to the following conventions: +- Type: + - fea - For if the branch is for a new feature(s) + - enh - For if the branch is an enhancement of an existing feature(s) + - bug - For if the branch is for fixing a bug(s) or regression(s) +- Name: + - A name to convey what is being worked on + - Please use dashes or underscores between words as opposed to spaces. + +## Attribution +Portions adopted from https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..1a89b905 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2020 NVIDIA Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From 7bf028a84f3c26d214cc5dfc28e3b85c35639ad7 Mon Sep 17 00:00:00 2001 From: ankitat Date: Fri, 15 May 2026 13:18:15 +0530 Subject: [PATCH 3/3] docs: address PR review - drop CONTRIBUTING.md, fill out PLC sibling files Per review feedback on PR #5: Removed: - CONTRIBUTING.md (per request - leave dropped from this PR) - skills/ (empty placeholder dir, only contained .gitkeep) - .github/.gitkeep (no longer needed - .github/ now has real content) README.md edits: - Contribution Guidelines section -> "This project is currently not accepting contributions." (drop Start here/CoC/quickstart bullets) - License section: drop `- License: ` line, add `- SPDX-License-Identifier: Apache-2.0` Added remaining PLC OSS template files (skipping CLA.md per request), with `__PROJECT__`/`___PROJECT___` -> `DeepStream` and `rapidsai` -> `NVIDIA` substitutions where applicable: - CITATION.md (verbatim - no placeholders) - CHANGELOG.md - print_env.sh (executable) - .github/CODEOWNERS - .github/PULL_REQUEST_TEMPLATE.md - .github/folder_README.md (verbatim) - .github/ISSUE_TEMPLATE/{bug_report,bug_report_form,config, documentation-request,documentation_request_correction, documentation_request_new,feature_request,feature_request_form, submit-question}.{md,yml} - .github/workflow-templates/{add_issue_to_project, add_issue_to_project_raw}.yml Known TODOs left intact (out of scope for mechanical substitution): - .github/CODEOWNERS: `` and `` placeholders unset - .github/PULL_REQUEST_TEMPLATE.md: links to CONTRIBUTING.md which was removed in this PR - CITATION.md: still contains generic `Project_Name`/`Project_url` example tokens from upstream template - README.md: ``, ``, etc. content placeholders and GOVERNANCE.md reference remain as TODOs Co-Authored-By: Claude Opus 4.7 (1M context) Committed-By: ankitat's Claude Agent Codex Review: Approved: --- .github/.gitkeep | 0 .github/CODEOWNERS | 17 +++ .github/ISSUE_TEMPLATE/bug_report.md | 30 +++++ .github/ISSUE_TEMPLATE/bug_report_form.yml | 92 +++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 ++ .../ISSUE_TEMPLATE/documentation-request.md | 42 +++++++ .../documentation_request_correction.yml | 70 +++++++++++ .../documentation_request_new.yml | 63 ++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 23 ++++ .../ISSUE_TEMPLATE/feature_request_form.yml | 109 ++++++++++++++++++ .github/ISSUE_TEMPLATE/submit-question.md | 14 +++ .github/PULL_REQUEST_TEMPLATE.md | 9 ++ .github/folder_README.md | 39 +++++++ .../add_issue_to_project.yml | 25 ++++ .../add_issue_to_project_raw.yml | 45 ++++++++ CHANGELOG.md | 13 +++ CITATION.md | 43 +++++++ CONTRIBUTING.md | 95 --------------- README.md | 10 +- print_env.sh | 88 ++++++++++++++ skills/.gitkeep | 0 21 files changed, 736 insertions(+), 102 deletions(-) delete mode 100644 .github/.gitkeep create mode 100644 .github/CODEOWNERS create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report_form.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/documentation-request.md create mode 100644 .github/ISSUE_TEMPLATE/documentation_request_correction.yml create mode 100644 .github/ISSUE_TEMPLATE/documentation_request_new.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request_form.yml create mode 100644 .github/ISSUE_TEMPLATE/submit-question.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/folder_README.md create mode 100644 .github/workflow-templates/add_issue_to_project.yml create mode 100644 .github/workflow-templates/add_issue_to_project_raw.yml create mode 100644 CHANGELOG.md create mode 100644 CITATION.md delete mode 100644 CONTRIBUTING.md create mode 100755 print_env.sh delete mode 100644 skills/.gitkeep diff --git a/.github/.gitkeep b/.github/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..ab325fcb --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,17 @@ +#cpp code owners +cpp/ @/-cpp-codeowners + +#python code owners +python/ @/-python-codeowners + +#cmake code owners +**/CMakeLists.txt @/-cmake-codeowners +**/cmake/ @/-cmake-codeowners + +#build/ops code owners +.github/ @/ops-codeowners +ci/ @/ops-codeowners +conda/ @/ops-codeowners +**/Dockerfile @/ops-codeowners +**/.dockerignore @/ops-codeowners +docker/ @/ops-codeowners diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..64d1bcea --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,30 @@ +--- +name: Bug report +about: Create a bug report to help us improve DeepStream +title: "[BUG]" +labels: "? - Needs Triage, bug" +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Steps/Code to reproduce bug** +Follow [this guide](http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) to craft a minimal bug report. This helps us reproduce the issue you're having and resolve the issue more quickly. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Environment details (please complete the following information):** + - Environment location: [Bare-metal, Docker, Cloud(specify cloud provider)] + - Method of DeepStream install: [conda, Docker, pip, or from source] + - If method of install is [Docker], provide `docker pull` & `docker run` commands used + - Run `print_env.sh` from the project root and paste the results here + + +**Additional context** +Add any other context about the problem here. + +----- +By submitting this issue, you agree to follow our [code of conduct](https://docs.rapids.ai/resources/conduct/) and our [contributing guidelines](https://github.com/jarmak-nv/rapids-repo-template/blob/main/CONTRIBUTING.md). diff --git a/.github/ISSUE_TEMPLATE/bug_report_form.yml b/.github/ISSUE_TEMPLATE/bug_report_form.yml new file mode 100644 index 00000000..c6392e72 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report_form.yml @@ -0,0 +1,92 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Bug Report +description: File a bug report +title: "[BUG]: " +labels: ["bug"] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + - type: input + id: version + attributes: + label: Version + description: What version of DeepStream are you running? + placeholder: "example: 23.02" + validations: + required: true + + - type: dropdown + id: installation-method + attributes: + label: Which installation method(s) does this occur on? + multiple: true + options: + - Docker + - Conda + - Pip + - Source + + - type: textarea + id: description + attributes: + label: Describe the bug. + description: Also tell us, what did you expect to happen? + placeholder: XYZ occured, I expected QRS results + validations: + required: true + + - type: textarea + id: mvr + attributes: + label: Minimum reproducible example + description: Please supply a [minimum reproducible code example](https://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports) here + render: shell + + - type: textarea + id: logs + attributes: + label: Relevant log output + description: Please paste relevant error and log output here + render: shell + + - type: textarea + id: env-printout + attributes: + label: Full env printout + description: Please run and paste the output of the `print_env.sh` script here, to gather any other relevant environment details + render: shell + + - type: textarea + id: misc + attributes: + label: Other/Misc. + description: Please enter any other helpful information here. + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://docs.rapids.ai/resources/conduct/) + options: + - label: I agree to follow __THIS PROJECT__'s Code of Conduct + required: true + - label: I have searched the [open bugs](https://github.com/jarmak-nv/issues?q=is%3Aopen+is%3Aissue+label%3Abug) and have found no duplicates for this bug report + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..259b6fa3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +# GitHub info on config.yml +# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser +# Set to 'false' if you only want the templates to be used. +blank_issues_enabled: true + +# When using discussions instead of Question issue templates, +# link that below to have it show up in the 'Submit Issue' page +contact_links: + - name: Ask a Question + url: https://github.com/jarmak-nv/rapids-repo-template/discussions + about: Please ask any questions here. diff --git a/.github/ISSUE_TEMPLATE/documentation-request.md b/.github/ISSUE_TEMPLATE/documentation-request.md new file mode 100644 index 00000000..069636c0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation-request.md @@ -0,0 +1,42 @@ +--- +name: Documentation request +about: Report incorrect or needed documentation +title: "[DOC]" +labels: "? - Needs Triage, doc" +assignees: '' + +--- + + + + +## Report incorrect documentation + +**Location of incorrect documentation** +Provide links and line numbers if applicable. + +**Describe the problems or issues found in the documentation** +A clear and concise description of what you found to be incorrect. + +**Steps taken to verify documentation is incorrect** +List any steps you have taken: + +**Suggested fix for documentation** +Detail proposed changes to fix the documentation if you have any. + +--- + +## Report needed documentation + +**Report needed documentation** +A clear and concise description of what documentation you believe it is needed and why. + +**Describe the documentation you'd like** +A clear and concise description of what you want to happen. + +**Steps taken to search for needed documentation** +List any steps you have taken: + + +----- +By submitting this issue, you agree to follow our [code of conduct](https://docs.rapids.ai/resources/conduct/) and our [contributing guidelines](https://github.com/jarmak-nv/rapids-repo-template/blob/main/CONTRIBUTING.md). diff --git a/.github/ISSUE_TEMPLATE/documentation_request_correction.yml b/.github/ISSUE_TEMPLATE/documentation_request_correction.yml new file mode 100644 index 00000000..8743a8eb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation_request_correction.yml @@ -0,0 +1,70 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Documentation - Correction/Update Request +description: Request corrections or updates to existing documentation +title: "[DOC]: " +labels: ["doc"] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to improve our documentation! + + - type: dropdown + id: criticality + attributes: + label: How would you describe the priority of this documentation request + options: + - Critical (currently preventing usage) + - High + - Medium + - Low (would be nice) + validations: + required: true + + - type: input + id: correction_location + attributes: + label: Please provide a link or source to the relevant docs + placeholder: "ex: https://github.com/jarmak-nv/rapids-repo-template/blob/main/README.md" + validations: + required: true + + - type: textarea + id: problem + attributes: + label: Describe the problems in the documentation + placeholder: The documents say to use foo.func(args) however an AttributeError is thrown + validations: + required: true + + - type: textarea + id: correction + attributes: + label: (Optional) Propose a correction + placeholder: foo.func() was deprecated, replace documentation with foo.new_func() + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/jarmak-nv/rapids-repo-template/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow DeepStream's Code of Conduct + required: true + - label: I have searched the [open documentation issues](https://github.com/jarmak-nv/rapids-repo-template/issues?q=is%3Aopen+is%3Aissue+label%3Adoc) and have found no duplicates for this bug report + required: true diff --git a/.github/ISSUE_TEMPLATE/documentation_request_new.yml b/.github/ISSUE_TEMPLATE/documentation_request_new.yml new file mode 100644 index 00000000..84de7db5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation_request_new.yml @@ -0,0 +1,63 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Documentation - New Documentation Request +description: Request additions to DeepStream documentation +title: "[DOC]: " +labels: ["doc"] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to improve our documentation! + + - type: dropdown + id: criticality + attributes: + label: How would you describe the priority of this documentation request + options: + - Critical (currently preventing usage) + - High + - Medium + - Low (would be nice) + validations: + required: true + + - type: textarea + id: problem + attributes: + label: Describe the future/missing documentation + placeholder: A code snippet mentions function foo(args) but I cannot find any documentation on it. + validations: + required: true + + - type: textarea + id: search_locs + attributes: + label: Where have you looked? + placeholder: | + https://github.com/NVIDIA-GitHub-Management/PLC-OSS-Template/blob/main/README.md + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/NVIDIA-GitHub-Management/PLC-OSS-Template/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow DeepStream's Code of Conduct + required: true + - label: I have searched the project's documentation and have found no duplicates for this bug report + required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..1231e114 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,23 @@ +--- +name: Feature request +about: Suggest an idea for DeepStream +title: "[FEA]" +labels: "? - Needs Triage, feature request" +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I wish I could use DeepStream to do [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context, code examples, or references to existing implementations about the feature request here. + +----- +By submitting this issue, you agree to follow our [code of conduct](https://docs.rapids.ai/resources/conduct/) and our [contributing guidelines](https://github.com/jarmak-nv/rapids-repo-template/blob/main/CONTRIBUTING.md). diff --git a/.github/ISSUE_TEMPLATE/feature_request_form.yml b/.github/ISSUE_TEMPLATE/feature_request_form.yml new file mode 100644 index 00000000..45b23228 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request_form.yml @@ -0,0 +1,109 @@ +# SPDX-FileCopyrightText: Copyright (c) 2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Feature Request Form +description: Request new or improved functionality or changes to existing functionality +title: "[FEA]: " +labels: ["feature request"] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this feature request! + + - type: dropdown + id: new_or_improvement + attributes: + label: Is this a new feature, an improvement, or a change to existing functionality? + options: + - New Feature + - Improvement + - Change + validations: + required: true + + - type: dropdown + id: criticality + attributes: + label: How would you describe the priority of this feature request + options: + - Critical (currently preventing usage) + - High + - Medium + - Low (would be nice) + validations: + required: true + + - type: textarea + id: problem + attributes: + label: Please provide a clear description of problem this feature solves + description: Real usage examples are especially helpful, non-code. + validations: + required: true + + - type: textarea + id: Feature_Description + attributes: + label: Feature Description + description: Please provide clear description of the feature you request (refer to [User Story format](https://www.atlassian.com/agile/project-management/user-stories#:~:text=User%20story%20template%20and%20examples) and [EARS format](https://ieeexplore.ieee.org/document/5328509)) + placeholder: > + For new feature request, please use one of the following format to describe the feature + 1. From End-user perspective, use the following user story format + As a , I , . + 2. From System perspective, use the following EARS format + shall + For changing or improving existing feature, it's recommended to provide the previoius Feature Request ID. + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Describe your ideal solution + description: Please describe the functionality you would like added. + placeholder: > + A new function that takes in the information in this form, and triages the issue + + def feature_request(form_info): + parse(form_info) + return triage_outcome + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Describe any alternatives you have considered + description: List any other libraries, or approaches you have looked at or tried. + placeholder: I have looked at library xyz and qrs, but they do not offer GPU accleration + + - type: textarea + id: misc + attributes: + label: Additional context + description: Add any other context, code examples, or references to existing implementations about the feature request here. If applicable, please list the modules affected. + + - type: checkboxes + id: terms + attributes: + label: Code of Conduct + description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/NVIDIA/rapids-repo-template/blob/main/CODE_OF_CONDUCT.md) + options: + - label: I agree to follow DeepStream's Code of Conduct + required: true + - label: I have searched the [open feature requests](https://github.com/NVIDIA/rapids-repo-template/issues?q=is%3Aopen+is%3Aissue+label%3A%22feature+request%22%2Cimprovement%2Cenhancement) and have found no duplicates for this feature request + required: true diff --git a/.github/ISSUE_TEMPLATE/submit-question.md b/.github/ISSUE_TEMPLATE/submit-question.md new file mode 100644 index 00000000..b85c3faa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/submit-question.md @@ -0,0 +1,14 @@ +--- +name: Submit question +about: Ask a general question about DeepStream +title: "[QST]" +labels: "? - Needs Triage, question" +assignees: '' + +--- + +**What is your question?** + + +----- +By submitting this issue, you agree to follow our [code of conduct](https://docs.rapids.ai/resources/conduct/) and our [contributing guidelines](https://github.com/jarmak-nv/rapids-repo-template/blob/main/CONTRIBUTING.md). diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..fa9a792f --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,9 @@ +## Description + + + + +## Checklist +- [ ] I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/rapids-repo-template/blob/HEAD/CONTRIBUTING.md). +- [ ] New or existing tests cover these changes. +- [ ] The documentation is up to date with these changes. diff --git a/.github/folder_README.md b/.github/folder_README.md new file mode 100644 index 00000000..01a27089 --- /dev/null +++ b/.github/folder_README.md @@ -0,0 +1,39 @@ +### DELETE PRIOR TO GOING LIVE +--- + +### Overview + +The .github folder houses: +- Issue templates +- PR template +- GitHub Actions +- Codeowners + +#### Issue Templates +These are the templates a user sees if they click `New Issue`. This repo has provided two template styles: +1. `.md` templates + - These are the simpler templates, use these as a _starting point_ for lightweight repos +1. `.yml` templates + - These are more complex `form` templates, they are clearer in what we expect from the user and are preferred when possible as we can enforce required fields + +Regardless of the issue template selected, some customization for each library is expected: +- Default assignees +- Default labels +- Do the prompts make sense for your repo? + +> **Warning** +> +> Be sure to delete whichever templates you are not using + + +#### PR Template +This is the default template that users see when they go to open a new PR in the repo. Customize as needed to fit the repo. Currently, there are no form-style PR templates, only plain markdown templates. + +#### GitHub Actions +GitHub Actions are automations that are triggered on specific events. Some commonly used actions: +- Run CI +- Auto-add issues to projects +- Auto-label external contributor issues/PRs + +#### Codeowners +This file defines individuals or teams that are responsible for code in a repository, you'll need to set up your teams first in the org, then add them to the codeowners. We're provided a template CODEOWNERS file here. diff --git a/.github/workflow-templates/add_issue_to_project.yml b/.github/workflow-templates/add_issue_to_project.yml new file mode 100644 index 00000000..cc68edf5 --- /dev/null +++ b/.github/workflow-templates/add_issue_to_project.yml @@ -0,0 +1,25 @@ +name: Add new issue/PR to project +# This action automatically takes all issues and PRs created in the repo and +# adds them to a specific GitHub project + +on: + issues: + types: + - opened + + pull_request_target: + types: + - opened + +jobs: + add-to-project: + name: Add issue or PR to project + runs-on: ubuntu-latest + steps: + - uses: actions/add-to-project@latest + with: + # copy the URL to the project-url field + # you will need a personal access token, or to create a GitHub app to support this action + # https://github.com/actions/add-to-project#creating-a-pat-and-adding-it-to-your-repository + project-url: PROJECT_URL_LINK + github-token: ${{ secrets.__PROJECTSECRET__ }} diff --git a/.github/workflow-templates/add_issue_to_project_raw.yml b/.github/workflow-templates/add_issue_to_project_raw.yml new file mode 100644 index 00000000..837303c5 --- /dev/null +++ b/.github/workflow-templates/add_issue_to_project_raw.yml @@ -0,0 +1,45 @@ +name: Add issue to project +on: + issues: + types: + - opened +jobs: + track_issue: + runs-on: ubuntu-latest + steps: + - name: Get project data + env: + # Need a PAT or GH App to authenticate + # https://docs.github.com/en/issues/planning-and-tracking-with-projects/automating-your-project/automating-projects-using-actions + GH_TOKEN: ${{ secrets.YOUR_SECRET }} + # ex: https://github.com/orgs/NVIDIA/projects/41 + # use ORGANIZATION: NVIDIA, PROJECT_NUMBER 41 + ORGANIZATION: YOUR_ORG + PROJECT_NUMBER: YOUR_PROJECT_NUMBER + run: | + gh api graphql -f query=' + query($user: String!, $number: Int!) { + user(login: $user){ + projectV2(number: $number) { + id + } + } + }' -f user=$USER -F number=$PROJECT_NUMBER > project_data.json + echo 'PROJECT_ID='$(jq '.data.user.projectV2.id' project_data.json) >> $GITHUB_ENV + + - name: Add issue to project + env: + # Replace with your secret here too + GITHUB_TOKEN: ${{ secrets.YOUR_SECRET }} + ISSUE_ID: ${{ github.event.issue.node_id }} + run: | + item_id="$( gh api graphql -f query=' + mutation($project:ID!, $issue:ID!) { + addProjectV2ItemById(input: {projectId: $project, contentId: $issue}) { + item { + id + } + } + }' -f project=$PROJECT_ID -f issue=$ISSUE_ID --jq '.data.addProjectV2ItemById.item.id')" + + echo 'ITEM_ID='$item_id >> $GITHUB_ENV diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..2f2a48a6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,13 @@ +# DeepStream 0.0.0 (DD Mon YYYY) + +## New Features + +- ... + +## Improvements + +- ... + +## Bug Fixes + +- ... diff --git a/CITATION.md b/CITATION.md new file mode 100644 index 00000000..7e0ca57d --- /dev/null +++ b/CITATION.md @@ -0,0 +1,43 @@ +# Citation Guide + +## To Cite the Project +If you use the Project in a publication, please use citations in the following format (BibTeX entry for LaTeX): +```tex +@Manual{, + title = {Project_Name: Collection of Libraries for End to End GPU Data Science}, + author = {Project_Name Development Team}, + year = {2018}, + url = {Project_url}, +} +``` + + +## Sample Citations: + +### Bringing UMAP Closer to the Speed of Light
with GPU Acceleration +```tex +@misc{ + nolet2020bringing, + title={Bringing UMAP Closer to the Speed of Light with GPU Acceleration}, + author={Corey J. Nolet, Victor Lafargue, Edward Raff, Thejaswi Nanditale, Tim Oates, John Zedlewski, and Joshua Patterson}, + year={2020}, + eprint={2008.00325}, + archivePrefix={arXiv}, + primaryClass={cs.LG} +} +``` + +### Machine Learning in Python:
Main developments and technology trends in data science, machine learning, and artificial intelligence +```tex +@article{ + raschka2020machine, + title={Machine Learning in Python: Main developments and technology trends in data science, machine learning, and artificial intelligence}, + author={Raschka, Sebastian and Patterson, Joshua and Nolet, Corey}, + journal={Information}, + volume={11}, + number={4}, + pages={193}, + year={2020}, + publisher={Multidisciplinary Digital Publishing Institute} +} +``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index ba5624c5..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,95 +0,0 @@ -# Contributing to DeepStream - -If you are interested in contributing to DeepStream, your contributions will fall -into three categories: -1. You want to report a bug, feature request, or documentation issue - - File an [issue](https://github.com/NVIDIA/DeepStream/issues/new/choose) - describing what you encountered or what you want to see changed. - - Please run and paste the output of the `DeepStream/print_env.sh` script while - reporting a bug to gather and report relevant environment details. - - The RAPIDS team will evaluate the issues and triage them, scheduling - them for a release. If you believe the issue needs priority attention - comment on the issue to notify the team. -2. You want to propose a new Feature and implement it - - Post about your intended feature, and we shall discuss the design and - implementation. - - Once we agree that the plan looks good, go ahead and implement it, using - the [code contributions](#code-contributions) guide below. -3. You want to implement a feature or bug-fix for an outstanding issue - - Follow the [code contributions](#code-contributions) guide below. - - If you need more context on a particular issue, please ask and we shall - provide. - -## Code contributions - -### Your first issue - -1. Read the project's [README.md](https://github.com/NVIDIA/DeepStream/blob/main/README.md) - to learn how to setup the development environment. -2. Find an issue to work on. The best way is to look for the [good first issue](https://github.com/NVIDIA/DeepStream/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) - or [help wanted](https://github.com/NVIDIA/DeepStream/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) labels -3. Comment on the issue saying you are going to work on it. -4. Get familar with the developer guide relevant for you: - * For C++ developers it is available here [DEVELOPER_GUIDE.md](https://github.com/jarmak-nv/rapids-repo-template/blob/main/Maintainers/DEVELOPER_GUIDE.md) - * For Python developers, a [cuDF SAMPLE Python DEVELOPER_GUIDE.md](https://docs.rapids.ai/api/cudf/stable/developer_guide/index.html) is availabe as well. -5. Code! Make sure to update unit tests! -6. When done, [create your pull request](https://github.com/NVIDIA/DeepStream/compare). -7. Verify that CI passes all [status checks](https://help.github.com/articles/about-status-checks/), or fix if needed. -8. Wait for other developers to review your code and update code as needed. -9. Once reviewed and approved, a RAPIDS developer will merge your pull request. - -Remember, if you are unsure about anything, don't hesitate to comment on issues and ask for clarifications! - -### Managing PR labels - -Each PR must be labeled according to whether it is a "breaking" or "non-breaking" change (using Github labels). This is used to highlight changes that users should know about when upgrading. - -For DeepStream, a "breaking" change is one that modifies the public, non-experimental, Python API in a -non-backward-compatible way. The C++ API does not have an expectation of backward compatibility at this -time, so changes to it are not typically considered breaking. Backward-compatible API changes to the Python -API (such as adding a new keyword argument to a function) do not need to be labeled. - -Additional labels must be applied to indicate whether the change is a feature, improvement, bugfix, or documentation change. See the shared RAPIDS documentation for these labels: https://github.com/NVIDIA/kb/issues/42. - -### Seasoned developers - -Once you have gotten your feet wet and are more comfortable with the code, you -can look at the prioritized issues of our next release in our [project board](https://github.com/orgs/NVIDIA/projects/80). - -> **Pro Tip:** Always look at the release board with the highest number for -issues to work on. This is where RAPIDS developers also focus their efforts. - -Look at the unassigned issues, and find an issue you are comfortable with -contributing to. Start with _Step 3_ from above, commenting on the issue to let -others know you are working on it. If you have any questions related to the -implementation of the issue, ask them in the issue instead of the PR. - -### Branches and Versions - -The DeepStream repository has two main branches: - -1. `main` branch: it contains the last released version. Only hotfixes are targeted and merged into it. -2. `branch-x.y`: it is the development branch which contains the upcoming release. All the new features should be based on this branch and Merge/Pull request should target this branch (with the exception of hotfixes). - -### Additional details - -For every new version `x.y` of DeepStream there is a corresponding branch called `branch-x.y`, from where new feature development starts and PRs will be targeted and merged before its release. The exceptions to this are the 'hotfixes' that target the `main` branch, which target critical issues raised by Github users and are directly merged to `main` branch, and create a new subversion of the project. While trying to patch an issue which requires a 'hotfix', please state the intent in the PR. - -For all development, your changes should be pushed into a branch (created using the naming instructions below) in your own fork of DeepStream and then create a pull request when the code is ready. - -A few days before releasing version `x.y` the code of the current development branch (`branch-x.y`) will be frozen and a new branch, 'branch-x+1.y' will be created to continue development. - -### Branch naming - -Branches used to create PRs should have a name of the form `-` -which conforms to the following conventions: -- Type: - - fea - For if the branch is for a new feature(s) - - enh - For if the branch is an enhancement of an existing feature(s) - - bug - For if the branch is for fixing a bug(s) or regression(s) -- Name: - - A name to convey what is being worked on - - Please use dashes or underscores between words as opposed to spaces. - -## Attribution -Portions adopted from https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md diff --git a/README.md b/README.md index 8ed77c27..16a1dcea 100644 --- a/README.md +++ b/README.md @@ -39,12 +39,8 @@ Summary of benchmarks; link to detailed results and hardware used. - (Optional) Next milestones or link to `ROADMAP.md`. # Contribution Guidelines -- Start here: `CONTRIBUTING.md` -- Code of Conduct: `CODE_OF_CONDUCT.md` -- Development quickstart (build/test): -```bash - && && -``` +This project is currently not accepting contributions. + ## Governance & Maintainers - Governance: `GOVERNANCE.md` - Maintainers: @@ -67,4 +63,4 @@ Provide a list of related references # License This project is licensed under the Apache 2.0 License - see the LICENSE file for details -- License: +- SPDX-License-Identifier: Apache-2.0 diff --git a/print_env.sh b/print_env.sh new file mode 100755 index 00000000..cdd9cf00 --- /dev/null +++ b/print_env.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash +# Copyright (c) 2023, NVIDIA CORPORATION. +# Reports relevant environment information useful for diagnosing and +# debugging DeepStream issues. +# Usage: +# "./print_env.sh" - prints to stdout +# "./print_env.sh > env.txt" - prints to file "env.txt" + +print_env() { +echo "**git***" +if [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" == "true" ]; then +git log --decorate -n 1 +echo "**git submodules***" +git submodule status --recursive +else +echo "Not inside a git repository" +fi +echo + +echo "***OS Information***" +cat /etc/*-release +uname -a +echo + +echo "***GPU Information***" +nvidia-smi +echo + +echo "***CPU***" +lscpu +echo + +echo "***CMake***" +which cmake && cmake --version +echo + +echo "***g++***" +which g++ && g++ --version +echo + +echo "***nvcc***" +which nvcc && nvcc --version +echo + +echo "***Python***" +which python && python -c "import sys; print('Python {0}.{1}.{2}'.format(sys.version_info[0], sys.version_info[1], sys.version_info[2]))" +echo + +echo "***Environment Variables***" + +printf '%-32s: %s\n' PATH $PATH + +printf '%-32s: %s\n' LD_LIBRARY_PATH $LD_LIBRARY_PATH + +printf '%-32s: %s\n' NUMBAPRO_NVVM $NUMBAPRO_NVVM + +printf '%-32s: %s\n' NUMBAPRO_LIBDEVICE $NUMBAPRO_LIBDEVICE + +printf '%-32s: %s\n' CONDA_PREFIX $CONDA_PREFIX + +printf '%-32s: %s\n' PYTHON_PATH $PYTHON_PATH + +echo + + +# Print conda packages if conda exists +if type "conda" &> /dev/null; then +echo '***conda packages***' +which conda && conda list +echo +# Print pip packages if pip exists +elif type "pip" &> /dev/null; then +echo "conda not found" +echo "***pip packages***" +which pip && pip list +echo +else +echo "conda not found" +echo "pip not found" +fi +} + +echo "
Click here to see environment details
"
+echo "     "
+print_env | while read -r line; do
+    echo "     $line"
+done
+echo "
" diff --git a/skills/.gitkeep b/skills/.gitkeep deleted file mode 100644 index e69de29b..00000000