youcomsum

CI : Docs CI : Lint CI : Tests PyPI : youcomsum Python : versions License : MIT

Description

Batch summarize YouTube video comments using artificial intelligence (OpenAI, …).

Documentation

Documentation is available on https://dashstrom.github.io/youcomsum

Installation

You can install youcomsum using uv from PyPI

pip install uv
uv tool install youcomsum

Usage

Before use youcomsum, you must set your OPENAI_API_KEY following the Best Practices for API Key Safety.

youcomsum -v 'http://youtu.be/dQw4w9WgXcQ'

Usage as module

from youcomsum import YouComSum

youcomsum = YouComSum()
text: str = youcomsum.summarize("http://youtu.be/dQw4w9WgXcQ")
print(text)

Development

Contributing

Contributions are very welcome. Tests can be run with poe check, please ensure the coverage at least stays the same before you submit a pull request.

Setup

You need to install Poetry and Git for work with this project.

git clone https://github.com/Dashstrom/youcomsum
cd youcomsum
poetry install --all-extras
poetry run poe setup
poetry shell

Poe

Poe is available for help you to run tasks.

test           Run test suite.
lint           Run linters: ruff checker and ruff formatter and mypy.
format         Run linters in fix mode.
check          Run all checks: lint, test and docs.
check-tag      Check if the current tag match the version.
cov            Run coverage for generate report and html.
open-cov       Open html coverage report in webbrowser.
docs           Build documentation.
open-docs      Open documentation in webbrowser.
setup          Setup pre-commit.
pre-commit     Run pre-commit.
commit         Test, commit and push.
clean          Clean cache files.

Skip commit verification

If the linting is not successful, you can’t commit. For forcing the commit you can use the next command :

git commit --no-verify -m 'MESSAGE'

Commit with commitizen

To respect commit conventions, this repository uses Commitizen.

cz c

How to add dependency

poetry add 'PACKAGE'

Ignore illegitimate warnings

To ignore illegitimate warnings you can add :

  • # noqa: ERROR_CODE on the same line for ruff.

  • # type: ignore[ERROR_CODE] on the same line for mypy.

  • # pragma: no cover on the same line to ignore line for coverage.

  • # doctest: +SKIP on the same line for doctest.

Uninstall

pipx uninstall youcomsum

License

This work is licensed under MIT.

Contents

Index