linguAIcoach / pyproject.toml
alvaroalon2's picture
feat: parameterized models
c39d1b7
[tool.poetry]
name = "LinguAIcoach"
version = "0.1.1"
description = "Help to improve your English with AI"
authors = ["alvaroalon2"]
readme = "README.md"
license = "LICENSE.md"
homepage = "https://github.com/alvaroalon2"
repository = "https://github.com/alvaroalon2/LinguAIcoach"
classifiers = [
'Development Status :: 2 - Pre-Alpha',
"Operating System :: Unix",
"Programming Language :: Python :: 3.11",
]
packages = [{ include = "src" }]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.dependencies]
python = "^3.11"
langchain = "^0.1.12"
langchain-openai = "^0.0.6"
openai = "^1.12.0"
streamlit = "^1.31.1"
streamlit-mic-recorder = "*"
streamlit-extras = "*"
typing-extensions = "^4.10.0"
[tool.poetry.group.dev.dependencies]
boto3 = "*"
poethepoet = "*"
langsmith = "*"
black = "*"
pylint = "*"
bandit = "*"
ruff = ">=0.0.270"
isort = ">=5.10.1"
mypy = ">=1.3.0"
mkdocstrings = {version = ">=0.24.0", extras = ["python"]}
mkdocs = ">=1.5.3"
mkdocs-markdownextradata-plugin = ">=0.2.5"
mkdocs-material = ">=9.5.2"
mkdocs-minify-plugin = ">=0.7.2"
pymdown-extensions = ">=10.5"
pre-commit = ">=3.3.1"
[tool.poe]
envfile = ".env"
[tool.poe.tasks]
start = "python3 -m streamlit run src/main.py"
check = ["pylint", "bandit"]
setup = ["install", "install-precommit"]
[tool.poe.tasks.lint]
help = "Lint this package"
[[tool.poe.tasks.lint.sequence]]
cmd = """
pre-commit run
--all-files
--color always
"""
[tool.poe.tasks.install-precommit]
help = "Installing precommit hooks"
cmd = "poetry run pre-commit install"
[tool.poe.tasks.precommit]
help = "Run precommit checks on all project files"
cmd = "poetry run pre-commit run --all-files"
[tool.poe.tasks.pylint]
help = "Pass linter rules"
cmd = "ruff check --exit-zero src/"
[tool.poe.tasks.ci-pylint]
help = "Pass linter rules"
cmd = "ruff check --output-format pylint --output-file reports/pylint.txt --exit-zero src/"
[tool.poe.tasks.bandit]
help = "Find security issues!"
cmd = "bandit -r src"
[tool.poe.tasks.ci-bandit]
help = "Generate security report"
cmd = "bandit -r src -f json -o reports/bandit.json"
[tool.poe.tasks.install]
help = "Installing project (including dev dependencies)"
cmd = "poetry install --sync"
[tool.poe.tasks.install-nodev]
help = "Installing project (no dev dependencies)"
cmd = "poetry install --without dev"
[tool.poe.tasks.build]
help = "Build project's wheel"
cmd = "poetry build -f wheel"
[tool.poe.tasks.build_src]
help = "Build project's sdist"
cmd = "poetry build -f sdist"
[tool.poe.tasks.docs-build]
help = "Build MKdocs documentation"
cmd = "mkdocs build --clean"
[tool.poe.tasks.docs-serve]
help = "Start the development doc server"
cmd = "mkdocs serve"
[tool.poe.tasks.publish-ghdocs]
help = "Build and deploy the documentation to the gh-pages branch"
cmd = "mkdocs gh-deploy --clean --force"
[tool.isort]
profile = "black"
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
line_length = 120
[tool.black]
line-length = 120
include = '\.pyi?$'
[tool.mypy]
strict = true
disallow_subclassing_any = false
disallow_untyped_decorators = false
ignore_missing_imports = true
pretty = true
show_column_numbers = true
show_error_codes = true
show_error_context = true
warn_unreachable = true
warn_return_any = false
[tool.ruff]
fix = true
lint.ignore-init-module-imports = true
line-length = 120
lint.select = ["A", "B", "C4", "C90", "DTZ", "E", "F", "I", "ISC", "N", "NPY", "PGH", "PIE", "PLC", "PLE", "PLR", "PLW", "PT", "RET", "RUF", "RSE", "SIM", "TID", "UP", "W", "YTT"]
lint.ignore = ["E501", "PGH001", "PGH002", "PGH003", "RET504", "S101"]
lint.unfixable = ["F401", "F841"]
src = ["src"]
[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.ruff.lint.pylint]
max-args = 9