Skip to main content

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:

  1. Install pre-commit:

    pip install pre-commit
    
  2. Install the pre-commit hooks:

    pre-commit install
    
  3. (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.

Metadata

Release files for iust_ai_toolkit 0.0.3

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

Source distribution (sdist)

Source distribution for iust_ai_toolkit 0.0.3
File Size Uploaded Provenance Actions
iust_ai_toolkit-0.0.3.tar.gz 8.3 kB Without provenance Details for iust_ai_toolkit-0.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for iust_ai_toolkit 0.0.3
File Interpreter ABI Platform Actions
iust_ai_toolkit-0.0.3-py3-none-any.whl Python 3 none any Details for iust_ai_toolkit-0.0.3-py3-none-any.whl

Total release size: 17.2 kB

Release files / iust_ai_toolkit-0.0.3.tar.gz

Download URL iust_ai_toolkit-0.0.3.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
76b796f2418f19455d93457c980f0329df9e68589ad664176edeca8083dfa640
BLAKE2b-256 checksum
How to use checksums
a58b4d02058a82806f663d1031cd8710c31e38e10a2fad03e28f84661272558a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.7 Linux/6.8.0-1015-azure

Release files / iust_ai_toolkit-0.0.3-py3-none-any.whl

Download URL iust_ai_toolkit-0.0.3-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f9d8a85d68a81ad47b6b5bd0d3d4ddfdbfd014ad51c824839c6447ac5fa7a2e4
BLAKE2b-256 checksum
How to use checksums
5b0adb4a03928366075da543479f1c6818049634d2af79eb7bbec4af387802c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.7 Linux/6.8.0-1015-azure

Security for iust_ai_toolkit 0.0.3

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.

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