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