Metadata-Version: 2.4
Name: mllabbms
Version: 0.1.0
Summary: Distribute and print the ML lab programs for quick reference.
Home-page: https://example.com/mllabbms
Author: ML Lab Programs
Author-email: support@example.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Education
Classifier: Topic :: Education
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-python
Dynamic: summary

# mllabbms

Publishable Python package that bundles all “ML Lab” programs and offers a
single command to print them in order.

## Installation

```bash
python3 -m pip install mllabbms
```

To test changes locally before publishing, run the same command inside the repo
root. Pip will build the wheel/sdist and install the package into the active
environment.

## Usage

The package exposes a console script named `mllabbms`.

```bash
# list all labs with their titles and short summaries
mllabbms --list

# print a single lab (1-based index from --list)
mllabbms --lab 3

# print every program in order
mllabbms
```

You can also call the helpers directly from Python:

```python
from mllabbms import print_all_labs, get_lab_programs

print_all_labs()
first = get_lab_programs()[0]
print(first.title)
```

## Publishing workflow

1. Install the packaging tools:
   ```bash
   python3 -m pip install --upgrade build twine
   ```
2. Build the artifacts from the repository root:
   ```bash
   python3 -m build
   ```
   The wheel and sdist will be placed inside `dist/`.
3. Upload to TestPyPI first, then to PyPI:
   ```bash
   python3 -m twine upload dist/* -r testpypi
   # verify, then
   python3 -m twine upload dist/*
   ```
4. Users can now `pip install mllabbms` and run the CLI.

Remember to bump `version` in `setup.py` before each release.

