Skip to main content

ModSSC: a modular framework for semi-supervised classification on heterogeneous data

Project description

ModSSC

Ruff Tests codecov

ModSSC is a modular framework for semi-supervised classification across heterogeneous modalities (text, vision, tabular, graph). It is designed for academic research: clear abstractions, reproducible pipelines, and extensible method registries.

Research goals

  • Provide composable "bricks" for data loading, sampling, preprocessing, graphs, and SSL methods.
  • Make experiments reproducible via declarative configs and deterministic seeds.
  • Support both inductive and transductive SSL with lightweight baselines and extensible APIs.

Repository map

  • src/modssc: core library + CLI tools
  • bench/: end-to-end benchmark runner (GitHub-only, not shipped to PyPI)
  • docs/: MkDocs site (concepts, CLI, API)
  • examples/, notebooks/: demos and exploratory workflows

Install

PyPI (library + CLI tools):

python -m pip install modssc

From source (recommended for benchmark runs):

git clone https://github.com/ModSSC/ModSSC
cd ModSSC
python -m pip install -e "."

Python 3.11+ is required. For modality-specific extras, see bench/README.md.

Quickstart (library + CLI)

CLI:

modssc-datasets list
modssc-sampling --help
modssc-preprocess steps list
modssc-graph build --help
modssc-inductive methods list
modssc-transductive methods list

Python:

from modssc.data_loader import load_dataset
from modssc.sampling import sample
from modssc.preprocess import preprocess

Benchmark quickstart (GitHub-only)

python -m bench.main --config bench/configs/experiments/toy_inductive.yaml
python -m bench.main --config bench/configs/experiments/toy_transductive.yaml

Artifacts land in runs/<name-timestamp>/ with:

  • config.yaml (immutable config snapshot)
  • run.json (metrics + metadata)
  • error.txt (full traceback on failure)

Reproducibility notes

  • Every run derives a timestamped run directory and a per-stage seed from a master seed.
  • Preprocess and graph caches are fingerprinted by dataset + plan + seed.
  • Configs are declarative YAML; they are copied into the run directory for auditability.

Citation

If you use ModSSC in research, please cite CITATION.cff.

License

MIT. See LICENSE.

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

modssc-0.0.1.tar.gz (348.7 kB view details)

Uploaded Source

Built Distribution

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

modssc-0.0.1-py3-none-any.whl (366.5 kB view details)

Uploaded Python 3

File details

Details for the file modssc-0.0.1.tar.gz.

File metadata

  • Download URL: modssc-0.0.1.tar.gz
  • Upload date:
  • Size: 348.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for modssc-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0b0a2830897f5f5276ca1d617ed7e34f0aad89cd5cb1a91f6e4e8ee98e7e97c1
MD5 d868fff7cea21ec72cf27469eadb8309
BLAKE2b-256 ee0e74eccae81a2ff5dad712eeede62a7f574f709576e6fbce145651b6e57c2f

See more details on using hashes here.

File details

Details for the file modssc-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: modssc-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 366.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for modssc-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df37fd32895720eb05c378e429df1f805e7784396521fa31db60368e85f9322e
MD5 0749e43a0a54252e0daff8714164fcf9
BLAKE2b-256 cd1f3f7fdd99b5e9da84374d8a59b2fcb0cc7a8d711a90957f7ee1341b0c225e

See more details on using hashes here.

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