163 lines
4.1 KiB
Python
163 lines
4.1 KiB
Python
# 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 = "1.0.0"
|
|
description = "Internet-ML: Allowing ML to connect to the internet"
|
|
readme = "./.github/README.md"
|
|
authors = ["Thamognya Kodi <contact@thamognya.com>"]
|
|
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
|