Basic package layout

drew/stable-vicuna
Drew Bednar 2 years ago
parent f2388b20f7
commit 5be80d49c2

1
.gitignore vendored

@ -137,4 +137,3 @@ dmypy.json
# Cython debug symbols # Cython debug symbols
cython_debug/ cython_debug/

@ -0,0 +1,29 @@
default_stages: [commit, push]
repos:
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.9.0.2
hooks:
- id: shellcheck
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
rev: "v0.0.263"
hooks:
- id: ruff
# Enable auto fix
# args: [--fix, --exit-non-zero-on-fix]
- repo: https://github.com/pycqa/isort
rev: 5.12.0
hooks:
- id: isort
name: isort (python)

@ -13,38 +13,38 @@ by the additional permissions listed below.
0. Additional Definitions. 0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser General 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 Public License, and the "GNU GPL" refers to version 3 of the GNU General Public
License. License.
"The Library" refers to a covered work governed by this License, other than "The Library" refers to a covered work governed by this License, other than
an Application or a Combined Work as defined below. an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided by the 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 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 of a class defined by the Library is deemed a mode of using an interface provided
by the Library. by the Library.
A "Combined Work" is a work produced by combining or linking an Application 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 with the Library. The particular version of the Library with which the Combined
Work was made is also called the "Linked Version". Work was made is also called the "Linked Version".
The "Minimal Corresponding Source" for a Combined Work means the Corresponding The "Minimal Corresponding Source" for a Combined Work means the Corresponding
Source for the Combined Work, excluding any source code for portions of the Source for the Combined Work, excluding any source code for portions of the
Combined Work that, considered in isolation, are based on the Application, Combined Work that, considered in isolation, are based on the Application,
and not on the Linked Version. and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the object The "Corresponding Application Code" for a Combined Work means the object
code and/or source code for the Application, including any data and utility code and/or source code for the Application, including any data and utility

@ -1,3 +1,6 @@
# chat-savant # chat-savant
A virtual assistant for automating a variety of tasks. A virtual assistant for automating a variety of tasks.
## Features
- Drive chatGPT in webbrowser session.

@ -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,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,5 @@
from invoke import Collection
from pyinvoke import dev
namespace = Collection(dev)

@ -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 = "chat_savant"
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 = "chat_savant.cli:main"
[project.optional-dependencies]
whisper = ["openai-whisper"]
[tool.setuptools]
packages = ["chat_savant"]
[tool.setuptools.dynamic]
version = {attr = "chat_savant.__version__"}
dependencies = {file = ["requirements.txt"]}

@ -0,0 +1,6 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --output-file=requirements.txt requirements.in
#

@ -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…
Cancel
Save