darmendarizp commited on
Commit
579d7ac
·
verified ·
1 Parent(s): c065f39

Upload folder using huggingface_hub

Browse files
Files changed (7) hide show
  1. .gitignore +171 -0
  2. README.md +3 -8
  3. app.py +39 -0
  4. pdm.lock +2083 -0
  5. pyproject.toml +15 -0
  6. requirements.txt +582 -0
  7. transcript_transformer.py +114 -0
.gitignore ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # UV
98
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ #uv.lock
102
+
103
+ # poetry
104
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
+ #poetry.lock
109
+
110
+ # pdm
111
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
+ #pdm.lock
113
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
+ # in version control.
115
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116
+ .pdm.toml
117
+ .pdm-python
118
+ .pdm-build/
119
+
120
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
+ __pypackages__/
122
+
123
+ # Celery stuff
124
+ celerybeat-schedule
125
+ celerybeat.pid
126
+
127
+ # SageMath parsed files
128
+ *.sage.py
129
+
130
+ # Environments
131
+ .env
132
+ .venv
133
+ env/
134
+ venv/
135
+ ENV/
136
+ env.bak/
137
+ venv.bak/
138
+
139
+ # Spyder project settings
140
+ .spyderproject
141
+ .spyproject
142
+
143
+ # Rope project settings
144
+ .ropeproject
145
+
146
+ # mkdocs documentation
147
+ /site
148
+
149
+ # mypy
150
+ .mypy_cache/
151
+ .dmypy.json
152
+ dmypy.json
153
+
154
+ # Pyre type checker
155
+ .pyre/
156
+
157
+ # pytype static type analyzer
158
+ .pytype/
159
+
160
+ # Cython debug symbols
161
+ cython_debug/
162
+
163
+ # PyCharm
164
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
165
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
166
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
167
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
168
+ #.idea/
169
+
170
+ # PyPI configuration file
171
+ .pypirc
README.md CHANGED
@@ -1,12 +1,7 @@
1
  ---
2
- title: Transcript Summarizer
3
- emoji: 💻
4
- colorFrom: blue
5
- colorTo: blue
6
  sdk: gradio
7
  sdk_version: 5.10.0
8
- app_file: app.py
9
- pinned: false
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: transcript-summarizer
3
+ app_file: app.py
 
 
4
  sdk: gradio
5
  sdk_version: 5.10.0
 
 
6
  ---
7
+ # Transcript summarizer
 
