Initial setup
parent
43cabfbca2
commit
4fddd87271
@ -0,0 +1,163 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates the terms
|
||||||
|
and conditions of version 3 of the GNU General Public License, supplemented
|
||||||
|
by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser General
|
||||||
|
Public License, and the "GNU GPL" refers to version 3 of the GNU General Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License, other than
|
||||||
|
an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided by the
|
||||||
|
Library, but which is not otherwise based on the Library. Defining a subclass
|
||||||
|
of a class defined by the Library is deemed a mode of using an interface provided
|
||||||
|
by the Library.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an Application
|
||||||
|
with the Library. The particular version of the Library with which the Combined
|
||||||
|
Work was made is also called the "Linked Version".
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the Corresponding
|
||||||
|
Source for the Combined Work, excluding any source code for portions of the
|
||||||
|
Combined Work that, considered in isolation, are based on the Application,
|
||||||
|
and not on the Linked Version.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the object
|
||||||
|
code and/or source code for the Application, including any data and utility
|
||||||
|
programs needed for reproducing the Combined Work from the Application, but
|
||||||
|
excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License without
|
||||||
|
being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a facility
|
||||||
|
refers to a function or data to be supplied by an Application that uses the
|
||||||
|
facility (other than as an argument passed when the facility is invoked),
|
||||||
|
then you may convey a copy of the modified version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to ensure
|
||||||
|
that, in the event an Application does not supply the function or data, the
|
||||||
|
facility still operates, and performs whatever part of its purpose remains
|
||||||
|
meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of this License
|
||||||
|
applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from a header
|
||||||
|
file that is part of the Library. You may convey such object code under terms
|
||||||
|
of your choice, provided that, if the incorporated material is not limited
|
||||||
|
to numerical parameters, data structure layouts and accessors, or small macros,
|
||||||
|
inline functions and templates (ten or fewer lines in length), you do both
|
||||||
|
of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the Library
|
||||||
|
is used in it and that the Library and its use are covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that, taken together,
|
||||||
|
effectively do not restrict modification of the portions of the Library contained
|
||||||
|
in the Combined Work and reverse engineering for debugging such modifications,
|
||||||
|
if you also do each of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that the Library
|
||||||
|
is used in it and that the Library and its use are covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during execution, include
|
||||||
|
the copyright notice for the Library among these notices, as well as a reference
|
||||||
|
directing the user to the copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this License,
|
||||||
|
and the Corresponding Application Code in a form suitable for, and under terms
|
||||||
|
that permit, the user to recombine or relink the Application with a modified
|
||||||
|
version of the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the Library. A
|
||||||
|
suitable mechanism is one that (a) uses at run time a copy of the Library
|
||||||
|
already present on the user's computer system, and (b) will operate properly
|
||||||
|
with a modified version of the Library that is interface-compatible with the
|
||||||
|
Linked Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise be required
|
||||||
|
to provide such information under section 6 of the GNU GPL, and only to the
|
||||||
|
extent that such information is necessary to install and execute a modified
|
||||||
|
version of the Combined Work produced by recombining or relinking the Application
|
||||||
|
with a modified version of the Linked Version. (If you use option 4d0, the
|
||||||
|
Installation Information must accompany the Minimal Corresponding Source and
|
||||||
|
Corresponding Application Code. If you use option 4d1, you must provide the
|
||||||
|
Installation Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the Library side
|
||||||
|
by side in a single library together with other library facilities that are
|
||||||
|
not Applications and are not covered by this License, and convey such a combined
|
||||||
|
library under terms of your choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based on the
|
||||||
|
Library, uncombined with any other library facilities, conveyed under the
|
||||||
|
terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it is a work
|
||||||
|
based on the Library, and explaining where to find the accompanying uncombined
|
||||||
|
form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of the
|
||||||
|
GNU Lesser General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to address
|
||||||
|
new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Library as you
|
||||||
|
received it specifies that a certain numbered version of the GNU Lesser General
|
||||||
|
Public License "or any later version" applies to it, you have the option of
|
||||||
|
following the terms and conditions either of that published version or of
|
||||||
|
any later version published by the Free Software Foundation. If the Library
|
||||||
|
as you received it does not specify a version number of the GNU Lesser General
|
||||||
|
Public License, you may choose any version of the GNU Lesser General Public
|
||||||
|
License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide whether
|
||||||
|
future versions of the GNU Lesser General Public License shall apply, that
|
||||||
|
proxy's public statement of acceptance of any version is permanent authorization
|
||||||
|
for you to choose that version for the Library.
|
@ -1,3 +1,3 @@
|
|||||||
# LocalWhisper
|
# LocalWhisper
|
||||||
|
|
||||||
OpenAPI's Open whisper available via ReST API.
|
Making OpenAPI's Open Whisper available via ReST API locally.
|
@ -0,0 +1,9 @@
|
|||||||
|
black
|
||||||
|
build
|
||||||
|
invoke
|
||||||
|
isort
|
||||||
|
pip-tools
|
||||||
|
pre-commit
|
||||||
|
pytest
|
||||||
|
shellcheck-py==0.9.0.2
|
||||||
|
ruff
|
@ -0,0 +1,69 @@
|
|||||||
|
#
|
||||||
|
# This file is autogenerated by pip-compile with Python 3.11
|
||||||
|
# by the following command:
|
||||||
|
#
|
||||||
|
# pip-compile dev_requirements.in
|
||||||
|
#
|
||||||
|
black==23.3.0
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
build==0.10.0
|
||||||
|
# via
|
||||||
|
# -r dev_requirements.in
|
||||||
|
# pip-tools
|
||||||
|
cfgv==3.3.1
|
||||||
|
# via pre-commit
|
||||||
|
click==8.1.3
|
||||||
|
# via
|
||||||
|
# black
|
||||||
|
# pip-tools
|
||||||
|
distlib==0.3.6
|
||||||
|
# via virtualenv
|
||||||
|
filelock==3.12.0
|
||||||
|
# via virtualenv
|
||||||
|
identify==2.5.23
|
||||||
|
# via pre-commit
|
||||||
|
iniconfig==2.0.0
|
||||||
|
# via pytest
|
||||||
|
invoke==2.1.0
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
isort==5.12.0
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
mypy-extensions==1.0.0
|
||||||
|
# via black
|
||||||
|
nodeenv==1.7.0
|
||||||
|
# via pre-commit
|
||||||
|
packaging==23.1
|
||||||
|
# via
|
||||||
|
# black
|
||||||
|
# build
|
||||||
|
# pytest
|
||||||
|
pathspec==0.11.1
|
||||||
|
# via black
|
||||||
|
pip-tools==6.13.0
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
platformdirs==3.5.0
|
||||||
|
# via
|
||||||
|
# black
|
||||||
|
# virtualenv
|
||||||
|
pluggy==1.0.0
|
||||||
|
# via pytest
|
||||||
|
pre-commit==3.2.2
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
pyproject-hooks==1.0.0
|
||||||
|
# via build
|
||||||
|
pytest==7.3.1
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
pyyaml==6.0
|
||||||
|
# via pre-commit
|
||||||
|
ruff==0.0.263
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
shellcheck-py==0.9.0.2
|
||||||
|
# via -r dev_requirements.in
|
||||||
|
virtualenv==20.23.0
|
||||||
|
# via pre-commit
|
||||||
|
wheel==0.40.0
|
||||||
|
# via pip-tools
|
||||||
|
|
||||||
|
# The following packages are considered to be unsafe in a requirements file:
|
||||||
|
# pip
|
||||||
|
# setuptools
|
@ -0,0 +1 @@
|
|||||||
|
__version__ = "0.1.0"
|
@ -0,0 +1,6 @@
|
|||||||
|
def main():
|
||||||
|
print("Hey this is the cli application")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -0,0 +1,5 @@
|
|||||||
|
from invoke import Collection
|
||||||
|
|
||||||
|
from pyinvoke import dev
|
||||||
|
|
||||||
|
namespace = Collection(dev)
|
@ -0,0 +1,33 @@
|
|||||||
|
# Invoke tab-completion script to be sourced with Bash shell.
|
||||||
|
# Known to work on Bash 3.x, untested on 4.x.
|
||||||
|
|
||||||
|
_complete_invoke() {
|
||||||
|
local candidates
|
||||||
|
|
||||||
|
# COMP_WORDS contains the entire command string up til now (including
|
||||||
|
# program name).
|
||||||
|
# We hand it to Invoke so it can figure out the current context: spit back
|
||||||
|
# core options, task names, the current task's options, or some combo.
|
||||||
|
candidates=`invoke --complete -- ${COMP_WORDS[*]}`
|
||||||
|
|
||||||
|
# `compgen -W` takes list of valid options & a partial word & spits back
|
||||||
|
# possible matches. Necessary for any partial word completions (vs
|
||||||
|
# completions performed when no partial words are present).
|
||||||
|
#
|
||||||
|
# $2 is the current word or token being tabbed on, either empty string or a
|
||||||
|
# partial word, and thus wants to be compgen'd to arrive at some subset of
|
||||||
|
# our candidate list which actually matches.
|
||||||
|
#
|
||||||
|
# COMPREPLY is the list of valid completions handed back to `complete`.
|
||||||
|
COMPREPLY=( $(compgen -W "${candidates}" -- $2) )
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Tell shell builtin to use the above for completing our invocations.
|
||||||
|
# * -F: use given function name to generate completions.
|
||||||
|
# * -o default: when function generates no results, use filenames.
|
||||||
|
# * positional args: program names to complete for.
|
||||||
|
complete -F _complete_invoke -o default invoke inv
|
||||||
|
|
||||||
|
# vim: set ft=sh :
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
from invoke import task
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def update_deps(c):
|
||||||
|
"""https://hynek.me/til/pip-tools-and-pyproject-toml/"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def sync_env(c):
|
||||||
|
"""Synchronize dependencies."""
|
||||||
|
c.run("pip-sync dev_requirements.txt requirements.txt")
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def install_pre_commit(c):
|
||||||
|
"""Installs pre-commit hooks into your environment."""
|
||||||
|
c.run("pre-commit install --install-hooks")
|
||||||
|
|
||||||
|
|
||||||
|
@task
|
||||||
|
def build(c):
|
||||||
|
"""Builds wheel and source distributions of project."""
|
||||||
|
pass
|
@ -0,0 +1,31 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools>=61.0"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "local_whisper"
|
||||||
|
authors = [
|
||||||
|
{ name="Drew Bednar", email="drew@runcible.io" },
|
||||||
|
]
|
||||||
|
description = "A virtual assistant for automating a variety of tasks."
|
||||||
|
readme = "README.md"
|
||||||
|
requires-python = ">=3.8"
|
||||||
|
classifiers = [
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Operating System :: OS Independent",
|
||||||
|
]
|
||||||
|
dynamic = ["version", "dependencies"]
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
savant-cli = "local_whisper.cli:main"
|
||||||
|
|
||||||
|
[project.optional-dependencies]
|
||||||
|
whisper = ["openai-whisper"]
|
||||||
|
|
||||||
|
[tool.setuptools]
|
||||||
|
packages = ["local_whisper"]
|
||||||
|
|
||||||
|
[tool.setuptools.dynamic]
|
||||||
|
version = {attr = "local_whisper.__version__"}
|
||||||
|
dependencies = {file = ["requirements.txt"]}
|
@ -0,0 +1,2 @@
|
|||||||
|
fastapi
|
||||||
|
openai-whisper
|
@ -0,0 +1,116 @@
|
|||||||
|
#
|
||||||
|
# This file is autogenerated by pip-compile with Python 3.10
|
||||||
|
# by the following command:
|
||||||
|
#
|
||||||
|
# pip-compile requirements.in
|
||||||
|
#
|
||||||
|
anyio==3.6.2
|
||||||
|
# via starlette
|
||||||
|
certifi==2023.5.7
|
||||||
|
# via requests
|
||||||
|
charset-normalizer==3.1.0
|
||||||
|
# via requests
|
||||||
|
cmake==3.26.3
|
||||||
|
# via triton
|
||||||
|
fastapi==0.95.2
|
||||||
|
# via -r requirements.in
|
||||||
|
ffmpeg-python==0.2.0
|
||||||
|
# via openai-whisper
|
||||||
|
filelock==3.12.0
|
||||||
|
# via
|
||||||
|
# torch
|
||||||
|
# triton
|
||||||
|
future==0.18.3
|
||||||
|
# via ffmpeg-python
|
||||||
|
idna==3.4
|
||||||
|
# via
|
||||||
|
# anyio
|
||||||
|
# requests
|
||||||
|
jinja2==3.1.2
|
||||||
|
# via torch
|
||||||
|
lit==16.0.5
|
||||||
|
# via triton
|
||||||
|
llvmlite==0.40.0
|
||||||
|
# via numba
|
||||||
|
markupsafe==2.1.2
|
||||||
|
# via jinja2
|
||||||
|
more-itertools==9.1.0
|
||||||
|
# via openai-whisper
|
||||||
|
mpmath==1.3.0
|
||||||
|
# via sympy
|
||||||
|
networkx==3.1
|
||||||
|
# via torch
|
||||||
|
numba==0.57.0
|
||||||
|
# via openai-whisper
|
||||||
|
numpy==1.24.3
|
||||||
|
# via
|
||||||
|
# numba
|
||||||
|
# openai-whisper
|
||||||
|
nvidia-cublas-cu11==11.10.3.66
|
||||||
|
# via
|
||||||
|
# nvidia-cudnn-cu11
|
||||||
|
# nvidia-cusolver-cu11
|
||||||
|
# torch
|
||||||
|
nvidia-cuda-cupti-cu11==11.7.101
|
||||||
|
# via torch
|
||||||
|
nvidia-cuda-nvrtc-cu11==11.7.99
|
||||||
|
# via torch
|
||||||
|
nvidia-cuda-runtime-cu11==11.7.99
|
||||||
|
# via torch
|
||||||
|
nvidia-cudnn-cu11==8.5.0.96
|
||||||
|
# via torch
|
||||||
|
nvidia-cufft-cu11==10.9.0.58
|
||||||
|
# via torch
|
||||||
|
nvidia-curand-cu11==10.2.10.91
|
||||||
|
# via torch
|
||||||
|
nvidia-cusolver-cu11==11.4.0.1
|
||||||
|
# via torch
|
||||||
|
nvidia-cusparse-cu11==11.7.4.91
|
||||||
|
# via torch
|
||||||
|
nvidia-nccl-cu11==2.14.3
|
||||||
|
# via torch
|
||||||
|
nvidia-nvtx-cu11==11.7.91
|
||||||
|
# via torch
|
||||||
|
openai-whisper==20230314
|
||||||
|
# via -r requirements.in
|
||||||
|
pydantic==1.10.7
|
||||||
|
# via fastapi
|
||||||
|
regex==2023.5.5
|
||||||
|
# via tiktoken
|
||||||
|
requests==2.31.0
|
||||||
|
# via tiktoken
|
||||||
|
sniffio==1.3.0
|
||||||
|
# via anyio
|
||||||
|
starlette==0.27.0
|
||||||
|
# via fastapi
|
||||||
|
sympy==1.12
|
||||||
|
# via torch
|
||||||
|
tiktoken==0.3.1
|
||||||
|
# via openai-whisper
|
||||||
|
torch==2.0.1
|
||||||
|
# via
|
||||||
|
# openai-whisper
|
||||||
|
# triton
|
||||||
|
tqdm==4.65.0
|
||||||
|
# via openai-whisper
|
||||||
|
triton==2.0.0
|
||||||
|
# via
|
||||||
|
# openai-whisper
|
||||||
|
# torch
|
||||||
|
typing-extensions==4.5.0
|
||||||
|
# via
|
||||||
|
# pydantic
|
||||||
|
# torch
|
||||||
|
urllib3==2.0.2
|
||||||
|
# via requests
|
||||||
|
wheel==0.40.0
|
||||||
|
# via
|
||||||
|
# nvidia-cublas-cu11
|
||||||
|
# nvidia-cuda-cupti-cu11
|
||||||
|
# nvidia-cuda-runtime-cu11
|
||||||
|
# nvidia-curand-cu11
|
||||||
|
# nvidia-cusparse-cu11
|
||||||
|
# nvidia-nvtx-cu11
|
||||||
|
|
||||||
|
# The following packages are considered to be unsafe in a requirements file:
|
||||||
|
# setuptools
|
@ -0,0 +1,5 @@
|
|||||||
|
from invoke import Collection
|
||||||
|
|
||||||
|
from pyinvoke import dev
|
||||||
|
|
||||||
|
namespace = Collection(dev)
|
@ -0,0 +1,2 @@
|
|||||||
|
def test_example():
|
||||||
|
assert True
|
Loading…
Reference in New Issue