Skip to content

zaber-dev/ai-classifier-template

AI Classifier Template

Production-minded, local-first Python template for building customizable classification projects.

This repository is designed for developers who want a clean baseline that feels like an internal engineering starter kit: stable abstractions, reproducible training pipeline, clear documentation, quality gates, and straightforward extension points.

Why this template exists

Most classifier repos either overfit to one model stack or under-document architecture decisions. This template balances both sides:

  • Local-first execution with no hosted dependency requirements.
  • Strong extension points for project-specific classifiers.
  • Professional documentation structure suited for public OSS and team handoffs.
  • Reproducible artifacts and CLI workflows for daily development.
  • Optional deep-learning path without forcing heavyweight dependencies in core installs.

Core Features

  • Extensible classifier interface via base contracts.
  • Built-in template classifier (TemplateCentroidClassifier) for fast customization.
  • Optional sklearn adapter (model.kind: sklearn) for common production baselines.
  • YAML-driven pipeline config for train/evaluate reproducibility.
  • CLI commands for local train/predict/evaluate.
  • Starter dataset and pre-trained artifact for immediate demos.
  • CI-ready test/lint/type-check setup.

Repository Layout

.
|-- src/ai_classifier/      # Package source
|-- tests/                  # Unit and integration tests
|-- examples/               # Configs, sample data, starter scripts
|-- docs/                   # Architecture, API, troubleshooting, examples docs
|-- .github/workflows/      # CI and release pipelines
|-- README.md               # Public overview and quick start
|-- LEARN.md                # Deep technical handbook
|-- LICENSE.md              # Human-readable license notes
|-- LICENSE                 # Canonical MIT license text

Quick Start

1. Install locally

python -m venv .venv
. .venv/Scripts/activate
pip install -e .[dev]

Optional extras:

pip install -e .[ml]

2. Train using starter config

ai-classifier train --config examples/configs/template_config.yaml

This generates:

  • artifacts/model.json
  • artifacts/report.json

3. Predict locally

ai-classifier predict --model artifacts/model.json --input examples/data/predict.csv --output artifacts/predictions.csv

4. Evaluate on labeled data

ai-classifier evaluate --model artifacts/model.json --input examples/data/train.csv --label-column label --output artifacts/eval.json

Local and Customizable by Design

You can create a new classifier with minimal work:

  1. Implement BaseClassifier methods (fit, predict, to_artifact, from_artifact).
  2. Add your classifier module under src/ai_classifier/classifiers/.
  3. Extend model factory logic in pipeline.
  4. Add tests and a docs snippet in LEARN.md.

The template classifier exists as a readable baseline so teams can fork and evolve without hidden magic.

Documentation Map

  • README.md: overview + quick start.
  • LEARN.md: architecture and extension handbook.
  • docs/ARCHITECTURE.md: module boundaries and design rationale.
  • docs/API.md: public contracts and expected behavior.
  • docs/TROUBLESHOOTING.md: common failures and fixes.
  • docs/EXAMPLES.md: practical usage patterns.

Quality and Release

Recommended local checks:

pytest
ruff check .
mypy src
python -m build

GitHub workflows are included for CI validation and package publishing.

Public Repository Notes

  • Maintainer: zaber-dev
  • Suggested repository name: ai-classifier-template
  • Versioning model: Semantic Versioning (MAJOR.MINOR.PATCH)

License

MIT License. See LICENSE and LICENSE.md.

About

Production-minded, local-first Python template for building customizable classification projects.

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
LICENSE.md

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages