|
[tool.poetry] |
|
name = "translation-agent" |
|
version = "0.1.0" |
|
description = "Agentic workflow for machine translation using LLMs" |
|
authors = ["Andrew Ng <ng@deeplearning.ai>"] |
|
license = "MIT" |
|
readme = "README.md" |
|
package-mode = true |
|
packages = [{ include = "translation_agent", from = "src" }] |
|
repository = "https://github.com/andrewyng/translation-agent" |
|
keywords = ["translation", "agents", "LLM", "machine translation"] |
|
|
|
|
|
[tool.poetry.dependencies] |
|
python = "^3.9" |
|
openai = "^1.28.1" |
|
tiktoken = "^0.6.0" |
|
joblib = "^1.4.2" |
|
pysrt = "^1.1.2" |
|
icecream = "^2.1.3" |
|
langchain-text-splitters = "^0.0.1" |
|
python-dotenv = "^1.0.1" |
|
gradio = "^4.36.1" |
|
|
|
[tool.poetry.group.dev] |
|
optional = true |
|
|
|
[tool.poetry.group.dev.dependencies] |
|
black = "^24.4.2" |
|
flake8 = "^7.0.0" |
|
pyright = "^1.1.362" |
|
pre-commit = "^3.7.1" |
|
ruff = "^0.4.4" |
|
|
|
[tool.poetry.group.test] |
|
optional = true |
|
|
|
[tool.poetry.group.test.dependencies] |
|
pytest = "^8.2.0" |
|
mypy = "^1.10.0" |
|
pytest-mock = "^3.14.0" |
|
|
|
[tool.poetry.group.eval] |
|
optional = true |
|
|
|
[tool.poetry.group.eval.dependencies] |
|
nltk = "^3.8.1" |
|
sacrebleu = "^2.4.2" |
|
google-cloud-translate = "^3.15.3" |
|
deepl = "^1.18.0" |
|
numpy = "^1.26.4" |
|
scipy = "^1.13.0" |
|
gradio = "^4.31.5" |
|
requests = "^2.32.3" |
|
beautifulsoup4 = "^4.12.3" |
|
sentencepiece = "^0.2.0" |
|
|
|
|
|
[[tool.poetry.source]] |
|
name = "pytorch" |
|
url = "https://download.pytorch.org/whl/nightly/rocm6.0" |
|
priority = "supplemental" |
|
|
|
[tool.ruff] |
|
|
|
line-length = 79 |
|
indent-width = 4 |
|
exclude = [".venv", ".env", ".git", "tests", "eval"] |
|
|
|
[tool.ruff.lint] |
|
|
|
|
|
|
|
extend-select = [ |
|
"B", |
|
"C4", |
|
"ERA", |
|
"I", |
|
"N", |
|
"PIE", |
|
"PGH", |
|
"RUF", |
|
"SIM", |
|
|
|
"TCH", |
|
"TID", |
|
"UP", |
|
] |
|
fixable = ["ALL"] |
|
ignore = ["SIM117"] |
|
|
|
[tool.ruff.lint.isort] |
|
force-single-line = true |
|
lines-after-imports = 2 |
|
known-first-party = ["translation-agent"] |
|
|
|
[tool.ruff.lint.per-file-ignores] |
|
"**/__init__.py" = ["E402", "F401"] |
|
"**/{tests,docs,tools}/*" = ["E402"] |
|
|
|
|
|
[tool.mypy] |
|
files = "src, tests" |
|
mypy_path = "src" |
|
namespace_packages = true |
|
explicit_package_bases = true |
|
show_error_codes = true |
|
strict = true |
|
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"] |
|
exclude = ["tests"] |
|
|
|
[tool.ruff.format] |
|
quote-style = "double" |
|
indent-style = "space" |
|
skip-magic-trailing-comma = false |
|
line-ending = "auto" |
|
|
|
|
|
[build-system] |
|
requires = ["poetry-core"] |
|
build-backend = "poetry.core.masonry.api" |
|
|