Skip to main content

DLMentor

Standalone Deep Learning homework grading package with local-first analysis and deterministic rule-based scoring.

Why DLMentor

DLMentor is designed as its own product/package identity for grading DL submissions safely:

  • static inspection only (no execution of untrusted student code)
  • safe ZIP intake with limits and traversal protection
  • normalized metadata output for automation
  • structured rule-based scoring (0-100)
  • optional Gemini feedback refinement that does not change core scoring

Installation

pip install DLMentor

Local development install:

pip install -e .

Quick Start

from DLMentor import DLMentor

mentor = DLMentor(api_key=None)
result = mentor.evaluate_dl(answer_path="path/to/submission.zip")

print(result["score"])
print(result["feedback"])
print(result["checks"])

Lesson-context usage:

from DLMentor import DLMentor

mentor = DLMentor(api_key=None)
result = mentor.evaluate_dl_lesson(
    lesson_path="qa_fixtures/dl/lesson-01/submissions/correct_notebook.ipynb",
    questions=open("qa_fixtures/dl/lesson-01/questions.md", "r", encoding="utf-8").read(),
)
print(result["score"])

DL Input Support

Supported submission formats:

  • .zip
  • .ipynb
  • .py
  • .json
  • .csv
  • .txt
  • folder paths containing mixed project files

Recommended submission structure:

submission/
  notebook.ipynb or train.py
  README.md
  requirements.txt (or environment.yml / pyproject.toml)
  metrics.json or metrics.csv
  model.pt / model.keras / model.onnx

DL Grading Workflow

  1. Validate input path/file type
  2. Safely extract ZIPs with hard limits
  3. Parse notebooks/scripts/metrics locally
  4. Build normalized metadata schema
  5. Run rule-based checks:
    • valid structure
    • model definition
    • training logic
    • dataset loading
    • evaluation/metrics
    • reproducibility artifacts
  6. Optionally refine feedback with Gemini

What DLMentor Does Not Do

  • Does not execute notebooks/scripts
  • Does not run model training/inference jobs
  • Does not install/run student dependencies
  • Does not replace rule-based score with AI output

Offline DL Testing Suite

Regenerate deterministic fixtures:

python tools/generate_dl_fixtures.py

Run all offline DL tests:

pytest -m dl_offline qa_tests -q

Run fixture-only suite:

pytest qa_tests/test_dl_fixtures.py -q

Run local smoke test:

python tools/dl_smoke_test.py

Build & Publish Prep

Build distribution artifacts:

python -m build

Validate install flows:

pip install .
pip install -e .

License

MIT

Metadata

Release files for DLMentor 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for DLMentor 1.1.0
File Size Uploaded Provenance
dlmentor-1.1.0.tar.gz 15.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for DLMentor 1.1.0
File Interpreter ABI Platform
dlmentor-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.7 kB

Release files / dlmentor-1.1.0.tar.gz

Download URL dlmentor-1.1.0.tar.gz
Size 15.7 kB
Tags Source
SHA-256 checksum
How to use checksums
6d1663abefab432e97c19496d0e8cb5d39efdd9af1e7b1e4e60bf38f6b73ecdb
BLAKE2b-256 checksum
How to use checksums
7357382e012e3193d5bda519cabab5d2fef2d149399f0ecd939111155d341be0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / dlmentor-1.1.0-py3-none-any.whl

Download URL dlmentor-1.1.0-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c7c29219dd39a4ce3db73a56f3ae404b1bbd9efe2696ba747758a9b99de4c9d
BLAKE2b-256 checksum
How to use checksums
12123a062ee59458381379d168e1e642f703a1ce25a438caaa28201b460835c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Security for DLMentor 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page