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