bentoml / BentoML

The easiest way to serve AI apps and models - Build reliable Inference APIs, LLM apps, Multi-model chains, RAG service, and much more!
https://bentoml.com
Apache License 2.0
7.08k stars 784 forks source link

bug: fstring SyntaxError when using bentoml.transformers on Python 3.7 #3747

Closed smidm closed 1 year ago

smidm commented 1 year ago

Describe the bug

bentoml.transformers fail on Python 3.7 due to use of = f-string specifier in https://github.com/bentoml/BentoML/blob/d8417dd6ef7c14579f89e7bea1faf9510eec8994/src/bentoml/_internal/frameworks/transformers.py#L718 Support for = specifier was introduced in Python 3.8, see https://github.com/python/cpython/issues/80998.

The problem hits on lazy loaded _internal.frameworks.transformers module e.g. when doing bentoml.transformers.save_model.

Downloading (…)"spm_char.model";: 100%|██████████| 238k/238k [00:00<00:00, 2.89MB/s]
Downloading (…)in/added_tokens.json: 100%|██████████| 40.0/40.0 [00:00<00:00, 7.15kB/s]
Downloading (…)cial_tokens_map.json: 100%|██████████| 234/234 [00:00<00:00, 187kB/s]
Downloading (…)okenizer_config.json: 100%|██████████| 232/232 [00:00<00:00, 192kB/s]
Traceback (most recent call last):
  File "<ipython-input-2-c2a17e272222>", line 5, in <module>
    bentoml.transformers.save_model("speecht5_tts_processor", processor)
  File "/home/matej/local/conda/envs/openmm/lib/python3.7/site-packages/bentoml/_internal/utils/lazy_loader.py", line 69, in __getattr__
    self._module = self._load()
  File "/home/matej/local/conda/envs/openmm/lib/python3.7/site-packages/bentoml/_internal/utils/lazy_loader.py", line 48, in _load
    module = importlib.import_module(self.__name__)
  File "/home/matej/local/conda/envs/openmm/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/matej/local/conda/envs/openmm/lib/python3.7/site-packages/bentoml/transformers.py", line 6, in <module>
    from ._internal.frameworks.transformers import get
  File "/home/matej/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/223.8836.43/plugins/python/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "<fstring>", line 1
    (pipeline=)
             ^
SyntaxError: invalid syntax

To reproduce

  1. create Python 3.7 environment with bentoml, transformers, torchaudio, sentencepiece
  2. run sample:
    
    import bentoml
    from transformers import SpeechT5Processor

processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_tts") bentoml.transformers.save_model("speecht5_tts_processor", processor)


### Expected behavior

transformer model saved as a bentoml model

### Environment

#### Environment variable

