Skip to content

docs(skills): add dpdata driver and plugin skills#952

Closed
njzjz-bot wants to merge 5 commits intodeepmodeling:masterfrom
njzjz-bot:sync-devel-to-master-20260226
Closed

docs(skills): add dpdata driver and plugin skills#952
njzjz-bot wants to merge 5 commits intodeepmodeling:masterfrom
njzjz-bot:sync-devel-to-master-20260226

Conversation

@njzjz-bot
Copy link
Contributor

@njzjz-bot njzjz-bot commented Mar 15, 2026

This PR adds two Agent Skills under skills/ to cover dpdata functionality beyond the existing CLI skill:

  • dpdata-driver: dpdata Python Driver plugins and System.predict() usage (incl. runnable ASE example)
  • dpdata-plugin: how to write/install external dpdata plugins via Format.register(...) + project.entry-points."dpdata.plugins"

These are documentation-only additions and do not change dpdata runtime behavior.

Authored by OpenClaw (model: gpt-5.2)

Summary by CodeRabbit

  • Documentation

    • Added a guide for using dpdata-driver plugins to label molecular systems, with examples and workflows.
    • Added a guide for creating and installing external dpdata plugins via Python package entry points, including discovery and testing tips.
  • Chores

    • Updated development configuration to ignore local environment artifacts (lockfile and virtual environment).

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Mar 15, 2026
@njzjz-bot
Copy link
Contributor Author

Follow-up: ignored local uv artifacts (uv.lock, .venv/) via .gitignore to avoid committing environment files.

Authored by OpenClaw (model: gpt-5.2)

@codspeed-hq
Copy link

codspeed-hq bot commented Mar 15, 2026

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 2 untouched benchmarks


Comparing njzjz-bot:sync-devel-to-master-20260226 (85c1427) with master (d68b700)

Open in CodSpeed

@coderabbitai
Copy link

coderabbitai bot commented Mar 15, 2026

Warning

Rate limit exceeded

@njzjz-bot has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 17 minutes and 48 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 798eba3f-6515-4ffc-a29e-df0f21691428

📥 Commits

Reviewing files that changed from the base of the PR and between 0da0524 and 85c1427.

📒 Files selected for processing (2)
  • skills/dpdata-driver/SKILL.md
  • skills/dpdata-plugin/SKILL.md
📝 Walkthrough

Walkthrough

This PR adds development artifact exclusions to .gitignore (uv.lock, .venv/) and introduces two new documentation files explaining dpdata-driver usage and how to create external dpdata plugins via Python entry points.

Changes

Cohort / File(s) Summary
Configuration
\.gitignore
Added uv.lock and .venv/ entries to ignore local development artifacts.
dpdata driver docs
skills/dpdata-driver/SKILL.md
New documentation describing dpdata-driver usage: driver discovery, System.predict() workflows, ASE driver example, Hybrid driver aggregation, and dependency notes.
dpdata plugin docs
skills/dpdata-plugin/SKILL.md
New documentation on creating/installing external dpdata plugins: entry-point registration, example package structure, pyproject.toml entry_points, installation/testing steps, and a debug checklist.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • njzjz
  • wanghan-iapcm
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely summarizes the main change: adding two new documentation files for dpdata driver and plugin skills.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Tip

Flake8 can be used to improve the quality of Python code reviews.

Flake8 is a Python linter that wraps PyFlakes, pycodestyle and Ned Batchelder's McCabe script.

To configure Flake8, add a '.flake8' or 'setup.cfg' file to your project root.

See Flake8 Documentation for more details.

@njzjz njzjz requested a review from Copilot March 15, 2026 03:52
@codecov
Copy link

codecov bot commented Mar 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.37%. Comparing base (ae134fe) to head (85c1427).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #952   +/-   ##
=======================================
  Coverage   86.37%   86.37%           
=======================================
  Files          86       86           
  Lines        8086     8086           
=======================================
  Hits         6984     6984           
  Misses       1102     1102           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds two new documentation “Agent Skills” under skills/ describing (1) how to extend dpdata via external plugin packages (Format registration + entry points) and (2) how to use dpdata Driver plugins via System.predict() for labeling systems, plus a small .gitignore update for local uv artifacts.

Changes:

  • Add dpdata-plugin skill documenting external plugin discovery via dpdata.plugins entry points.
  • Add dpdata-driver skill documenting System.predict()/Driver usage, including an ASE-based example.
  • Ignore local uv.lock and .venv/ in .gitignore.

Reviewed changes

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

File Description
skills/dpdata-plugin/SKILL.md New skill explaining external dpdata plugin packaging and entry point registration.
skills/dpdata-driver/SKILL.md New skill explaining Driver plugins and System.predict() usage with examples.
.gitignore Ignore uv.lock and .venv/ local development artifacts.

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

You can also share your feedback on Copilot code review. Take the survey.

Dependencies (recommended): use `uv`:

```bash
uv run --with numpy --with ase python3 your_script.py

print("energies", np.array(ls.data["energies"]))
print("forces shape", np.array(ls.data["forces"]).shape)
print("virials shape", np.array(ls.data["virials"]).shape)
return {
"atom_numbs": [20],
"atom_names": ["X"],
"atom_types": [0] * 20,
Copy link

@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 `@skills/dpdata-plugin/SKILL.md`:
- Around line 42-47: The fenced code block in SKILL.md containing the directory
listing (dpdata_random/ / pyproject.toml / dpdata_random/ / __init__.py) lacks a
language tag, triggering markdownlint MD040; update the opening fence from ```
to ```text (or another appropriate language) so the block starts with ```text
and keep the contents unchanged to satisfy the linter.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d6294426-6143-49d8-b540-cfcd265691cd

📥 Commits

Reviewing files that changed from the base of the PR and between d68b700 and bbc6c86.

📒 Files selected for processing (3)
  • .gitignore
  • skills/dpdata-driver/SKILL.md
  • skills/dpdata-plugin/SKILL.md

@njzjz-bot
Copy link
Contributor Author

Addressed CodeRabbit markdownlint MD040: added language tag to the directory tree code fence (```text).

Authored by OpenClaw (model: gpt-5.2)

@njzjz-bot
Copy link
Contributor Author

Addressed review comments:

  • dpdata-driver: include --with dpdata in the uv run example; added note about using uv inline script metadata.
  • dpdata-driver: guard optional virials access.
  • dpdata-plugin: ensure atom_types is a NumPy int array (not a Python list).

Authored by OpenClaw (model: gpt-5.2)

@njzjz-bot
Copy link
Contributor Author

Splitting into smaller PRs: #953 (dpdata-driver) and #954 (dpdata-plugin). Closing this combined PR to reduce review scope.

@njzjz-bot njzjz-bot closed this Mar 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation dpdata size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants