A Toolkit for AI course submissions at IUST
Project description
IUST AI Toolkit
The IUST AI Toolkit is a comprehensive collection of tools and utilities designed for AI-related tasks, developed by the Iran University of Science and Technology (IUST). This toolkit facilitates the submission and comparison of AI assignments, particularly for decision tree projects.
Features
- Notebook Submission: Easily submit Jupyter notebooks for assignments.
- Submission Comparison: Compare multiple submissions to detect similarities and potential cheating.
- NLP Tools: Integrated Natural Language Processing tools for text preprocessing and analysis.
- Command-Line Interface: A user-friendly CLI for quick access to toolkit functionalities.
Installation
You can install the IUST AI Toolkit using pip:
pip install iust_ai_toolkit
For the TA version with additional NLP tools:
pip install iust_ai_toolkit[ta]
Usage
Submitting a Notebook
To submit a notebook, use the submit_notebook
function:
from iust_ai_toolkit.abdi_4031.decision_tree_submission import submit_notebook
submit_notebook("YOUR_STUDENT_ID", "./path/to/your/notebook.ipynb")
Using the Course Module
You can also use the course_module
function to dynamically import modules:
from iust_ai_toolkit import course_module
ai_4031 = course_module("abdi_4031.decision_tree_submission")
ai_4031.submit_notebook("YOUR_STUDENT_ID", "./path/to/your/notebook.ipynb")
Listing Courses and Assignments
The IUST AI Toolkit CLI provides commands to list available courses and assignments:
-
List Available Courses:
iust-ai list-courses
-
List Assignments for a Specific Course:
iust-ai list-assignments --course abdi_4031
Command Line Interface
The IUST AI Toolkit provides a command-line interface for easy submission of assignments and comparison of multiple submissions. After installation, you can use the iust-ai
command:
# Submit an assignment (default project is decision-tree)
iust-ai submit --student-id YOUR_ID --notebook-path path/to/your/notebook.ipynb
# Submit a specific project
iust-ai submit --student-id YOUR_ID --notebook-path path/to/your/notebook.ipynb --project project-name
# Compare multiple submissions
iust-ai compare-submissions --directory path/to/submissions/directory --output comparison_report.csv
For more information on available commands, use:
iust-ai --help
Development
Pre-commit Hooks
This project uses pre-commit hooks to ensure code quality and consistency. To set up the pre-commit hooks, follow these steps:
-
Install pre-commit:
pip install pre-commit
-
Install the pre-commit hooks:
pre-commit install
-
(Optional) Run the hooks against all files:
pre-commit run --all-files
The pre-commit workflow includes the following tools:
- Ruff: A fast Python linter
- Black: Python code formatter
- isort: Python import sorter
- mypy: Static type checker for Python
- Prettier: Formatter for non-Python files (JSON, YAML, Markdown)
Contributing
We welcome contributions to the IUST AI Toolkit! If you have any suggestions or improvements, please feel free to submit a pull request. Make sure to follow the project's coding standards and include tests for any new features.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file iust_ai_toolkit-0.0.3.tar.gz
.
File metadata
- Download URL: iust_ai_toolkit-0.0.3.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.7 Linux/6.8.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76b796f2418f19455d93457c980f0329df9e68589ad664176edeca8083dfa640 |
|
MD5 | 6cefcc0a19f4e0465fbaf5039ee587ba |
|
BLAKE2b-256 | a58b4d02058a82806f663d1031cd8710c31e38e10a2fad03e28f84661272558a |
File details
Details for the file iust_ai_toolkit-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: iust_ai_toolkit-0.0.3-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.7 Linux/6.8.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9d8a85d68a81ad47b6b5bd0d3d4ddfdbfd014ad51c824839c6447ac5fa7a2e4 |
|
MD5 | d0cb44ba06ab60488f4643b53d09734b |
|
BLAKE2b-256 | 5b0adb4a03928366075da543479f1c6818049634d2af79eb7bbec4af387802c5 |