talk-summarizer


Nametalk-summarizer JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/lawwu/talk-summarizer
SummaryPython library to summarize talks
upload_time2023-05-19 06:37:56
maintainer
docs_urlNone
authorLawrence Wu
requires_python>=3.9
licenseApache License, Version 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # talk-summarizer

Python library to summarize talks. Turn a video file into a PDF report with a summary of each section of the talk.

`summarize_talk.py` - operates on a talk/lecture where there is a video of the speaker and slides.

- uses `ffmpeg` to extract the audio from the video
- uses `whisper` to transcribe the audio
- uses `OpenCV` to identify slide transitions and extract slides
- uses `OpenAI` to summarize each section

## Installation

Install this library using `pip`:

    pip install talk-summarizer

## Usage

```bash
python talk_summarizer/summarize_talk.py \
    --output_dir output \
    --video_file video.mp4 \
    --no-summarize \
    --whisper_model tiny
```

## Development

To contribute to this library, first checkout the code. Then create a new virtual environment:

    cd talk-summarizer
    python -m venv venv
    source venv/bin/activate

Now install the dependencies and test dependencies:

    pip install -r requirements.txt

To run the tests:

    pytest

Install pre-commit hooks:

    pre-commit install





# Set API keys

Make sure your `OPENAI_API_KEY` is set as an environment variable in either your `.bashrc` or `.zshrc` file. For example:

```bash
export OPENAI_API_KEY=sk-1234...
```


# TODO

- [ ] get output directory working (ffmpeg not working with output directory)
- [ ] create different tasks like `transcribe` (video --> audio, transcript, overall summary). Right now `summarize_talk` works on a video (video with slides --> audio, slide images, transcript, section summaries, overall summary, report)
- [ ] add more unit tests
- [ ] use `pyproject.toml` instead of `setup.py`

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/lawwu/talk-summarizer",
    "name": "talk-summarizer",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "",
    "author": "Lawrence Wu",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/fe/8c/18ed19b2b26b23eea538613e9c207bd5b0699fb8ba329a5e1a9963c5f8d4/talk-summarizer-0.0.1.tar.gz",
    "platform": null,
    "description": "# talk-summarizer\n\nPython library to summarize talks. Turn a video file into a PDF report with a summary of each section of the talk.\n\n`summarize_talk.py` - operates on a talk/lecture where there is a video of the speaker and slides.\n\n- uses `ffmpeg` to extract the audio from the video\n- uses `whisper` to transcribe the audio\n- uses `OpenCV` to identify slide transitions and extract slides\n- uses `OpenAI` to summarize each section\n\n## Installation\n\nInstall this library using `pip`:\n\n    pip install talk-summarizer\n\n## Usage\n\n```bash\npython talk_summarizer/summarize_talk.py \\\n    --output_dir output \\\n    --video_file video.mp4 \\\n    --no-summarize \\\n    --whisper_model tiny\n```\n\n## Development\n\nTo contribute to this library, first checkout the code. Then create a new virtual environment:\n\n    cd talk-summarizer\n    python -m venv venv\n    source venv/bin/activate\n\nNow install the dependencies and test dependencies:\n\n    pip install -r requirements.txt\n\nTo run the tests:\n\n    pytest\n\nInstall pre-commit hooks:\n\n    pre-commit install\n\n\n\n\n\n# Set API keys\n\nMake sure your `OPENAI_API_KEY` is set as an environment variable in either your `.bashrc` or `.zshrc` file. For example:\n\n```bash\nexport OPENAI_API_KEY=sk-1234...\n```\n\n\n# TODO\n\n- [ ] get output directory working (ffmpeg not working with output directory)\n- [ ] create different tasks like `transcribe` (video --> audio, transcript, overall summary). Right now `summarize_talk` works on a video (video with slides --> audio, slide images, transcript, section summaries, overall summary, report)\n- [ ] add more unit tests\n- [ ] use `pyproject.toml` instead of `setup.py`\n",
    "bugtrack_url": null,
    "license": "Apache License, Version 2.0",
    "summary": "Python library to summarize talks",
    "version": "0.0.1",
    "project_urls": {
        "CI": "https://github.com/lawwu/talk-summarizer/actions",
        "Changelog": "https://github.com/lawwu/talk-summarizer/releases",
        "Homepage": "https://github.com/lawwu/talk-summarizer",
        "Issues": "https://github.com/lawwu/talk-summarizer/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ff9f55f3ada88bc3e0831c9fcfa238a5333cd6fa69f5707ce98712f1ebd1cb4e",
                "md5": "3eb22ad244085995d72dac38430267c2",
                "sha256": "6101978dd5011f7acb1c39fd8ace2ffffcaf2bf3ace62c222d369f10c3ec4065"
            },
            "downloads": -1,
            "filename": "talk_summarizer-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3eb22ad244085995d72dac38430267c2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 10358,
            "upload_time": "2023-05-19T06:37:54",
            "upload_time_iso_8601": "2023-05-19T06:37:54.165793Z",
            "url": "https://files.pythonhosted.org/packages/ff/9f/55f3ada88bc3e0831c9fcfa238a5333cd6fa69f5707ce98712f1ebd1cb4e/talk_summarizer-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fe8c18ed19b2b26b23eea538613e9c207bd5b0699fb8ba329a5e1a9963c5f8d4",
                "md5": "0131b62909c8948d1eec9164c2416b70",
                "sha256": "5a2bad62c742e83b8853c718f2dfce9f8259e65e3a2befec68e53f611a0e644e"
            },
            "downloads": -1,
            "filename": "talk-summarizer-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "0131b62909c8948d1eec9164c2416b70",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 10135,
            "upload_time": "2023-05-19T06:37:56",
            "upload_time_iso_8601": "2023-05-19T06:37:56.394102Z",
            "url": "https://files.pythonhosted.org/packages/fe/8c/18ed19b2b26b23eea538613e9c207bd5b0699fb8ba329a5e1a9963c5f8d4/talk-summarizer-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-19 06:37:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lawwu",
    "github_project": "talk-summarizer",
    "github_not_found": true,
    "lcname": "talk-summarizer"
}
        
Elapsed time: 0.21908s