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
- Validate input path/file type
- Safely extract ZIPs with hard limits
- Parse notebooks/scripts/metrics locally
- Build normalized metadata schema
- Run rule-based checks:
- valid structure
- model definition
- training logic
- dataset loading
- evaluation/metrics
- reproducibility artifacts
- 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dlmentor-1.1.0.tar.gz | 15.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.