# 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

# AVAILABLE TAGS:
# core < perf < standard < daemon < devel: these tags correspond to Docker image tag
# test: required for **setting up test ENVIRONMENT**
# demo: required for the hello world demos

scipy>=1.6.1:               devel
fastapi:                    standard, daemon, devel, demo
uvicorn[standard]>=0.14.0:  standard, daemon, devel, demo
fluent-logger:              daemon, devel
docker:                     standard, daemon, devel
pathspec:                   standard, daemon, devel
rich:                       standard, daemon, devel
cryptography:               standard, daemon, devel
filelock:                   standard, daemon, devel
requests:                   standard, daemon, devel
torch>=1.1.0:               demo
transformers<=4.2.2:        demo
tensorflow>=2.0:            cicd
torchvision>=0.3.0:         demo
Pillow:                     demo
lz4<3.1.2:                  perf, standard, daemon, devel
uvloop:                     perf, standard, daemon, devel
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
requests-mock:              test
optuna:                     devel
websockets:                 standard, daemon, devel
pydantic:                   standard, daemon, devel, demo
python-multipart:           standard, daemon, devel
aiofiles:                   standard, daemon, devel
aiohttp:                    standard, daemon, devel
pytest-custom_exit_code:    test
bs4:                        cicd
aiostream:                  standard, daemon, devel
jsonschema:                 cicd
dgl:                        cicd
black==20.8b1:              test
matplotlib:                 devel
portforward>=0.2.4:         cicd
kubernetes>=18.20.0:        perf, standard, devel
pytest-kind==21.1.3:        test
pytest-lazy-fixture:        test
datasets:                   cicd
av:                         cicd
trimesh:                    cicd
paddlepaddle==2.2.0:        cicd
onnx:                       cicd
onnxruntime:                cicd