Skip to main content

Local-first, customizable classifier template for production-minded Python projects

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_classifier_template-0.1.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_classifier_template-0.1.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file ai_classifier_template-0.1.0.tar.gz.

File metadata

  • Download URL: ai_classifier_template-0.1.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ai_classifier_template-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bfb61a825764b387331f5dab719c52bfa9ff335089d90a8a2e950df1c29165d6
MD5 06342e1508ea321f40b6bca2f89032bb
BLAKE2b-256 a786461e83f4c1fc929ab31d37dd844f3bddc180befbdd8403b934b8fdc2a1d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_classifier_template-0.1.0.tar.gz:

Publisher: publish.yml on zaber-dev/ai-classifier-template

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_classifier_template-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_classifier_template-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 758fa2fbbdae65e0903e8e2d783b6621db71ade332a5f33b2e66d3a3988bb255
MD5 63e78fa3c6d89eadca3e6653c513b57c
BLAKE2b-256 28ba0bcd199a508f97fd60b943b1bc84a39ac3a2e8b17074c41075779c9a09e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_classifier_template-0.1.0-py3-none-any.whl:

Publisher: publish.yml on zaber-dev/ai-classifier-template

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page