pyproject.toml (119 lines of code) (raw):

[tool.poetry] name = "firefox-translations" version = "0.1.0" description = "" authors = [] readme = "README.md" [tool.poetry.dependencies] python = "^3.10" pip-tools = "^7.3.0" zstandard = "^0.22.0" # https://github.com/mozilla/translations/issues/689 numpy = "<2" [tool.poetry.group.pyright.dependencies] pyright = "^1.1.390" [tool.poetry.group.black.dependencies] black = "^23.7.0" [tool.poetry.group.lint.dependencies] ruff = "^0.1.13" translations_parser = {path="./tracking/", develop=true} [tool.poetry.group.opuscleaner.dependencies] opuscleaner = "0.5.0" [tool.poetry.group.taskcluster.dependencies] taskcluster = "^56.0.3" [tool.poetry.group.tensorboard.dependencies] marian-tensorboard = "^0.2.1" # This install group is for running local utilities. [tool.poetry.group.utils.dependencies] sacrebleu = {extras = ["ja", "ko"], version = "2.4.2"} mtdata="0.4.1" requests="^2.26.0" humanize = "^4.9.0" blessed = "^1.20.0" huggingface-hub = "^0.20.3" websocket_client ="^1.8.0" PyGithub="2.4.0" pyperclip="1.9.0" ruamel-yaml = "^0.18.6" taskcluster = "^56.0.3" taskcluster-taskgraph = "^14.1.1" kinto-http="11.7.1" # Use an outdated version of pydantic due to dependency requirements conflict. pydantic="1.10.19" OpenCC = "1.1.9" hanzidentifier = "1.2.0" psutil= "6.0.0" [tool.poetry.group.utils-docker.dependencies] PyICU = "2.8.1" # This install group is for running tests. Note that any dependencies in the # pipeline are installed separately through the run_task test abstraction. This # list is only for things imported directly in the tests. mkdocs = "^1.6.1" [tool.poetry.group.tests.dependencies] sacrebleu = {extras = ["ja", "ko"], version = "2.4.2"} mtdata="0.4.1" requests="^2.26.0" pytest="7.4.3" opustrainer = "0.4" requests-mock = "^1.11.0" sh = "^2.0.6" zstandard = "^0.22.0" translations_parser = {path="./tracking/", develop=true} taskcluster-taskgraph = "^14.1.1" translations_taskgraph = {path="./taskcluster/", develop=true} sacremoses = "0.1.1" hanzidentifier = "1.2.0" OpenCC = "1.1.9" PyICU = "2.8.1" [tool.black] extend-exclude= "/3rd_party" line-length = 99 # Match the rules from mozilla-central. # https://searchfox.org/mozilla-central/source/pyproject.toml [tool.ruff] line-length = 99 # See https://beta.ruff.rs/docs/rules/ for a full list of rules. select = [ "E", "W", # pycodestyle "F", # pyflakes "I", # isort "PL", # pylint ] ignore = [ # These are intentionally ignored. "E741", # ambiguous-variable-name "PLR09", # too-many-return-statements, too-many-branches, too-many-arguments, too-many-statements "PLR2004", # magic-value-comparison "PLW0603", # global-statement "I001", # This is broken, see #614 # These are handled by black. "E1", "E4", "E5", "W2", "W5" ] exclude = [ "3rd_party" ] [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.pytest.ini_options] testpaths = ["tests"] markers = [ # Run tests outside of docker: # task test -- -m "not docker_amd64 "docker_amd64: These tests require the local docker image.", # Run only quick tests: # task test -- -m "not slow "slow: Tests that run slower" ] [tool.pyright] # When adding directories, add the entire subfolder to "include", and then # exclude individual files that still need typing. This will make it so that all # new files default to being typed. include = [ "utils/**/*", "pipeline/alignments/align.py", "pipeline/data/parallel_downloaders.py", "pipeline/data/parallel_importer.py", ] exclude = [] pythonVersion="3.10"