```bash
BENTOML_DEBUG=''
BENTOML_QUIET=''
BENTOML_BUNDLE_LOCAL_BUILD=''
BENTOML_DO_NOT_TRACK=''
BENTOML_CONFIG=''
BENTOML_CONFIG_OPTIONS=''
BENTOML_PORT=''
BENTOML_HOST=''
BENTOML_API_WORKERS=''

System information

bentoml: 1.0.17 python: 3.7.13 platform: Linux-6.2.8-100.fc36.x86_64-x86_64-with-fedora-36-Thirty_Six uid_gid: 1000:1000 conda: 22.9.0 in_conda_env: True

conda_packages
```yaml name: openmm channels: - pytorch - defaults dependencies: - _libgcc_mutex=0.1=main - _openmp_mutex=5.1=1_gnu - blas=1.0=mkl - brotlipy=0.7.0=py37h27cfd23_1003 - bzip2=1.0.8=h7b6447c_0 - ca-certificates=2022.4.26=h06a4308_0 - certifi=2022.5.18.1=py37h06a4308_0 - cffi=1.15.0=py37hd667e15_1 - charset-normalizer=2.0.4=pyhd3eb1b0_0 - cpuonly=2.0=0 - cryptography=37.0.1=py37h9ce1e76_0 - ffmpeg=4.3=hf484d3e_0 - freetype=2.11.0=h70c0345_0 - giflib=5.2.1=h7b6447c_0 - gmp=6.2.1=h295c915_3 - gnutls=3.6.15=he1e5248_0 - idna=3.3=pyhd3eb1b0_0 - intel-openmp=2021.4.0=h06a4308_3561 - jpeg=9e=h7f8727e_0 - lame=3.100=h7b6447c_0 - lcms2=2.12=h3be6417_0 - ld_impl_linux-64=2.38=h1181459_1 - libffi=3.3=he6710b0_2 - libgcc-ng=11.2.0=h1234567_1 - libgomp=11.2.0=h1234567_1 - libiconv=1.16=h7f8727e_2 - libidn2=2.3.2=h7f8727e_0 - libpng=1.6.37=hbc83047_0 - libstdcxx-ng=11.2.0=h1234567_1 - libtasn1=4.16.0=h27cfd23_0 - libtiff=4.2.0=h2818925_1 - libunistring=0.9.10=h27cfd23_0 - libuv=1.40.0=h7b6447c_0 - libwebp=1.2.2=h55f646e_0 - libwebp-base=1.2.2=h7f8727e_0 - lz4-c=1.9.3=h295c915_1 - mkl=2021.4.0=h06a4308_640 - mkl-service=2.4.0=py37h7f8727e_0 - mkl_fft=1.3.1=py37hd3c417c_0 - mkl_random=1.2.2=py37h51133e4_0 - ncurses=6.3=h7f8727e_2 - nettle=3.7.3=hbbd107a_1 - numpy=1.21.5=py37he7a7128_2 - numpy-base=1.21.5=py37hf524024_2 - openh264=2.1.1=h4ff587b_0 - openssl=1.1.1o=h7f8727e_0 - pillow=9.0.1=py37h22f2fdc_0 - pip=21.2.2=py37h06a4308_0 - pycparser=2.21=pyhd3eb1b0_0 - pyopenssl=22.0.0=pyhd3eb1b0_0 - pysocks=1.7.1=py37_1 - python=3.7.13=h12debd9_0 - pytorch-mutex=1.0=cpu - readline=8.1.2=h7f8727e_1 - six=1.16.0=pyhd3eb1b0_1 - sqlite=3.38.3=hc218d9a_0 - tk=8.6.11=h1ccaba5_1 - torchvision=0.12.0=py37_cpu - urllib3=1.26.9=py37h06a4308_0 - wheel=0.37.1=pyhd3eb1b0_0 - xz=5.2.5=h7f8727e_1 - zlib=1.2.12=h7f8727e_2 - zstd=1.5.2=ha4553b6_0 - pip: - addict==2.4.0 - aiofiles==0.7.0 - aiohttp==3.8.1 - aiosignal==1.2.0 - alabaster==0.7.13 - albumentations==1.3.0 - anyio==3.6.1 - appdirs==1.4.4 - argcomplete==1.11.0 - argon2-cffi==21.3.0 - argon2-cffi-bindings==21.2.0 - arrow==1.2.3 - asgiref==3.5.2 - astroid==2.11.7 - async-timeout==4.0.2 - asynctest==0.13.0 - attrs==22.2.0 - autodocsumm==0.2.7 - babel==2.10.3 - backcall==0.2.0 - backoff==1.10.0 - backports-cached-property==1.0.2 - backports-shutil-copytree==0.0.0.2 - backports-zoneinfo==0.2.1 - beautifulsoup4==4.11.1 - bentoml==1.0.17 - black==22.10.0 - bleach==5.0.1 - blessed==1.19.1 - boto3==1.17.36 - botocore==1.20.112 - build==0.8.0 - cachetools==5.3.0 - cattrs==22.1.0 - cfgv==3.3.1 - chardet==5.0.0 - chumpy==0.70 - circus==0.17.1 - click==8.0.4 - click-option-group==0.5.3 - cloudpickle==2.2.0 - colorama==0.4.4 - commonmark==0.9.1 - contextlib2==21.6.0 - cookiecutter==2.1.1 - coverage==7.1.0 - croniter==1.3.8 - cycler==0.11.0 - cython==0.29.30 - dacite==1.6.0 - dateutils==0.6.12 - debugpy==1.6.0 - decorator==5.1.1 - deepdiff==6.2.3 - deepmerge==1.0.1 - defusedxml==0.7.1 - deprecated==1.2.11 - dill==0.3.5.1 - dnspython==1.16.0 - docstring-parser==0.15 - docutils==0.16 - efficientnet-pytorch==0.7.1 - email-validator==1.3.1 - entrypoints==0.4 - eventlet==0.31.0 - exceptiongroup==1.0.0rc9 - fastapi==0.88.0 - fastjsonschema==2.15.3 - fiftyone==0.18.0 - fiftyone-brain==0.9.2 - fiftyone-db==0.4.0 - filterpy==1.4.5 - fire==0.5.0 - flask==1.1.2 - flatten-json==0.1.13 - fonttools==4.33.3 - frozenlist==1.3.1 - fs==2.4.16 - fs-s3fs==1.1.1 - fsspec==2023.1.0 - ftfy==6.1.1 - future==0.18.2 - glob2==0.7 - google-api-core==2.11.0 - google-api-python-client==2.76.0 - google-auth==2.16.0 - google-auth-httplib2==0.1.0 - google-cloud-core==2.3.2 - google-cloud-storage==2.7.0 - google-crc32c==1.5.0 - google-resumable-media==2.4.1 - googleapis-common-protos==1.58.0 - graphql-core==3.2.3 - greenlet==1.1.2 - h11==0.12.0 - h2==4.1.0 - hpack==4.0.0 - httpcore==0.15.0 - httplib2==0.15.0 - httptools==0.5.0 - httpx==0.23.0 - huggingface-hub==0.12.0 - hypercorn==0.13.2 - hyperframe==6.0.1 - identify==2.5.17 - imageio==2.19.3 - imageio-ffmpeg==0.4.7 - imagesize==1.4.1 - importlib-metadata==6.1.0 - importlib-resources==5.7.1 - iniconfig==2.0.0 - inquirer==2.10.1 - ipykernel==5.3.0 - ipympl==0.9.2 - ipython==7.16.3 - ipython-genutils==0.2.0 - ipywidgets==7.7.2 - isort==5.11.5 - itsdangerous==2.1.2 - jedi==0.17.2 - jeepney==0.8.0 - jinja2==3.0.3 - jmespath==0.10.0 - joblib==1.1.0 - json-tricks==3.15.5 - json5==0.9.8 - jsonargparse==4.9.0 - jsonschema==4.6.0 - jsx-lexer==2.0.0 - jupyter-client==6.1.3 - jupyter-core==4.10.0 - jupyter-server==1.15.6 - jupyterlab==3.4.3 - jupyterlab-pygments==0.2.2 - jupyterlab-server==2.15.0 - jupyterlab-widgets==1.1.1 - kaleido==0.2.1 - keyring==22.3.0 - kiwisolver==1.4.2 - labelbox==3.36.1 - lazy-object-proxy==1.9.0 - lightning==1.9.0 - lightning-bolts==0.6.0.post1 - lightning-cloud==0.5.21 - lightning-flash==0.8.1.post0 - lightning-utilities==0.6.0.post0 - lxml==4.9.1 - markdown==3.3.7 - markdown-it-py==0.6.2 - markupsafe==2.1.1 - matplotlib==3.5.2 - matplotlib-inline==0.1.3 - mccabe==0.7.0 - mdit-py-plugins==0.2.6 - mistune==0.8.4 - mmcls==0.25.0 - mmcv-full==1.5.2 - mmdet==2.26.0 - mmpose==0.28.1 - mmsegmentation==0.30.0 - model-index==0.1.11 - mongoengine==0.24.2 - more-itertools==9.0.0 - motor==2.5.1 - multidict==6.0.2 - munch==2.5.0 - munkres==1.1.4 - mypy-extensions==0.4.3 - myst-parser==0.13.7 - nbclassic==0.4.8 - nbclient==0.6.6 - nbconvert==5.6.1 - nbformat==5.4.0 - nbsphinx==0.8.8 - ndjson==0.3.1 - nest-asyncio==1.5.5 - networkx==2.6.3 - nodeenv==1.7.0 - notebook==6.5.2 - notebook-shim==0.1.0 - opencv-python==4.5.5.64 - opencv-python-headless==4.6.0.66 - openmim==0.3.7 - opentelemetry-api==1.14.0 - opentelemetry-exporter-otlp-proto-http==1.14.0 - opentelemetry-instrumentation==0.35b0 - opentelemetry-instrumentation-aiohttp-client==0.35b0 - opentelemetry-instrumentation-asgi==0.35b0 - opentelemetry-proto==1.14.0 - opentelemetry-sdk==1.14.0 - opentelemetry-semantic-conventions==0.35b0 - opentelemetry-util-http==0.35b0 - ordered-set==4.1.0 - orjson==3.8.5 - packaging==23.0 - pandas==1.3.5 - parso==0.7.1 - pathspec==0.10.1 - patool==1.12 - pep517==0.13.0 - pexpect==4.8.0 - pickle5==0.0.12 - pickleshare==0.7.5 - pillow-heif==0.9.0 - pip-requirements-parser==32.0.1 - pip-tools==6.8.0 - pkginfo==1.9.6 - platformdirs==2.5.2 - plotly==5.9.0 - pluggy==0.13.1 - plyfile==0.7.4 - pockets==0.9.1 - pprintpp==0.4.0 - pre-commit==2.18.1 - pretrainedmodels==0.7.4 - prettytable==3.6.0 - priority==2.0.0 - prometheus-client==0.13.1 - prompt-toolkit==3.0.29 - protobuf==3.20.3 - ptyprocess==0.7.0 - py==1.11.0 - pyasn1==0.4.8 - pyasn1-modules==0.2.8 - pybboxes==0.1.5 - pycococreatortools==0.2.0 - pycocotools==2.0.4 - pydantic==1.10.2 - pydeprecate==0.3.2 - pydicom==2.3.1 - pygments==2.12.0 - pyjwt==2.6.0 - pylint==2.13.9 - pymongo==3.12.3 - pynvml==11.4.1 - pyparsing==3.0.9 - pyrsistent==0.18.1 - pystiche==1.0.1 - pytest==5.4.3 - pytest-cov==4.0.0 - python-dateutil==2.8.2 - python-dotenv==0.21.0 - python-editor==1.0.4 - python-json-logger==2.0.4 - python-multipart==0.0.5 - pytorch-lightning==1.9.0 - pytz==2022.1 - pytz-deprecation-shim==0.1.0.post0 - pywavelets==1.3.0 - pyyaml==5.4 - pyzmq==23.1.0 - qudida==0.0.4 - readchar==4.0.3 - readme-renderer==37.3 - regex==2022.10.31 - requests==2.28.1 - requests-toolbelt==0.10.1 - retrying==1.3.3 - rfc3986==1.5.0 - rich==12.5.1 - rsa==4.9 - s3transfer==0.3.7 - sahi==0.10.8 - schema==0.7.5 - scikit-image==0.19.2 - scikit-learn==1.0.2 - scipy==1.7.3 - seaborn==0.11.2 - secretstorage==3.3.3 - segmentation-models-pytorch==0.3.2 - send2trash==1.8.0 - sentencepiece==0.1.97 - sentinel==0.3.0 - setuptools==59.5.0 - shape==0.1.1 - shapely==1.8.2 - simple-di==0.1.5 - simplexperiment==0.1.1 - singledispatchmethod==1.0 - sklearn==0.0 - sniffio==1.2.0 - snowballstemmer==2.2.0 - sortedcontainers==2.4.0 - soupsieve==2.3.2.post1 - sphinx==2.4.4 - sphinx-copybutton==0.4.0 - sphinx-tabs==1.2.1 - sphinxcontrib-applehelp==1.0.2 - sphinxcontrib-devhelp==1.0.2 - sphinxcontrib-htmlhelp==2.0.0 - sphinxcontrib-jsmath==1.0.1 - sphinxcontrib-napoleon==0.7 - sphinxcontrib-qthelp==1.0.3 - sphinxcontrib-serializinghtml==1.1.5 - sse-starlette==0.10.3 - sseclient-py==1.7.2 - starlette==0.20.4 - starsessions==1.3.0 - strawberry-graphql==0.138.1 - tabulate==0.8.10 - tenacity==8.0.1 - termcolor==2.2.0 - terminado==0.15.0 - terminaltables==3.1.10 - testpath==0.6.0 - threadpoolctl==3.1.0 - tifffile==2021.11.2 - timm==0.6.12 - tinycss2==1.1.1 - tokenizers==0.13.3 - toml==0.10.2 - tomli==2.0.1 - torch==1.13.1+cpu - torchaudio==0.13.1+cpu - torchmetrics==0.10.3 - torchsummary==1.5.1 - tornado==6.1 - tqdm==4.64.0 - traitlets==5.9.0 - transformers==4.27.4 - twine==3.3.0 - typed-ast==1.5.4 - typing-extensions==4.4.0 - tzdata==2022.1 - tzlocal==4.2 - ujson==5.7.0 - universal-analytics-python3==1.0.1 - uritemplate==4.1.1 - uvicorn==0.18.3 - uvloop==0.17.0 - voxel51-eta==0.8.1 - watchfiles==0.17.0 - wcwidth==0.2.5 - webencodings==0.5.1 - websocket-client==1.3.3 - websockets==10.4 - werkzeug==2.2.2 - widgetsnbextension==3.6.1 - wrapt==1.14.1 - wsproto==1.1.0 - xmltodict==0.12.0 - xtcocotools==1.12 - yapf==0.32.0 - yarl==1.8.1 prefix: /home/matej/local/conda/envs/openmm ```
pip_packages
``` addict==2.4.0 aiofiles==0.7.0 aiohttp==3.8.1 aiosignal==1.2.0 alabaster==0.7.13 albumentations==1.3.0 anyio==3.6.1 appdirs==1.4.4 argcomplete==1.11.0 argon2-cffi==21.3.0 argon2-cffi-bindings==21.2.0 arrow==1.2.3 asgiref==3.5.2 astroid==2.11.7 async-timeout==4.0.2 asynctest==0.13.0 attrs==22.2.0 autodocsumm==0.2.7 Babel==2.10.3 backcall==0.2.0 backoff==1.10.0 backports.cached-property==1.0.2 backports.shutil-copytree==0.0.0.2 backports.zoneinfo==0.2.1 beautifulsoup4==4.11.1 bentoml==1.0.17 binaryornot==0.4.4 black==22.10.0 bleach==5.0.1 blessed==1.19.1 boto3==1.17.36 botocore==1.20.112 branca==0.3.1 brotlipy==0.7.0 build==0.8.0 cachetools==5.3.0 cattrs==22.1.0 certifi==2022.5.18.1 cffi @ file:///opt/conda/conda-bld/cffi_1642701102775/work cfgv==3.3.1 chardet==5.0.0 charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work chumpy==0.70 circus==0.17.1 click==8.0.4 click-option-group==0.5.3 cloudpickle==2.2.0 colorama==0.4.4 commonmark==0.9.1 contextlib2==21.6.0 cookiecutter==2.1.1 coverage==7.1.0 croniter==1.3.8 cryptography @ file:///tmp/build/80754af9/cryptography_1652083456434/work cycler==0.11.0 Cython==0.29.30 dacite==1.6.0 dateutils==0.6.12 debugpy==1.6.0 decorator==5.1.1 deepdiff==6.2.3 deepmerge==1.0.1 defusedxml==0.7.1 Deprecated==1.2.11 dill==0.3.5.1 distlib==0.3.4 distro==1.4.0 dnspython==1.16.0 docstring-parser==0.15 docutils==0.16 efficientnet-pytorch==0.7.1 -e git+ssh://git@github.com/haleyai/egoscue_ml_tool.git@4a07bc4f05d733ebb96f85789451ff4e95d947f9#egg=egoscue_ml_tool email-validator==1.3.1 entrypoints==0.4 eventlet==0.31.0 exceptiongroup==1.0.0rc9 fastapi==0.88.0 fastjsonschema==2.15.3 fiftyone==0.18.0 fiftyone-brain==0.9.2 fiftyone-db==0.4.0 filelock==3.6.0 filterpy==1.4.5 fire==0.5.0 Flask==1.1.2 flatten-json==0.1.13 fonttools==4.33.3 frozenlist==1.3.1 fs==2.4.16 fs-s3fs==1.1.1 fsspec==2023.1.0 ftfy==6.1.1 future==0.18.2 glob2==0.7 google-api-core==2.11.0 google-api-python-client==2.76.0 google-auth==2.16.0 google-auth-httplib2==0.1.0 google-cloud-core==2.3.2 google-cloud-storage==2.7.0 google-crc32c==1.5.0 google-resumable-media==2.4.1 googleapis-common-protos==1.58.0 graphql-core==3.2.3 greenlet==1.1.2 h11==0.12.0 h2==4.1.0 hpack==4.0.0 httpcore==0.15.0 httplib2==0.15.0 httptools==0.5.0 httpx==0.23.0 huggingface-hub==0.12.0 hypercorn==0.13.2 hyperframe==6.0.1 identify==2.5.17 idna @ file:///tmp/build/80754af9/idna_1637925883363/work imageio==2.19.3 imageio-ffmpeg==0.4.7 imagesize==1.4.1 importlib-metadata==6.1.0 importlib-resources==5.7.1 iniconfig==2.0.0 inquirer==2.10.1 ipykernel==5.3.0 ipyleaflet==0.13.0 ipympl==0.9.2 ipython==7.16.3 ipython-genutils==0.2.0 ipywidgets==7.7.2 isort==5.11.5 itsdangerous==2.1.2 jedi==0.17.2 jeepney==0.8.0 Jinja2==3.0.3 jinja2-time==0.2.0 jmespath==0.10.0 joblib==1.1.0 json-tricks==3.15.5 json5==0.9.8 jsonargparse==4.9.0 jsonschema==4.6.0 jsx-lexer==2.0.0 jupyter-client==6.1.3 jupyter-core==4.10.0 jupyter-server==1.15.6 jupyterlab==3.4.3 jupyterlab-pygments==0.2.2 jupyterlab-server==2.15.0 jupyterlab-widgets==1.1.1 kaleido==0.2.1 keyring==22.3.0 kiwisolver==1.4.2 labelbox==3.36.1 lazy-object-proxy==1.9.0 lightning==1.9.0 lightning-bolts==0.6.0.post1 lightning-cloud==0.5.21 lightning-flash==0.8.1.post0 lightning-utilities==0.6.0.post0 lxml==4.9.1 Markdown==3.3.7 markdown-it-py==0.6.2 MarkupSafe==2.1.1 matplotlib==3.5.2 matplotlib-inline==0.1.3 mccabe==0.7.0 mdit-py-plugins==0.2.6 mistune==0.8.4 mkl-fft==1.3.1 mkl-random @ file:///tmp/build/80754af9/mkl_random_1626179032232/work mkl-service==2.4.0 mmcls==0.25.0 mmcv-full==1.5.2 mmdet==2.26.0 mmpose==0.28.1 mmsegmentation==0.30.0 model-index==0.1.11 mongoengine==0.24.2 more-itertools==9.0.0 motor==2.5.1 multidict==6.0.2 munch==2.5.0 munkres==1.1.4 mypy-extensions==0.4.3 myst-parser==0.13.7 nbclassic==0.4.8 nbclient==0.6.6 nbconvert==5.6.1 nbformat==5.4.0 nbsphinx==0.8.8 ndjson==0.3.1 nest-asyncio==1.5.5 networkx==2.6.3 nodeenv==1.7.0 notebook==6.5.2 notebook-shim==0.1.0 numpy @ file:///opt/conda/conda-bld/numpy_and_numpy_base_1651563629415/work opencv-python==4.5.5.64 opencv-python-headless==4.6.0.66 openmim==0.3.7 opentelemetry-api==1.14.0 opentelemetry-exporter-otlp-proto-http==1.14.0 opentelemetry-instrumentation==0.35b0 opentelemetry-instrumentation-aiohttp-client==0.35b0 opentelemetry-instrumentation-asgi==0.35b0 opentelemetry-proto==1.14.0 opentelemetry-sdk==1.14.0 opentelemetry-semantic-conventions==0.35b0 opentelemetry-util-http==0.35b0 ordered-set==4.1.0 orjson==3.8.5 packaging==23.0 pandas==1.3.5 pandocfilters==1.4.2 parso==0.7.1 pathspec==0.10.1 patool==1.12 pep517==0.13.0 pexpect==4.8.0 pickle5==0.0.12 pickleshare==0.7.5 Pillow==9.0.1 pillow-heif==0.9.0 pip-requirements-parser==32.0.1 pip-tools==6.8.0 pkgconfig==1.5.1 pkginfo==1.9.6 platformdirs==2.5.2 plotly==5.9.0 pluggy==0.13.1 plyfile==0.7.4 pockets==0.9.1 -e git+ssh://git@github.com/haleyai/perspective_classifier.git@048510574a80f34f92d0d309bd4aa0899aae6998#egg=pose_classifier poyo==0.5.0 pprintpp==0.4.0 pre-commit==2.18.1 pretrainedmodels==0.7.4 prettytable==3.6.0 priority==2.0.0 prometheus-client==0.13.1 prompt-toolkit==3.0.29 protobuf==3.20.3 psutil==5.7.0 ptyprocess==0.7.0 py==1.11.0 pyasn1==0.4.8 pyasn1-modules==0.2.8 pybboxes==0.1.5 pycococreatortools @ git+https://github.com/waspinator/pycococreator.git@114df401e5310c602178b31a48d3bb4cef876258 pycocotools==2.0.4 pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work pydantic==1.10.2 pyDeprecate==0.3.2 pydicom==2.3.1 Pygments==2.12.0 PyJWT==2.6.0 pylint==2.13.9 pymongo==3.12.3 pynvml==11.4.1 pyOpenSSL @ file:///opt/conda/conda-bld/pyopenssl_1643788558760/work pyparsing==3.0.9 pyrsistent==0.18.1 PySocks @ file:///tmp/build/80754af9/pysocks_1594394576006/work pystiche==1.0.1 pytest==5.4.3 pytest-cov==4.0.0 python-dateutil==2.8.2 python-dotenv==0.21.0 python-editor==1.0.4 python-json-logger==2.0.4 python-multipart==0.0.5 python-slugify==5.0.2 pytorch-lightning==1.9.0 pytz==2022.1 pytz-deprecation-shim==0.1.0.post0 PyWavelets==1.3.0 PyYAML==5.4 pyzmq==23.1.0 qudida==0.0.4 readchar==4.0.3 readme-renderer==37.3 regex==2022.10.31 requests==2.28.1 requests-toolbelt==0.10.1 retrying==1.3.3 rfc3986==1.5.0 rich==12.5.1 rsa==4.9 s3transfer==0.3.7 sahi==0.10.8 schema==0.7.5 scikit-image==0.19.2 scikit-learn==1.0.2 scipy==1.7.3 seaborn==0.11.2 SecretStorage==3.3.3 segmentation-models-pytorch==0.3.2 Send2Trash==1.8.0 sentencepiece==0.1.97 sentinel==0.3.0 shape==0.1.1 Shapely==1.8.2 simple-di==0.1.5 simplexperiment @ file:///home/matej/prace/opensource/simplexperiment singledispatchmethod==1.0 six @ file:///tmp/build/80754af9/six_1644875935023/work sklearn==0.0 sniffio==1.2.0 snowballstemmer==2.2.0 sortedcontainers==2.4.0 soupsieve==2.3.2.post1 Sphinx==2.4.4 sphinx-copybutton==0.4.0 sphinx-tabs==1.2.1 sphinxcontrib-applehelp==1.0.2 sphinxcontrib-devhelp==1.0.2 sphinxcontrib-htmlhelp==2.0.0 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-napoleon==0.7 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 sse-starlette==0.10.3 sseclient-py==1.7.2 starlette==0.20.4 starsessions==1.3.0 strawberry-graphql==0.138.1 tabulate==0.8.10 tenacity==8.0.1 termcolor==2.2.0 terminado==0.15.0 terminaltables==3.1.10 testpath==0.6.0 text-unidecode==1.3 threadpoolctl==3.1.0 tifffile==2021.11.2 timm==0.6.12 tinycss2==1.1.1 tokenizers==0.13.3 toml==0.10.2 tomli==2.0.1 torch==1.13.1+cpu torchaudio==0.13.1+cpu -e git+ssh://git@github.com/TylerYep/torchinfo.git@46ecf57056463adcc4d0d4bd112534726cbfbbd9#egg=torchinfo torchmetrics==0.10.3 torchsummary==1.5.1 torchvision==0.12.0 tornado==6.1 tqdm==4.64.0 traitlets==5.9.0 traittypes==0.2.1 transformers==4.27.4 twine==3.3.0 typed-ast==1.5.4 typing_extensions==4.4.0 tzdata==2022.1 tzlocal==4.2 ujson==5.7.0 universal-analytics-python3==1.0.1 uritemplate==4.1.1 urllib3 @ file:///opt/conda/conda-bld/urllib3_1650639997961/work uvicorn==0.18.3 uvloop==0.17.0 virtualenv==20.13.4 virtualfish==2.5.4 voxel51-eta==0.8.1 watchfiles==0.17.0 wcwidth==0.2.5 webencodings==0.5.1 websocket-client==1.3.3 websockets==10.4 Werkzeug==2.2.2 widgetsnbextension==3.6.1 wrapt==1.14.1 wsproto==1.1.0 xdg==4.0.1 xmltodict==0.12.0 xtcocotools==1.12 yapf==0.32.0 yarl==1.8.1 zipp==3.1.0 ```
aarnphm commented 1 year ago

Ah I didn't notice that https://docs.python.org/3/whatsnew/3.8.html#f-strings-support-for-self-documenting-expressions-and-debugging only available for 3.8+.

I will make a PR to for this sorry for the bug.