# JINA PACKAGE DEPENDENCIES
#
# Essential: only 6, they are labeled with `core`: numpy, pyzmq, tornado, grpcio, protobuf, pyyaml. They will be installed
#           when you do `pip install jina`. They are essential to run 90% features & functionalities of Jina.
# Extensions: they are labeled with different tags. They will NOT be installed by default. One can install a group of
#           of dependencies labeled `tag` by `pip install "jina[tag]"`
#
# FILE FORMAT
# https://hanxiao.io/2019/11/07/A-Better-Practice-for-Managing-extras-require-Dependencies-in-Python/
# Put your extra requirements here in the following format
#
# package[version]: tag1, tag2, ...
#
#
# REMARKS ON TAGS
# 1. Try to reuse the existing tags if possible.
#    If you intend to create a new tag, keep it alphabetical, short and general
# 2. Package name itself is a tag already, so you don't need to tag it again.
#    For example, 'numpy>=0.4.1: numpy' is redundant
# 3. Tag order doesn't matter; case-sensitive; duplicated tag will be ignored
# 4. Tag `all` is reserved for representing all packages

scipy>=1.6.1:               sparse, cicd, graph
fastapi:                    devel, cicd, http, test, daemon, chatbot, multimodal, standard
uvicorn[standard]>=0.14.0:  devel, cicd, http, test, daemon, chatbot, multimodal, standard
fluent-logger:              logging, http, sse, dashboard, devel, cicd, daemon
docker:                     devel, cicd, network, hub, daemon, standard
pathspec:                   devel, cicd, hub, standard, daemon
rich:                       devel, standard, hub, cicd, daemon
cryptography:               devel, cicd, hub, standard, daemon
filelock:                   devel, cicd, hub, standard, daemon
requests:                   http, devel, cicd, daemon, standard
torch>=1.1.0:               framework, cicd, chatbot, multimodal
transformers>=2.6.0:        nlp, cicd, chatbot, multimodal
tensorflow>=2.0:            framework, cicd
torchvision>=0.3.0:         framework, cv, multimodal, cicd
Pillow:                     cv, cicd, multimodal
lz4<3.1.2:                  devel, cicd, network, standard, perf, daemon
uvloop:                     devel, cicd, standard, perf, daemon
numpy:                      core
pyzmq>=17.1.0:              core
protobuf>=3.13.0:           core
grpcio>=1.33.1:             core
pyyaml>=5.3.1:              core
tornado>=5.1.0:             core
pytest:                     test
pytest-timeout:             test
pytest-mock:                test
pytest-cov:                 test
pytest-repeat:              test
pytest-asyncio:             test
pytest-reraise:             test
flaky:                      test
mock:                       test
prettytable:                devel, cicd
optuna:                     cicd, optimizer
websockets:                 http, devel, cicd, daemon, client, standard
pydantic:                   http, devel, cicd, daemon, chatbot, multimodal, standard
python-multipart:           http, devel, cicd, daemon, standard
aiofiles:                   devel, cicd, http, daemon, standard
aiohttp:                    devel, cicd, http, async, client, standard, daemon
pytest-custom_exit_code:    test
bs4:                        cicd
aiostream:                  devel, cicd, async, client, standard, daemon
jsonschema:                 cicd
dgl==0.6.1:                 cicd, graph
black==20.8b1:              cicd
