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
|
||||
|
||||
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