# Poetry pyproject.toml: https://python-poetry.org/docs/pyproject/ [build-system] requires = ["poetry_core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "internet-ml" version = "2.0.0" description = "Internet-ML: Allowing ML to connect to the internet" readme = "./.github/README.md" authors = ["Thamognya Kodi "] license = "AGPL-3.0-or-later" repository = "https://github.com/thamognya/internet-ml" homepage = "https://github.com/thamognya/internet-ml" # Keywords description https://python-poetry.org/docs/pyproject/#keywords keywords=["Transformer", "NLP", "NLI", "Internet", "Networks", "BERT", "SOTA", "XLNet", "sentence", "embedding", "PyTorch", "NLP", "deep", "learning", "Tensorflow", "Huggingface", "image-gen", "dall-E", "gpt", "stable diffusion"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Topic :: Scientific/Engineering :: Artificial Intelligence" ] [tool.poetry.scripts] # Entry points for the package https://python-poetry.org/docs/pyproject/#scripts "internet-ml" = "internet_ml.__main__:app" [tool.poetry.dependencies] python = "^3.10" typer = {extras = ["all"], version = "^0.4.0"} rich = "^10.14.0" tokenizers = "^0.13.2" pandas = "^1.5.2" numpy = "^1.24.0" torch = "^1.13.1" datasets = "^2.8.0" accelerate = "^0.15.0" timm = "^0.6.12" torchvision = "^0.14.1" torchaudio = "^0.13.1" python-dotenv = "^0.21.0" requests = "^2.28.1" types-requests = "^2.28.11.7" contractions = "^0.1.73" urlextract = "^1.8.0" scikit-learn = "^1.2.0" spacy = "^3.4.4" nltk = "^3.8" beautifulsoup4 = "^4.11.1" diffusers = "^0.11.1" [tool.poetry.group.dev.dependencies] bandit = "^1.7.4" black = {version = "^23.1a1", allow-prereleases = true} darglint = "^1.8.1" isort = {extras = ["colors"], version = "^5.11.4"} mypy = "^0.991" mypy-extensions = "^0.4.3" pre-commit = "^2.20.0" pydocstyle = "^6.1.1" pylint = "^2.15.9" pytest = "^7.2.0" pyupgrade = "^3.3.1" safety = "^2.3.5" coverage = "^7.0.1" coverage-badge = "^1.1.0" pytest-html = "^3.2.0" pytest-cov = "^4.0.0" mkdocs = "^1.4.2" [tool.black] # https://github.com/psf/black target-version = ["py310"] line-length = 88 color = true exclude = ''' /( \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist | env | venv )/ ''' [tool.isort] # https://github.com/timothycrosley/isort/ py_version = 311 line_length = 88 known_typing = ["typing", "types", "typing_extensions", "mypy", "mypy_extensions"] sections = ["FUTURE", "TYPING", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] include_trailing_comma = true profile = "black" multi_line_output = 3 indent = 4 color_output = true [tool.mypy] # https://mypy.readthedocs.io/en/latest/config_file.html#using-a-pyproject-toml-file python_version = 3.11 pretty = true show_traceback = true color_output = true allow_redefinition = false check_untyped_defs = true disallow_any_generics = true disallow_incomplete_defs = true ignore_missing_imports = true implicit_reexport = false no_implicit_optional = true show_column_numbers = true show_error_codes = true show_error_context = true strict_equality = true strict_optional = true warn_no_return = true warn_redundant_casts = true warn_return_any = true warn_unreachable = true warn_unused_configs = true warn_unused_ignores = true [tool.pytest.ini_options] # https://docs.pytest.org/en/6.2.x/customize.html#pyproject-toml # Directories that are not visited by pytest collector: norecursedirs =["hooks", "*.egg", ".eggs", "dist", "build", "docs", ".tox", ".git", "__pycache__"] doctest_optionflags = ["NUMBER", "NORMALIZE_WHITESPACE", "IGNORE_EXCEPTION_DETAIL"] # Extra options: addopts = [ "--strict-markers", "--tb=short", "--doctest-modules", "--doctest-continue-on-failure", ] [tool.coverage.run] source = ["tests"] [coverage.paths] source = "internet-ml" [coverage.run] branch = true [coverage.report] fail_under = 50 show_missing = true