Metadata-Version: 2.4
Name: kash-media
Version: 0.4.3
Summary: The knowledge agent shell (media kit)
Project-URL: Repository, https://github.com/jlevy/kash-media
Author-email: Joshua Levy <joshua@cal.berkeley.edu>
License-Expression: AGPL-3.0-or-later
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: <3.14,>=3.13
Requires-Dist: chopdiff>=0.4.0
Requires-Dist: curl-cffi>=0.7.4
Requires-Dist: flexdoc>=0.3.0
Requires-Dist: flowmark>=0.7.2
Requires-Dist: kash-docs<0.3,>=0.2.3
Requires-Dist: opencv-python>=4.11.0.86
Requires-Dist: scikit-image>=0.25.2
Requires-Dist: sidematter-format>=0.1.0
Requires-Dist: typing-extensions>=4.11.1
Requires-Dist: yt-dlp>=2026.6.9
Description-Content-Type: text/markdown

# kash-media

See the main [kash](https://github.com/jlevy/kash) repo for general instructions.

To run kash with the the media kit features enabled, ensure you have uv set up then:

```shell
uv tool install kash-media --upgrade --force
kash
```

Or for dev builds from within this git repo:

```shell
# Install all deps and run tests:
make
# Run kash with all media kit features enabled:
uv run kash
```

## Model Configuration

This kit inherits the current model profiles from kash-shell. Speaker identification
uses the configurable `fast_llm` workspace parameter instead of requiring a specific
provider. Media transcription uses Deepgram `nova-3` with the newest generally
available batch diarizer through `diarize_model=latest`; it does not send the deprecated
`diarize=true` option. See the main
[model configuration documentation](https://github.com/jlevy/kash#model-configuration)
for the current Anthropic defaults and equivalent OpenAI settings.

Transcription consumes generic `title`, `description`, and `additional_context` item
metadata. Feature-specific hints use the extensible `Item.extra.transcription` mapping:

```yaml
extra:
  transcription:
    key_terms: [Alice Chen, SignalFlow]
    speaker_hints:
      "0": Alice Chen
```

Nova-3 receives each key term separately. Speaker identification uses all descriptive
metadata as untrusted reference context, and explicit speaker hints override model guesses.
Unknown fields in `extra.transcription` are preserved for downstream extensions.

For how to install uv and Python, see [installation.md](docs/installation.md).

For development workflows, see [development.md](docs/development.md).

For instructions on publishing to PyPI, see [publishing.md](docs/publishing.md).

* * *

*This project was built from
[simple-modern-uv](https://github.com/jlevy/simple-modern-uv).*

<!-- This document follows common-doc-guidelines.md.
See github.com/jlevy/practical-prose and review guidelines before editing.
-->