app.py ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ from transcript_transformer import TranscriptTransformer
4
+
5
+
6
+ def create_gradio_interface() -> gr.Interface:
7
+ """Create and launch the Gradio interface."""
8
+ transformer = TranscriptTransformer()
9
+
10
+ def process_transcript(transcript: str, duration: int) -> str:
11
+ return transformer.generate_lecture(transcript, duration)
12
+
13
+ return gr.Interface(
14
+ fn=process_transcript,
15
+ inputs=[
16
+ gr.Textbox(
17
+ label="Input Transcript",
18
+ placeholder="Paste your transcript here...",
19
+ lines=10,
20
+ ),
21
+ gr.Slider(
22
+ minimum=15,
23
+ maximum=60,
24
+ value=30,
25
+ step=15,
26
+ label="Lecture Duration (minutes)",
27
+ ),
28
+ ],
29
+ outputs=gr.Markdown(label="Transformed Teaching Transcript"),
30
+ title="Transcript to Teaching Material Transformer",
31
+ description="""Transform transcripts into teaching materials.
32
+ The output will be formatted as a complete lecture with clear sections,
33
+ examples, and interactive elements.""",
34
+ theme="default",
35
+ )
36
+
37
+
38
+ if __name__ == "main":
39
+ create_gradio_interface().launch()
pdm.lock ADDED
@@ -0,0 +1,2083 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is @generated by PDM.
2
+ # It is not intended for manual editing.
3
+
4
+ [metadata]
5
+ groups = ["default"]
6
+ strategy = ["inherit_metadata"]
7
+ lock_version = "4.5.0"
8
+ content_hash = "sha256:b9a0611fb8b99edf70be83db36bc7a084920192a470f8be794d01374a04514e6"
9
+
10
+ [[metadata.targets]]
11
+ requires_python = "==3.12.*"
12
+
13
+ [[package]]
14
+ name = "aiofiles"
15
+ version = "23.2.1"
16
+ requires_python = ">=3.7"
17
+ summary = "File support for asyncio."
18
+ groups = ["default"]
19
+ files = [
20
+ {file = "aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107"},
21
+ {file = "aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a"},
22
+ ]
23
+
24
+ [[package]]
25
+ name = "annotated-types"
26
+ version = "0.7.0"
27
+ requires_python = ">=3.8"
28
+ summary = "Reusable constraint types to use with typing.Annotated"
29
+ groups = ["default"]
30
+ dependencies = [
31
+ "typing-extensions>=4.0.0; python_version < \"3.9\"",
32
+ ]
33
+ files = [
34
+ {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
35
+ {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
36
+ ]
37
+
38
+ [[package]]
39
+ name = "anyio"
40
+ version = "4.8.0"
41
+ requires_python = ">=3.9"
42
+ summary = "High level compatibility layer for multiple asynchronous event loop implementations"
43
+ groups = ["default"]
44
+ dependencies = [
45
+ "exceptiongroup>=1.0.2; python_version < \"3.11\"",
46
+ "idna>=2.8",
47
+ "sniffio>=1.1",
48
+ "typing-extensions>=4.5; python_version < \"3.13\"",
49
+ ]
50
+ files = [
51
+ {file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"},
52
+ {file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"},
53
+ ]
54
+
55
+ [[package]]
56
+ name = "appnope"
57
+ version = "0.1.4"
58
+ requires_python = ">=3.6"
59
+ summary = "Disable App Nap on macOS >= 10.9"
60
+ groups = ["default"]
61
+ marker = "platform_system == \"Darwin\""
62
+ files = [
63
+ {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"},
64
+ {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"},
65
+ ]
66
+
67
+ [[package]]
68
+ name = "argon2-cffi"
69
+ version = "23.1.0"
70
+ requires_python = ">=3.7"
71
+ summary = "Argon2 for Python"
72
+ groups = ["default"]
73
+ dependencies = [
74
+ "argon2-cffi-bindings",
75
+ "typing-extensions; python_version < \"3.8\"",
76
+ ]
77
+ files = [
78
+ {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"},
79
+ {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"},
80
+ ]
81
+
82
+ [[package]]
83
+ name = "argon2-cffi-bindings"
84
+ version = "21.2.0"
85
+ requires_python = ">=3.6"
86
+ summary = "Low-level CFFI bindings for Argon2"
87
+ groups = ["default"]
88
+ dependencies = [
89
+ "cffi>=1.0.1",
90
+ ]
91
+ files = [
92
+ {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"},
93
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"},
94
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"},
95
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"},
96
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"},
97
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"},
98
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"},
99
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"},
100
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"},
101
+ {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"},
102
+ {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"},
103
+ ]
104
+
105
+ [[package]]
106
+ name = "arrow"
107
+ version = "1.3.0"
108
+ requires_python = ">=3.8"
109
+ summary = "Better dates & times for Python"
110
+ groups = ["default"]
111
+ dependencies = [
112
+ "python-dateutil>=2.7.0",
113
+ "types-python-dateutil>=2.8.10",
114
+ ]
115
+ files = [
116
+ {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"},
117
+ {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"},
118
+ ]
119
+
120
+ [[package]]
121
+ name = "asttokens"
122
+ version = "3.0.0"
123
+ requires_python = ">=3.8"
124
+ summary = "Annotate AST trees with source code positions"
125
+ groups = ["default"]
126
+ files = [
127
+ {file = "asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2"},
128
+ {file = "asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7"},
129
+ ]
130
+
131
+ [[package]]
132
+ name = "async-lru"
133
+ version = "2.0.4"
134
+ requires_python = ">=3.8"
135
+ summary = "Simple LRU cache for asyncio"
136
+ groups = ["default"]
137
+ dependencies = [
138
+ "typing-extensions>=4.0.0; python_version < \"3.11\"",
139
+ ]
140
+ files = [
141
+ {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"},
142
+ {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"},
143
+ ]
144
+
145
+ [[package]]
146
+ name = "attrs"
147
+ version = "24.3.0"
148
+ requires_python = ">=3.8"
149
+ summary = "Classes Without Boilerplate"
150
+ groups = ["default"]
151
+ files = [
152
+ {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"},
153
+ {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"},
154
+ ]
155
+
156
+ [[package]]
157
+ name = "babel"
158
+ version = "2.16.0"
159
+ requires_python = ">=3.8"
160
+ summary = "Internationalization utilities"
161
+ groups = ["default"]
162
+ dependencies = [
163
+ "pytz>=2015.7; python_version < \"3.9\"",
164
+ ]
165
+ files = [
166
+ {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"},
167
+ {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"},
168
+ ]
169
+
170
+ [[package]]
171
+ name = "beautifulsoup4"
172
+ version = "4.12.3"
173
+ requires_python = ">=3.6.0"
174
+ summary = "Screen-scraping library"
175
+ groups = ["default"]
176
+ dependencies = [
177
+ "soupsieve>1.2",
178
+ ]
179
+ files = [
180
+ {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"},
181
+ {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"},
182
+ ]
183
+
184
+ [[package]]
185
+ name = "bleach"
186
+ version = "6.2.0"
187
+ requires_python = ">=3.9"
188
+ summary = "An easy safelist-based HTML-sanitizing tool."
189
+ groups = ["default"]
190
+ dependencies = [
191
+ "webencodings",
192
+ ]
193
+ files = [
194
+ {file = "bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e"},
195
+ {file = "bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f"},
196
+ ]
197
+
198
+ [[package]]
199
+ name = "bleach"
200
+ version = "6.2.0"
201
+ extras = ["css"]
202
+ requires_python = ">=3.9"
203
+ summary = "An easy safelist-based HTML-sanitizing tool."
204
+ groups = ["default"]
205
+ dependencies = [
206
+ "bleach==6.2.0",
207
+ "tinycss2<1.5,>=1.1.0",
208
+ ]
209
+ files = [
210
+ {file = "bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e"},
211
+ {file = "bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f"},
212
+ ]
213
+
214
+ [[package]]
215
+ name = "certifi"
216
+ version = "2024.12.14"
217
+ requires_python = ">=3.6"
218
+ summary = "Python package for providing Mozilla's CA Bundle."
219
+ groups = ["default"]
220
+ files = [
221
+ {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"},
222
+ {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"},
223
+ ]
224
+
225
+ [[package]]
226
+ name = "cffi"
227
+ version = "1.17.1"
228
+ requires_python = ">=3.8"
229
+ summary = "Foreign Function Interface for Python calling C code."
230
+ groups = ["default"]
231
+ dependencies = [
232
+ "pycparser",
233
+ ]
234
+ files = [
235
+ {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"},
236
+ {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"},
237
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"},
238
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"},
239
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"},
240
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"},
241
+ {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"},
242
+ {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"},
243
+ {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"},
244
+ {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"},
245
+ {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"},
246
+ {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"},
247
+ ]
248
+
249
+ [[package]]
250
+ name = "charset-normalizer"
251
+ version = "3.4.1"
252
+ requires_python = ">=3.7"
253
+ summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
254
+ groups = ["default"]
255
+ files = [
256
+ {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"},
257
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"},
258
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"},
259
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"},
260
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"},
261
+ {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"},
262
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"},
263
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"},
264
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"},
265
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"},
266
+ {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"},
267
+ {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"},
268
+ {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"},
269
+ {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"},
270
+ {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"},
271
+ ]
272
+
273
+ [[package]]
274
+ name = "click"
275
+ version = "8.1.8"
276
+ requires_python = ">=3.7"
277
+ summary = "Composable command line interface toolkit"
278
+ groups = ["default"]
279
+ marker = "sys_platform != \"emscripten\""
280
+ dependencies = [
281
+ "colorama; platform_system == \"Windows\"",
282
+ "importlib-metadata; python_version < \"3.8\"",
283
+ ]
284
+ files = [
285
+ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"},
286
+ {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"},
287
+ ]
288
+
289
+ [[package]]
290
+ name = "colorama"
291
+ version = "0.4.6"
292
+ requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
293
+ summary = "Cross-platform colored terminal text."
294
+ groups = ["default"]
295
+ marker = "platform_system == \"Windows\" or sys_platform == \"win32\""
296
+ files = [
297
+ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
298
+ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
299
+ ]
300
+
301
+ [[package]]
302
+ name = "comm"
303
+ version = "0.2.2"
304
+ requires_python = ">=3.8"
305
+ summary = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
306
+ groups = ["default"]
307
+ dependencies = [
308
+ "traitlets>=4",
309
+ ]
310
+ files = [
311
+ {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"},
312
+ {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"},
313
+ ]
314
+
315
+ [[package]]
316
+ name = "debugpy"
317
+ version = "1.8.11"
318
+ requires_python = ">=3.8"
319
+ summary = "An implementation of the Debug Adapter Protocol for Python"
320
+ groups = ["default"]
321
+ files = [
322
+ {file = "debugpy-1.8.11-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308"},
323
+ {file = "debugpy-1.8.11-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768"},
324
+ {file = "debugpy-1.8.11-cp312-cp312-win32.whl", hash = "sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b"},
325
+ {file = "debugpy-1.8.11-cp312-cp312-win_amd64.whl", hash = "sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1"},
326
+ {file = "debugpy-1.8.11-py2.py3-none-any.whl", hash = "sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920"},
327
+ {file = "debugpy-1.8.11.tar.gz", hash = "sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57"},
328
+ ]
329
+
330
+ [[package]]
331
+ name = "decorator"
332
+ version = "5.1.1"
333
+ requires_python = ">=3.5"
334
+ summary = "Decorators for Humans"
335
+ groups = ["default"]
336
+ files = [
337
+ {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"},
338
+ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"},
339
+ ]
340
+
341
+ [[package]]
342
+ name = "defusedxml"
343
+ version = "0.7.1"
344
+ requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
345
+ summary = "XML bomb protection for Python stdlib modules"
346
+ groups = ["default"]
347
+ files = [
348
+ {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"},
349
+ {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"},
350
+ ]
351
+
352
+ [[package]]
353
+ name = "distro"
354
+ version = "1.9.0"
355
+ requires_python = ">=3.6"
356
+ summary = "Distro - an OS platform information API"
357
+ groups = ["default"]
358
+ files = [
359
+ {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"},
360
+ {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"},
361
+ ]
362
+
363
+ [[package]]
364
+ name = "executing"
365
+ version = "2.1.0"
366
+ requires_python = ">=3.8"
367
+ summary = "Get the currently executing AST node of a frame, and other information"
368
+ groups = ["default"]
369
+ files = [
370
+ {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"},
371
+ {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"},
372
+ ]
373
+
374
+ [[package]]
375
+ name = "fastapi"
376
+ version = "0.115.6"
377
+ requires_python = ">=3.8"
378
+ summary = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
379
+ groups = ["default"]
380
+ dependencies = [
381
+ "pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4",
382
+ "starlette<0.42.0,>=0.40.0",
383
+ "typing-extensions>=4.8.0",
384
+ ]
385
+ files = [
386
+ {file = "fastapi-0.115.6-py3-none-any.whl", hash = "sha256:e9240b29e36fa8f4bb7290316988e90c381e5092e0cbe84e7818cc3713bcf305"},
387
+ {file = "fastapi-0.115.6.tar.gz", hash = "sha256:9ec46f7addc14ea472958a96aae5b5de65f39721a46aaf5705c480d9a8b76654"},
388
+ ]
389
+
390
+ [[package]]
391
+ name = "fastjsonschema"
392
+ version = "2.21.1"
393
+ summary = "Fastest Python implementation of JSON schema"
394
+ groups = ["default"]
395
+ files = [
396
+ {file = "fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667"},
397
+ {file = "fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4"},
398
+ ]
399
+
400
+ [[package]]
401
+ name = "ffmpy"
402
+ version = "0.5.0"
403
+ requires_python = "<4.0,>=3.8"
404
+ summary = "A simple Python wrapper for FFmpeg"
405
+ groups = ["default"]
406
+ files = [
407
+ {file = "ffmpy-0.5.0-py3-none-any.whl", hash = "sha256:df3799cf5816daa56d4959a023630ee53c6768b66009dae6d131519ba4b80233"},
408
+ {file = "ffmpy-0.5.0.tar.gz", hash = "sha256:277e131f246d18e9dcfee9bb514c50749031c43582ce5ef82c57b51e3d3955c3"},
409
+ ]
410
+
411
+ [[package]]
412
+ name = "filelock"
413
+ version = "3.16.1"
414
+ requires_python = ">=3.8"
415
+ summary = "A platform independent file lock."
416
+ groups = ["default"]
417
+ files = [
418
+ {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"},
419
+ {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"},
420
+ ]
421
+
422
+ [[package]]
423
+ name = "fqdn"
424
+ version = "1.5.1"
425
+ requires_python = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4"
426
+ summary = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers"
427
+ groups = ["default"]
428
+ dependencies = [
429
+ "cached-property>=1.3.0; python_version < \"3.8\"",
430
+ ]
431
+ files = [
432
+ {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"},
433
+ {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"},
434
+ ]
435
+
436
+ [[package]]
437
+ name = "fsspec"
438
+ version = "2024.12.0"
439
+ requires_python = ">=3.8"
440
+ summary = "File-system specification"
441
+ groups = ["default"]
442
+ files = [
443
+ {file = "fsspec-2024.12.0-py3-none-any.whl", hash = "sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2"},
444
+ {file = "fsspec-2024.12.0.tar.gz", hash = "sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f"},
445
+ ]
446
+
447
+ [[package]]
448
+ name = "gradio"
449
+ version = "5.10.0"
450
+ requires_python = ">=3.10"
451
+ summary = "Python library for easily interacting with trained machine learning models"
452
+ groups = ["default"]
453
+ dependencies = [
454
+ "aiofiles<24.0,>=22.0",
455
+ "anyio<5.0,>=3.0",
456
+ "audioop-lts<1.0; python_version >= \"3.13\"",
457
+ "fastapi<1.0,>=0.115.2",
458
+ "ffmpy",
459
+ "gradio-client==1.5.3",
460
+ "httpx>=0.24.1",
461
+ "huggingface-hub>=0.25.1",
462
+ "jinja2<4.0",
463
+ "markupsafe~=2.0",
464
+ "numpy<3.0,>=1.0",
465
+ "orjson~=3.0",
466
+ "packaging",
467
+ "pandas<3.0,>=1.0",
468
+ "pillow<12.0,>=8.0",
469
+ "pydantic>=2.0",
470
+ "pydub",
471
+ "python-multipart>=0.0.18",
472
+ "pyyaml<7.0,>=5.0",
473
+ "ruff>=0.2.2; sys_platform != \"emscripten\"",
474
+ "safehttpx<0.2.0,>=0.1.6",
475
+ "semantic-version~=2.0",
476
+ "starlette<1.0,>=0.40.0; sys_platform != \"emscripten\"",
477
+ "tomlkit<0.14.0,>=0.12.0",
478
+ "typer<1.0,>=0.12; sys_platform != \"emscripten\"",
479
+ "typing-extensions~=4.0",
480
+ "urllib3~=2.0; sys_platform == \"emscripten\"",
481
+ "uvicorn>=0.14.0; sys_platform != \"emscripten\"",
482
+ ]
483
+ files = [
484
+ {file = "gradio-5.10.0-py3-none-any.whl", hash = "sha256:a9369294b6a555a4f34f34d690c891bb73f55c2ed437e8252c6115e835a2e379"},
485
+ ]
486
+
487
+ [[package]]
488
+ name = "gradio-client"
489
+ version = "1.5.3"
490
+ requires_python = ">=3.10"
491
+ summary = "Python library for easily interacting with trained machine learning models"
492
+ groups = ["default"]
493
+ dependencies = [
494
+ "fsspec",
495
+ "httpx>=0.24.1",
496
+ "huggingface-hub>=0.19.3",
497
+ "packaging",
498
+ "typing-extensions~=4.0",
499
+ "websockets<15.0,>=10.0",
500
+ ]
501
+ files = [
502
+ {file = "gradio_client-1.5.3-py3-none-any.whl", hash = "sha256:50f8ab48f7c4eccdb4c25030343271511391acbde5fbf64fcd03bada56dc8ee9"},
503
+ {file = "gradio_client-1.5.3.tar.gz", hash = "sha256:f2b41278d1c7748b1060b6f97cde6660535baabc946031d0485890dba9855727"},
504
+ ]
505
+
506
+ [[package]]
507
+ name = "h11"
508
+ version = "0.14.0"
509
+ requires_python = ">=3.7"
510
+ summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
511
+ groups = ["default"]
512
+ dependencies = [
513
+ "typing-extensions; python_version < \"3.8\"",
514
+ ]
515
+ files = [
516
+ {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
517
+ {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
518
+ ]
519
+
520
+ [[package]]
521
+ name = "httpcore"
522
+ version = "1.0.7"
523
+ requires_python = ">=3.8"
524
+ summary = "A minimal low-level HTTP client."
525
+ groups = ["default"]
526
+ dependencies = [
527
+ "certifi",
528
+ "h11<0.15,>=0.13",
529
+ ]
530
+ files = [
531
+ {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"},
532
+ {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"},
533
+ ]
534
+
535
+ [[package]]
536
+ name = "httpx"
537
+ version = "0.28.1"
538
+ requires_python = ">=3.8"
539
+ summary = "The next generation HTTP client."
540
+ groups = ["default"]
541
+ dependencies = [
542
+ "anyio",
543
+ "certifi",
544
+ "httpcore==1.*",
545
+ "idna",
546
+ ]
547
+ files = [
548
+ {file = "httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad"},
549
+ {file = "httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc"},
550
+ ]
551
+
552
+ [[package]]
553
+ name = "huggingface-hub"
554
+ version = "0.27.1"
555
+ requires_python = ">=3.8.0"
556
+ summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
557
+ groups = ["default"]
558
+ dependencies = [
559
+ "filelock",
560
+ "fsspec>=2023.5.0",
561
+ "packaging>=20.9",
562
+ "pyyaml>=5.1",
563
+ "requests",
564
+ "tqdm>=4.42.1",
565
+ "typing-extensions>=3.7.4.3",
566
+ ]
567
+ files = [
568
+ {file = "huggingface_hub-0.27.1-py3-none-any.whl", hash = "sha256:1c5155ca7d60b60c2e2fc38cbb3ffb7f7c3adf48f824015b219af9061771daec"},
569
+ {file = "huggingface_hub-0.27.1.tar.gz", hash = "sha256:c004463ca870283909d715d20f066ebd6968c2207dae9393fdffb3c1d4d8f98b"},
570
+ ]
571
+
572
+ [[package]]
573
+ name = "idna"
574
+ version = "3.10"
575
+ requires_python = ">=3.6"
576
+ summary = "Internationalized Domain Names in Applications (IDNA)"
577
+ groups = ["default"]
578
+ files = [
579
+ {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"},
580
+ {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"},
581
+ ]
582
+
583
+ [[package]]
584
+ name = "ipykernel"
585
+ version = "6.29.5"
586
+ requires_python = ">=3.8"
587
+ summary = "IPython Kernel for Jupyter"
588
+ groups = ["default"]
589
+ dependencies = [
590
+ "appnope; platform_system == \"Darwin\"",
591
+ "comm>=0.1.1",
592
+ "debugpy>=1.6.5",
593
+ "ipython>=7.23.1",
594
+ "jupyter-client>=6.1.12",
595
+ "jupyter-core!=5.0.*,>=4.12",
596
+ "matplotlib-inline>=0.1",
597
+ "nest-asyncio",
598
+ "packaging",
599
+ "psutil",
600
+ "pyzmq>=24",
601
+ "tornado>=6.1",
602
+ "traitlets>=5.4.0",
603
+ ]
604
+ files = [
605
+ {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"},
606
+ {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"},
607
+ ]
608
+
609
+ [[package]]
610
+ name = "ipython"
611
+ version = "8.31.0"
612
+ requires_python = ">=3.10"
613
+ summary = "IPython: Productive Interactive Computing"
614
+ groups = ["default"]
615
+ dependencies = [
616
+ "colorama; sys_platform == \"win32\"",
617
+ "decorator",
618
+ "exceptiongroup; python_version < \"3.11\"",
619
+ "jedi>=0.16",
620
+ "matplotlib-inline",
621
+ "pexpect>4.3; sys_platform != \"win32\" and sys_platform != \"emscripten\"",
622
+ "prompt-toolkit<3.1.0,>=3.0.41",
623
+ "pygments>=2.4.0",
624
+ "stack-data",
625
+ "traitlets>=5.13.0",
626
+ "typing-extensions>=4.6; python_version < \"3.12\"",
627
+ ]
628
+ files = [
629
+ {file = "ipython-8.31.0-py3-none-any.whl", hash = "sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6"},
630
+ {file = "ipython-8.31.0.tar.gz", hash = "sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b"},
631
+ ]
632
+
633
+ [[package]]
634
+ name = "isoduration"
635
+ version = "20.11.0"
636
+ requires_python = ">=3.7"
637
+ summary = "Operations with ISO 8601 durations"
638
+ groups = ["default"]
639
+ dependencies = [
640
+ "arrow>=0.15.0",
641
+ ]
642
+ files = [
643
+ {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"},
644
+ {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"},
645
+ ]
646
+
647
+ [[package]]
648
+ name = "jedi"
649
+ version = "0.19.2"
650
+ requires_python = ">=3.6"
651
+ summary = "An autocompletion tool for Python that can be used for text editors."
652
+ groups = ["default"]
653
+ dependencies = [
654
+ "parso<0.9.0,>=0.8.4",
655
+ ]
656
+ files = [
657
+ {file = "jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9"},
658
+ {file = "jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0"},
659
+ ]
660
+
661
+ [[package]]
662
+ name = "jinja2"
663
+ version = "3.1.5"
664
+ requires_python = ">=3.7"
665
+ summary = "A very fast and expressive template engine."
666
+ groups = ["default"]
667
+ dependencies = [
668
+ "MarkupSafe>=2.0",
669
+ ]
670
+ files = [
671
+ {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"},
672
+ {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"},
673
+ ]
674
+
675
+ [[package]]
676
+ name = "jiter"
677
+ version = "0.8.2"
678
+ requires_python = ">=3.8"
679
+ summary = "Fast iterable JSON parser."
680
+ groups = ["default"]
681
+ files = [
682
+ {file = "jiter-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e6ec2be506e7d6f9527dae9ff4b7f54e68ea44a0ef6b098256ddf895218a2f8f"},
683
+ {file = "jiter-0.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76e324da7b5da060287c54f2fabd3db5f76468006c811831f051942bf68c9d44"},
684
+ {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:180a8aea058f7535d1c84183c0362c710f4750bef66630c05f40c93c2b152a0f"},
685
+ {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025337859077b41548bdcbabe38698bcd93cfe10b06ff66617a48ff92c9aec60"},
686
+ {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecff0dc14f409599bbcafa7e470c00b80f17abc14d1405d38ab02e4b42e55b57"},
687
+ {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd9fee7d0775ebaba131f7ca2e2d83839a62ad65e8e02fe2bd8fc975cedeb9e"},
688
+ {file = "jiter-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14601dcac4889e0a1c75ccf6a0e4baf70dbc75041e51bcf8d0e9274519df6887"},
689
+ {file = "jiter-0.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92249669925bc1c54fcd2ec73f70f2c1d6a817928480ee1c65af5f6b81cdf12d"},
690
+ {file = "jiter-0.8.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e725edd0929fa79f8349ab4ec7f81c714df51dc4e991539a578e5018fa4a7152"},
691
+ {file = "jiter-0.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bf55846c7b7a680eebaf9c3c48d630e1bf51bdf76c68a5f654b8524335b0ad29"},
692
+ {file = "jiter-0.8.2-cp312-cp312-win32.whl", hash = "sha256:7efe4853ecd3d6110301665a5178b9856be7e2a9485f49d91aa4d737ad2ae49e"},
693
+ {file = "jiter-0.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:83c0efd80b29695058d0fd2fa8a556490dbce9804eac3e281f373bbc99045f6c"},
694
+ {file = "jiter-0.8.2.tar.gz", hash = "sha256:cd73d3e740666d0e639f678adb176fad25c1bcbdae88d8d7b857e1783bb4212d"},
695
+ ]
696
+
697
+ [[package]]
698
+ name = "json5"
699
+ version = "0.10.0"
700
+ requires_python = ">=3.8.0"
701
+ summary = "A Python implementation of the JSON5 data format."
702
+ groups = ["default"]
703
+ files = [
704
+ {file = "json5-0.10.0-py3-none-any.whl", hash = "sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa"},
705
+ {file = "json5-0.10.0.tar.gz", hash = "sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559"},
706
+ ]
707
+
708
+ [[package]]
709
+ name = "jsonpointer"
710
+ version = "3.0.0"
711
+ requires_python = ">=3.7"
712
+ summary = "Identify specific nodes in a JSON document (RFC 6901) "
713
+ groups = ["default"]
714
+ files = [
715
+ {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"},
716
+ {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"},
717
+ ]
718
+
719
+ [[package]]
720
+ name = "jsonschema"
721
+ version = "4.23.0"
722
+ requires_python = ">=3.8"
723
+ summary = "An implementation of JSON Schema validation for Python"
724
+ groups = ["default"]
725
+ dependencies = [
726
+ "attrs>=22.2.0",
727
+ "importlib-resources>=1.4.0; python_version < \"3.9\"",
728
+ "jsonschema-specifications>=2023.03.6",
729
+ "pkgutil-resolve-name>=1.3.10; python_version < \"3.9\"",
730
+ "referencing>=0.28.4",
731
+ "rpds-py>=0.7.1",
732
+ ]
733
+ files = [
734
+ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"},
735
+ {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"},
736
+ ]
737
+
738
+ [[package]]
739
+ name = "jsonschema-specifications"
740
+ version = "2024.10.1"
741
+ requires_python = ">=3.9"
742
+ summary = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
743
+ groups = ["default"]
744
+ dependencies = [
745
+ "referencing>=0.31.0",
746
+ ]
747
+ files = [
748
+ {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"},
749
+ {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"},
750
+ ]
751
+
752
+ [[package]]
753
+ name = "jsonschema"
754
+ version = "4.23.0"
755
+ extras = ["format-nongpl"]
756
+ requires_python = ">=3.8"
757
+ summary = "An implementation of JSON Schema validation for Python"
758
+ groups = ["default"]
759
+ dependencies = [
760
+ "fqdn",
761
+ "idna",
762
+ "isoduration",
763
+ "jsonpointer>1.13",
764
+ "jsonschema==4.23.0",
765
+ "rfc3339-validator",
766
+ "rfc3986-validator>0.1.0",
767
+ "uri-template",
768
+ "webcolors>=24.6.0",
769
+ ]
770
+ files = [
771
+ {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"},
772
+ {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"},
773
+ ]
774
+
775
+ [[package]]
776
+ name = "jupyter-client"
777
+ version = "8.6.3"
778
+ requires_python = ">=3.8"
779
+ summary = "Jupyter protocol implementation and client libraries"
780
+ groups = ["default"]
781
+ dependencies = [
782
+ "importlib-metadata>=4.8.3; python_version < \"3.10\"",
783
+ "jupyter-core!=5.0.*,>=4.12",
784
+ "python-dateutil>=2.8.2",
785
+ "pyzmq>=23.0",
786
+ "tornado>=6.2",
787
+ "traitlets>=5.3",
788
+ ]
789
+ files = [
790
+ {file = "jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f"},
791
+ {file = "jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419"},
792
+ ]
793
+
794
+ [[package]]
795
+ name = "jupyter-core"
796
+ version = "5.7.2"
797
+ requires_python = ">=3.8"
798
+ summary = "Jupyter core package. A base package on which Jupyter projects rely."
799
+ groups = ["default"]
800
+ dependencies = [
801
+ "platformdirs>=2.5",
802
+ "pywin32>=300; sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"",
803
+ "traitlets>=5.3",
804
+ ]
805
+ files = [
806
+ {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"},
807
+ {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"},
808
+ ]
809
+
810
+ [[package]]
811
+ name = "jupyter-events"
812
+ version = "0.11.0"
813
+ requires_python = ">=3.9"
814
+ summary = "Jupyter Event System library"
815
+ groups = ["default"]
816
+ dependencies = [
817
+ "jsonschema[format-nongpl]>=4.18.0",
818
+ "python-json-logger>=2.0.4",
819
+ "pyyaml>=5.3",
820
+ "referencing",
821
+ "rfc3339-validator",
822
+ "rfc3986-validator>=0.1.1",
823
+ "traitlets>=5.3",
824
+ ]
825
+ files = [
826
+ {file = "jupyter_events-0.11.0-py3-none-any.whl", hash = "sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf"},
827
+ {file = "jupyter_events-0.11.0.tar.gz", hash = "sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90"},
828
+ ]
829
+
830
+ [[package]]
831
+ name = "jupyter-lsp"
832
+ version = "2.2.5"
833
+ requires_python = ">=3.8"
834
+ summary = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server"
835
+ groups = ["default"]
836
+ dependencies = [
837
+ "importlib-metadata>=4.8.3; python_version < \"3.10\"",
838
+ "jupyter-server>=1.1.2",
839
+ ]
840
+ files = [
841
+ {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"},
842
+ {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"},
843
+ ]
844
+
845
+ [[package]]
846
+ name = "jupyter-server"
847
+ version = "2.15.0"
848
+ requires_python = ">=3.9"
849
+ summary = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications."
850
+ groups = ["default"]
851
+ dependencies = [
852
+ "anyio>=3.1.0",
853
+ "argon2-cffi>=21.1",
854
+ "jinja2>=3.0.3",
855
+ "jupyter-client>=7.4.4",
856
+ "jupyter-core!=5.0.*,>=4.12",
857
+ "jupyter-events>=0.11.0",
858
+ "jupyter-server-terminals>=0.4.4",
859
+ "nbconvert>=6.4.4",
860
+ "nbformat>=5.3.0",
861
+ "overrides>=5.0",
862
+ "packaging>=22.0",
863
+ "prometheus-client>=0.9",
864
+ "pywinpty>=2.0.1; os_name == \"nt\"",
865
+ "pyzmq>=24",
866
+ "send2trash>=1.8.2",
867
+ "terminado>=0.8.3",
868
+ "tornado>=6.2.0",
869
+ "traitlets>=5.6.0",
870
+ "websocket-client>=1.7",
871
+ ]
872
+ files = [
873
+ {file = "jupyter_server-2.15.0-py3-none-any.whl", hash = "sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3"},
874
+ {file = "jupyter_server-2.15.0.tar.gz", hash = "sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084"},
875
+ ]
876
+
877
+ [[package]]
878
+ name = "jupyter-server-terminals"
879
+ version = "0.5.3"
880
+ requires_python = ">=3.8"
881
+ summary = "A Jupyter Server Extension Providing Terminals."
882
+ groups = ["default"]
883
+ dependencies = [
884
+ "pywinpty>=2.0.3; os_name == \"nt\"",
885
+ "terminado>=0.8.3",
886
+ ]
887
+ files = [
888
+ {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"},
889
+ {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"},
890
+ ]
891
+
892
+ [[package]]
893
+ name = "jupyterlab"
894
+ version = "4.3.4"
895
+ requires_python = ">=3.8"
896
+ summary = "JupyterLab computational environment"
897
+ groups = ["default"]
898
+ dependencies = [
899
+ "async-lru>=1.0.0",
900
+ "httpx>=0.25.0",
901
+ "importlib-metadata>=4.8.3; python_version < \"3.10\"",
902
+ "importlib-resources>=1.4; python_version < \"3.9\"",
903
+ "ipykernel>=6.5.0",
904
+ "jinja2>=3.0.3",
905
+ "jupyter-core",
906
+ "jupyter-lsp>=2.0.0",
907
+ "jupyter-server<3,>=2.4.0",
908
+ "jupyterlab-server<3,>=2.27.1",
909
+ "notebook-shim>=0.2",
910
+ "packaging",
911
+ "setuptools>=40.8.0",
912
+ "tomli>=1.2.2; python_version < \"3.11\"",
913
+ "tornado>=6.2.0",
914
+ "traitlets",
915
+ ]
916
+ files = [
917
+ {file = "jupyterlab-4.3.4-py3-none-any.whl", hash = "sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952"},
918
+ {file = "jupyterlab-4.3.4.tar.gz", hash = "sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0"},
919
+ ]
920
+
921
+ [[package]]
922
+ name = "jupyterlab-pygments"
923
+ version = "0.3.0"
924
+ requires_python = ">=3.8"
925
+ summary = "Pygments theme using JupyterLab CSS variables"
926
+ groups = ["default"]
927
+ files = [
928
+ {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"},
929
+ {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"},
930
+ ]
931
+
932
+ [[package]]
933
+ name = "jupyterlab-server"
934
+ version = "2.27.3"
935
+ requires_python = ">=3.8"
936
+ summary = "A set of server components for JupyterLab and JupyterLab like applications."
937
+ groups = ["default"]
938
+ dependencies = [
939
+ "babel>=2.10",
940
+ "importlib-metadata>=4.8.3; python_version < \"3.10\"",
941
+ "jinja2>=3.0.3",
942
+ "json5>=0.9.0",
943
+ "jsonschema>=4.18.0",
944
+ "jupyter-server<3,>=1.21",
945
+ "packaging>=21.3",
946
+ "requests>=2.31",
947
+ ]
948
+ files = [
949
+ {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"},
950
+ {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"},
951
+ ]
952
+
953
+ [[package]]
954
+ name = "markdown-it-py"
955
+ version = "3.0.0"
956
+ requires_python = ">=3.8"
957
+ summary = "Python port of markdown-it. Markdown parsing, done right!"
958
+ groups = ["default"]
959
+ marker = "sys_platform != \"emscripten\""
960
+ dependencies = [
961
+ "mdurl~=0.1",
962
+ ]
963
+ files = [
964
+ {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"},
965
+ {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"},
966
+ ]
967
+
968
+ [[package]]
969
+ name = "markupsafe"
970
+ version = "2.1.5"
971
+ requires_python = ">=3.7"
972
+ summary = "Safely add untrusted strings to HTML/XML markup."
973
+ groups = ["default"]
974
+ files = [
975
+ {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
976
+ {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
977
+ {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
978
+ {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
979
+ {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
980
+ {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
981
+ {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
982
+ {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
983
+ {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
984
+ {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
985
+ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
986
+ ]
987
+
988
+ [[package]]
989
+ name = "matplotlib-inline"
990
+ version = "0.1.7"
991
+ requires_python = ">=3.8"
992
+ summary = "Inline Matplotlib backend for Jupyter"
993
+ groups = ["default"]
994
+ dependencies = [
995
+ "traitlets",
996
+ ]
997
+ files = [
998
+ {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"},
999
+ {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"},
1000
+ ]
1001
+
1002
+ [[package]]
1003
+ name = "mdurl"
1004
+ version = "0.1.2"
1005
+ requires_python = ">=3.7"
1006
+ summary = "Markdown URL utilities"
1007
+ groups = ["default"]
1008
+ marker = "sys_platform != \"emscripten\""
1009
+ files = [
1010
+ {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
1011
+ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
1012
+ ]
1013
+
1014
+ [[package]]
1015
+ name = "mistune"
1016
+ version = "3.1.0"
1017
+ requires_python = ">=3.8"
1018
+ summary = "A sane and fast Markdown parser with useful plugins and renderers"
1019
+ groups = ["default"]
1020
+ dependencies = [
1021
+ "typing-extensions; python_version < \"3.11\"",
1022
+ ]
1023
+ files = [
1024
+ {file = "mistune-3.1.0-py3-none-any.whl", hash = "sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1"},
1025
+ {file = "mistune-3.1.0.tar.gz", hash = "sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667"},
1026
+ ]
1027
+
1028
+ [[package]]
1029
+ name = "nbclient"
1030
+ version = "0.10.2"
1031
+ requires_python = ">=3.9.0"
1032
+ summary = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
1033
+ groups = ["default"]
1034
+ dependencies = [
1035
+ "jupyter-client>=6.1.12",
1036
+ "jupyter-core!=5.0.*,>=4.12",
1037
+ "nbformat>=5.1",
1038
+ "traitlets>=5.4",
1039
+ ]
1040
+ files = [
1041
+ {file = "nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d"},
1042
+ {file = "nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193"},
1043
+ ]
1044
+
1045
+ [[package]]
1046
+ name = "nbconvert"
1047
+ version = "7.16.5"
1048
+ requires_python = ">=3.8"
1049
+ summary = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)."
1050
+ groups = ["default"]
1051
+ dependencies = [
1052
+ "beautifulsoup4",
1053
+ "bleach[css]!=5.0.0",
1054
+ "defusedxml",
1055
+ "importlib-metadata>=3.6; python_version < \"3.10\"",
1056
+ "jinja2>=3.0",
1057
+ "jupyter-core>=4.7",
1058
+ "jupyterlab-pygments",
1059
+ "markupsafe>=2.0",
1060
+ "mistune<4,>=2.0.3",
1061
+ "nbclient>=0.5.0",
1062
+ "nbformat>=5.7",
1063
+ "packaging",
1064
+ "pandocfilters>=1.4.1",
1065
+ "pygments>=2.4.1",
1066
+ "traitlets>=5.1",
1067
+ ]
1068
+ files = [
1069
+ {file = "nbconvert-7.16.5-py3-none-any.whl", hash = "sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547"},
1070
+ {file = "nbconvert-7.16.5.tar.gz", hash = "sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344"},
1071
+ ]
1072
+
1073
+ [[package]]
1074
+ name = "nbformat"
1075
+ version = "5.10.4"
1076
+ requires_python = ">=3.8"
1077
+ summary = "The Jupyter Notebook format"
1078
+ groups = ["default"]
1079
+ dependencies = [
1080
+ "fastjsonschema>=2.15",
1081
+ "jsonschema>=2.6",
1082
+ "jupyter-core!=5.0.*,>=4.12",
1083
+ "traitlets>=5.1",
1084
+ ]
1085
+ files = [
1086
+ {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"},
1087
+ {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"},
1088
+ ]
1089
+
1090
+ [[package]]
1091
+ name = "nest-asyncio"
1092
+ version = "1.6.0"
1093
+ requires_python = ">=3.5"
1094
+ summary = "Patch asyncio to allow nested event loops"
1095
+ groups = ["default"]
1096
+ files = [
1097
+ {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"},
1098
+ {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"},
1099
+ ]
1100
+
1101
+ [[package]]
1102
+ name = "notebook"
1103
+ version = "7.3.2"
1104
+ requires_python = ">=3.8"
1105
+ summary = "Jupyter Notebook - A web-based notebook environment for interactive computing"
1106
+ groups = ["default"]
1107
+ dependencies = [
1108
+ "jupyter-server<3,>=2.4.0",
1109
+ "jupyterlab-server<3,>=2.27.1",
1110
+ "jupyterlab<4.4,>=4.3.4",
1111
+ "notebook-shim<0.3,>=0.2",
1112
+ "tornado>=6.2.0",
1113
+ ]
1114
+ files = [
1115
+ {file = "notebook-7.3.2-py3-none-any.whl", hash = "sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288"},
1116
+ {file = "notebook-7.3.2.tar.gz", hash = "sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8"},
1117
+ ]
1118
+
1119
+ [[package]]
1120
+ name = "notebook-shim"
1121
+ version = "0.2.4"
1122
+ requires_python = ">=3.7"
1123
+ summary = "A shim layer for notebook traits and config"
1124
+ groups = ["default"]
1125
+ dependencies = [
1126
+ "jupyter-server<3,>=1.8",
1127
+ ]
1128
+ files = [
1129
+ {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"},
1130
+ {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"},
1131
+ ]
1132
+
1133
+ [[package]]
1134
+ name = "numpy"
1135
+ version = "2.2.1"
1136
+ requires_python = ">=3.10"
1137
+ summary = "Fundamental package for array computing in Python"
1138
+ groups = ["default"]
1139
+ files = [
1140
+ {file = "numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab"},
1141
+ {file = "numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa"},
1142
+ {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315"},
1143
+ {file = "numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355"},
1144
+ {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7"},
1145
+ {file = "numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d"},
1146
+ {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51"},
1147
+ {file = "numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046"},
1148
+ {file = "numpy-2.2.1-cp312-cp312-win32.whl", hash = "sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2"},
1149
+ {file = "numpy-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8"},
1150
+ {file = "numpy-2.2.1.tar.gz", hash = "sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918"},
1151
+ ]
1152
+
1153
+ [[package]]
1154
+ name = "openai"
1155
+ version = "1.59.4"
1156
+ requires_python = ">=3.8"
1157
+ summary = "The official Python library for the openai API"
1158
+ groups = ["default"]
1159
+ dependencies = [
1160
+ "anyio<5,>=3.5.0",
1161
+ "distro<2,>=1.7.0",
1162
+ "httpx<1,>=0.23.0",
1163
+ "jiter<1,>=0.4.0",
1164
+ "pydantic<3,>=1.9.0",
1165
+ "sniffio",
1166
+ "tqdm>4",
1167
+ "typing-extensions<5,>=4.11",
1168
+ ]
1169
+ files = [
1170
+ {file = "openai-1.59.4-py3-none-any.whl", hash = "sha256:82113498699998e98104f87c19a890e82df9b01251a0395484360575d3a1d98a"},
1171
+ {file = "openai-1.59.4.tar.gz", hash = "sha256:b946dc5a2308dc1e03efbda80bf1cd64b6053b536851ad519f57ee44401663d2"},
1172
+ ]
1173
+
1174
+ [[package]]
1175
+ name = "orjson"
1176
+ version = "3.10.13"
1177
+ requires_python = ">=3.8"
1178
+ summary = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
1179
+ groups = ["default"]
1180
+ files = [
1181
+ {file = "orjson-3.10.13-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a3614b00621c77f3f6487792238f9ed1dd8a42f2ec0e6540ee34c2d4e6db813a"},
1182
+ {file = "orjson-3.10.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c976bad3996aa027cd3aef78aa57873f3c959b6c38719de9724b71bdc7bd14b"},
1183
+ {file = "orjson-3.10.13-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f74d878d1efb97a930b8a9f9898890067707d683eb5c7e20730030ecb3fb930"},
1184
+ {file = "orjson-3.10.13-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33ef84f7e9513fb13b3999c2a64b9ca9c8143f3da9722fbf9c9ce51ce0d8076e"},
1185
+ {file = "orjson-3.10.13-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd2bcde107221bb9c2fa0c4aaba735a537225104173d7e19cf73f70b3126c993"},
1186
+ {file = "orjson-3.10.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:064b9dbb0217fd64a8d016a8929f2fae6f3312d55ab3036b00b1d17399ab2f3e"},
1187
+ {file = "orjson-3.10.13-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c0044b0b8c85a565e7c3ce0a72acc5d35cda60793edf871ed94711e712cb637d"},
1188
+ {file = "orjson-3.10.13-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7184f608ad563032e398f311910bc536e62b9fbdca2041be889afcbc39500de8"},
1189
+ {file = "orjson-3.10.13-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d36f689e7e1b9b6fb39dbdebc16a6f07cbe994d3644fb1c22953020fc575935f"},
1190
+ {file = "orjson-3.10.13-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:54433e421618cd5873e51c0e9d0b9fb35f7bf76eb31c8eab20b3595bb713cd3d"},
1191
+ {file = "orjson-3.10.13-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e1ba0c5857dd743438acecc1cd0e1adf83f0a81fee558e32b2b36f89e40cee8b"},
1192
+ {file = "orjson-3.10.13-cp312-cp312-win32.whl", hash = "sha256:a42b9fe4b0114b51eb5cdf9887d8c94447bc59df6dbb9c5884434eab947888d8"},
1193
+ {file = "orjson-3.10.13-cp312-cp312-win_amd64.whl", hash = "sha256:3a7df63076435f39ec024bdfeb4c9767ebe7b49abc4949068d61cf4857fa6d6c"},
1194
+ {file = "orjson-3.10.13.tar.gz", hash = "sha256:eb9bfb14ab8f68d9d9492d4817ae497788a15fd7da72e14dfabc289c3bb088ec"},
1195
+ ]
1196
+
1197
+ [[package]]
1198
+ name = "overrides"
1199
+ version = "7.7.0"
1200
+ requires_python = ">=3.6"
1201
+ summary = "A decorator to automatically detect mismatch when overriding a method."
1202
+ groups = ["default"]
1203
+ dependencies = [
1204
+ "typing; python_version < \"3.5\"",
1205
+ ]
1206
+ files = [
1207
+ {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"},
1208
+ {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"},
1209
+ ]
1210
+
1211
+ [[package]]
1212
+ name = "packaging"
1213
+ version = "24.2"
1214
+ requires_python = ">=3.8"
1215
+ summary = "Core utilities for Python packages"
1216
+ groups = ["default"]
1217
+ files = [
1218
+ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"},
1219
+ {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"},
1220
+ ]
1221
+
1222
+ [[package]]
1223
+ name = "pandas"
1224
+ version = "2.2.3"
1225
+ requires_python = ">=3.9"
1226
+ summary = "Powerful data structures for data analysis, time series, and statistics"
1227
+ groups = ["default"]
1228
+ dependencies = [
1229
+ "numpy>=1.22.4; python_version < \"3.11\"",
1230
+ "numpy>=1.23.2; python_version == \"3.11\"",
1231
+ "numpy>=1.26.0; python_version >= \"3.12\"",
1232
+ "python-dateutil>=2.8.2",
1233
+ "pytz>=2020.1",
1234
+ "tzdata>=2022.7",
1235
+ ]
1236
+ files = [
1237
+ {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"},
1238
+ {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"},
1239
+ {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"},
1240
+ {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"},
1241
+ {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"},
1242
+ {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"},
1243
+ {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"},
1244
+ {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"},
1245
+ ]
1246
+
1247
+ [[package]]
1248
+ name = "pandocfilters"
1249
+ version = "1.5.1"
1250
+ requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
1251
+ summary = "Utilities for writing pandoc filters in python"
1252
+ groups = ["default"]
1253
+ files = [
1254
+ {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"},
1255
+ {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"},
1256
+ ]
1257
+
1258
+ [[package]]
1259
+ name = "parso"
1260
+ version = "0.8.4"
1261
+ requires_python = ">=3.6"
1262
+ summary = "A Python Parser"
1263
+ groups = ["default"]
1264
+ files = [
1265
+ {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"},
1266
+ {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"},
1267
+ ]
1268
+
1269
+ [[package]]
1270
+ name = "pexpect"
1271
+ version = "4.9.0"
1272
+ summary = "Pexpect allows easy control of interactive console applications."
1273
+ groups = ["default"]
1274
+ marker = "sys_platform != \"win32\" and sys_platform != \"emscripten\""
1275
+ dependencies = [
1276
+ "ptyprocess>=0.5",
1277
+ ]
1278
+ files = [
1279
+ {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"},
1280
+ {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"},
1281
+ ]
1282
+
1283
+ [[package]]
1284
+ name = "pillow"
1285
+ version = "11.1.0"
1286
+ requires_python = ">=3.9"
1287
+ summary = "Python Imaging Library (Fork)"
1288
+ groups = ["default"]
1289
+ files = [
1290
+ {file = "pillow-11.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2062ffb1d36544d42fcaa277b069c88b01bb7298f4efa06731a7fd6cc290b81a"},
1291
+ {file = "pillow-11.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b"},
1292
+ {file = "pillow-11.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9409c080586d1f683df3f184f20e36fb647f2e0bc3988094d4fd8c9f4eb1b3b3"},
1293
+ {file = "pillow-11.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7fdadc077553621911f27ce206ffcbec7d3f8d7b50e0da39f10997e8e2bb7f6a"},
1294
+ {file = "pillow-11.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:93a18841d09bcdd774dcdc308e4537e1f867b3dec059c131fde0327899734aa1"},
1295
+ {file = "pillow-11.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9aa9aeddeed452b2f616ff5507459e7bab436916ccb10961c4a382cd3e03f47f"},
1296
+ {file = "pillow-11.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3cdcdb0b896e981678eee140d882b70092dac83ac1cdf6b3a60e2216a73f2b91"},
1297
+ {file = "pillow-11.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:36ba10b9cb413e7c7dfa3e189aba252deee0602c86c309799da5a74009ac7a1c"},
1298
+ {file = "pillow-11.1.0-cp312-cp312-win32.whl", hash = "sha256:cfd5cd998c2e36a862d0e27b2df63237e67273f2fc78f47445b14e73a810e7e6"},
1299
+ {file = "pillow-11.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a697cd8ba0383bba3d2d3ada02b34ed268cb548b369943cd349007730c92bddf"},
1300
+ {file = "pillow-11.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:4dd43a78897793f60766563969442020e90eb7847463eca901e41ba186a7d4a5"},
1301
+ {file = "pillow-11.1.0.tar.gz", hash = "sha256:368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20"},
1302
+ ]
1303
+
1304
+ [[package]]
1305
+ name = "platformdirs"
1306
+ version = "4.3.6"
1307
+ requires_python = ">=3.8"
1308
+ summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`."
1309
+ groups = ["default"]
1310
+ files = [
1311
+ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"},
1312
+ {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"},
1313
+ ]
1314
+
1315
+ [[package]]
1316
+ name = "prometheus-client"
1317
+ version = "0.21.1"
1318
+ requires_python = ">=3.8"
1319
+ summary = "Python client for the Prometheus monitoring system."
1320
+ groups = ["default"]
1321
+ files = [
1322
+ {file = "prometheus_client-0.21.1-py3-none-any.whl", hash = "sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301"},
1323
+ {file = "prometheus_client-0.21.1.tar.gz", hash = "sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb"},
1324
+ ]
1325
+
1326
+ [[package]]
1327
+ name = "prompt-toolkit"
1328
+ version = "3.0.48"
1329
+ requires_python = ">=3.7.0"
1330
+ summary = "Library for building powerful interactive command lines in Python"
1331
+ groups = ["default"]
1332
+ dependencies = [
1333
+ "wcwidth",
1334
+ ]
1335
+ files = [
1336
+ {file = "prompt_toolkit-3.0.48-py3-none-any.whl", hash = "sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e"},
1337
+ {file = "prompt_toolkit-3.0.48.tar.gz", hash = "sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90"},
1338
+ ]
1339
+
1340
+ [[package]]
1341
+ name = "psutil"
1342
+ version = "6.1.1"
1343
+ requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
1344
+ summary = "Cross-platform lib for process and system monitoring in Python."
1345
+ groups = ["default"]
1346
+ files = [
1347
+ {file = "psutil-6.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8"},
1348
+ {file = "psutil-6.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377"},
1349
+ {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003"},
1350
+ {file = "psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160"},
1351
+ {file = "psutil-6.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3"},
1352
+ {file = "psutil-6.1.1-cp37-abi3-win32.whl", hash = "sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53"},
1353
+ {file = "psutil-6.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649"},
1354
+ {file = "psutil-6.1.1.tar.gz", hash = "sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5"},
1355
+ ]
1356
+
1357
+ [[package]]
1358
+ name = "ptyprocess"
1359
+ version = "0.7.0"
1360
+ summary = "Run a subprocess in a pseudo terminal"
1361
+ groups = ["default"]
1362
+ marker = "sys_platform != \"win32\" and sys_platform != \"emscripten\" or os_name != \"nt\""
1363
+ files = [
1364
+ {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
1365
+ {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"},
1366
+ ]
1367
+
1368
+ [[package]]
1369
+ name = "pure-eval"
1370
+ version = "0.2.3"
1371
+ summary = "Safely evaluate AST nodes without side effects"
1372
+ groups = ["default"]
1373
+ files = [
1374
+ {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"},
1375
+ {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"},
1376
+ ]
1377
+
1378
+ [[package]]
1379
+ name = "pycparser"
1380
+ version = "2.22"
1381
+ requires_python = ">=3.8"
1382
+ summary = "C parser in Python"
1383
+ groups = ["default"]
1384
+ files = [
1385
+ {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"},
1386
+ {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"},
1387
+ ]
1388
+
1389
+ [[package]]
1390
+ name = "pydantic"
1391
+ version = "2.10.4"
1392
+ requires_python = ">=3.8"
1393
+ summary = "Data validation using Python type hints"
1394
+ groups = ["default"]
1395
+ dependencies = [
1396
+ "annotated-types>=0.6.0",
1397
+ "pydantic-core==2.27.2",
1398
+ "typing-extensions>=4.12.2",
1399
+ ]
1400
+ files = [
1401
+ {file = "pydantic-2.10.4-py3-none-any.whl", hash = "sha256:597e135ea68be3a37552fb524bc7d0d66dcf93d395acd93a00682f1efcb8ee3d"},
1402
+ {file = "pydantic-2.10.4.tar.gz", hash = "sha256:82f12e9723da6de4fe2ba888b5971157b3be7ad914267dea8f05f82b28254f06"},
1403
+ ]
1404
+
1405
+ [[package]]
1406
+ name = "pydantic-core"
1407
+ version = "2.27.2"
1408
+ requires_python = ">=3.8"
1409
+ summary = "Core functionality for Pydantic validation and serialization"
1410
+ groups = ["default"]
1411
+ dependencies = [
1412
+ "typing-extensions!=4.7.0,>=4.6.0",
1413
+ ]
1414
+ files = [
1415
+ {file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"},
1416
+ {file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"},
1417
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"},
1418
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"},
1419
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"},
1420
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"},
1421
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"},
1422
+ {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"},
1423
+ {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"},
1424
+ {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"},
1425
+ {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"},
1426
+ {file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"},
1427
+ {file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"},
1428
+ {file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"},
1429
+ {file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"},
1430
+ ]
1431
+
1432
+ [[package]]
1433
+ name = "pydub"
1434
+ version = "0.25.1"
1435
+ summary = "Manipulate audio with an simple and easy high level interface"
1436
+ groups = ["default"]
1437
+ files = [
1438
+ {file = "pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6"},
1439
+ {file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"},
1440
+ ]
1441
+
1442
+ [[package]]
1443
+ name = "pygments"
1444
+ version = "2.19.1"
1445
+ requires_python = ">=3.8"
1446
+ summary = "Pygments is a syntax highlighting package written in Python."
1447
+ groups = ["default"]
1448
+ files = [
1449
+ {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"},
1450
+ {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"},
1451
+ ]
1452
+
1453
+ [[package]]
1454
+ name = "pypdf"
1455
+ version = "5.1.0"
1456
+ requires_python = ">=3.8"
1457
+ summary = "A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files"
1458
+ groups = ["default"]
1459
+ dependencies = [
1460
+ "typing-extensions>=4.0; python_version < \"3.11\"",
1461
+ ]
1462
+ files = [
1463
+ {file = "pypdf-5.1.0-py3-none-any.whl", hash = "sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc"},
1464
+ {file = "pypdf-5.1.0.tar.gz", hash = "sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740"},
1465
+ ]
1466
+
1467
+ [[package]]
1468
+ name = "python-dateutil"
1469
+ version = "2.9.0.post0"
1470
+ requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
1471
+ summary = "Extensions to the standard Python datetime module"
1472
+ groups = ["default"]
1473
+ dependencies = [
1474
+ "six>=1.5",
1475
+ ]
1476
+ files = [
1477
+ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
1478
+ {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
1479
+ ]
1480
+
1481
+ [[package]]
1482
+ name = "python-dotenv"
1483
+ version = "1.0.1"
1484
+ requires_python = ">=3.8"
1485
+ summary = "Read key-value pairs from a .env file and set them as environment variables"
1486
+ groups = ["default"]
1487
+ files = [
1488
+ {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"},
1489
+ {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"},
1490
+ ]
1491
+
1492
+ [[package]]
1493
+ name = "python-json-logger"
1494
+ version = "3.2.1"
1495
+ requires_python = ">=3.8"
1496
+ summary = "JSON Log Formatter for the Python Logging Package"
1497
+ groups = ["default"]
1498
+ dependencies = [
1499
+ "typing-extensions; python_version < \"3.10\"",
1500
+ ]
1501
+ files = [
1502
+ {file = "python_json_logger-3.2.1-py3-none-any.whl", hash = "sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090"},
1503
+ {file = "python_json_logger-3.2.1.tar.gz", hash = "sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008"},
1504
+ ]
1505
+
1506
+ [[package]]
1507
+ name = "python-multipart"
1508
+ version = "0.0.20"
1509
+ requires_python = ">=3.8"
1510
+ summary = "A streaming multipart parser for Python"
1511
+ groups = ["default"]
1512
+ files = [
1513
+ {file = "python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104"},
1514
+ {file = "python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13"},
1515
+ ]
1516
+
1517
+ [[package]]
1518
+ name = "pytz"
1519
+ version = "2024.2"
1520
+ summary = "World timezone definitions, modern and historical"
1521
+ groups = ["default"]
1522
+ files = [
1523
+ {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"},
1524
+ {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"},
1525
+ ]
1526
+
1527
+ [[package]]
1528
+ name = "pywin32"
1529
+ version = "308"
1530
+ summary = "Python for Window Extensions"
1531
+ groups = ["default"]
1532
+ marker = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""
1533
+ files = [
1534
+ {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"},
1535
+ {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"},
1536
+ {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"},
1537
+ ]
1538
+
1539
+ [[package]]
1540
+ name = "pywinpty"
1541
+ version = "2.0.14"
1542
+ requires_python = ">=3.8"
1543
+ summary = "Pseudo terminal support for Windows from Python."
1544
+ groups = ["default"]
1545
+ marker = "os_name == \"nt\""
1546
+ files = [
1547
+ {file = "pywinpty-2.0.14-cp312-none-win_amd64.whl", hash = "sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737"},
1548
+ {file = "pywinpty-2.0.14.tar.gz", hash = "sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e"},
1549
+ ]
1550
+
1551
+ [[package]]
1552
+ name = "pyyaml"
1553
+ version = "6.0.2"
1554
+ requires_python = ">=3.8"
1555
+ summary = "YAML parser and emitter for Python"
1556
+ groups = ["default"]
1557
+ files = [
1558
+ {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"},
1559
+ {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"},
1560
+ {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"},
1561
+ {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"},
1562
+ {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"},
1563
+ {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"},
1564
+ {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"},
1565
+ {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"},
1566
+ {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"},
1567
+ {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"},
1568
+ ]
1569
+
1570
+ [[package]]
1571
+ name = "pyzmq"
1572
+ version = "26.2.0"
1573
+ requires_python = ">=3.7"
1574
+ summary = "Python bindings for 0MQ"
1575
+ groups = ["default"]
1576
+ dependencies = [
1577
+ "cffi; implementation_name == \"pypy\"",
1578
+ ]
1579
+ files = [
1580
+ {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"},
1581
+ {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"},
1582
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"},
1583
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"},
1584
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"},
1585
+ {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"},
1586
+ {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"},
1587
+ {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"},
1588
+ {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"},
1589
+ {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"},
1590
+ {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"},
1591
+ {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"},
1592
+ {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"},
1593
+ ]
1594
+
1595
+ [[package]]
1596
+ name = "referencing"
1597
+ version = "0.35.1"
1598
+ requires_python = ">=3.8"
1599
+ summary = "JSON Referencing + Python"
1600
+ groups = ["default"]
1601
+ dependencies = [
1602
+ "attrs>=22.2.0",
1603
+ "rpds-py>=0.7.0",
1604
+ ]
1605
+ files = [
1606
+ {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"},
1607
+ {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"},
1608
+ ]
1609
+
1610
+ [[package]]
1611
+ name = "requests"
1612
+ version = "2.32.3"
1613
+ requires_python = ">=3.8"
1614
+ summary = "Python HTTP for Humans."
1615
+ groups = ["default"]
1616
+ dependencies = [
1617
+ "certifi>=2017.4.17",
1618
+ "charset-normalizer<4,>=2",
1619
+ "idna<4,>=2.5",
1620
+ "urllib3<3,>=1.21.1",
1621
+ ]
1622
+ files = [
1623
+ {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
1624
+ {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
1625
+ ]
1626
+
1627
+ [[package]]
1628
+ name = "rfc3339-validator"
1629
+ version = "0.1.4"
1630
+ requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
1631
+ summary = "A pure python RFC3339 validator"
1632
+ groups = ["default"]
1633
+ dependencies = [
1634
+ "six",
1635
+ ]
1636
+ files = [
1637
+ {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"},
1638
+ {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"},
1639
+ ]
1640
+
1641
+ [[package]]
1642
+ name = "rfc3986-validator"
1643
+ version = "0.1.1"
1644
+ requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
1645
+ summary = "Pure python rfc3986 validator"
1646
+ groups = ["default"]
1647
+ files = [
1648
+ {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"},
1649
+ {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"},
1650
+ ]
1651
+
1652
+ [[package]]
1653
+ name = "rich"
1654
+ version = "13.9.4"
1655
+ requires_python = ">=3.8.0"
1656
+ summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
1657
+ groups = ["default"]
1658
+ marker = "sys_platform != \"emscripten\""
1659
+ dependencies = [
1660
+ "markdown-it-py>=2.2.0",
1661
+ "pygments<3.0.0,>=2.13.0",
1662
+ "typing-extensions<5.0,>=4.0.0; python_version < \"3.11\"",
1663
+ ]
1664
+ files = [
1665
+ {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"},
1666
+ {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"},
1667
+ ]
1668
+
1669
+ [[package]]
1670
+ name = "rpds-py"
1671
+ version = "0.22.3"
1672
+ requires_python = ">=3.9"
1673
+ summary = "Python bindings to Rust's persistent data structures (rpds)"
1674
+ groups = ["default"]
1675
+ files = [
1676
+ {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"},
1677
+ {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"},
1678
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"},
1679
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"},
1680
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"},
1681
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"},
1682
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"},
1683
+ {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"},
1684
+ {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"},
1685
+ {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"},
1686
+ {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"},
1687
+ {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"},
1688
+ {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"},
1689
+ {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"},
1690
+ ]
1691
+
1692
+ [[package]]
1693
+ name = "ruff"
1694
+ version = "0.8.6"
1695
+ requires_python = ">=3.7"
1696
+ summary = "An extremely fast Python linter and code formatter, written in Rust."
1697
+ groups = ["default"]
1698
+ marker = "sys_platform != \"emscripten\""
1699
+ files = [
1700
+ {file = "ruff-0.8.6-py3-none-linux_armv6l.whl", hash = "sha256:defed167955d42c68b407e8f2e6f56ba52520e790aba4ca707a9c88619e580e3"},
1701
+ {file = "ruff-0.8.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:54799ca3d67ae5e0b7a7ac234baa657a9c1784b48ec954a094da7c206e0365b1"},
1702
+ {file = "ruff-0.8.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e88b8f6d901477c41559ba540beeb5a671e14cd29ebd5683903572f4b40a9807"},
1703
+ {file = "ruff-0.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0509e8da430228236a18a677fcdb0c1f102dd26d5520f71f79b094963322ed25"},
1704
+ {file = "ruff-0.8.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:91a7ddb221779871cf226100e677b5ea38c2d54e9e2c8ed847450ebbdf99b32d"},
1705
+ {file = "ruff-0.8.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:248b1fb3f739d01d528cc50b35ee9c4812aa58cc5935998e776bf8ed5b251e75"},
1706
+ {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:bc3c083c50390cf69e7e1b5a5a7303898966be973664ec0c4a4acea82c1d4315"},
1707
+ {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52d587092ab8df308635762386f45f4638badb0866355b2b86760f6d3c076188"},
1708
+ {file = "ruff-0.8.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61323159cf21bc3897674e5adb27cd9e7700bab6b84de40d7be28c3d46dc67cf"},
1709
+ {file = "ruff-0.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ae4478b1471fc0c44ed52a6fb787e641a2ac58b1c1f91763bafbc2faddc5117"},
1710
+ {file = "ruff-0.8.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0c000a471d519b3e6cfc9c6680025d923b4ca140ce3e4612d1a2ef58e11f11fe"},
1711
+ {file = "ruff-0.8.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d"},
1712
+ {file = "ruff-0.8.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a"},
1713
+ {file = "ruff-0.8.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76"},
1714
+ {file = "ruff-0.8.6-py3-none-win32.whl", hash = "sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764"},
1715
+ {file = "ruff-0.8.6-py3-none-win_amd64.whl", hash = "sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905"},
1716
+ {file = "ruff-0.8.6-py3-none-win_arm64.whl", hash = "sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162"},
1717
+ {file = "ruff-0.8.6.tar.gz", hash = "sha256:dcad24b81b62650b0eb8814f576fc65cfee8674772a6e24c9b747911801eeaa5"},
1718
+ ]
1719
+
1720
+ [[package]]
1721
+ name = "safehttpx"
1722
+ version = "0.1.6"
1723
+ requires_python = ">3.9"
1724
+ summary = "A small Python library created to help developers protect their applications from Server Side Request Forgery (SSRF) attacks."
1725
+ groups = ["default"]
1726
+ dependencies = [
1727
+ "httpx",
1728
+ ]
1729
+ files = [
1730
+ {file = "safehttpx-0.1.6-py3-none-any.whl", hash = "sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c"},
1731
+ {file = "safehttpx-0.1.6.tar.gz", hash = "sha256:b356bfc82cee3a24c395b94a2dbeabbed60aff1aa5fa3b5fe97c4f2456ebce42"},
1732
+ ]
1733
+
1734
+ [[package]]
1735
+ name = "semantic-version"
1736
+ version = "2.10.0"
1737
+ requires_python = ">=2.7"
1738
+ summary = "A library implementing the 'SemVer' scheme."
1739
+ groups = ["default"]
1740
+ files = [
1741
+ {file = "semantic_version-2.10.0-py2.py3-none-any.whl", hash = "sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177"},
1742
+ {file = "semantic_version-2.10.0.tar.gz", hash = "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c"},
1743
+ ]
1744
+
1745
+ [[package]]
1746
+ name = "send2trash"
1747
+ version = "1.8.3"
1748
+ requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7"
1749
+ summary = "Send file to trash natively under Mac OS X, Windows and Linux"
1750
+ groups = ["default"]
1751
+ files = [
1752
+ {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"},
1753
+ {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"},
1754
+ ]
1755
+
1756
+ [[package]]
1757
+ name = "setuptools"
1758
+ version = "75.7.0"
1759
+ requires_python = ">=3.9"
1760
+ summary = "Easily download, build, install, upgrade, and uninstall Python packages"
1761
+ groups = ["default"]
1762
+ files = [
1763
+ {file = "setuptools-75.7.0-py3-none-any.whl", hash = "sha256:84fb203f278ebcf5cd08f97d3fb96d3fbed4b629d500b29ad60d11e00769b183"},
1764
+ {file = "setuptools-75.7.0.tar.gz", hash = "sha256:886ff7b16cd342f1d1defc16fc98c9ce3fde69e087a4e1983d7ab634e5f41f4f"},
1765
+ ]
1766
+
1767
+ [[package]]
1768
+ name = "shellingham"
1769
+ version = "1.5.4"
1770
+ requires_python = ">=3.7"
1771
+ summary = "Tool to Detect Surrounding Shell"
1772
+ groups = ["default"]
1773
+ marker = "sys_platform != \"emscripten\""
1774
+ files = [
1775
+ {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"},
1776
+ {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"},
1777
+ ]
1778
+
1779
+ [[package]]
1780
+ name = "six"
1781
+ version = "1.17.0"
1782
+ requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
1783
+ summary = "Python 2 and 3 compatibility utilities"
1784
+ groups = ["default"]
1785
+ files = [
1786
+ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"},
1787
+ {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"},
1788
+ ]
1789
+
1790
+ [[package]]
1791
+ name = "sniffio"
1792
+ version = "1.3.1"
1793
+ requires_python = ">=3.7"
1794
+ summary = "Sniff out which async library your code is running under"
1795
+ groups = ["default"]
1796
+ files = [
1797
+ {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"},
1798
+ {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"},
1799
+ ]
1800
+
1801
+ [[package]]
1802
+ name = "soupsieve"
1803
+ version = "2.6"
1804
+ requires_python = ">=3.8"
1805
+ summary = "A modern CSS selector implementation for Beautiful Soup."
1806
+ groups = ["default"]
1807
+ files = [
1808
+ {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"},
1809
+ {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"},
1810
+ ]
1811
+
1812
+ [[package]]
1813
+ name = "stack-data"
1814
+ version = "0.6.3"
1815
+ summary = "Extract data from python stack frames and tracebacks for informative displays"
1816
+ groups = ["default"]
1817
+ dependencies = [
1818
+ "asttokens>=2.1.0",
1819
+ "executing>=1.2.0",
1820
+ "pure-eval",
1821
+ ]
1822
+ files = [
1823
+ {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"},
1824
+ {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"},
1825
+ ]
1826
+
1827
+ [[package]]
1828
+ name = "starlette"
1829
+ version = "0.41.3"
1830
+ requires_python = ">=3.8"
1831
+ summary = "The little ASGI library that shines."
1832
+ groups = ["default"]
1833
+ dependencies = [
1834
+ "anyio<5,>=3.4.0",
1835
+ "typing-extensions>=3.10.0; python_version < \"3.10\"",
1836
+ ]
1837
+ files = [
1838
+ {file = "starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7"},
1839
+ {file = "starlette-0.41.3.tar.gz", hash = "sha256:0e4ab3d16522a255be6b28260b938eae2482f98ce5cc934cb08dce8dc3ba5835"},
1840
+ ]
1841
+
1842
+ [[package]]
1843
+ name = "terminado"
1844
+ version = "0.18.1"
1845
+ requires_python = ">=3.8"
1846
+ summary = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library."
1847
+ groups = ["default"]
1848
+ dependencies = [
1849
+ "ptyprocess; os_name != \"nt\"",
1850
+ "pywinpty>=1.1.0; os_name == \"nt\"",
1851
+ "tornado>=6.1.0",
1852
+ ]
1853
+ files = [
1854
+ {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"},
1855
+ {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"},
1856
+ ]
1857
+
1858
+ [[package]]
1859
+ name = "tinycss2"
1860
+ version = "1.4.0"
1861
+ requires_python = ">=3.8"
1862
+ summary = "A tiny CSS parser"
1863
+ groups = ["default"]
1864
+ dependencies = [
1865
+ "webencodings>=0.4",
1866
+ ]
1867
+ files = [
1868
+ {file = "tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289"},
1869
+ {file = "tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7"},
1870
+ ]
1871
+
1872
+ [[package]]
1873
+ name = "tomlkit"
1874
+ version = "0.13.2"
1875
+ requires_python = ">=3.8"
1876
+ summary = "Style preserving TOML library"
1877
+ groups = ["default"]
1878
+ files = [
1879
+ {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"},
1880
+ {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"},
1881
+ ]
1882
+
1883
+ [[package]]
1884
+ name = "tornado"
1885
+ version = "6.4.2"
1886
+ requires_python = ">=3.8"
1887
+ summary = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
1888
+ groups = ["default"]
1889
+ files = [
1890
+ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1"},
1891
+ {file = "tornado-6.4.2-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803"},
1892
+ {file = "tornado-6.4.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec"},
1893
+ {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946"},
1894
+ {file = "tornado-6.4.2-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf"},
1895
+ {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634"},
1896
+ {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73"},
1897
+ {file = "tornado-6.4.2-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c"},
1898
+ {file = "tornado-6.4.2-cp38-abi3-win32.whl", hash = "sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482"},
1899
+ {file = "tornado-6.4.2-cp38-abi3-win_amd64.whl", hash = "sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38"},
1900
+ {file = "tornado-6.4.2.tar.gz", hash = "sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b"},
1901
+ ]
1902
+
1903
+ [[package]]
1904
+ name = "tqdm"
1905
+ version = "4.67.1"
1906
+ requires_python = ">=3.7"
1907
+ summary = "Fast, Extensible Progress Meter"
1908
+ groups = ["default"]
1909
+ dependencies = [
1910
+ "colorama; platform_system == \"Windows\"",
1911
+ ]
1912
+ files = [
1913
+ {file = "tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2"},
1914
+ {file = "tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2"},
1915
+ ]
1916
+
1917
+ [[package]]
1918
+ name = "traitlets"
1919
+ version = "5.14.3"
1920
+ requires_python = ">=3.8"
1921
+ summary = "Traitlets Python configuration system"
1922
+ groups = ["default"]
1923
+ files = [
1924
+ {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"},
1925
+ {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"},
1926
+ ]
1927
+
1928
+ [[package]]
1929
+ name = "typer"
1930
+ version = "0.15.1"
1931
+ requires_python = ">=3.7"
1932
+ summary = "Typer, build great CLIs. Easy to code. Based on Python type hints."
1933
+ groups = ["default"]
1934
+ marker = "sys_platform != \"emscripten\""
1935
+ dependencies = [
1936
+ "click>=8.0.0",
1937
+ "rich>=10.11.0",
1938
+ "shellingham>=1.3.0",
1939
+ "typing-extensions>=3.7.4.3",
1940
+ ]
1941
+ files = [
1942
+ {file = "typer-0.15.1-py3-none-any.whl", hash = "sha256:7994fb7b8155b64d3402518560648446072864beefd44aa2dc36972a5972e847"},
1943
+ {file = "typer-0.15.1.tar.gz", hash = "sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a"},
1944
+ ]
1945
+
1946
+ [[package]]
1947
+ name = "types-python-dateutil"
1948
+ version = "2.9.0.20241206"
1949
+ requires_python = ">=3.8"
1950
+ summary = "Typing stubs for python-dateutil"
1951
+ groups = ["default"]
1952
+ files = [
1953
+ {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"},
1954
+ {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"},
1955
+ ]
1956
+
1957
+ [[package]]
1958
+ name = "typing-extensions"
1959
+ version = "4.12.2"
1960
+ requires_python = ">=3.8"
1961
+ summary = "Backported and Experimental Type Hints for Python 3.8+"
1962
+ groups = ["default"]
1963
+ files = [
1964
+ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"},
1965
+ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
1966
+ ]
1967
+
1968
+ [[package]]
1969
+ name = "tzdata"
1970
+ version = "2024.2"
1971
+ requires_python = ">=2"
1972
+ summary = "Provider of IANA time zone data"
1973
+ groups = ["default"]
1974
+ files = [
1975
+ {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"},
1976
+ {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"},
1977
+ ]
1978
+
1979
+ [[package]]
1980
+ name = "uri-template"
1981
+ version = "1.3.0"
1982
+ requires_python = ">=3.7"
1983
+ summary = "RFC 6570 URI Template Processor"
1984
+ groups = ["default"]
1985
+ files = [
1986
+ {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"},
1987
+ {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"},
1988
+ ]
1989
+
1990
+ [[package]]
1991
+ name = "urllib3"
1992
+ version = "2.3.0"
1993
+ requires_python = ">=3.9"
1994
+ summary = "HTTP library with thread-safe connection pooling, file post, and more."
1995
+ groups = ["default"]
1996
+ files = [
1997
+ {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"},
1998
+ {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"},
1999
+ ]
2000
+
2001
+ [[package]]
2002
+ name = "uvicorn"
2003
+ version = "0.34.0"
2004
+ requires_python = ">=3.9"
2005
+ summary = "The lightning-fast ASGI server."
2006
+ groups = ["default"]
2007
+ marker = "sys_platform != \"emscripten\""
2008
+ dependencies = [
2009
+ "click>=7.0",
2010
+ "h11>=0.8",
2011
+ "typing-extensions>=4.0; python_version < \"3.11\"",
2012
+ ]
2013
+ files = [
2014
+ {file = "uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4"},
2015
+ {file = "uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9"},
2016
+ ]
2017
+
2018
+ [[package]]
2019
+ name = "wcwidth"
2020
+ version = "0.2.13"
2021
+ summary = "Measures the displayed width of unicode strings in a terminal"
2022
+ groups = ["default"]
2023
+ dependencies = [
2024
+ "backports-functools-lru-cache>=1.2.1; python_version < \"3.2\"",
2025
+ ]
2026
+ files = [
2027
+ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"},
2028
+ {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"},
2029
+ ]
2030
+
2031
+ [[package]]
2032
+ name = "webcolors"
2033
+ version = "24.11.1"
2034
+ requires_python = ">=3.9"
2035
+ summary = "A library for working with the color formats defined by HTML and CSS."
2036
+ groups = ["default"]
2037
+ files = [
2038
+ {file = "webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9"},
2039
+ {file = "webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6"},
2040
+ ]
2041
+
2042
+ [[package]]
2043
+ name = "webencodings"
2044
+ version = "0.5.1"
2045
+ summary = "Character encoding aliases for legacy web content"
2046
+ groups = ["default"]
2047
+ files = [
2048
+ {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"},
2049
+ {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
2050
+ ]
2051
+
2052
+ [[package]]
2053
+ name = "websocket-client"
2054
+ version = "1.8.0"
2055
+ requires_python = ">=3.8"
2056
+ summary = "WebSocket client for Python with low level API options"
2057
+ groups = ["default"]
2058
+ files = [
2059
+ {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"},
2060
+ {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"},
2061
+ ]
2062
+
2063
+ [[package]]
2064
+ name = "websockets"
2065
+ version = "14.1"
2066
+ requires_python = ">=3.9"
2067
+ summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
2068
+ groups = ["default"]
2069
+ files = [
2070
+ {file = "websockets-14.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed907449fe5e021933e46a3e65d651f641975a768d0649fee59f10c2985529ed"},
2071
+ {file = "websockets-14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:87e31011b5c14a33b29f17eb48932e63e1dcd3fa31d72209848652310d3d1f0d"},
2072
+ {file = "websockets-14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bc6ccf7d54c02ae47a48ddf9414c54d48af9c01076a2e1023e3b486b6e72c707"},
2073
+ {file = "websockets-14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9777564c0a72a1d457f0848977a1cbe15cfa75fa2f67ce267441e465717dcf1a"},
2074
+ {file = "websockets-14.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a655bde548ca98f55b43711b0ceefd2a88a71af6350b0c168aa77562104f3f45"},
2075
+ {file = "websockets-14.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3dfff83ca578cada2d19e665e9c8368e1598d4e787422a460ec70e531dbdd58"},
2076
+ {file = "websockets-14.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6a6c9bcf7cdc0fd41cc7b7944447982e8acfd9f0d560ea6d6845428ed0562058"},
2077
+ {file = "websockets-14.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4b6caec8576e760f2c7dd878ba817653144d5f369200b6ddf9771d64385b84d4"},
2078
+ {file = "websockets-14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb6d38971c800ff02e4a6afd791bbe3b923a9a57ca9aeab7314c21c84bf9ff05"},
2079
+ {file = "websockets-14.1-cp312-cp312-win32.whl", hash = "sha256:1d045cbe1358d76b24d5e20e7b1878efe578d9897a25c24e6006eef788c0fdf0"},
2080
+ {file = "websockets-14.1-cp312-cp312-win_amd64.whl", hash = "sha256:90f4c7a069c733d95c308380aae314f2cb45bd8a904fb03eb36d1a4983a4993f"},
2081
+ {file = "websockets-14.1-py3-none-any.whl", hash = "sha256:4d4fc827a20abe6d544a119896f6b78ee13fe81cbfef416f3f2ddf09a03f0e2e"},
2082
+ {file = "websockets-14.1.tar.gz", hash = "sha256:398b10c77d471c0aab20a845e7a60076b6390bfdaac7a6d2edb0d2c59d75e8d8"},
2083
+ ]
pyproject.toml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [project]
2
+ name = "transcript-summarizer"
3
+ version = "0.1.0"
4
+ description = "Default template for PDM package"
5
+ authors = [
6
+ {name = "David Armendariz", email = "david.adrian.a.p@gmail.com"},
7
+ ]
8
+ dependencies = ["gradio>=5.10.0", "notebook>=7.3.2", "openai>=1.59.4", "pypdf>=5.1.0", "python-dotenv>=1.0.1"]
9
+ requires-python = "==3.12.*"
10
+ readme = "README.md"
11
+ license = {text = "MIT"}
12
+
13
+
14
+ [tool.pdm]
15
+ distribution = false
requirements.txt ADDED
@@ -0,0 +1,582 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # This file is @generated by PDM.
2
+ # Please do not edit it manually.
3
+
4
+ aiofiles==23.2.1 \
5
+ --hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 \
6
+ --hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a
7
+ annotated-types==0.7.0 \
8
+ --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \
9
+ --hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89
10
+ anyio==4.8.0 \
11
+ --hash=sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a \
12
+ --hash=sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a
13
+ appnope==0.1.4; platform_system == "Darwin" \
14
+ --hash=sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee \
15
+ --hash=sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c
16
+ argon2-cffi==23.1.0 \
17
+ --hash=sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08 \
18
+ --hash=sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea
19
+ argon2-cffi-bindings==21.2.0 \
20
+ --hash=sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c \
21
+ --hash=sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082 \
22
+ --hash=sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f \
23
+ --hash=sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d \
24
+ --hash=sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f \
25
+ --hash=sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae \
26
+ --hash=sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3 \
27
+ --hash=sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86 \
28
+ --hash=sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367 \
29
+ --hash=sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93 \
30
+ --hash=sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e
31
+ arrow==1.3.0 \
32
+ --hash=sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80 \
33
+ --hash=sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85
34
+ asttokens==3.0.0 \
35
+ --hash=sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7 \
36
+ --hash=sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2
37
+ async-lru==2.0.4 \
38
+ --hash=sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627 \
39
+ --hash=sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224
40
+ attrs==24.3.0 \
41
+ --hash=sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff \
42
+ --hash=sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308
43
+ babel==2.16.0 \
44
+ --hash=sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b \
45
+ --hash=sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316
46
+ beautifulsoup4==4.12.3 \
47
+ --hash=sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051 \
48
+ --hash=sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed
49
+ bleach[css]==6.2.0 \
50
+ --hash=sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e \
51
+ --hash=sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f
52
+ certifi==2024.12.14 \
53
+ --hash=sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56 \
54
+ --hash=sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db
55
+ cffi==1.17.1 \
56
+ --hash=sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36 \
57
+ --hash=sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824 \
58
+ --hash=sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3 \
59
+ --hash=sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8 \
60
+ --hash=sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 \
61
+ --hash=sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c \
62
+ --hash=sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4 \
63
+ --hash=sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65 \
64
+ --hash=sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93 \
65
+ --hash=sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff \
66
+ --hash=sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5 \
67
+ --hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99
68
+ charset-normalizer==3.4.1 \
69
+ --hash=sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d \
70
+ --hash=sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa \
71
+ --hash=sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3 \
72
+ --hash=sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9 \
73
+ --hash=sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f \
74
+ --hash=sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545 \
75
+ --hash=sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b \
76
+ --hash=sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35 \
77
+ --hash=sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d \
78
+ --hash=sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757 \
79
+ --hash=sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a \
80
+ --hash=sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85 \
81
+ --hash=sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7 \
82
+ --hash=sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1 \
83
+ --hash=sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616
84
+ click==8.1.8; sys_platform != "emscripten" \
85
+ --hash=sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2 \
86
+ --hash=sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a
87
+ colorama==0.4.6; platform_system == "Windows" or sys_platform == "win32" \
88
+ --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
89
+ --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
90
+ comm==0.2.2 \
91
+ --hash=sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e \
92
+ --hash=sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3
93
+ debugpy==1.8.11 \
94
+ --hash=sha256:0e22f846f4211383e6a416d04b4c13ed174d24cc5d43f5fd52e7821d0ebc8920 \
95
+ --hash=sha256:28e45b3f827d3bf2592f3cf7ae63282e859f3259db44ed2b129093ca0ac7940b \
96
+ --hash=sha256:44b1b8e6253bceada11f714acf4309ffb98bfa9ac55e4fce14f9e5d4484287a1 \
97
+ --hash=sha256:6ad2688b69235c43b020e04fecccdf6a96c8943ca9c2fb340b8adc103c655e57 \
98
+ --hash=sha256:84e511a7545d11683d32cdb8f809ef63fc17ea2a00455cc62d0a4dbb4ed1c308 \
99
+ --hash=sha256:ce291a5aca4985d82875d6779f61375e959208cdf09fcec40001e65fb0a54768
100
+ decorator==5.1.1 \
101
+ --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \
102
+ --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186
103
+ defusedxml==0.7.1 \
104
+ --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \
105
+ --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61
106
+ distro==1.9.0 \
107
+ --hash=sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed \
108
+ --hash=sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2
109
+ executing==2.1.0 \
110
+ --hash=sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf \
111
+ --hash=sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab
112
+ fastapi==0.115.6 \
113
+ --hash=sha256:9ec46f7addc14ea472958a96aae5b5de65f39721a46aaf5705c480d9a8b76654 \
114
+ --hash=sha256:e9240b29e36fa8f4bb7290316988e90c381e5092e0cbe84e7818cc3713bcf305
115
+ fastjsonschema==2.21.1 \
116
+ --hash=sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4 \
117
+ --hash=sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667
118
+ ffmpy==0.5.0 \
119
+ --hash=sha256:277e131f246d18e9dcfee9bb514c50749031c43582ce5ef82c57b51e3d3955c3 \
120
+ --hash=sha256:df3799cf5816daa56d4959a023630ee53c6768b66009dae6d131519ba4b80233
121
+ filelock==3.16.1 \
122
+ --hash=sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0 \
123
+ --hash=sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435
124
+ fqdn==1.5.1 \
125
+ --hash=sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f \
126
+ --hash=sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014
127
+ fsspec==2024.12.0 \
128
+ --hash=sha256:670700c977ed2fb51e0d9f9253177ed20cbde4a3e5c0283cc5385b5870c8533f \
129
+ --hash=sha256:b520aed47ad9804237ff878b504267a3b0b441e97508bd6d2d8774e3db85cee2
130
+ gradio==5.10.0 \
131
+ --hash=sha256:a9369294b6a555a4f34f34d690c891bb73f55c2ed437e8252c6115e835a2e379
132
+ gradio-client==1.5.3 \
133
+ --hash=sha256:50f8ab48f7c4eccdb4c25030343271511391acbde5fbf64fcd03bada56dc8ee9 \
134
+ --hash=sha256:f2b41278d1c7748b1060b6f97cde6660535baabc946031d0485890dba9855727
135
+ h11==0.14.0 \
136
+ --hash=sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d \
137
+ --hash=sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761
138
+ httpcore==1.0.7 \
139
+ --hash=sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c \
140
+ --hash=sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd
141
+ httpx==0.28.1 \
142
+ --hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
143
+ --hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
144
+ huggingface-hub==0.27.1 \
145
+ --hash=sha256:1c5155ca7d60b60c2e2fc38cbb3ffb7f7c3adf48f824015b219af9061771daec \
146
+ --hash=sha256:c004463ca870283909d715d20f066ebd6968c2207dae9393fdffb3c1d4d8f98b
147
+ idna==3.10 \
148
+ --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \
149
+ --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3
150
+ ipykernel==6.29.5 \
151
+ --hash=sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5 \
152
+ --hash=sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215
153
+ ipython==8.31.0 \
154
+ --hash=sha256:46ec58f8d3d076a61d128fe517a51eb730e3aaf0c184ea8c17d16e366660c6a6 \
155
+ --hash=sha256:b6a2274606bec6166405ff05e54932ed6e5cfecaca1fc05f2cacde7bb074d70b
156
+ isoduration==20.11.0 \
157
+ --hash=sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9 \
158
+ --hash=sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042
159
+ jedi==0.19.2 \
160
+ --hash=sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0 \
161
+ --hash=sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9
162
+ jinja2==3.1.5 \
163
+ --hash=sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb \
164
+ --hash=sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb
165
+ jiter==0.8.2 \
166
+ --hash=sha256:025337859077b41548bdcbabe38698bcd93cfe10b06ff66617a48ff92c9aec60 \
167
+ --hash=sha256:14601dcac4889e0a1c75ccf6a0e4baf70dbc75041e51bcf8d0e9274519df6887 \
168
+ --hash=sha256:180a8aea058f7535d1c84183c0362c710f4750bef66630c05f40c93c2b152a0f \
169
+ --hash=sha256:76e324da7b5da060287c54f2fabd3db5f76468006c811831f051942bf68c9d44 \
170
+ --hash=sha256:7efe4853ecd3d6110301665a5178b9856be7e2a9485f49d91aa4d737ad2ae49e \
171
+ --hash=sha256:83c0efd80b29695058d0fd2fa8a556490dbce9804eac3e281f373bbc99045f6c \
172
+ --hash=sha256:92249669925bc1c54fcd2ec73f70f2c1d6a817928480ee1c65af5f6b81cdf12d \
173
+ --hash=sha256:bf55846c7b7a680eebaf9c3c48d630e1bf51bdf76c68a5f654b8524335b0ad29 \
174
+ --hash=sha256:cd73d3e740666d0e639f678adb176fad25c1bcbdae88d8d7b857e1783bb4212d \
175
+ --hash=sha256:e6ec2be506e7d6f9527dae9ff4b7f54e68ea44a0ef6b098256ddf895218a2f8f \
176
+ --hash=sha256:e725edd0929fa79f8349ab4ec7f81c714df51dc4e991539a578e5018fa4a7152 \
177
+ --hash=sha256:ecff0dc14f409599bbcafa7e470c00b80f17abc14d1405d38ab02e4b42e55b57 \
178
+ --hash=sha256:ffd9fee7d0775ebaba131f7ca2e2d83839a62ad65e8e02fe2bd8fc975cedeb9e
179
+ json5==0.10.0 \
180
+ --hash=sha256:19b23410220a7271e8377f81ba8aacba2fdd56947fbb137ee5977cbe1f5e8dfa \
181
+ --hash=sha256:e66941c8f0a02026943c52c2eb34ebeb2a6f819a0be05920a6f5243cd30fd559
182
+ jsonpointer==3.0.0 \
183
+ --hash=sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942 \
184
+ --hash=sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef
185
+ jsonschema-specifications==2024.10.1 \
186
+ --hash=sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272 \
187
+ --hash=sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf
188
+ jsonschema[format-nongpl]==4.23.0 \
189
+ --hash=sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4 \
190
+ --hash=sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566
191
+ jupyter-client==8.6.3 \
192
+ --hash=sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419 \
193
+ --hash=sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f
194
+ jupyter-core==5.7.2 \
195
+ --hash=sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409 \
196
+ --hash=sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9
197
+ jupyter-events==0.11.0 \
198
+ --hash=sha256:36399b41ce1ca45fe8b8271067d6a140ffa54cec4028e95491c93b78a855cacf \
199
+ --hash=sha256:c0bc56a37aac29c1fbc3bcfbddb8c8c49533f9cf11f1c4e6adadba936574ab90
200
+ jupyter-lsp==2.2.5 \
201
+ --hash=sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da \
202
+ --hash=sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001
203
+ jupyter-server==2.15.0 \
204
+ --hash=sha256:872d989becf83517012ee669f09604aa4a28097c0bd90b2f424310156c2cdae3 \
205
+ --hash=sha256:9d446b8697b4f7337a1b7cdcac40778babdd93ba614b6d68ab1c0c918f1c4084
206
+ jupyter-server-terminals==0.5.3 \
207
+ --hash=sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa \
208
+ --hash=sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269
209
+ jupyterlab==4.3.4 \
210
+ --hash=sha256:b754c2601c5be6adf87cb5a1d8495d653ffb945f021939f77776acaa94dae952 \
211
+ --hash=sha256:f0bb9b09a04766e3423cccc2fc23169aa2ffedcdf8713e9e0fb33cac0b6859d0
212
+ jupyterlab-pygments==0.3.0 \
213
+ --hash=sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d \
214
+ --hash=sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780
215
+ jupyterlab-server==2.27.3 \
216
+ --hash=sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4 \
217
+ --hash=sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4
218
+ markdown-it-py==3.0.0; sys_platform != "emscripten" \
219
+ --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
220
+ --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
221
+ markupsafe==2.1.5 \
222
+ --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \
223
+ --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \
224
+ --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \
225
+ --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \
226
+ --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \
227
+ --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \
228
+ --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \
229
+ --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \
230
+ --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \
231
+ --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \
232
+ --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5
233
+ matplotlib-inline==0.1.7 \
234
+ --hash=sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90 \
235
+ --hash=sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca
236
+ mdurl==0.1.2; sys_platform != "emscripten" \
237
+ --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
238
+ --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
239
+ mistune==3.1.0 \
240
+ --hash=sha256:b05198cf6d671b3deba6c87ec6cf0d4eb7b72c524636eddb6dbf13823b52cee1 \
241
+ --hash=sha256:dbcac2f78292b9dc066cd03b7a3a26b62d85f8159f2ea5fd28e55df79908d667
242
+ nbclient==0.10.2 \
243
+ --hash=sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d \
244
+ --hash=sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193
245
+ nbconvert==7.16.5 \
246
+ --hash=sha256:c83467bb5777fdfaac5ebbb8e864f300b277f68692ecc04d6dab72f2d8442344 \
247
+ --hash=sha256:e12eac052d6fd03040af4166c563d76e7aeead2e9aadf5356db552a1784bd547
248
+ nbformat==5.10.4 \
249
+ --hash=sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a \
250
+ --hash=sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b
251
+ nest-asyncio==1.6.0 \
252
+ --hash=sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe \
253
+ --hash=sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c
254
+ notebook==7.3.2 \
255
+ --hash=sha256:705e83a1785f45b383bf3ee13cb76680b92d24f56fb0c7d2136fe1d850cd3ca8 \
256
+ --hash=sha256:e5f85fc59b69d3618d73cf27544418193ff8e8058d5bf61d315ce4f473556288
257
+ notebook-shim==0.2.4 \
258
+ --hash=sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef \
259
+ --hash=sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb
260
+ numpy==2.2.1 \
261
+ --hash=sha256:32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2 \
262
+ --hash=sha256:3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa \
263
+ --hash=sha256:45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918 \
264
+ --hash=sha256:5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d \
265
+ --hash=sha256:55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355 \
266
+ --hash=sha256:67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046 \
267
+ --hash=sha256:694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab \
268
+ --hash=sha256:780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315 \
269
+ --hash=sha256:9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7 \
270
+ --hash=sha256:ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8 \
271
+ --hash=sha256:fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51
272
+ openai==1.59.4 \
273
+ --hash=sha256:82113498699998e98104f87c19a890e82df9b01251a0395484360575d3a1d98a \
274
+ --hash=sha256:b946dc5a2308dc1e03efbda80bf1cd64b6053b536851ad519f57ee44401663d2
275
+ orjson==3.10.13 \
276
+ --hash=sha256:064b9dbb0217fd64a8d016a8929f2fae6f3312d55ab3036b00b1d17399ab2f3e \
277
+ --hash=sha256:33ef84f7e9513fb13b3999c2a64b9ca9c8143f3da9722fbf9c9ce51ce0d8076e \
278
+ --hash=sha256:3a7df63076435f39ec024bdfeb4c9767ebe7b49abc4949068d61cf4857fa6d6c \
279
+ --hash=sha256:54433e421618cd5873e51c0e9d0b9fb35f7bf76eb31c8eab20b3595bb713cd3d \
280
+ --hash=sha256:5f74d878d1efb97a930b8a9f9898890067707d683eb5c7e20730030ecb3fb930 \
281
+ --hash=sha256:7184f608ad563032e398f311910bc536e62b9fbdca2041be889afcbc39500de8 \
282
+ --hash=sha256:9c976bad3996aa027cd3aef78aa57873f3c959b6c38719de9724b71bdc7bd14b \
283
+ --hash=sha256:a3614b00621c77f3f6487792238f9ed1dd8a42f2ec0e6540ee34c2d4e6db813a \
284
+ --hash=sha256:a42b9fe4b0114b51eb5cdf9887d8c94447bc59df6dbb9c5884434eab947888d8 \
285
+ --hash=sha256:c0044b0b8c85a565e7c3ce0a72acc5d35cda60793edf871ed94711e712cb637d \
286
+ --hash=sha256:d36f689e7e1b9b6fb39dbdebc16a6f07cbe994d3644fb1c22953020fc575935f \
287
+ --hash=sha256:dd2bcde107221bb9c2fa0c4aaba735a537225104173d7e19cf73f70b3126c993 \
288
+ --hash=sha256:e1ba0c5857dd743438acecc1cd0e1adf83f0a81fee558e32b2b36f89e40cee8b \
289
+ --hash=sha256:eb9bfb14ab8f68d9d9492d4817ae497788a15fd7da72e14dfabc289c3bb088ec
290
+ overrides==7.7.0 \
291
+ --hash=sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a \
292
+ --hash=sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49
293
+ packaging==24.2 \
294
+ --hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
295
+ --hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
296
+ pandas==2.2.3 \
297
+ --hash=sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a \
298
+ --hash=sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667 \
299
+ --hash=sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13 \
300
+ --hash=sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3 \
301
+ --hash=sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8 \
302
+ --hash=sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4 \
303
+ --hash=sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9 \
304
+ --hash=sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319
305
+ pandocfilters==1.5.1 \
306
+ --hash=sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e \
307
+ --hash=sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc
308
+ parso==0.8.4 \
309
+ --hash=sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18 \
310
+ --hash=sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d
311
+ pexpect==4.9.0; sys_platform != "win32" and sys_platform != "emscripten" \
312
+ --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \
313
+ --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f
314
+ pillow==11.1.0 \
315
+ --hash=sha256:2062ffb1d36544d42fcaa277b069c88b01bb7298f4efa06731a7fd6cc290b81a \
316
+ --hash=sha256:368da70808b36d73b4b390a8ffac11069f8a5c85f29eff1f1b01bcf3ef5b2a20 \
317
+ --hash=sha256:36ba10b9cb413e7c7dfa3e189aba252deee0602c86c309799da5a74009ac7a1c \
318
+ --hash=sha256:3cdcdb0b896e981678eee140d882b70092dac83ac1cdf6b3a60e2216a73f2b91 \
319
+ --hash=sha256:4dd43a78897793f60766563969442020e90eb7847463eca901e41ba186a7d4a5 \
320
+ --hash=sha256:7fdadc077553621911f27ce206ffcbec7d3f8d7b50e0da39f10997e8e2bb7f6a \
321
+ --hash=sha256:93a18841d09bcdd774dcdc308e4537e1f867b3dec059c131fde0327899734aa1 \
322
+ --hash=sha256:9409c080586d1f683df3f184f20e36fb647f2e0bc3988094d4fd8c9f4eb1b3b3 \
323
+ --hash=sha256:9aa9aeddeed452b2f616ff5507459e7bab436916ccb10961c4a382cd3e03f47f \
324
+ --hash=sha256:a697cd8ba0383bba3d2d3ada02b34ed268cb548b369943cd349007730c92bddf \
325
+ --hash=sha256:a85b653980faad27e88b141348707ceeef8a1186f75ecc600c395dcac19f385b \
326
+ --hash=sha256:cfd5cd998c2e36a862d0e27b2df63237e67273f2fc78f47445b14e73a810e7e6
327
+ platformdirs==4.3.6 \
328
+ --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \
329
+ --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb
330
+ prometheus-client==0.21.1 \
331
+ --hash=sha256:252505a722ac04b0456be05c05f75f45d760c2911ffc45f2a06bcaed9f3ae3fb \
332
+ --hash=sha256:594b45c410d6f4f8888940fe80b5cc2521b305a1fafe1c58609ef715a001f301
333
+ prompt-toolkit==3.0.48 \
334
+ --hash=sha256:d6623ab0477a80df74e646bdbc93621143f5caf104206aa29294d53de1a03d90 \
335
+ --hash=sha256:f49a827f90062e411f1ce1f854f2aedb3c23353244f8108b89283587397ac10e
336
+ psutil==6.1.1 \
337
+ --hash=sha256:0bdd4eab935276290ad3cb718e9809412895ca6b5b334f5a9111ee6d9aff9377 \
338
+ --hash=sha256:33431e84fee02bc84ea36d9e2c4a6d395d479c9dd9bba2376c1f6ee8f3a4e0b3 \
339
+ --hash=sha256:97f7cb9921fbec4904f522d972f0c0e1f4fabbdd4e0287813b21215074a0f160 \
340
+ --hash=sha256:b6e06c20c05fe95a3d7302d74e7097756d4ba1247975ad6905441ae1b5b66003 \
341
+ --hash=sha256:cf8496728c18f2d0b45198f06895be52f36611711746b7f30c464b422b50e2f5 \
342
+ --hash=sha256:eaa912e0b11848c4d9279a93d7e2783df352b082f40111e078388701fd479e53 \
343
+ --hash=sha256:f35cfccb065fff93529d2afb4a2e89e363fe63ca1e4a5da22b603a85833c2649 \
344
+ --hash=sha256:fc0ed7fe2231a444fc219b9c42d0376e0a9a1a72f16c5cfa0f68d19f1a0663e8
345
+ ptyprocess==0.7.0; sys_platform != "win32" and sys_platform != "emscripten" or os_name != "nt" \
346
+ --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \
347
+ --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220
348
+ pure-eval==0.2.3 \
349
+ --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 \
350
+ --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42
351
+ pycparser==2.22 \
352
+ --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \
353
+ --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc
354
+ pydantic==2.10.4 \
355
+ --hash=sha256:597e135ea68be3a37552fb524bc7d0d66dcf93d395acd93a00682f1efcb8ee3d \
356
+ --hash=sha256:82f12e9723da6de4fe2ba888b5971157b3be7ad914267dea8f05f82b28254f06
357
+ pydantic-core==2.27.2 \
358
+ --hash=sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6 \
359
+ --hash=sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7 \
360
+ --hash=sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc \
361
+ --hash=sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4 \
362
+ --hash=sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4 \
363
+ --hash=sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b \
364
+ --hash=sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934 \
365
+ --hash=sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2 \
366
+ --hash=sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef \
367
+ --hash=sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c \
368
+ --hash=sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0 \
369
+ --hash=sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57 \
370
+ --hash=sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9 \
371
+ --hash=sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3 \
372
+ --hash=sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39
373
+ pydub==0.25.1 \
374
+ --hash=sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6 \
375
+ --hash=sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f
376
+ pygments==2.19.1 \
377
+ --hash=sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f \
378
+ --hash=sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c
379
+ pypdf==5.1.0 \
380
+ --hash=sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc \
381
+ --hash=sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740
382
+ python-dateutil==2.9.0.post0 \
383
+ --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
384
+ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
385
+ python-dotenv==1.0.1 \
386
+ --hash=sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca \
387
+ --hash=sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a
388
+ python-json-logger==3.2.1 \
389
+ --hash=sha256:8eb0554ea17cb75b05d2848bc14fb02fbdbd9d6972120781b974380bfa162008 \
390
+ --hash=sha256:cdc17047eb5374bd311e748b42f99d71223f3b0e186f4206cc5d52aefe85b090
391
+ python-multipart==0.0.20 \
392
+ --hash=sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104 \
393
+ --hash=sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13
394
+ pytz==2024.2 \
395
+ --hash=sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a \
396
+ --hash=sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725
397
+ pywin32==308; sys_platform == "win32" and platform_python_implementation != "PyPy" \
398
+ --hash=sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47 \
399
+ --hash=sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897 \
400
+ --hash=sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091
401
+ pywinpty==2.0.14; os_name == "nt" \
402
+ --hash=sha256:18bd9529e4a5daf2d9719aa17788ba6013e594ae94c5a0c27e83df3278b0660e \
403
+ --hash=sha256:55dad362ef3e9408ade68fd173e4f9032b3ce08f68cfe7eacb2c263ea1179737
404
+ pyyaml==6.0.2 \
405
+ --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \
406
+ --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \
407
+ --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \
408
+ --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \
409
+ --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \
410
+ --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \
411
+ --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \
412
+ --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \
413
+ --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \
414
+ --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4
415
+ pyzmq==26.2.0 \
416
+ --hash=sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f \
417
+ --hash=sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52 \
418
+ --hash=sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b \
419
+ --hash=sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a \
420
+ --hash=sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5 \
421
+ --hash=sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b \
422
+ --hash=sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08 \
423
+ --hash=sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3 \
424
+ --hash=sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711 \
425
+ --hash=sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7 \
426
+ --hash=sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9 \
427
+ --hash=sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6 \
428
+ --hash=sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae
429
+ referencing==0.35.1 \
430
+ --hash=sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c \
431
+ --hash=sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de
432
+ requests==2.32.3 \
433
+ --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \
434
+ --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
435
+ rfc3339-validator==0.1.4 \
436
+ --hash=sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b \
437
+ --hash=sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa
438
+ rfc3986-validator==0.1.1 \
439
+ --hash=sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9 \
440
+ --hash=sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055
441
+ rich==13.9.4; sys_platform != "emscripten" \
442
+ --hash=sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098 \
443
+ --hash=sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90
444
+ rpds-py==0.22.3 \
445
+ --hash=sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059 \
446
+ --hash=sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61 \
447
+ --hash=sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56 \
448
+ --hash=sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d \
449
+ --hash=sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e \
450
+ --hash=sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38 \
451
+ --hash=sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627 \
452
+ --hash=sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45 \
453
+ --hash=sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7 \
454
+ --hash=sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4 \
455
+ --hash=sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d \
456
+ --hash=sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15 \
457
+ --hash=sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e \
458
+ --hash=sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e
459
+ ruff==0.8.6; sys_platform != "emscripten" \
460
+ --hash=sha256:0509e8da430228236a18a677fcdb0c1f102dd26d5520f71f79b094963322ed25 \
461
+ --hash=sha256:0c000a471d519b3e6cfc9c6680025d923b4ca140ce3e4612d1a2ef58e11f11fe \
462
+ --hash=sha256:248b1fb3f739d01d528cc50b35ee9c4812aa58cc5935998e776bf8ed5b251e75 \
463
+ --hash=sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a \
464
+ --hash=sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76 \
465
+ --hash=sha256:52d587092ab8df308635762386f45f4638badb0866355b2b86760f6d3c076188 \
466
+ --hash=sha256:54799ca3d67ae5e0b7a7ac234baa657a9c1784b48ec954a094da7c206e0365b1 \
467
+ --hash=sha256:61323159cf21bc3897674e5adb27cd9e7700bab6b84de40d7be28c3d46dc67cf \
468
+ --hash=sha256:7ae4478b1471fc0c44ed52a6fb787e641a2ac58b1c1f91763bafbc2faddc5117 \
469
+ --hash=sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162 \
470
+ --hash=sha256:91a7ddb221779871cf226100e677b5ea38c2d54e9e2c8ed847450ebbdf99b32d \
471
+ --hash=sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d \
472
+ --hash=sha256:bc3c083c50390cf69e7e1b5a5a7303898966be973664ec0c4a4acea82c1d4315 \
473
+ --hash=sha256:dcad24b81b62650b0eb8814f576fc65cfee8674772a6e24c9b747911801eeaa5 \
474
+ --hash=sha256:defed167955d42c68b407e8f2e6f56ba52520e790aba4ca707a9c88619e580e3 \
475
+ --hash=sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764 \
476
+ --hash=sha256:e88b8f6d901477c41559ba540beeb5a671e14cd29ebd5683903572f4b40a9807 \
477
+ --hash=sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905
478
+ safehttpx==0.1.6 \
479
+ --hash=sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c \
480
+ --hash=sha256:b356bfc82cee3a24c395b94a2dbeabbed60aff1aa5fa3b5fe97c4f2456ebce42
481
+ semantic-version==2.10.0 \
482
+ --hash=sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c \
483
+ --hash=sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177
484
+ send2trash==1.8.3 \
485
+ --hash=sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9 \
486
+ --hash=sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf
487
+ setuptools==75.7.0 \
488
+ --hash=sha256:84fb203f278ebcf5cd08f97d3fb96d3fbed4b629d500b29ad60d11e00769b183 \
489
+ --hash=sha256:886ff7b16cd342f1d1defc16fc98c9ce3fde69e087a4e1983d7ab634e5f41f4f
490
+ shellingham==1.5.4; sys_platform != "emscripten" \
491
+ --hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \
492
+ --hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de
493
+ six==1.17.0 \
494
+ --hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
495
+ --hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
496
+ sniffio==1.3.1 \
497
+ --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \
498
+ --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc
499
+ soupsieve==2.6 \
500
+ --hash=sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb \
501
+ --hash=sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9
502
+ stack-data==0.6.3 \
503
+ --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \
504
+ --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695
505
+ starlette==0.41.3 \
506
+ --hash=sha256:0e4ab3d16522a255be6b28260b938eae2482f98ce5cc934cb08dce8dc3ba5835 \
507
+ --hash=sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7
508
+ terminado==0.18.1 \
509
+ --hash=sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0 \
510
+ --hash=sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e
511
+ tinycss2==1.4.0 \
512
+ --hash=sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7 \
513
+ --hash=sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289
514
+ tomlkit==0.13.2 \
515
+ --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde \
516
+ --hash=sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79
517
+ tornado==6.4.2 \
518
+ --hash=sha256:072ce12ada169c5b00b7d92a99ba089447ccc993ea2143c9ede887e0937aa803 \
519
+ --hash=sha256:1a017d239bd1bb0919f72af256a970624241f070496635784d9bf0db640d3fec \
520
+ --hash=sha256:2876cef82e6c5978fde1e0d5b1f919d756968d5b4282418f3146b79b58556482 \
521
+ --hash=sha256:304463bd0772442ff4d0f5149c6f1c2135a1fae045adf070821c6cdc76980634 \
522
+ --hash=sha256:908b71bf3ff37d81073356a5fadcc660eb10c1476ee6e2725588626ce7e5ca38 \
523
+ --hash=sha256:92bad5b4746e9879fd7bf1eb21dce4e3fc5128d71601f80005afa39237ad620b \
524
+ --hash=sha256:932d195ca9015956fa502c6b56af9eb06106140d844a335590c1ec7f5277d10c \
525
+ --hash=sha256:bca9eb02196e789c9cb5c3c7c0f04fb447dc2adffd95265b2c7223a8a615ccbf \
526
+ --hash=sha256:c36e62ce8f63409301537222faffcef7dfc5284f27eec227389f2ad11b09d946 \
527
+ --hash=sha256:c82c46813ba483a385ab2a99caeaedf92585a1f90defb5693351fa7e4ea0bf73 \
528
+ --hash=sha256:e828cce1123e9e44ae2a50a9de3055497ab1d0aeb440c5ac23064d9e44880da1
529
+ tqdm==4.67.1 \
530
+ --hash=sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2 \
531
+ --hash=sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2
532
+ traitlets==5.14.3 \
533
+ --hash=sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7 \
534
+ --hash=sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f
535
+ typer==0.15.1; sys_platform != "emscripten" \
536
+ --hash=sha256:7994fb7b8155b64d3402518560648446072864beefd44aa2dc36972a5972e847 \
537
+ --hash=sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a
538
+ types-python-dateutil==2.9.0.20241206 \
539
+ --hash=sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb \
540
+ --hash=sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53
541
+ typing-extensions==4.12.2 \
542
+ --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
543
+ --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
544
+ tzdata==2024.2 \
545
+ --hash=sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc \
546
+ --hash=sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd
547
+ uri-template==1.3.0 \
548
+ --hash=sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7 \
549
+ --hash=sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363
550
+ urllib3==2.3.0 \
551
+ --hash=sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df \
552
+ --hash=sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d
553
+ uvicorn==0.34.0; sys_platform != "emscripten" \
554
+ --hash=sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4 \
555
+ --hash=sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9
556
+ wcwidth==0.2.13 \
557
+ --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \
558
+ --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5
559
+ webcolors==24.11.1 \
560
+ --hash=sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9 \
561
+ --hash=sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6
562
+ webencodings==0.5.1 \
563
+ --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \
564
+ --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923
565
+ websocket-client==1.8.0 \
566
+ --hash=sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526 \
567
+ --hash=sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da
568
+ websockets==14.1 \
569
+ --hash=sha256:1d045cbe1358d76b24d5e20e7b1878efe578d9897a25c24e6006eef788c0fdf0 \
570
+ --hash=sha256:398b10c77d471c0aab20a845e7a60076b6390bfdaac7a6d2edb0d2c59d75e8d8 \
571
+ --hash=sha256:4b6caec8576e760f2c7dd878ba817653144d5f369200b6ddf9771d64385b84d4 \
572
+ --hash=sha256:4d4fc827a20abe6d544a119896f6b78ee13fe81cbfef416f3f2ddf09a03f0e2e \
573
+ --hash=sha256:6a6c9bcf7cdc0fd41cc7b7944447982e8acfd9f0d560ea6d6845428ed0562058 \
574
+ --hash=sha256:87e31011b5c14a33b29f17eb48932e63e1dcd3fa31d72209848652310d3d1f0d \
575
+ --hash=sha256:90f4c7a069c733d95c308380aae314f2cb45bd8a904fb03eb36d1a4983a4993f \
576
+ --hash=sha256:9777564c0a72a1d457f0848977a1cbe15cfa75fa2f67ce267441e465717dcf1a \
577
+ --hash=sha256:a3dfff83ca578cada2d19e665e9c8368e1598d4e787422a460ec70e531dbdd58 \
578
+ --hash=sha256:a655bde548ca98f55b43711b0ceefd2a88a71af6350b0c168aa77562104f3f45 \
579
+ --hash=sha256:bc6ccf7d54c02ae47a48ddf9414c54d48af9c01076a2e1023e3b486b6e72c707 \
580
+ --hash=sha256:eb6d38971c800ff02e4a6afd791bbe3b923a9a57ca9aeab7314c21c84bf9ff05 \
581
+ --hash=sha256:ed907449fe5e021933e46a3e65d651f641975a768d0649fee59f10c2985529ed
582
+
transcript_transformer.py ADDED
@@ -0,0 +1,114 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import openai
2
+ from dotenv import load_dotenv
3
+
4
+ load_dotenv()
5
+
6
+
7
+ class TranscriptTransformer:
8
+ def __init__(self):
9
+ # System prompt template for consistent output
10
+ self.system_prompt = """You are an expert educational content creator.
11
+ Your task is to transform informal transcripts into structured, engaging teaching materials.
12
+ Focus on clarity, logical flow, and educational value."""
13
+
14
+ # Template for the lecture structure
15
+ self.lecture_template = """Transform the following transcript into a structured {duration}-minute lecture.
16
+
17
+ Requirements:
18
+ 1. Create a clear introduction that sets context and learning objectives
19
+ 2. Organize the content into logical sections with clear headings
20
+ 3. Include practical examples and real-world applications
21
+ 4. Add discussion questions or interactive elements
22
+ 5. Conclude with a summary and key takeaways
23
+ 6. Target approximately {word_count} words
24
+
25
+ Format the output in markdown with clear section headers and proper spacing.
26
+ """
27
+
28
+ self.max_model_tokens = 128000
29
+
30
+ def split_text_into_chunks(self, text: str) -> list[str]:
31
+ """Split the text into chunks that fit within the token limit."""
32
+ words = text.split()
33
+ chunks = []
34
+ current_chunk = []
35
+
36
+ for word in words:
37
+ current_chunk.append(word)
38
+ if len(" ".join(current_chunk)) >= self.max_model_tokens:
39
+ chunks.append(" ".join(current_chunk))
40
+ current_chunk = []
41
+
42
+ if current_chunk:
43
+ chunks.append(" ".join(current_chunk))
44
+
45
+ return chunks
46
+
47
+ def generate_transcript_chunk_summary(
48
+ self, chunk: str, max_output_tokens: int, previous_summary=None
49
+ ) -> str:
50
+ """Summarize the current chunk with the context of the previous chunk."""
51
+
52
+ context = (
53
+ f"Summary of previous transcript chunk:\n{previous_summary}\n\n"
54
+ if previous_summary
55
+ else ""
56
+ )
57
+
58
+ prompt = f"""
59
+ {context}
60
+ Summarize the following transcript chunk:
61
+ {chunk}
62
+ """
63
+
64
+ response = openai.chat.completions.create(
65
+ model="gpt-4o-mini",
66
+ messages=[
67
+ {"role": "system", "content": "You are a highly skilled educator AI."},
68
+ {"role": "user", "content": prompt},
69
+ ],
70
+ max_tokens=max_output_tokens,
71
+ temperature=0.7,
72
+ )
73
+ generated_text = response.choices[0].message.content or chunk
74
+ return generated_text
75
+
76
+ def summarize_text(self, transcript: str, max_output_tokens: int) -> str:
77
+ """Process a large transcript by splitting it into chunks and combining results."""
78
+ chunks = self.split_text_into_chunks(transcript)
79
+
80
+ if len(chunks) == 1:
81
+ return chunks[0]
82
+
83
+ summarized_transcript = []
84
+ previous_summary = None
85
+ for chunk in chunks:
86
+ teaching_transcript = self.generate_transcript_chunk_summary(
87
+ chunk, max_output_tokens, previous_summary
88
+ )
89
+ summarized_transcript.append(teaching_transcript)
90
+ previous_summary = teaching_transcript
91
+ return "\n\n".join(summarized_transcript)
92
+
93
+ def generate_lecture(self, raw_text: str, lecture_duration: int = 30) -> str:
94
+ # An average paced lecturer speaks 130 words per minute
95
+ max_output_tokens = lecture_duration * 130
96
+ summarized_transcript = self.summarize_text(
97
+ raw_text, max_output_tokens=max_output_tokens
98
+ )
99
+ full_text = f"{self.lecture_template.format(
100
+ duration=lecture_duration, word_count=max_output_tokens
101
+ )}\n\nTranscript:\n{summarized_transcript}"
102
+ final_response = openai.chat.completions.create(
103
+ model="gpt-4o-mini",
104
+ messages=[
105
+ {"role": "system", "content": self.system_prompt},
106
+ {"role": "user", "content": full_text},
107
+ ],
108
+ max_tokens=max_output_tokens,
109
+ temperature=0.7,
110
+ )
111
+ return (
112
+ final_response.choices[0].message.content
113
+ or "Error: No response from the model."
114
+ )