CHANGELOG.md
CITATION.cff
CODE_OF_CONDUCT.md
CONTRIBUTING.md
IMPLEMENTATION_STATUS.md
LICENSE
MANIFEST.in
MODEL_LICENSES.md
NOTICE
PUBLICATION_READINESS.md
PUBLISHING.md
README.md
REDISTRIBUTION.md
REPOSITORY_TREE.txt
SECURITY.md
THIRD_PARTY_LICENSES.md
TRADEMARK_NOTICE.md
TRADEMARK_REVIEW.md
VALIDATION_REPORT.md
environment.yml
mkdocs.yml
pyproject.toml
setup.cfg
.github/workflows/ci.yml
.github/workflows/pages.yml
.github/workflows/pypi.yml
.github/workflows/testpypi.yml
benchmarks/README.md
configs/comprehensive.yaml
configs/huggingface_vlm_cpu.yaml
configs/huggingface_vlm_ensemble.yaml
configs/huggingface_vlm_high_end_gpu.yaml
configs/huggingface_vlm_maximum.yaml
configs/huggingface_vlm_midrange_gpu.yaml
configs/huggingface_vlm_small_gpu.yaml
configs/lego_figure_detector.yaml
configs/lego_figure_yolo26s.yaml
configs/minimal.yaml
configs/object_taxonomy.yaml
configs/propaganda_codebook.yaml
docker/Dockerfile.cpu
docker/Dockerfile.cuda
docs/audio.md
docs/citation.md
docs/cli.md
docs/configuration.md
docs/custom_yolo_model.md
docs/ethical_considerations.md
docs/excel_workbook.md
docs/gpu_optimization.md
docs/huggingface_vlm_ensemble.md
docs/index.md
docs/installation.md
docs/legal.md
docs/limitations.md
docs/methodology.md
docs/model_licensing.md
docs/narrative_analysis.md
docs/object_detection.md
docs/ocr.md
docs/offline_use.md
docs/open_vocabulary_detection.md
docs/output_schemas.md
docs/outputs.md
docs/parallel_batches.md
docs/parquet_dataset.md
docs/plugins.md
docs/political_codebook.md
docs/publishing.md
docs/python_api.md
docs/quick_start.md
docs/remote_privacy.md
docs/reproducibility.md
docs/sampling.md
docs/segmentation.md
docs/sqlite_manifest.md
docs/tracking.md
docs/troubleshooting.md
docs/tutorial.md
docs/validation.md
docs/visual_models.md
docs/windows_unc.md
docs/assets/favicon.png
docs/assets/legopolitics-logo.png
docs/assets/legopolitics-social-preview.png
examples/batch_processing.py
examples/custom_plugin.py
examples/python_api.py
notebooks/01_quick_start.ipynb
notebooks/02_sampling_comparison.ipynb
notebooks/03_yolo_detection.ipynb
notebooks/04_tracking_and_segmentation.ipynb
notebooks/05_visual_model_comparison.ipynb
notebooks/06_ocr_and_audio.ipynb
notebooks/07_context_bias_analysis.ipynb
notebooks/08_codebook_analysis.ipynb
notebooks/09_human_validation.ipynb
notebooks/10_batch_processing.ipynb
schemas/README.md
scripts/check_release_readiness.py
scripts/check_trademark_review.py
scripts/generate_dependency_inventory.py
src/legopolitics/__init__.py
src/legopolitics/analyzer.py
src/legopolitics/api.py
src/legopolitics/cli.py
src/legopolitics/constants.py
src/legopolitics/exceptions.py
src/legopolitics/py.typed
src/legopolitics/version.py
src/legopolitics/analysis/__init__.py
src/legopolitics/analysis/actions.py
src/legopolitics/analysis/aggregate.py
src/legopolitics/analysis/attributes.py
src/legopolitics/analysis/colors.py
src/legopolitics/analysis/composition.py
src/legopolitics/analysis/contradiction.py
src/legopolitics/analysis/events.py
src/legopolitics/analysis/groups.py
src/legopolitics/analysis/narrative.py
src/legopolitics/analysis/propaganda.py
src/legopolitics/analysis/relations.py
src/legopolitics/analysis/salience.py
src/legopolitics/analysis/spatial.py
src/legopolitics/analysis/uncertainty.py
src/legopolitics/audio/__init__.py
src/legopolitics/audio/alignment.py
src/legopolitics/audio/base.py
src/legopolitics/audio/diarization.py
src/legopolitics/audio/events.py
src/legopolitics/audio/faster_whisper.py
src/legopolitics/audio/language.py
src/legopolitics/audio/music.py
src/legopolitics/audio/translation.py
src/legopolitics/audio/whisper.py
src/legopolitics/config/__init__.py
src/legopolitics/config/defaults.py
src/legopolitics/config/loader.py
src/legopolitics/config/migration.py
src/legopolitics/config/models.py
src/legopolitics/config/validation.py
src/legopolitics/detection/__init__.py
src/legopolitics/detection/base.py
src/legopolitics/detection/fusion.py
src/legopolitics/detection/grounding_dino.py
src/legopolitics/detection/mock.py
src/legopolitics/detection/postprocess.py
src/legopolitics/detection/registry.py
src/legopolitics/detection/taxonomy.py
src/legopolitics/detection/transformers_zero_shot.py
src/legopolitics/detection/yolo.py
src/legopolitics/ocr/__init__.py
src/legopolitics/ocr/base.py
src/legopolitics/ocr/deduplicate.py
src/legopolitics/ocr/florence.py
src/legopolitics/ocr/provider.py
src/legopolitics/ocr/regions.py
src/legopolitics/ocr/trocr.py
src/legopolitics/pipeline/__init__.py
src/legopolitics/pipeline/cache.py
src/legopolitics/pipeline/context.py
src/legopolitics/pipeline/events.py
src/legopolitics/pipeline/orchestrator.py
src/legopolitics/pipeline/planner.py
src/legopolitics/pipeline/resume.py
src/legopolitics/pipeline/stages.py
src/legopolitics/prompting/__init__.py
src/legopolitics/prompting/codebook.py
src/legopolitics/prompting/rendering.py
src/legopolitics/prompting/schemas.py
src/legopolitics/prompting/templates.py
src/legopolitics/prompting/versioning.py
src/legopolitics/reporting/__init__.py
src/legopolitics/reporting/charts.py
src/legopolitics/reporting/citations.py
src/legopolitics/reporting/html.py
src/legopolitics/reporting/summaries.py
src/legopolitics/resources/__init__.py
src/legopolitics/resources/huggingface_vlm_cpu.yaml
src/legopolitics/resources/huggingface_vlm_ensemble.yaml
src/legopolitics/resources/huggingface_vlm_high_end_gpu.yaml
src/legopolitics/resources/huggingface_vlm_maximum.yaml
src/legopolitics/resources/huggingface_vlm_midrange_gpu.yaml
src/legopolitics/resources/huggingface_vlm_small_gpu.yaml
src/legopolitics/resources/lego_figure_detector.yaml
src/legopolitics/resources/lego_figure_yolo26s.yaml
src/legopolitics/resources/object_taxonomy.yaml
src/legopolitics/resources/propaganda_codebook.yaml
src/legopolitics/review/__init__.py
src/legopolitics/review/app.py
src/legopolitics/review/forms.py
src/legopolitics/review/media.py
src/legopolitics/review/state.py
src/legopolitics/review/streamlit_entry.py
src/legopolitics/schemas/__init__.py
src/legopolitics/schemas/audio.py
src/legopolitics/schemas/common.py
src/legopolitics/schemas/detection.py
src/legopolitics/schemas/event.py
src/legopolitics/schemas/frame.py
src/legopolitics/schemas/mask.py
src/legopolitics/schemas/narrative.py
src/legopolitics/schemas/ocr.py
src/legopolitics/schemas/provenance.py
src/legopolitics/schemas/relation.py
src/legopolitics/schemas/run.py
src/legopolitics/schemas/track.py
src/legopolitics/schemas/validation.py
src/legopolitics/schemas/video.py
src/legopolitics/schemas/visual.py
src/legopolitics/segmentation/__init__.py
src/legopolitics/segmentation/base.py
src/legopolitics/segmentation/detector_masks.py
src/legopolitics/segmentation/mask_utils.py
src/legopolitics/segmentation/propagation.py
src/legopolitics/segmentation/sam2.py
src/legopolitics/segmentation/sam3.py
src/legopolitics/storage/__init__.py
src/legopolitics/storage/atomic.py
src/legopolitics/storage/excel.py
src/legopolitics/storage/export.py
src/legopolitics/storage/jsonl.py
src/legopolitics/storage/manifest.py
src/legopolitics/storage/migrations.py
src/legopolitics/storage/parquet.py
src/legopolitics/storage/paths.py
src/legopolitics/storage/sqlite.py
src/legopolitics/tracking/__init__.py
src/legopolitics/tracking/association.py
src/legopolitics/tracking/base.py
src/legopolitics/tracking/botsort.py
src/legopolitics/tracking/bytetrack.py
src/legopolitics/tracking/reid.py
src/legopolitics/tracking/sam2_track.py
src/legopolitics/tracking/sam3_track.py
src/legopolitics/tracking/smoothing.py
src/legopolitics/tracking/yolo_track.py
src/legopolitics/utils/__init__.py
src/legopolitics/utils/concurrency.py
src/legopolitics/utils/device.py
src/legopolitics/utils/environment.py
src/legopolitics/utils/fingerprints.py
src/legopolitics/utils/logging.py
src/legopolitics/utils/memory.py
src/legopolitics/utils/progress.py
src/legopolitics/utils/retry.py
src/legopolitics/utils/serialization.py
src/legopolitics/validation/__init__.py
src/legopolitics/validation/agreement.py
src/legopolitics/validation/corrections.py
src/legopolitics/validation/export.py
src/legopolitics/validation/gold.py
src/legopolitics/validation/metrics.py
src/legopolitics/validation/sampling.py
src/legopolitics/video/__init__.py
src/legopolitics/video/audio_extract.py
src/legopolitics/video/decode.py
src/legopolitics/video/discovery.py
src/legopolitics/video/hashing.py
src/legopolitics/video/motion.py
src/legopolitics/video/probe.py
src/legopolitics/video/quality.py
src/legopolitics/video/sampling.py
src/legopolitics/video/scenes.py
src/legopolitics/vision/__init__.py
src/legopolitics/vision/base.py
src/legopolitics/vision/blip.py
src/legopolitics/vision/blip2.py
src/legopolitics/vision/clip.py
src/legopolitics/vision/common.py
src/legopolitics/vision/dinov2.py
src/legopolitics/vision/ensemble.py
src/legopolitics/vision/florence2.py
src/legopolitics/vision/hf_vlm.py
src/legopolitics/vision/mock.py
src/legopolitics/vision/parsing.py
src/legopolitics/vision/prompts.py
src/legopolitics/vision/provider_api.py
src/legopolitics/vision/registry.py
src/legopolitics/vision/video_vlm.py
tests/conftest.py
tests/test_cli.py
tests/test_config.py
tests/test_detection.py
tests/test_directory_batches.py
tests/test_discovery_probe.py
tests/test_end_to_end.py
tests/test_excel.py
tests/test_fingerprints.py
tests/test_hf_vlm.py
tests/test_manifest.py
tests/test_ocr.py
tests/test_parquet_optional.py
tests/test_parsing_ensemble.py
tests/test_provider_ocr.py
tests/test_quality_hashing.py
tests/test_salience_relations.py
tests/test_sampling.py
tests/test_tracking.py
tests/test_trademark.py
tests/test_validation.py
tests/test_yolo_class_filter.py