[tool.poetry] name = "text-recognizer" version = "0.1.0" authors = ["aktersnurra "] description = "Text recognition software using best pratices in python." license = "MIT" readme = "README.md" homepage = "https://github.com/aktersnurra/text-recognizer" repository = "https://github.com/aktersnurra/text-recognizer" keywords = ["text recognizer, deep learning, pytorch"] [tool.poetry.dependencies] python = "^3.9" loguru = "^0.6.0" omegaconf = "^2.1.0" einops = "^0.3.0" hydra-core = "^1.2.0" smart-open = "^5.2.1" torch = ">=2.0.0" torchvision = "^0.15.0" torchmetrics = "^0.9.3" pytorch-lightning = "^2.0.7" nvidia-cublas-cu11 = "^11.11.3.6" nvidia-cuda-cupti-cu11 = "^11.8.87" nvidia-cuda-nvrtc-cu11 = "^11.8.89" nvidia-cuda-runtime-cu11 = "^11.8.89" nvidia-cudnn-cu11 = "^8.9.4.25" nvidia-cufft-cu11 = "^10.9.0.58" nvidia-curand-cu11 = "^10.3.0.86" nvidia-cusolver-cu11 = "^11.4.1.48" nvidia-cusparse-cu11 = "^11.7.5.86" nvidia-nccl-cu11 = "^2.18.3" nvidia-nvtx-cu11 = "^11.8.86" triton = "^2.0.0.post1" [tool.poetry.group.dev.dependencies] pytest = "^5.4.2" coverage = { extras = ["toml"], version = "^5.1" } pytest-cov = "^2.9.0" pytest-mock = "^3.1.0" flake8 = "^5.0.4" safety = "^1.9.0" mypy = "^0.770" typeguard = "^2.7.1" wandb = "0.15.8" scipy = "^1.6.1" jupyterlab = "^3.0.15" ipywidgets = "^7.6.3" torchinfo = "^1.5.3" jupyter = "^1.0.0" h5py = "^3.6.0" matplotlib = "^3.5.1" boltons = "^20.1.0" nltk = "^3.6.7" defusedxml = "^0.7.1" Pillow = "^9.0.0" editdistance = "^0.5.3" torchmetrics = "^0.9.3" tqdm = "^4.46.1" toml = "^0.10.1" setuptools = "59.5.0" opencv-python = "^4.5.5" black = "^22.8.0" click = "^8.1.3" flake8-annotations = "^2.9.1" flake8-black = "^0.3.3" flake8-bugbear = "^22.9.11" flake8-docstrings = "^1.6.0" flake8-import-order = "^0.18.1" flake8-bandit = "^4.1.1" darglint = "^1.8.1" hydra-optuna-sweeper = "^1.2.0" lion-pytorch = "^0.1.2" adan-pytorch = "^0.1.0" [tool.coverage.report] fail_under = 50 [tool.isort] profile = "black" [tool.poetry.scripts] download-emnist = "text_recognizer.data.emnist:download_emnist" download-nltk = "text_recognizer.data.utils.sentence_generator:load_nltk_brown_corpus" generate-emnist-lines = "text_recognizer.data.emnist_lines:generate_emnist_lines" download-iam = "text_recognizer.data.iam:download_iam" generate-iam-lines = "text_recognizer.data.iam_lines:generate_iam_lines" generate-iam-paragraphs = "text_recognizer.data.iam_paragraphs:create_iam_paragraphs" generate-iam-synthetic-paragraphs = "text_recognizer.data.iam_synthetic_paragraphs:create_synthetic_iam_paragraphs" show-iam-extended-info = "text_recognizer.data.iam_extended_paragraphs:show_dataset_info" [build-system] requires = ["poetry-core>=1.6.0"] build-backend = "poetry.core.masonry.api" [tool.ruff] # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. select = ["E", "F"] ignore = [] # Allow autofix for all enabled rules (when `--fix`) is provided. fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"] unfixable = [] # Exclude a variety of commonly ignored directories. exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", ] # Same as Black. line-length = 88 # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" # Assume Python 3.8 target-version = "py38" [tool.ruff.mccabe] # Unlike Flake8, default to a complexity level of 10. max-complexity = 10