Closed jamesbraza closed 1 year ago
We have the same problem. Interestingly, I cannot reproduce it on my local machine, it happens only in the CI. So there must be some environment-specific cause.
@anpr originally that was the case for me (CI is GitHub Action's ubuntu-latest
runner) too. However, when I updated to yesterday's refurb
release of 1.22.2, the error started showing up on my macOS. Possibly related is, in my mypy
config, I also specify platform = "linux"
.
Yeah the error is interesting, I think it is emitted to stderr
by mypy
's internals, not by refurb
. However, it doesn't show up when invoking mypy
directly.
refurb dir1 file.py -- --verbose --verbose >> logs 2>&1
Will output a ton of build logs to a logs
file, which ends with:
LOG: No fresh SCCs left in queue
LOG: Build finished in 16.285 seconds with 2138 modules, and 0 errors
interpreted classes cannot inherit from compiled traits
So it's some error at runtime after mypy
internal's build step
Thank you for reporting this, this seems to be an issue with the latest 1.7.0 release of Mypy. I'm currently investigating, but downgrading/pinning Mypy to version 1.6.1 should fix it for the time being.
I just confirmed downgrading mypy<1.7
resolves this issue, thanks for sharing that. Also, https://github.com/python/mypy/issues/14736 is possibly related
I was able to reproduce the following error: interpreted classes cannot inherit from compiled traits
using the example provided within by mypy:
from native import Trait, create
from testutil import assertRaises
with assertRaises(TypeError, "traits may not be directly created"):
Trait()
with assertRaises(TypeError, "traits may not be directly created"):
create()
class Sub(Trait):
pass
with assertRaises(TypeError, "interpreted classes cannot inherit from compiled traits"):
Sub()
similiar to:
I am also encountering this problem. But for me it's very weird. On my master the CI pipeline was successful few days ago. Today, without any change, it fails. What is strange, is that I have mypy pinned to 1.6.1.
On my local, where it was also successful, today I got the same error after running
pre-commit run --all-files
.pre-commit-config.yaml:
default_language_version:
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-json
- id: check-toml
- id: check-yaml
- repo: https://github.com/psf/black
rev: 23.10.0
hooks:
- id: black
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.6.1
hooks:
- id: mypy
additional_dependencies: [types-requests]
- repo: https://github.com/dosisod/refurb
rev: v1.22.1
hooks:
- id: refurb
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.1.0"
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
.gitlab-ci.yml
style:
stage: test
image: python:3.12
before_script:
- pip install -U pip wheel setuptools pre-commit
- pre-commit install
script:
- pre-commit run --all-files
Failing log (today):
$ pip install -U pip wheel setuptools pre-commit
Requirement already satisfied: pip in /usr/local/lib/python3.12/site-packages (23.2.1)
Collecting pip
Obtaining dependency information for pip from https://files.pythonhosted.org/packages/47/6a/453160888fab7c6a432a6e25f8afe6256d0d9f2cbd25971021da6491d899/pip-23.3.1-py3-none-any.whl.metadata
Downloading pip-23.3.1-py3-none-any.whl.metadata (3.5 kB)
Requirement already satisfied: wheel in /usr/local/lib/python3.12/site-packages (0.41.3)
Requirement already satisfied: setuptools in /usr/local/lib/python3.12/site-packages (68.2.2)
Collecting pre-commit
Obtaining dependency information for pre-commit from https://files.pythonhosted.org/packages/6c/75/526915fedf462e05eeb1c75ceaf7e3f9cde7b5ce6f62740fe5f7f19a0050/pre_commit-3.5.0-py2.py3-none-any.whl.metadata
Downloading pre_commit-3.5.0-py2.py3-none-any.whl.metadata (1.3 kB)
Collecting cfgv>=2.0.0 (from pre-commit)
Obtaining dependency information for cfgv>=2.0.0 from https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl.metadata
Downloading cfgv-3.4.0-py2.py3-none-any.whl.metadata (8.5 kB)
Collecting identify>=1.0.0 (from pre-commit)
Obtaining dependency information for identify>=1.0.0 from https://files.pythonhosted.org/packages/46/02/2581c37256119d65e6f1f47b62dd51dd3136d6b[20](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5523912904#L20)7bb49a8885a0d45c41a/identify-2.5.31-py2.py3-none-any.whl.metadata
Downloading identify-2.5.31-py2.py3-none-any.whl.metadata (4.4 kB)
Collecting nodeenv>=0.11.1 (from pre-commit)
Obtaining dependency information for nodeenv>=0.11.1 from https://files.pythonhosted.org/packages/1a/e6/6d2ead760a9ddb35e65740fd5a57e46aadd7b0c49861ab24f94812797a1c/nodeenv-1.8.0-py2.py3-none-any.whl.metadata
Downloading nodeenv-1.8.0-py2.py3-none-any.whl.metadata ([21](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5523912904#L21) kB)
Collecting pyyaml>=5.1 (from pre-commit)
Obtaining dependency information for pyyaml>=5.1 from https://files.pythonhosted.org/packages/b4/33/720548182ffa8344418126017aa1d4ab4aeec9a[22](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5523912904#L22)75f04ce3f3573d8ace8/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
Downloading PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting virtualenv>=20.10.0 (from pre-commit)
Obtaining dependency information for virtualenv>=20.10.0 from https://files.pythonhosted.org/packages/7f/19/1f0eddcb9acf00a95793ce83417f69e0fd106c192121360af499cd6fde39/virtualenv-20.24.6-py3-none-any.whl.metadata
Downloading virtualenv-20.24.6-py3-none-any.whl.metadata (4.5 kB)
Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit)
Obtaining dependency information for distlib<1,>=0.3.7 from https://files.pythonhosted.org/packages/43/a0/9ba967fdbd55293bacfc1507f58e316f740a3b[23](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5523912904#L23)1fc00e3d86dc39bc185a/distlib-0.3.7-py2.py3-none-any.whl.metadata
Downloading distlib-0.3.7-py2.py3-none-any.whl.metadata (5.1 kB)
Collecting filelock<4,>=3.12.2 (from virtualenv>=20.10.0->pre-commit)
Obtaining dependency information for filelock<4,>=3.12.2 from https://files.pythonhosted.org/packages/81/54/84d42a0bee35edba99dee7b59a8d4970eccdd44b99fe728ed912106fc781/filelock-3.13.1-py3-none-any.whl.metadata
Downloading filelock-3.13.1-py3-none-any.whl.metadata (2.8 kB)
Collecting platformdirs<4,>=3.9.1 (from virtualenv>=20.10.0->pre-commit)
Obtaining dependency information for platformdirs<4,>=3.9.1 from https://files.pythonhosted.org/packages/56/29/3ec311dc18804409ecf0d2b09caa976f3ae6215559306b5b530004e11156/platformdirs-3.11.0-py3-none-any.whl.metadata
Downloading platformdirs-3.11.0-py3-none-any.whl.metadata (11 kB)
Downloading pip-23.3.1-py3-none-any.whl (2.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 26.8 MB/s eta 0:00:00
Downloading pre_commit-3.5.0-py2.py3-none-any.whl (203 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 203.7/203.7 kB 28.6 MB/s eta 0:00:00
Downloading cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)
Downloading identify-2.5.31-py2.py3-none-any.whl (98 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.9/98.9 kB 18.6 MB/s eta 0:00:00
Downloading nodeenv-1.8.0-py2.py3-none-any.whl (22 kB)
Downloading PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7[24](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5523912904#L24) kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7[25](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5523912904#L25).0/725.0 kB 60.6 MB/s eta 0:00:00
Downloading virtualenv-20.24.6-py3-none-any.whl (3.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 100.1 MB/s eta 0:00:00
Downloading distlib-0.3.7-py2.py3-none-any.whl (468 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 kB 45.7 MB/s eta 0:00:00
Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
Downloading platformdirs-3.11.0-py3-none-any.whl (17 kB)
Installing collected packages: distlib, pyyaml, platformdirs, pip, nodeenv, identify, filelock, cfgv, virtualenv, pre-commit
Attempting uninstall: pip
Found existing installation: pip 23.2.1
Uninstalling pip-23.2.1:
Successfully uninstalled pip-23.2.1
Successfully installed cfgv-3.4.0 distlib-0.3.7 filelock-3.13.1 identify-2.5.[31](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5523912904#L31) nodeenv-1.8.0 pip-23.3.1 platformdirs-3.11.0 pre-commit-3.5.0 pyyaml-6.0.1 virtualenv-20.24.6
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit
$ pre-commit run --all-files
[INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Initializing environment for https://github.com/psf/black.
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-mypy.
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-mypy:types-requests.
[INFO] Initializing environment for https://github.com/dosisod/refurb.
[INFO] Initializing environment for https://github.com/charliermarsh/ruff-pre-commit.
[INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/psf/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/pre-commit/mirrors-mypy.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/dosisod/refurb.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/charliermarsh/ruff-pre-commit.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
check for added large files..............................................Passed
check python ast.........................................................Passed
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check json...............................................................Passed
check toml...............................................................Passed
check yaml...............................................................Passed
black....................................................................Passed
mypy.....................................................................Passed
refurb...................................................................Failed
- hook id: refurb
- exit code: 1
interpreted classes cannot inherit from compiled traits
ruff.....................................................................Passed
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1
Successful log (4 days ago)
$ pip install -U pip wheel setuptools pre-commit
Requirement already satisfied: pip in /usr/local/lib/python3.12/site-packages (23.2.1)
Collecting pip
Obtaining dependency information for pip from https://files.pythonhosted.org/packages/47/6a/453160888fab7c6a432a6e25f8afe6256d0d9f2cbd25971021da6491d899/pip-23.3.1-py3-none-any.whl.metadata
Downloading pip-23.3.1-py3-none-any.whl.metadata (3.5 kB)
Requirement already satisfied: wheel in /usr/local/lib/python3.12/site-packages (0.41.3)
Requirement already satisfied: setuptools in /usr/local/lib/python3.12/site-packages (68.2.2)
Collecting pre-commit
Obtaining dependency information for pre-commit from https://files.pythonhosted.org/packages/6c/75/526915fedf462e05eeb1c75ceaf7e3f9cde7b5ce6f62740fe5f7f19a0050/pre_commit-3.5.0-py2.py3-none-any.whl.metadata
Downloading pre_commit-3.5.0-py2.py3-none-any.whl.metadata (1.3 kB)
Collecting cfgv>=2.0.0 (from pre-commit)
Obtaining dependency information for cfgv>=2.0.0 from https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl.metadata
Downloading cfgv-3.4.0-py2.py3-none-any.whl.metadata (8.5 kB)
Collecting identify>=1.0.0 (from pre-commit)
Obtaining dependency information for identify>=1.0.0 from https://files.pythonhosted.org/packages/46/02/2581c37256119d65e6f1f47b62dd51dd3136d6b[20](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5495274980#L20)7bb49a8885a0d45c41a/identify-2.5.31-py2.py3-none-any.whl.metadata
Downloading identify-2.5.31-py2.py3-none-any.whl.metadata (4.4 kB)
Collecting nodeenv>=0.11.1 (from pre-commit)
Obtaining dependency information for nodeenv>=0.11.1 from https://files.pythonhosted.org/packages/1a/e6/6d2ead760a9ddb35e65740fd5a57e46aadd7b0c49861ab24f94812797a1c/nodeenv-1.8.0-py2.py3-none-any.whl.metadata
Downloading nodeenv-1.8.0-py2.py3-none-any.whl.metadata ([21](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5495274980#L21) kB)
Collecting pyyaml>=5.1 (from pre-commit)
Obtaining dependency information for pyyaml>=5.1 from https://files.pythonhosted.org/packages/b4/33/720548182ffa8344418126017aa1d4ab4aeec9a[22](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5495274980#L22)75f04ce3f3573d8ace8/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
Downloading PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)
Collecting virtualenv>=20.10.0 (from pre-commit)
Obtaining dependency information for virtualenv>=20.10.0 from https://files.pythonhosted.org/packages/7f/19/1f0eddcb9acf00a95793ce83417f69e0fd106c192121360af499cd6fde39/virtualenv-20.24.6-py3-none-any.whl.metadata
Downloading virtualenv-20.24.6-py3-none-any.whl.metadata (4.5 kB)
Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit)
Obtaining dependency information for distlib<1,>=0.3.7 from https://files.pythonhosted.org/packages/43/a0/9ba967fdbd55293bacfc1507f58e316f740a3b[23](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5495274980#L23)1fc00e3d86dc39bc185a/distlib-0.3.7-py2.py3-none-any.whl.metadata
Downloading distlib-0.3.7-py2.py3-none-any.whl.metadata (5.1 kB)
Collecting filelock<4,>=3.12.2 (from virtualenv>=20.10.0->pre-commit)
Obtaining dependency information for filelock<4,>=3.12.2 from https://files.pythonhosted.org/packages/81/54/84d42a0bee35edba99dee7b59a8d4970eccdd44b99fe728ed912106fc781/filelock-3.13.1-py3-none-any.whl.metadata
Downloading filelock-3.13.1-py3-none-any.whl.metadata (2.8 kB)
Collecting platformdirs<4,>=3.9.1 (from virtualenv>=20.10.0->pre-commit)
Obtaining dependency information for platformdirs<4,>=3.9.1 from https://files.pythonhosted.org/packages/56/29/3ec311dc18804409ecf0d2b09caa976f3ae6215559306b5b530004e11156/platformdirs-3.11.0-py3-none-any.whl.metadata
Downloading platformdirs-3.11.0-py3-none-any.whl.metadata (11 kB)
Downloading pip-23.3.1-py3-none-any.whl (2.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 26.4 MB/s eta 0:00:00
Downloading pre_commit-3.5.0-py2.py3-none-any.whl (203 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 203.7/203.7 kB 32.1 MB/s eta 0:00:00
Downloading cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)
Downloading identify-2.5.31-py2.py3-none-any.whl (98 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.9/98.9 kB 19.0 MB/s eta 0:00:00
Downloading nodeenv-1.8.0-py2.py3-none-any.whl (22 kB)
Downloading PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7[24](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5495274980#L24) kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7[25](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5495274980#L25).0/725.0 kB 74.0 MB/s eta 0:00:00
Downloading virtualenv-20.24.6-py3-none-any.whl (3.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 103.1 MB/s eta 0:00:00
Downloading distlib-0.3.7-py2.py3-none-any.whl (468 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 kB 55.5 MB/s eta 0:00:00
Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
Downloading platformdirs-3.11.0-py3-none-any.whl (17 kB)
Installing collected packages: distlib, pyyaml, platformdirs, pip, nodeenv, identify, filelock, cfgv, virtualenv, pre-commit
Attempting uninstall: pip
Found existing installation: pip 23.2.1
Uninstalling pip-23.2.1:
Successfully uninstalled pip-23.2.1
Successfully installed cfgv-3.4.0 distlib-0.3.7 filelock-3.13.1 identify-2.5.[31](https://gitlab.com/the-munchkins/self-paced-course/on-registration-send-invoice/-/jobs/5495274980#L31) nodeenv-1.8.0 pip-23.3.1 platformdirs-3.11.0 pre-commit-3.5.0 pyyaml-6.0.1 virtualenv-20.24.6
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
$ pre-commit install
pre-commit installed at .git/hooks/pre-commit
$ pre-commit run --all-files
[INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Initializing environment for https://github.com/psf/black.
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-mypy.
[INFO] Initializing environment for https://github.com/pre-commit/mirrors-mypy:types-requests.
[INFO] Initializing environment for https://github.com/dosisod/refurb.
[INFO] Initializing environment for https://github.com/charliermarsh/ruff-pre-commit.
[INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/psf/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/pre-commit/mirrors-mypy.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/dosisod/refurb.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for https://github.com/charliermarsh/ruff-pre-commit.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
check for added large files..............................................Passed
check python ast.........................................................Passed
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check json...............................................................Passed
check toml...............................................................Passed
check yaml...............................................................Passed
black....................................................................Passed
mypy.....................................................................Passed
refurb...................................................................Passed
ruff.....................................................................Passed
Cleaning up project directory and file based variables
00:01
Job succeeded
Hope this can help... I have no clue what it could be.
@francesco086 for now, we need to add an additional_dependencies
to pre-commit
configs:
- repo: https://github.com/dosisod/refurb
rev: v1.22.2
hooks:
- id: refurb
additional_dependencies:
- mypy<1.7 # SEE: https://github.com/dosisod/refurb/issues/305
Or alternately, the mypy
dependency range here could have mypy<1.7
for now: https://github.com/dosisod/refurb/blob/v1.22.2/pyproject.toml#L20
@francesco086 you need to add an
additional_dependencies
for now:
Oh, got it! Many thanks! It works now :)
@jamesbraza I'm considering capping Mypy to <1.7.0 since I can't seem to find any viable work-arounds. If I can't find a solution in the next few hours I'll cap it until I can find a better solution (or it gets fixed upstream).
Okay sounds good 👍.
In general, I am wondering if mypy
minor version bumps have backwards compatible internals. It may make sense for refurb
to always pin the minor version, and have some CI automation that, upon new mypy
release, bumps the minor version if all tests pass. Tho that sounds like a pain in the butt to implement 😆
Didn't mean to close this. I still consider this an issue, #306 is a bandaid fix until I find a better workaround.
Closed by #309
Has your issue already been fixed?
master
branch? See the docs for instructions on how to setup a local build of Refurb.The Bug
Running
refurb
like so emits a strange error:I tried running
refurb --verbose --verbose --verbose dir1 file.py
, and it doesn't add anything meaningful to the output. I am at the root causing level of this issue, I am not even sure why this message is being emitted.My package is internal, so I can't share the source code. Can you help me figure out how to add verbosity to
refurb
so I can properly root cause this issue?Version Info
Python Version
Python 3.11.5
Config File
Extra Info
This issue is a continuation of the saga after https://github.com/dosisod/refurb/issues/302
I found https://github.com/python/mypy/issues/6706 with a related message, but it was fixed a long time ago so I am not sure what the issue is here.