Skip to main content

Lab Downloader 📚

A pip CLI tool to easily download programs for ML (Machine Learning), SDP (Software Development Project), and MAD (Mobile Application Development) labs.

Features ✨

  • ⚡ Quick Setup: Install via pip and start downloading labs instantly
  • 🎯 Multi-Lab Support: Download ML, SDP, or MAD labs individually or all at once
  • 📋 Status Tracking: Check which labs are downloaded and where
  • 🔧 Flexible: Customize download directory
  • 📖 Easy to Use: Simple CLI commands with helpful documentation

Installation 🚀

From source (local development):

cd lab-downloader
pip install -e .

From PyPI (once published):

pip install lab-downloader

Quick Start 🏃

Download a specific lab:

# Download ML lab
lab-downloader download ml

# Download SDP lab
lab-downloader download sdp

# Download MAD lab
lab-downloader download mad

Download all labs:

lab-downloader download all

List available labs:

lab-downloader list

Check download status:

lab-downloader status

Use custom download directory:

lab-downloader download ml --dir ./my_labs
lab-downloader download all --dir /path/to/labs

Verbose output:

lab-downloader download ml --verbose
# or
lab-downloader download ml -v

Available Labs 📚

🤖 ML (Machine Learning)

  • Description: Machine Learning lab with datasets and jupyter notebooks
  • Files: PCA analysis, multiple lab notebooks, breast cancer dataset
  • Command: lab-downloader download ml

💼 SDP (Software Development Project)

  • Description: Software Development Project lab programs
  • Command: lab-downloader download sdp

📱 MAD (Mobile Application Development)

  • Description: Mobile Application Development lab programs and resources
  • Command: lab-downloader download mad

Usage Examples 💡

# Download ML lab with detailed output
lab-downloader download ml -v

# Download all labs to a custom location
lab-downloader download all --dir ~/my_projects/labs

# Check what labs are available
lab-downloader list

# See current download status
lab-downloader status

# Get version info
lab-downloader version

File Locations 📁

By default, labs are downloaded to: ./lab_programs/

Structure:

lab_programs/
├── ML_Lab-main/
│   ├── lab6_PCA.ipynb
│   ├── ML_lab_1.ipynb
│   ├── breast-cancer.csv
│   └── ... (more notebooks)
├── sdp-program-main/
│   └── ... (SDP files)
└── MAD-program-main/
    └── MAD (1).txt

Requirements 📋

  • Python 3.7+
  • No external dependencies (uses only Python standard library)

Development 🛠️

Clone the repository:

git clone https://github.com/user/lab-downloader.git
cd lab-downloader

Install in development mode:

pip install -e .

Run tests:

python -m pytest

Build the package:

python -m build

Troubleshooting 🔧

Command not found after installation:

# Try reinstalling
pip install --force-reinstall -e .

Permission denied:

# On Unix/Linux/Mac
chmod +x $(which lab-downloader)

# Or use sudo
sudo pip install lab-downloader

Download fails:

  • Check your internet connection
  • Verify the lab name is correct: lab-downloader list
  • Try verbose mode: lab-downloader download ml -v

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Support 💬

For issues, questions, or suggestions, please open an issue on GitHub.


Made with ❤️ for students learning ML, SDP, and MAD

Metadata

Release files for lab-downloader 1.0.1

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

Source distribution (sdist)

Source distribution for lab-downloader 1.0.1
File Size Uploaded Provenance Actions
lab_downloader-1.0.1.tar.gz 7.9 kB Without provenance Details for lab_downloader-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lab-downloader 1.0.1
File Interpreter ABI Platform Actions
lab_downloader-1.0.1-py3-none-any.whl Python 3 none any Details for lab_downloader-1.0.1-py3-none-any.whl

Total release size: 16.5 kB

Release files / lab_downloader-1.0.1.tar.gz

Download URL lab_downloader-1.0.1.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fa77c117143788b6ad58ef71cda784d7c682e4b94202135e13ce5eed95aae65a
BLAKE2b-256 checksum
How to use checksums
85dcc8dc4a7bcc1231cdb2a3d5bae35171eebd546b99f1ff346d8faf52cc0d63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / lab_downloader-1.0.1-py3-none-any.whl

Download URL lab_downloader-1.0.1-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
497f798ca37da62e1f3574c850024b5510ecd58ec58e9fd4a992106ec46d76d2
BLAKE2b-256 checksum
How to use checksums
cbacac5e167730afb9b2f2882d616acc47ac4547f74eddb3fc85747403c1e813
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Security for lab-downloader 1.0.1

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.0.1 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