Basic package layout
parent
f2388b20f7
commit
5be80d49c2
@ -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)
|
@ -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…
Reference in New Issue