[CT-2672] [Bug] Cannot import name 'Unpack' from 'typing_extensions' (dbt-core 1.5.1)

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
I’m trying to migrate to dbt-core 1.5.1 and play with programmatic invocations
Expected Behavior
can import and use dbtRunner, dbtRunnerResult from python environment
Steps To Reproduce

pip install -r requirements.txt (see in the bellow section)

from dbt.cli.main import dbtRunner, dbtRunnerResult
# initialize
    dbt_runner = dbtRunner()
    cli_args = ["run", "--select", "tag:my_tag"]

    # run the command
    res: dbtRunnerResult = dbt_runner.invoke(cli_args)

    # inspect the results
    for r in res.result:
        print(f"{r.node.name}: {r.status}")

Relevant log output
ImportError                               Traceback (most recent call last)
<command-1597366681957068> in <cell line: 1>()
----> 1 from dbt.cli.main import dbtRunner, dbtRunnerResult
      2
      3 def dbt(args):
      4     # initialize
      5     dbt_runner = dbtRunner()

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/dbt/cli/__init__.py in <module>
----> 1 from .main import cli as dbt_cli  # noqa

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/dbt/cli/main.py in <module>
     11 )
     12
---> 13 from dbt.cli import requires, params as p
     14 from dbt.cli.exceptions import (
     15     DbtInternalException,

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/dbt/cli/requires.py in <module>
----> 1 import dbt.tracking
      2 from dbt.version import installed as installed_version
      3 from dbt.adapters.factory import adapter_management, register_adapter
      4 from dbt.flags import set_flags, get_flag_dict
      5 from dbt.cli.exceptions import (

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/dbt/tracking.py in <module>
     13 from snowplow_tracker import logger as sp_logger
     14
---> 15 from dbt import version as dbt_version
     16 from dbt.clients.yaml_helper import safe_load, yaml  # noqa:F401
     17 from dbt.events.functions import fire_event, get_invocation_id

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/dbt/version.py in <module>
      8 import requests
      9
---> 10 import dbt.exceptions
     11 import dbt.semver
     12

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/dbt/exceptions.py in <module>
      6 from typing import Any, Dict, List, Mapping, Optional, Union
      7
----> 8 from dbt.dataclass_schema import ValidationError
      9 from dbt.events.helpers import env_secrets, scrub_secrets
     10 from dbt.node_types import NodeType

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/dbt/dataclass_schema.py in <module>
     13
     14 # type: ignore
---> 15 from mashumaro import DataClassDictMixin
     16 from mashumaro.config import TO_DICT_ADD_OMIT_NONE_FLAG, BaseConfig as MashBaseConfig
     17 from mashumaro.types import SerializableType, SerializationStrategy

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/mashumaro/__init__.py in <module>
----> 1 from mashumaro.exceptions import MissingField
      2 from mashumaro.helper import field_options, pass_through
      3 from mashumaro.mixins.dict import DataClassDictMixin
      4
      5 __all__ = [

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/mashumaro/exceptions.py in <module>
      1 from typing import Any, Optional, Type
      2
----> 3 from mashumaro.core.meta.helpers import type_name
      4
      5

/databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py in import_patch(name, globals, locals, fromlist, level)
    169             # Import the desired module. If you’re seeing this while debugging a failed import,
    170             # look at preceding stack frames for relevant error information.
--> 171             original_result = python_builtin_import(name, globals, locals, fromlist, level)
    172
    173             is_root_import = thread_local._nest_level == 1

/local_disk0/.ephemeral_nfs/envs/pythonEnv-8dd839ed-b379-4ba3-b2af-457367cb74b7/lib/python3.9/site-packages/mashumaro/core/meta/helpers.py in <module>
     23
     24 import typing_extensions
---> 25 from typing_extensions import Unpack
     26
     27 from mashumaro.core.const import (

ImportError: cannot import name 'Unpack' from 'typing_extensions' (/databricks/python/lib/python3.9/site-packages/typing_extensions.py)

Environment
- OS: Linux 5.15.0-1035-aws
- Python: 3.9.5
- dbt: dbt-core==1.5.1

Content of requirements.txt

dbt-core==1.5.1
dbt-databricks==1.5.2
dbt-spark==1.5.0
dbt-spark[PyHive]==1.5.0
sqlfluff==2.1.1
sqlfluff-templater-dbt==2.1.1
databricks-sql-cli==0.3.2
dryable==1.1.0
tqdm==4.64.0
elementary-data==0.8.0
elementary-data[databricks]==0.8.0
requests
types-protobuf==<IP_ADDRESS> # added to play around it
typing_extensions==4.4.0 # the same result with 4.4.6

Which database adapter are you using with dbt?
spark
Additional Context
No response

That is awesome that you are tying out programmatic invocations @Almaz-KG 🤩 !
I didn't try out with the requirements.txt you listed yet. But with a fresh virtual environment with just dbt-core and dbt-postgres, the following worked for me.
Reprex
models/my_model.sql
{{ config(tags="my_tag") }}

select 1 as id

runner.py
from dbt.cli.main import dbtRunner, dbtRunnerResult

# initialize
dbt_runner = dbtRunner()
cli_args = ["run", "--select", "tag:my_tag"]

# run the command
res: dbtRunnerResult = dbt_runner.invoke(cli_args)

# inspect the results
for r in res.result:
    print(f"{r.node.name}: {r.status}")

This worked for me:
dbt run --select tag:my_tag

And so did this:
python runner.py

Ouput:
17:43:23  Running with dbt=1.5.0
17:43:23  Found 1 model, 0 tests, 0 snapshots, 0 analyses, 307 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics, 0 groups
17:43:23
17:43:23  Concurrency: 5 threads (target='postgres')
17:43:23
17:43:23  1 of 1 START sql view model dbt_dbeatty.my_model ............................... [RUN]
17:43:23  1 of 1 OK created sql view model dbt_dbeatty.my_model .......................... [CREATE VIEW in 0.13s]
17:43:23
17:43:23  Finished running 1 view model in 0 hours 0 minutes and 0.35 seconds (0.35s).
17:43:23
17:43:23  Completed successfully
17:43:23
17:43:23  Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
my_model: success

ImportError: cannot import name 'Unpack' from 'typing_extensions' (/databricks/python/lib/python3.9/site-packages/typing_extensions.py)

Oh, I've come across something like this after typing-extensions upgrade and made a fix in this commit:

https://github.com/Fatal1ty/mashumaro/commit/a5d95b8fa9123907bbc4263c35071b394ba4f0f1

It will be included in the upcoming release this or next week.

Thanks for that keen insight @Fatal1ty !
In the meantime, are there any specific versions of mashumaro that we should explicitly exclude in our setup.py?
https://github.com/dbt-labs/dbt-core/blob/98d1a94b608adcf0c81b5dcda0f5e5362e0620a8/core/setup.py#L56

@dbeatty10
I think it's worth to exclude only those versions that break something in dbt-core. Not taking into account the transition to major version 3, I remember that 3.0.2 and 3.1.0 were problematic, so they are candidates for exclusion. On the other hand if you rely on some functionality that exists only from a version X then you should obviously pin that version as the minimal one and remove all exclusions before X as redundant:
mashumaro[msgpack]>=X

If I were in your place, I would be looking at pull requests from dependabot and either:
a) exclude package versions not passing the tests leaving the minimal version X
b) bump the minimal version X to the following patch version that passes the tests
The option "a" is better for users because it makes it easier to use dbt-core in combination with other packages that may also depend on mashumaro. But if dbt-core is positioned as the product rather than as a library than option "b" or even strict pin to the specific version of a package is also a good choice.

Hey @Fatal1ty ! WDYT, should I wait for the fixes in dbt-core or can I hack this dependency issue?
Maybe I can force pip to install a specific version of mashumaro in the requirements.txt file

I bet you have typing-extensions<4.1.0 installed.

No, I have version 4.6.3. The full list of deps with their versions (got from pip freeze) looks like this
about-time==3.1.1
agate==1.7.0
alembic==1.11.1
alive-progress==2.3.1
appdirs==1.4.4
argon2-cffi==20.1.0
async-generator==1.10
attrs==21.2.0
Babel==2.12.1
backcall==0.2.0
backoff==2.2.1
backports.entry-points-selectable==1.1.1
beautifulsoup4==4.12.2
black==22.3.0
bleach==4.0.0
boto3==1.21.18
botocore==1.24.18
cachetools==5.3.1
certifi==2021.10.8
cffi==1.14.6
chardet==4.0.0
charset-normalizer==2.0.4
cli-helpers==2.3.0
click==8.1.3
colorama==0.4.6
configobj==5.0.8
cryptography==3.4.8
cycler==0.10.0
Cython==0.29.24
databricks-sdk==0.1.6
databricks-sql-cli==0.3.2
databricks-sql-connector==2.6.1
dbt-core==1.5.1
dbt-databricks==1.5.4
dbt-extractor==0.4.1
dbt-spark==1.5.0
dbus-python==1.2.16
debugpy==1.4.1
decorator==5.1.0
defusedxml==0.7.1
diff-cover==7.6.0
distlib==0.3.6
distro==1.4.0
distro-info===0.23ubuntu1
dryable==1.1.0
elementary-data==0.8.0
entrypoints==0.3
et-xmlfile==1.1.0
exceptiongroup==1.1.1
facets-overview==1.0.0
filelock==3.8.0
future==0.18.3
google-api-core==2.11.0
google-auth==2.20.0
google-cloud-core==2.3.2
google-cloud-storage==2.9.0
google-crc32c==1.5.0
google-resumable-media==2.5.0
googleapis-common-protos==1.59.1
grapheme==0.6.0
greenlet==2.0.2
hologram==0.0.16
idna==3.2
importlib-metadata==6.6.0
iniconfig==2.0.0
ipykernel==6.12.1
ipython==7.32.0
ipython-genutils==0.2.0
ipywidgets==7.7.0
isodate==0.6.1
jaraco.classes==3.2.3
jedi==0.18.0
jeepney==0.8.0
Jinja2==3.1.2
jinja2-simple-tags==0.5.0
jmespath==0.10.0
joblib==1.0.1
jsonschema==3.2.0
jupyter-client==6.1.12
jupyter-core==4.8.1
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.0.0
keyring==23.13.1
kiwisolver==1.3.1
leather==0.3.4
Logbook==1.5.3
lz4==4.3.2
Mako==1.2.4
markdown-it-py==3.0.0
MarkupSafe==2.1.3
mashumaro==3.6
matplotlib==3.4.3
matplotlib-inline==0.1.2
mdurl==0.1.2
minimal-snowplow-tracker==0.0.2
mistune==0.8.4
monotonic==1.6
more-itertools==9.1.0
msgpack==1.0.5
mypy-extensions==0.4.3
nbclient==0.5.3
nbconvert==6.1.0
nbformat==5.1.3
nest-asyncio==1.5.1
networkx==2.8.8
notebook==6.4.5
numpy==1.23.4
oauthlib==3.2.2
openpyxl==3.1.2
packaging==21.0
pandas==1.3.4
pandocfilters==1.4.3
parsedatetime==2.4
parso==0.8.2
pathspec==0.9.0
patsy==0.5.2
pexpect==4.8.0
pickleshare==0.7.5
Pillow==8.4.0
platformdirs==2.5.2
plotly==5.9.0
pluggy==1.0.0
posthog==2.5.0
prometheus-client==0.11.0
prompt-toolkit==3.0.38
protobuf==4.23.2
psutil==5.8.0
psycopg2==2.9.3
ptyprocess==0.7.0
pyarrow==7.0.0
pyasn1==0.5.0
pyasn1-modules==0.3.0
pycparser==2.20
pydantic==1.10.9
pyfiglet==0.8.post1
Pygments==2.15.1
PyGObject==3.36.0
pyodbc==4.0.31
pyparsing==3.0.4
pyrsistent==0.18.0
pytest==7.3.2
pytest-parametrization==2022.2.1
python-apt==2.0.1+ubuntu<IP_ADDRESS>
python-dateutil==2.8.2
python-slugify==8.0.1
pytimeparse==1.1.8
pytz==2021.3
PyYAML==6.0
pyzmq==22.2.1
ratelimit==2.2.1
regex==2023.6.3
requests==2.28.2
requests-unixsocket==0.2.0
rich==13.4.2
rsa==4.9
ruamel.yaml==0.17.31
ruamel.yaml.clib==0.2.7
s3transfer==0.5.2
scikit-learn==0.24.2
scipy==1.7.1
seaborn==0.11.2
SecretStorage==3.3.3
Send2Trash==1.8.0
six==1.16.0
slack-sdk==3.21.3
soupsieve==2.4.1
SQLAlchemy==1.4.48
sqlfluff==2.1.1
sqlfluff-templater-dbt==2.1.1
sqlparams==5.1.0
sqlparse==0.4.3
ssh-import-id==5.10
statsmodels==0.12.2
tabulate==0.9.0
tblib==1.7.0
tenacity==8.0.1
terminado==0.9.4
testpath==0.5.0
text-unidecode==1.3
threadpoolctl==2.2.0
thrift==0.16.0
tokenize-rt==4.2.1
toml==0.10.2
tomli==2.0.1
tornado==6.1
tqdm==4.64.0
traitlets==5.1.0
typing_extensions==4.6.3
unattended-upgrades==0.1
urllib3==1.26.7
virtualenv==20.8.0
wcwidth==0.2.5
webencodings==0.5.1
Werkzeug==2.3.6
widgetsnbextension==3.6.0
zipp==3.15.0

I've also played today with docker images (with different python versions, 3.9, 3.9.5, 3.10), and can't reproduce the issue. But, I can reproduce it in databricks cluster. IDK where is the difference comes in

I've also tried to reproduce this, but have not been able to.

On dbt-core==1.6.1 and dbt-core==1.6.2 I get something similar (on databricks):
ImportError: cannot import name 'override' from 'typing_extensions' (/databricks/python/lib/python3.10/site-packages/typing_extensions.py)
Fixed by upgrading adding typing_extensions==4.7.1 as a dependency

I've also received the same issue with typing extensions, adding 4.7.1 and it seems to work again but isn't preferable. Should only need to pin a dependency to dbt-databricks not also typing_extensions.

On dbt-core==1.6.1 and dbt-core==1.6.2 I get something similar (on databricks): ImportError: cannot import name 'override' from 'typing_extensions' (/databricks/python/lib/python3.10/site-packages/typing_extensions.py)
Fixed by adding typing_extensions==4.7.1 as a dependency

I got the same issue when running on Databricks Runtime 13.3 LTS. But on Databricks Runtime 12.2 LTS it worked out fine. I did not try to fix typing_extensions==4.7.1 as you did but rather tried to update to the newest version of typing_extensions which did not make it work.
This was tried with dbt-core 1.6.2 and dbt-databricks 1.6.4 + 1.6.5.
Here my full stack trace for further investigation for the devs:
Traceback (most recent call last):
  File "/databricks/python3/bin/dbt", line 5, in <module>
    from dbt.cli.main import cli
  File "/databricks/python/lib/python3.10/site-packages/dbt/cli/__init__.py", line 1, in <module>
    from .main import cli as dbt_cli  # noqa
  File "/databricks/python/lib/python3.10/site-packages/dbt/cli/main.py", line 13, in <module>
    from dbt.cli import requires, params as p
  File "/databricks/python/lib/python3.10/site-packages/dbt/cli/requires.py", line 3, in <module>
    from dbt.adapters.factory import adapter_management, register_adapter
  File "/databricks/python/lib/python3.10/site-packages/dbt/adapters/factory.py", line 8, in <module>
    from dbt.adapters.base.plugin import AdapterPlugin
  File "/databricks/python/lib/python3.10/site-packages/dbt/adapters/base/__init__.py", line 6, in <module>
    from dbt.adapters.base.connections import BaseConnectionManager  # noqa: F401
  File "/databricks/python/lib/python3.10/site-packages/dbt/adapters/base/connections.py", line 35, in <module>
    from dbt.contracts.graph.manifest import Manifest
  File "/databricks/python/lib/python3.10/site-packages/dbt/contracts/graph/manifest.py", line 27, in <module>
    from dbt.contracts.graph.nodes import (
  File "/databricks/python/lib/python3.10/site-packages/dbt/contracts/graph/nodes.py", line 61, in <module>
    from dbt_semantic_interfaces.parsing.where_filter_parser import WhereFilterParser
  File "/databricks/python/lib/python3.10/site-packages/dbt_semantic_interfaces/parsing/where_filter_parser.py", line 14, in <module>
    from dbt_semantic_interfaces.parsing.where_filter.where_filter_dimension import (
  File "/databricks/python/lib/python3.10/site-packages/dbt_semantic_interfaces/parsing/where_filter/where_filter_dimension.py", line 5, in <module>
    from typing_extensions import override
ImportError: cannot import name 'override' from 'typing_extensions' (/databricks/python/lib/python3.10/site-packages/typing_extensions.py)

Hope that helps to fix this issue.

Hi, any updates on this issue? We are running into the same thing. We are implementing Programmatic Invocation here as well and have big plans for it! To isolate this problem I use this small bit of Python code and simply run it from the Databricks Workspace on a cluster that only has dbt-databricks 1.6.6 installed:
print("Starting")

from dbt.cli.main import dbtRunner, dbtRunnerResult

dbt = dbtRunner()
cli_args = ['--version']
res: dbtRunnerResult = dbt.invoke(cli_args)

print("The End")

I have tested it with different LTS Databricks runtime versions (12.2 and 13.3), different Access modes (Shared and Single) and with or without installing typing_extenstions 4.7.1. All using dbt-databricks 1.6.6. These are the results:

DBX runtime
Access mode
typing extension
Result

12.2
Single
Not installed
Perfect, no errors, no warnings

12.2
Shared
n.a.
It is not possible to pre-install libraries in 12.2 Shared

13.3
Single
Not Installed
Same error as mentions in previous post (ImportError: cannot import name 'override' from 'typing_extensions'). Also, the run outputs almost 200 of the same warnings/output lines: <frozen importlib._bootstrap>:914: ImportWarning: ImportHookFinder.find_spec() not found; falling back to find_module()

13.3
Shared
Not Installed
Same result as on Single Access mode

13.3
Single
Typing_extensions 4.7.1 installed
The error is gone and the run succeeds. However, the almost 200 output/warning lines ('<frozen importlib._bootstrap>:914: ImportWarning: ImportHookFinder.find_spec() not found; falling back to find_module()') are still there

13.3
Single
Typing_extensions 4.7.1 installed
Same result as on Single Access mode

My complete stack trace when I get the error looks like this:
ImportError: cannot import name 'override' from 'typing_extensions' (/databricks/python/lib/python3.10/site-packages/typing_extensions.py)
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
File <command-824890481590461>, line 3
      1 print("Starting")
----> 3 from dbt.cli.main import dbtRunner, dbtRunnerResult
      5 dbt = dbtRunner()
      6 cli_args = ['--version']

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/cli/__init__.py:1
----> 1 from .main import cli as dbt_cli  # noqa

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/cli/main.py:14
      6 import click
      7 from click.exceptions import (
      8     Exit as ClickExit,
      9     BadOptionUsage,
     10     NoSuchOption,
     11     UsageError,
     12 )
---> 14 from dbt.cli import requires, params as p
     15 from dbt.cli.exceptions import (
     16     DbtInternalException,
     17     DbtUsageException,
     18 )
     19 from dbt.contracts.graph.manifest import Manifest

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/cli/requires.py:3
      1 import dbt.tracking
      2 from dbt.version import installed as installed_version
----> 3 from dbt.adapters.factory import adapter_management, register_adapter
      4 from dbt.flags import set_flags, get_flag_dict
      5 from dbt.cli.exceptions import (
      6     ExceptionExit,
      7     ResultExit,
      8 )

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/adapters/factory.py:8
      5 from pathlib import Path
      6 from typing import Any, Dict, List, Optional, Set, Type
----> 8 from dbt.adapters.base.plugin import AdapterPlugin
      9 from dbt.adapters.protocol import AdapterConfig, AdapterProtocol, RelationProtocol
     10 from dbt.contracts.connection import AdapterRequiredConfig, Credentials

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/adapters/base/__init__.py:6
      4 from dbt.contracts.connection import Credentials  # noqa: F401
      5 from dbt.adapters.base.meta import available  # noqa: F401
----> 6 from dbt.adapters.base.connections import BaseConnectionManager  # noqa: F401
      7 from dbt.adapters.base.relation import (  # noqa: F401
      8     BaseRelation,
      9     RelationType,
     10     SchemaSearchMap,
     11 )
     12 from dbt.adapters.base.column import Column  # noqa: F401

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/adapters/base/connections.py:35
     26 import dbt.exceptions
     27 from dbt.contracts.connection import (
     28     Connection,
     29     Identifier,
   (...)
     33     AdapterResponse,
     34 )
---> 35 from dbt.contracts.graph.manifest import Manifest
     36 from dbt.adapters.base.query_headers import (
     37     MacroQueryStringSetter,
     38 )
     39 from dbt.events import AdapterLogger

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/contracts/graph/manifest.py:27
     24 from typing_extensions import Protocol
     25 from uuid import UUID
---> 27 from dbt.contracts.graph.nodes import (
     28     BaseNode,
     29     Documentation,
     30     Exposure,
     31     GenericTestNode,
     32     GraphMemberNode,
     33     Group,
     34     Macro,
     35     ManifestNode,
     36     Metric,
     37     ModelNode,
     38     DeferRelation,
     39     ResultNode,
     40     SemanticModel,
     41     SourceDefinition,
     42     UnpatchedSourceDefinition,
     43 )
     44 from dbt.contracts.graph.unparsed import SourcePatch, NodeVersion, UnparsedVersion
     45 from dbt.contracts.graph.manifest_upgrade import upgrade_manifest_json

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt/contracts/graph/nodes.py:61
     59 from dbt_semantic_interfaces.references import MetricReference as DSIMetricReference
     60 from dbt_semantic_interfaces.type_enums import MetricType, TimeGranularity
---> 61 from dbt_semantic_interfaces.parsing.where_filter_parser import WhereFilterParser
     63 from .model_config import (
     64     NodeConfig,
     65     SeedConfig,
   (...)
     72     SemanticModelConfig,
     73 )
     76 # =====================================================================
     77 # This contains the classes for all of the nodes and node-like objects
     78 # in the manifest. In the "nodes" dictionary of the manifest we find
   (...)
     95 # Various parent classes and node attribute classes
     96 # ==================================================

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt_semantic_interfaces/parsing/where_filter_parser.py:14
      7 from dbt_semantic_interfaces.call_parameter_sets import (
      8     FilterCallParameterSets,
      9     ParseWhereFilterException,
     10 )
     11 from dbt_semantic_interfaces.parsing.where_filter.parameter_set_factory import (
     12     ParameterSetFactory,
     13 )
---> 14 from dbt_semantic_interfaces.parsing.where_filter.where_filter_dimension import (
     15     WhereFilterDimensionFactory,
     16 )
     17 from dbt_semantic_interfaces.parsing.where_filter.where_filter_entity import (
     18     WhereFilterEntityFactory,
     19 )
     20 from dbt_semantic_interfaces.parsing.where_filter.where_filter_time_dimension import (
     21     WhereFilterTimeDimensionFactory,
     22 )

File /local_disk0/.ephemeral_nfs/cluster_libraries/python/lib/python3.10/site-packages/dbt_semantic_interfaces/parsing/where_filter/where_filter_dimension.py:5
      1 from __future__ import annotations
      3 from typing import List, Optional, Sequence
----> 5 from typing_extensions import override
      7 from dbt_semantic_interfaces.errors import InvalidQuerySyntax
      8 from dbt_semantic_interfaces.protocols.protocol_hint import ProtocolHint

@thijs-nijhuis-shell I guess it would be helpful if you could find out for each runtime / mode what version of package typing_extensions is used. e.g. run pip freeze | grep typing_extensions and put the version number in a table as given above. Maybe the python version would help as well (python --version).
I guess we should boil that down since here we are in the dbt-core repo, not the Databricks repo.

I guess we should boil that down since here we are in the dbt-core repo, not the Databricks repo.

But shouldn't dbt-core depend on the right typing_extensions as it appearently needs it?

pip freeze | grep typing_extensions

I think I found something interesting when trying to fetch the versions.
First off, there is no difference in type_extensions or python version between Single or Shared clusters. And, obviously, in my runs where I pre-install 4.7.1, that is the type_extensions version pip returns as well. So the only two situation to distinguish are runtime 12.2 vs 13.3.
However, what does make a difference is whether you have dbt-core (or dbt-databricks, same result) pre-installed or not. These are the results:

DBX runtime
dbt-core installed
Python version
Typing_extensions version

12.2
no
3.9.5
4.1.1

13.3
no
3.10.12
4.3.0

12.2
yes (1.6.6)
3.9.5
4.8.0

13.3
yes (1.6.6)
3.10.12
4.3.0

So on 12.2, installing dbt-core also installs a new version op type_extensions. On 13.3 it does not. My guess is that somewhere in the dependencies of dbt-core (or any of its packages) it says type_extensions >= 4.2 or something like that triggering an update on 12.2 but not 13.3. Does that make sense?
BTW, when I look at the requirements of dbt-core itself it says >=3.7.4. So maybe one of the other packages it uses caused the upgrade to 4.8.0 on 12.2.

Yes. Therefore I think we first should identify which version of package typing_extensions is causing issues here

Any idea on how to do that?
I tried running the python script that's in my first post on a cluster with 4.8.0 installed instead of 4.7.1. Same result. No errors, a lot of warnings: ':914: ImportWarning: ImportHookFinder.find_spec() not found; falling back to find_module()'

Hey @thijs-nijhuis-shell, I don't know your setup in Databricks, but if you're using code inside dbx notebooks, please also try this command before running any dbt-api call (restarting python process)

# Restart python process to ensure new installed packages are used
dbutils.library.restartPython()

TBH, dunno why, but it's required if you're installing deps inside the notebook

The root cause of this issue comes from dbt-semantic-interfaces:

https://github.com/dbt-labs/dbt-semantic-interfaces/issues/193

@Almaz-Murzabekov I guess this should not be required when you install packages with the %pip magic or the init cluster script.

The root cause of this issue comes from dbt-semantic-interfaces:

Can't import override from typing_extensions~=4.0 dbt-semantic-interfaces#193

I want to be clear on what the PR in dbt-semantic-interfaces will be resolving. It won't resolve the original issue that was seen in dbt-core 1.5 because dbt-semantic-interfaces wasn't in dbt-core 1.5. However it should help resolve the similar issue seen in 1.6 brought up in September.

As @QMalcolm is calling out, it appears that there are two similar error messages with separate root causes and fixes:

v1.5 ImportError: cannot import name 'Unpack' from 'typing_extensions'
v1.6+ ImportError: cannot import name 'override' from 'typing_extensions'

Based on https://github.com/dbt-labs/dbt-core/issues/7828#issuecomment-1780718825, it sounds like the 2nd one will be fixed by https://github.com/dbt-labs/dbt-semantic-interfaces/issues/193
Based on https://github.com/dbt-labs/dbt-core/issues/7828#issuecomment-1583143556, it originally sounded like the 1st one could be solved by a different version of mashumaro here, but then https://github.com/dbt-labs/dbt-core/issues/7828#issuecomment-1591748406 said otherwise.
So if I'm reading things correctly, we have a fix for dbt-core 1.6+, but do not yet have a path forward for the original issue reported for 1.5.

I'm not convinced it will fully fix 1.6+ either actually unfortunately 😞 dbt-semantic-interfaces wasn't previously excluding typing-extensions >= 4.4, specifically it's version spec for that dependency was ~4.0 which is essentially >=4.0, <5. If the error is happening on a clean install, then a version of typing extensions <4.4 being installed means that there is another dependency that is restricting the typing-extensions version

@QMalcolm and I have done some further digging, and this comment https://github.com/dbt-labs/dbt-core/issues/7828#issuecomment-1780640653 was extremely helpful in our investigation, so big thanks to @thijs-nijhuis-shell
What appears to be happening is Databricks in particular is configuring its initial python environment with typing-extensions set to 4.1, and a subsequent install of dbt-core 1.6 will not update this because 1.6 is set to require ~=4.0.
Since everything works if you install dbt-core (or typing-extensions 4.7.1) first, this suggests databricks is actually perfectly happy with 4.7 or whatever.
However, that databricks 13.3 overwrites the typing-extensions module with 4.3 (while 12.2 leaves that well enough alone) is a bit of a cause for concern. Like, why would it do that?
We're ready to backport the dbt-semantic-interfaces change to address the issue with 1.6, but we'd like to confirm that Databricks 13.3 is happy with a later version of typing_extensions before we merge and deploy. We'll update here once we're done.

Worth noting - there is nothing I can find in dbt-core's existing dependency tree requiring typing-extensions > 4.1.0 OR restricting it to < 4.4. Mashumaro sets the current floor in production at >=4.1.0, so if you install databricks first there's no real reason for pip to update typing-extensions, and if you install dbt-core first there's no real reason for databricks to clobber typing-extensions on 13.3 but not on 12.2.

I think it would make sence then to move this issue over to the Databricks project, or?
@benc-db is that something you could help with to investigate why pip install behavior differs between the Databricks Runtime 12.2 and 13.3?

I can file a ticket; I work on the adapter specifically, so I don't have a lot of insight into the DBR.

The databricks 13.3 runtime appears happy with typing_extensions >= 4.3, so we will merge the relevant fixes into the dbt-semantic-interfaces package today, with plans to deploy the backport tomorrow.
This won't affect existing installations of dbt-core or dbt-databricks, as an update to typing-extensions will not automatically trigger, but new installations should update versions accordingly. Worth noting, the databricks runtime install might still clobber the typing-extensions version on pre-installed dbt-databricks packages, so it could be necessary to install/update dbt-databricks (or even typing-extensions) after the runtime has spun up.
I'll update here when the backport is deployed, as that should address most issues people are encountering with dbt-core 1.6.

The databricks 13.3 runtime appears happy with typing_extensions >= 4.3, so we will merge the relevant fixes into the dbt-semantic-interfaces package today, with plans to deploy the backport tomorrow.
This won't affect existing installations of dbt-core or dbt-databricks, as an update to typing-extensions will not automatically trigger, but new installations should update versions accordingly. Worth noting, the databricks runtime install might still clobber the typing-extensions version on pre-installed dbt-databricks packages, so it could be necessary to install/update dbt-databricks (or even typing-extensions) after the runtime has spun up.
I'll update here when the backport is deployed, as that should address most issues people are encountering with dbt-core 1.6.

Thanks! I will make sure to test it on our end when available.

dbt-semantic-interfaces 0.2.3 has been deployed: https://pypi.org/project/dbt-semantic-interfaces/0.2.3/
At this point, doing a pip upgrade (for existing installations) or doing a fresh install of dbt-core 1.6 or a corresponding adapter package should pin the typing-extensions version to something past 4.4.0.
As mentioned earlier, this will NOT fix issues with 1.5 installs, and even on 1.6 any installation that clobbers the typing_extensions version may still cause problems, but at least if you install dbt-core it should now update typing-extensions appropriately.
Thanks to @Fatal1ty for submitting the quick patch on the DSI side and everyone here (and especially @thijs-nijhuis-shell ) for the detailed info on what was broken.

@tlento, first off, big thanks for the quick fix!
I tested the new version. Ran the same databricks job I used before which all use job clustered so no chance of any pre-installed leftovers.
The good news is that the error is indeed gone! So now, when running on DBX 13.3, I can run my test script without any errors and without installing any typing-extensions version. When I check the typing-extensions after installing dbt-core 1.6.6 it says 4.8.0, just like on DBX 12.2.
The bad news is that the warning I mentioned are still there. So when I run my small script mention in comment 7828, the output is:
Starting
<frozen importlib._bootstrap>:914: ImportWarning: ImportHookFinder.find_spec() not found; falling back to find_module()
...<<this exact warning repeats almost 200 times>>...
<frozen importlib._bootstrap>:914: ImportWarning: ImportHookFinder.find_spec() not found; falling back to find_module()
Core:
  - installed: 1.6.6
  - latest:    1.6.6 - Up to date!

Plugins:
  - spark:      1.6.0 - Up to date!
  - databricks: 1.6.6 - Up to date!

The End

I don't get these warning when running on DBX 12.2.
I don't know if its related to package versioning or if it's caused by the fact that 12.2 uses a different python version (3.9.5) than 13.3 (3.10.12). And I am more than happy to open up a new issue for this if you prefer.
To check the package versioning, I ran the pipdeptree tool that @leo-schick suggested on both 12.2 and 13.3 after installing dbt-databricks 1.6.6. The first list below is of 12.2 and the second for 13.3. I marked each row that uses a different versions with a * at the start in both lists.  Some dependent packages may still use the legacy find_module() methods.
What’s New In Python 3.10 — Python 3.10.13 documentation

Specifically, find_loader()/find_module() (superseded by find_spec()), load_module() (superseded by exec_module()), module_repr() (which the import system takes care of for you), the package attribute (superseded by spec.parent), the loader attribute (superseded by spec.loader), and the cached attribute (superseded by spec.cached) will slowly be removed (as well as other classes and methods in importlib). ImportWarning and/or DeprecationWarning will be raised as appropriate to help identify code which needs updating during this transition.

@thijs-nijhuis-shell if it's always ImportHookFinder that may be due to the newrelic python agent. Upgrading their package may resolve it. https://github.com/newrelic/newrelic-python-agent/issues/436
It doesn't appear that dbt relies on this anywhere, as a clean install of dbt-databricks does not bundle that package, nor can I find any evidence of it (or the ImportHookFinder) being referenced in vendored code within my venv (although I admit I'm not very good at that sort of investigation).

Hi @Hangzhi  and @tlento, thanks for the feedback.
First off, I ran my sample script on the newly release dbt-core 1.7.0 today but I got the old 'typing_extension' error on DBX 13.3. So I think fix didn't make it into that release. I don't have any issues when using dbt-core 1.6.6.
Second, the warnings. As you are probably aware, I am not a seasoned python programmer by any standard so I am struggling a bit on debugging this one. So I'll just write down what I tried (some of which might not make any sense at all) and hope this helps a more knowledgeable person think of something.

I have expanded my debug code with some more imports (datetime and type_extensions) and place debug lines in between. The other impots did not yield any warnings and it is clear that the warnings appear when executing this line: from dbt.cli.main import dbtRunner . So I assume that warnings come from something inside that package or any 3rd party packages it might need. Right?
I looked for 'ImportHookFinder' through all of the code in my venv. Only found it in the 'wrapt' package. Not sure why I have it in my venv. It is not on the dbx cluster when I run it. As a doublecheck, I did install the latest on the job cluster before running but that had no effect.
I installed the latest version of newrelic (9.1.1) before running but no effect
Googling a bit got be to this issue 'https://github.com/ansible/ansible-lint/issues/1919'. I know the message is different but tried to install the latest of ansible and ansible-core anyway. No effect.
When I run my script on a cluster with dbt-core 1.6.6 on it  (so not within a job) I get the message as well. If I run it a second time the warnings are gone. If I 'detach & re-attach' the script and then run it, the warnings are back. But I guess that only means the modules are loaded once, right?

I think I am going to implement this workaround for now but hope we can find a proper fix for this at some point:
with warnings.catch_warnings():
    warnings.simplefilter("error", ImportWarning)
    try:
        from dbt.cli.main import dbtRunner, dbtRunnerResult
    except ImportWarning:
        pass
    except:
        raise

First off, I ran my sample script on the newly release dbt-core 1.7.0 today but I got the old 'typing_extension' error on DBX 13.3. So I think fix didn't make it into that release. I don't have any issues when using dbt-core 1.6.6.

🤦 sorry, I forgot to backport and deploy the change to dbt-semantic-interfaces to the 0.4 branch so 1.7.0 is still using the old dependency. The fix is up in https://github.com/dbt-labs/dbt-semantic-interfaces/pull/205 and should be deployed early next week.
Regarding the warnings, I can't repro them at all on a local install of dbt-databricks~=1.6 into a clean virtual environment, so I suspect they have something to do with either the databricks 13.3 runtime configuration itself, or the specific python environment setup you're using there.
Note if it is due to wrapt, that is packaged with the databricks 13.3 runtime: https://docs.databricks.com/en/release-notes/runtime/13.3lts-ml.html#python-libraries-on-cpu-clusters

The fix for dbt-semantic-interfaces has been backported to the 0.4.latest branch and deployed as v0.4.1.  This should address the import issues described here for dbt-core 1.7.x, although a clean reinstall or manual upgrade of the dbt-semantic-interfaces package might be necessary.
The problem originally raised in this issue does not appear to be due to a dependency mismatch, as the Unpack type was added to typing-extensions with version 4.1, and mashumaro 3.6 (which is where dbt-core 1.5 is currently pinned) requires typing-extensions >= 4.1
I believe the problem was once again with the way databricks runtime installs packages, which may lead it to clobber existing installs back to version pins in the requirements defined for the base dbx runtime environment. Ensuring that dbt is installed after the databricks runtime finishes initializing should now solve all of these issues.
I've added a PR to update the dbt-core dependency to reflect the reality that dbt-core now requires typing-extensions 4.4 or later. Once that merges I think it's safe to consider this issue closed, unless someone here runs into a new version of this same problem.

@tlento , thanks for fixing it for 1.7.x as well and all the effort you put into this.
Unfortunately, my workaround to suppress the warnings doesn't work after all. When promoting the warnings to errors the dbt library is not loaded (completely) which makes sense of course. For some reason, when I set the warnings to 'ignore' instead of error like the python documentation says the warnings are still shown. I have no idea how to solve or workaround this.
The link you added about 13.3 runtime points to 13.3LTS ML. We use 13.3LTS and that one doesn't have the wrapt package installed it seems. I also don't see it when doing the deptreelist.
I also don't get the warning (or the error that is solved now) when running locally. I am going to create a Issue in the dbt-databricks github for this.

@thijs-nijhuis-shell sounds good, thanks. If there's some weird interaction on those warnings that turns out to be something we need to fix on the dbt side please do open a separate issue. Hopefully you can get an update that makes those warnings stop.


 The lazy transformer's output(s) seem to work fine.

Thanks a lot for the quick fix! It's working fine now.


TODO: 5.18 Install an approved tokend for smartcard authentication

I wonder if this can be done with security authorizationdb?
man security | grep smart
          Enable, disable or list disabled smartcard tokens.
          -l              List disabled smartcard tokens.
          -e token        Enable smartcard token.
          -d token        Disable smartcard token.
          security smartcards token -l
          security smartcards token -d com.apple.CryptoTokenKit.pivtoken
          security smartcards token -e com.apple.CryptoTokenKit.pivtoken

I've never worked with SmartCards so not sure how to implement, or even test, really.


Update Activity sometimes not executed (or pending?)

Describe the bug
I'm experimenting with "update activity" to change the content of a message - and it works - mostly. If I try to change a message  multiple times (with small and long delays between the change triggers) sometimes the message does not update.
It seems like the update is somehow pending or not send back to the client - if I have a not-updated message and I react to it (with the emoji reactions), the message updates to the value it should have.
(the bot runs in teams)
Version
Version:  2.1.1
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
I'm using the composer mac app... there is not sha on the about
Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[x] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
explained quit well I hope
Expected behavior
The message should update every time the update is send.

This is not an error in the SDK.
@boydc2014 can you comment on this as to whether the Azure Bot Service should be returning an HTTP status code indicating failure.


Parsed body

We have this processing in client https://github.com/spiral/roadrunner/blob/85a2a735ea51252f6e9cf396b99e0e28f195f9da/src/PSR7Client.php#L100-L106
We got a problem with parsed body, when we send request with content type application/json and in php code we call $request->getParsedBody() and get null, but $req->getBody() return stream which can be used for reading post data
Is it expected behavior?

Yes, RoadRunner does not parse any custom payload types (including JSON), this behavior is compliant with PSR-7. Use payload parsing middleware like this one:
https://github.com/middlewares/payload
or this one
https://github.com/spiral/framework/blob/master/src/Http/Middleware/JsonPayloadMiddleware.php

For what case is this condition created? https://github.com/spiral/roadrunner/blob/85a2a735ea51252f6e9cf396b99e0e28f195f9da/src/PSR7Client.php#L100

I check docs and don't find info about examples using middlewares, this info can be added to docs in future?

 This functionality not a part of RR but your application.

@wolfy-j , thanks for reply


How to change background color of the main page?

Hello guys I was fiddling with this and found the main.pcss file and there was the background color section of the main landing page. I changes it and run the docker container again but it didn't work. What should I do to change the bacground color?

Solved it by rebuilding the Docker container.

Hey @sarptekbas!
Thanks for your interest in the project. I haven't maintained it for a long time now but glad to know that people are still getting some sort of value from it. Let me know if you run into any other issues — I plan to eventually refactor the code & improve it once I have the time.
~ Haden


AL extension doesn't work on macOS

1. Describe the bug
The AL extension encountered some errors and functions stopped working completely.
2. To Reproduce
Open an AL project.
3. Expected behavior
All functions are available, such as publishing, debugging,...
4. Actual behavior
All functions are not working and .app files cannot be viewed.
5. Versions:

AL Language: latest - v11.7.863928
Visual Studio Code: latest - 1.82.2 (Universal)
Business Central: W1 22.0 (Platform 22.0.55180.0 + Application 22.0.54157.55195)
List of Visual Studio Code extensions that you have installed: only AL Language extension for Microsoft Dynamics 365 Business Central.
OS: macOS Ventura 13.5.2, macOS Sonoma 14.0 (beta), darwin arm64 23.0.0,
Device: Macbook Air M1.

We are currently only shipping an x64 version for MacOS. Running x64 is supported on the M1/M2 using Rosetta
The article describes how to set it up. It should automatically install when needed, but since we are invoking the AL language server from with the vsix extension the install dialog may be swallowed.
You should be able to force Rosetta to install running the AL language server from a terminal.
Open a terminal and navigate to $HOME/.vscode/extensions/ms-dynamics-smb.al-13.0.0/bin/darwin/. The version number will be different. Try to run ./Microsoft.Dynamics.Nav.EditorServices.Host to trigger the installation of Rosetta.

Hello @esbenk,
I want to express my gratitude for your assistance in resolving my issue. Your explanation clarified that the AL language extension currently supports only the x64 version on MacOS, and running it with Rosetta is the way to go on M1/M2 Macs.
I followed your advice, and everything's running smoothly now. I really appreciate your quick response and guidance.
Your expertise is a lifesaver. Thanks again for your help!

Hello @esbenk,
I am facing exactly same issue as mentioned and tried to follow all the steps you suggested.
But when I try to run "./Microsoft.Dynamics.Nav.EditorServices.Host". it says "Bad CPU type in executable".
I wonder how can I fix it.


PIV parameter popup backend needs reworked

The parameter popup backend logic is overly complicated and prone to bugs. A refactor is needed.

I don't see this as different from #100 (which is also labelled refactor, backend), so I am closing this and keeping the other open.


Order variables by closeness to executing statement in pure_eval

Part of #805
The idea here is to prioritise values which appear closer to the executing statement. The dict of values is ordered so that trimming removes lower priority values later on.
However this doesn't work in python 3.5 because the ordered dict is actually converted to a regular dict which loses the order:
https://github.com/getsentry/sentry-python/blob/4d91fe0944009a6e02450214f663037dc1ce056c/sentry_sdk/serializer.py#L286-L288
It seems that my options are:

Remove the above line and fix the errors that arise.
Keep the dict ordered when making the copy.
Preemptively trim in the pure_eval integration so order no longer matters.

What do you think @untitaker ?

Note: this will automatically include the function arguments, because, for all the lines except the lowest in the call stack, they lie on an executing statement 👍 I am super excited and eager to try this 🎉

Excellent, thank you!


Enablement for oci-phase-1 configuration in CC

Change rootfs column size to 1024. Diego's desired_lrp table, column roofs has width 255, which is too short to fit an OCI URI that looks like:
preloaded+layer:cflinuxfs2?layer=https://cloud-controller-ng.service.cf.internal:9023/internal/v4/droplets/3f53478e-d606-4380-a248-1b64ec930edd/753660e34a49c5985dd544ab184a990c1d27d3a996a13220c8a3bc8c9393e191/download&layer_path=/home/vcap&layer_digest=753660e34a49c5985dd544ab184a990c1d27d3a996a13220c8a3bc8c9393e191
[#149234807]
Tracker: https://www.pivotaltracker.com/story/show/149234807
Signed-off-by: Tom Godkin<EMAIL_ADDRESS>Signed-off-by: Ed King<EMAIL_ADDRESS>Signed-off-by: Craig Furman<EMAIL_ADDRESS>

Thanks, @BooleanCat! Is there any other work you have in mind that would necessitate an even larger size to the rootfs column? I see that that URL is 317 characters in total, so the URLs of this form would fit into that new 1024 comfortably.
Best,
Eric

We are still building out oci compatibility within garden/grootfs and there's a possibility that we might need to put more stuff in this URL later as we learn more.
A size of 1024 somewhat future proofs us against that possibility.

Merged via https://github.com/cloudfoundry/bbs/commit/7699bb268379f8ae2c0c1ec8c0b1623fbd3496a6.


Support for 'is null' in 'order by' (#3667)

Attempt to resolve issue #3667
add support to order nulls in order by with 'first' and 'last' option.
'first' add 'is not null' in order by clause (=> put nulls in first position)
'last' add 'is null' in order by clause (=> put nulls in last position)

TS types need to be updated, and we also need documentation updated for this.

@OlivierCavadenti It appears that MSSQL doesn't support that, and one would need to implement hacks to get that working: https://stackoverflow.com/questions/5886857/sql-server-order-by-date-and-nulls-last
If you feel like implementing custom solution to get that working with MSSQL, that would be great, but if that's too much work, throwing an error when trying to use that param on MSSQL is also sufficient.

@OlivierCavadenti It appears that MSSQL doesn't support that, and one would need to implement hacks to get that working: https://stackoverflow.com/questions/5886857/sql-server-order-by-date-and-nulls-last
If you feel like implementing custom solution to get that working with MSSQL, that would be great, but if that's too much work, throwing an error when trying to use that param on MSSQL is also sufficient.

I will see what I can do to get that working with MSSQL. Thanks for the link.

Thanks a lot! Can you also add documentation for this?


Update elastic-scale-introduction.md

Elastic Database jobs should be listed as a preview function like Elastic Database query is.

@crazy1bryan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@crazy1bryan - thanks for the clarifying update!
#sign-off

@crazy1bryan - thanks for the clarifying update!
#sign-off


Libp2pbitswap ci timeout dev

dev version of https://github.com/MinaProtocol/mina/pull/12175/commits

!ci-build-me


Sample figure for the documentation

Is your feature request related to a problem? Please describe.
I am not sure what this library achieves is exactly what I want.
Describe the solution you'd like
You could add a sample figure to the README file.

@canertol Thanks for your suggestion. What would you propose this figure to show?


Adding Regular octagon in Calculator for Shapes

I Want to add Regular octagon in calculator for shapes.
Please assign this to me under GSSoC.

Please assign this to me @sairish2001 @apekshamanchanda @shrey27tri01

Go ahead
Deadline 22 April,2021 11:59 PM IST


Adding HuggingFace connector?

Should we have a huggingface model connectors too? I mean there are certain cases, where I would be prefering huggingface rather than ollama since, it gives me more room for customisation. Let me know I will add a small PR for it then :)

This is a good idea.

This is a good idea.

Great I will put a PR for the same

Hi @Anindyadeep any update on this?


Training OOM

Hi, I want to know what GPU do you use for training?
I use a V100, but it kept reporting out of memory. I have turned off the 'convert_models_to_fp32'.

I notice that in your paper you mentioned experiments using a single 3090.
So is it because I train it on my own dataset, and there exists 7 tasks?

Maybe, try using smaller batch size

You may also tring setting opt = 1 in Lin127, which freezes the weights of text encoder. Empirically, this would not affect the final performance very much, but can significantly reduce the memory cost.

Maybe, try using smaller batch size
set batchsize = 1 still cause OOM, quite strange....

Maybe, try using smaller batch size

set batchsize = 1 still cause OOM, quite strange....

You may also try setting opt = 1 in Line127, which freezes the weights of text encoder. Empirically, this would not affect the final performance very much, but can significantly reduce the memory cost.

This works, thanks! Meanwhile, I will still try to find the way to not freeze the text encoder


Docking DockContent to DockPane with given pane proportion

In an older version of DockContentHandler was the method
        public void DockTo(DockPane pane, DockStyle dockStyle, int contentIndex, double proportion)
using which was possible to create Pane with give proportion value. But in the latest version this method was removed. Is there any other way to set proportion of a new Pane?

Which version?

Seems that it was my own modification. Sorry for this mistake. But anyway would be nice to have a possibility to set a DockPane proportion.


Include libcurl into the bazel build

Currently tensorflow serving project will build gcs_file_system target which may fail, with the following message:
ERROR: /home/heliangliang/work/tensorflow/tensorflow/core/platform/cloud/BUILD:49:1: C++ compilation of rule '//tensorflow/core/platform/cloud:http_request' failed: gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE '-D_FORTIFY_SOURCE=1' -fstack-protector -Wall -Wl,-z,-relro,-z,now -B/usr/bin -B/usr/bin -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-canonical-system-headers ... (remaining 100 argument(s) skipped): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
In file included from ./tensorflow/core/platform/cloud/http_request.h:22:0,
                 from tensorflow/core/platform/cloud/http_request.cc:16:
tensorflow/core/platform/cloud/http_request.cc: In member function 'virtual tensorflow::Status tensorflow::HttpRequest::Init()':
tensorflow/core/platform/cloud/http_request.cc:219:30: error: 'CURL_HTTP_VERSION_2_0' was not declared in this scope
                              CURL_HTTP_VERSION_2_0);

The reason is gcs_file_system dependens on libcurl 7.33.0+, and this is higher than the default package versions of many Linux distros.
It's better to include libcurl as bazel build library instead of using the system one.

For Linux we are supporting Ubuntu 14   and newer which has 7.35.  RHEL 6 currently does have an older version at 7.19, but that is 6 years old at this point and ending its production phase 1. We don't generally promise to make changes to support older Linux systems, but maybe this is an easy change.   @jart could you take this?

I would love to integrate libcurl into the bazel build. I'll do this at some point in the next two months.

Thanks @jart and thanks for the suggestion @llhe

Even RHEL7 / Centos7 only has libcurl 7.29 as default.  As a result, building from r0.11 source and selecting GCP support during configure will fail when building the pip package.

This feature would be very helpful. I had to manually install the latest version of libcurl on Centos 7, and compile with bazel build --cxxopt="-I/<path_to_latest_curl_include_dir>" -c opt tensorflow_serving/... to get it to work.

I've written up a change internally that makes Bazel build libcurl from scratch. This is one of the most challenging vendor libraries we've dealt with so far. libcurl has a pretty large set of configure defines. We're getting more eyes on the BUILD file we've written to make sure we're doing it correctly. I can't make any promises this is going to work. But with a little bit of luck, this change might be good enough to be merged. Then no one should hopefully need to worry about curl again.

@jart What about using mkdir tmp && cp to tmp && pushd tmp && configure --prefix=target-bazel-out-path && make && make install && popd && rm -rf tmp? It's much easier to make the integration.

I wish it were that simple @llhe. The problem with building it that way inside a genrule is that Bazel wouldn't be building it anymore. It would be delegating the build to autotools, m4, make, libtool and friends. That may or may not work depending on how the system is configured. So we usually end up writing our own build code for these things, e.g. jpeg.BUILD, with tightly controlled versioning and configuration. That way builds should be guaranteed to work on the systems we support, so long as Bazel works, and the only tool/library the user needs to worry about installing is Bazel.

Can I see your build file, I am struggling with libcurl myself

@GregBowyer Here is an example that I use to build another 3rd party poco library which is also configure-make-make install pattern, hope this can help:
POCO_HEADERS = [
        "include/Poco/Process.h",
        "include/Poco/MemoryStream.h",
        ......
]
POCO_LIBRARIES = [
        "lib/libPocoNetSSL.a",
        "lib/libPocoCrypto.a",
        "lib/libPocoNet.a",
        "lib/libPocoUtil.a",
        "lib/libPocoXML.a",
        "lib/libPocoJSON.a",
        "lib/libPocoFoundation.a",
]

genrule(
    name = 'make',
    srcs = glob(
        ["**/*"],
        exclude = ["**/*.psd", "**/*.txt"], # supress bazel complain
    ),
    outs = POCO_HEADERS + POCO_LIBRARIES,
    cmd = "pushd $$(dirname $(location configure)); workdir=$$(mktemp -d -t poco-build.XXXXXXXXXX); cp -aL * $$workdir; pushd $$workdir; ./configure --static --cflags='-fPIC -Wl,-Bdynamic -lpthread -Wl,-Bdynamic -ldl -Wl,-Bdynamic -lrt' --omit=ApacheConnector,Data,MongoDB,PageCompiler,CppParser,CppUnit,NetSSL_Win,PocoDoc,PDF,ProGen,SevenZip,Zip --no-sharedmemory --no-sharedlibs --no-fpenvironment --no-tests --no-samples --prefix=$$workdir/install; make -j10; make install; popd; popd; cp -a $$workdir/install/* $(@D); rm -rf $$workdir",
)

cc_library(
    name = "poco",
    hdrs = POCO_HEADERS,
    srcs = POCO_LIBRARIES,
    includes = ["include"],
    visibility = ["//visibility:public"],
    linkopts = [
        "-lssl",
        "-lcrypto",
    ],
)

Would adding libcurl dependency work in windows?
Or does windows make things infeasible here?

I strongly recommend against running configure, make, and make install inside a genrule.

@gunan @jart I'm not suggesting to push this into trunk, but provides a quick hacking solution for whom has this problem now. Of course, comment out the gcs rule is much more easier.
We use this approach internally because the library we need to integrate is really nasty to convert to normal Bazel rule and we don't want to invest too much time on this because we don't use bazel except tensorflow.

yeah I am not running make in my BUILD

This should be fixed now. See https://github.com/yifeif/tensorflow/commit/bb890ea5fa4c8a2100a295e93c5bf37b3c88b55a. So happy I was able to help you guys! Thank you for your patience.

Whoops, re-opening because that commit hasn't been merged into master yet.


CLI to generate de components in the project

What?
Maybe this is already possible but reading the readme looks the idea is that components live in the package and not in my project so I can't modify it. Is that tre case?
Anyway awesome work. Today I just started playing with elixir and this package look great!

Thanks for your suggestion, currently you have to copy and setup manually to copy component to your project.
Maybe I will add document to setup first. Build CLI would take much time.

Cool thanks for the response!
I'm checking the code and trying to understand how hard would be to do the CLI. If I understand correctly the parts here are

Tailwind + Tailwind config + Tailwind colors
The components

I think shadcn let users to configure tailwind and colors on their end and the CLI does the generation of the components.
Wouldn't be possible to have Phoenix-like generators inside this package that generate the components? I have to look more into this because I think a cli approach is awesome in my experience with shadcn js version

Yeah. The hard part is how to patch existing files: tailwind.config.js, config.exs, etc.
Command to copy/install a component is pretty easy

Yeah. The hard part is how to patch existing files: tailwind.config.js, config.exs, etc.

That's true, I didn't though about it. Maybe is already a solved problem. This can be done the nice way with a AST or the hacky way with regex. But no idea. Also never worked with elixir before other than toy projects.
Anyway thanks for your time, I might keep thinking on this but feel free to close this issue : )

Thanks. It's a part of my plan. So I'll close when it's done

Great work on the project. Going to give it a try.
You might look at using https://github.com/ash-project/igniter to make setup really east for people. It can install and patch files in an existing project. Can probably even use it to install (copy) components into a project.

Hello!
I've been doing some research, and I believe I can solve the issue of patching files using regex. There are essentially four files to patch (config.exs, tailwind.config.js, app.css, and app.js), and most of them aren't too complicated. I checked out igniter, but from what I can tell, it only patches Elixir files, not other types. Given the setup of this library, I think a regex-based patching method could be a more accurate, though I'm interested in hearing other ideas if anyone has a different solution.
I'm open to contribute to this project building the CLI. We could have two mix tasks, init and add, one for automate all the setup proccess to use the library and the other for add components, respectively. The init task could handle patching the necessary files, and the add task could use EEX templates to insert components into the user's project with the correct module names.
@bluzky, please let me know if this approach seems appropriate. If so, I'll go ahead and open a PR.
Also, thank you very much for the amazing work on this library.

@selenil I totally agree with you. I used to have the same idea.
Would love to see your PR

Close this due to implemented in #54


Doesn’t connect to my IP

I see a lot of people having the same issue under the YouTube video titled “ACNH poker tutorial”. I installed sys bot base correctly as my switch tells me so, I put in the right IP adress and it always says “ACNH poker has crashed” crashes and comes up with the error fix stuff (did everything it told me to). I even tried installing every version of sys bot base and seeing if each one would work. Unfortunately it didn’t. Is this something wrong with the program or it’s too outdated? Just wanted to know as this mod looked great it just never works.

Please provide a screenshot of the error message that you received.
If there is a "more detail" page, please also provide that info too.

Hello thank you for your response here’s the error message I’m getting, I’ve looked further into it and I’ve installed everything correctly and have the latest version of animal crossing and my system says sys bot base is running correctly as it says “AMS” by my software in the photos below. I’ve also put the correct IP in on the system (also shown below) tried restarting my software and done everything the error message has told me and still not working. I don’t have any other mods installed that would mess this up either.

If sysbot-base was installed correctly the home button will glow blue on startup. Post screen shot of the contents folder within atmosphere folder.

This is how the joy-con LED looks like when you boot up the Switch:

But since you are using a third-party joy-con. It might not have the LED for the home button.
Please check the following location: SD: \ atmosphere \ contents
It should contain a folder for sys-botbase:<PHONE_NUMBER>00000B

If you are sure that everything above is correct,
then it is possible that your network might have blocked the connection of sys-botbase.
You can try setting up a Wifi hotspot using your mobile phone.
Then connect both your PC and your Switch to that Wifi hotspot then try again.

Heya thank you for helping yet again unfortunately neither worked :( used my iPhone hotspot with my switch and computer and the same error message came up. And yes haha they aren’t the usual joycons so I don’t think the home button would light up as these are pretty cheap ones and for some reason they flash constantly. Here’s the screenshots of my SD card and contents folder :)

There is your problem. You did not install sys-botbase correctly.
Here is what it looks like inside<PHONE_NUMBER>00000B

The flag folder and the exefs.nsp file.
Here is what it looks like inside the flag folder

The boot2.flag file.
There is no sys-botbase-2.31 folder at all.

Thank you so much I couldn’t find any tutorials on YouTube that were clear of how to install sys bot base clearly.  :)


🚀 Combine Stage1 with Stage2

:rocket: Feature
Combine stage1 with stage2 such that it is possible to switch with a config between centralized and decentralized use with hedera.
Dev Problem

No longer porting new features and bugfixes between stage1 and stage2.
Simpler testing for most of functions without needing a hedera account for it.

User (People which will host it) Problem
User can decide bythemself which version they like to use and can test gradido without hedera account for example for
the gradido-game.
Implementation
Starting from stage2:

implement config in community-server to decide which system to use
update login-server stage2 to able to use both systems
decide if using old transaction task system for centralized transactions or better orient at new system from stage2
update community-server to prevent using both systems on same dataset

I really like this! This way we will have a stable API across technology choices


chore: update yarn.lock to resolve to the same version of ejs

Description of changes

Issue #, if available

Description of how you validated changes
Checklist

[ ] PR description included
[ ] yarn test passes

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #10313 (9989e46) into master (846048c) will increase coverage by 0.18%.
The diff coverage is 83.54%.

@@            Coverage Diff             @@
##           master   #10313      +/-   ##
==========================================
+ Coverage   54.25%   54.43%   +0.18%
==========================================
  Files         849      854       +5
  Lines       46939    47043     +104
  Branches    10004    10025      +21
==========================================
+ Hits        25467    25609     +142
+ Misses      19456    19419      -37
+ Partials     2016     2015       -1

Impacted Files
Coverage Δ

...mation/service-walkthroughs/appSync-walkthrough.ts
15.30% <0.00%> (ø)

...r-utils/awscloudformation/utils/layerCloudState.ts
15.49% <0.00%> (-0.23%)
:arrow_down:

...amplify-category-geo/src/service-utils/mapUtils.ts
57.69% <ø> (ø)

...amplify-cli-core/src/feature-flags/featureFlags.ts
80.85% <ø> (ø)

.../extensions/amplify-helpers/update-amplify-meta.ts
14.01% <0.00%> (ø)

...auth-transformer/src/__tests__/acm-test-library.ts
100.00% <ø> (ø)

...-auth-transformer/src/resolvers/mutation.create.ts
95.45% <ø> (+6.81%)
:arrow_up:

...-auth-transformer/src/resolvers/mutation.update.ts
95.65% <ø> (+6.52%)
:arrow_up:

...y-graphql-auth-transformer/src/resolvers/search.ts
68.31% <ø> (ø)

...ql-auth-transformer/src/resolvers/subscriptions.ts
100.00% <ø> (+4.16%)
:arrow_up:

... and 69 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Remove kokoro workaround for cloud sdk

The workaround is now breaking the build. What a life we live.


Add an optionalFrom to create [RawRepresentable]?

This fixes #66

Any chances to get this merged? 😁

This is super super super late, but I just merged https://github.com/lyft/mapper/pull/125 with support for this. Sorry about that.


fix: race condition on cluster creation

Resolves #347
Description
When multiple threads attempt to start a cluster, it's possible that the check here is True, but by the time it tries to trigger cluster start here, the cluster has already been started by another thread and is in "RUNNING" or "PENDING" status.
In such cases API returns an error "Cluster [cluster_id] is in unexpected state Pending." or "Cluster [cluster_id] is in unexpected state Running."
Current logic throws exceptions in this case. This fix allows it to continue and wait for cluster start if needed.
This could probably be also backported to versions 1.6 and 1.7
Checklist

[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have updated the CHANGELOG.md and added information about my change to the "dbt-databricks next" section.

Looks good, running functional tests now.

Can you either give me edit, or add your 'thank you' to the changelog?  Just want to make sure you're credited in there :)

I was only planning to release in 1.8.5, but if you are on an earlier version, I will backport.


Reference section should follow AGU formatting guidelines

The reference section should be in a standard format – APA was suggested by the APT team.
Current Behavior

References are listed in the order that they are cited in a document

Expected behavior
The reference section follows the AGU style guide for references.

References follow the following format:

Lastname, firstinitial. (year). Title. Volume(issue), pages. Publisher. DOI
Smith, B, (2019). Title of something. 5(6), 23-35. APT Publishing Corp. https://doi.org/xx.xxxx/xxxxxxxx

(☝ without hyperlink stylizing)

References are listed in alphabetical order (by the first letter of the author's last name)

If only 1 author and they have the same name, list them in order of year (oldest first)

Smith, B. (2019)...
Smith, B. (2020)

If two or more authors and the same first author, order alphabetically by the 2nd author

Smith, Bob & Raccoon, Roger (2023)
Smith, Bob & Ziller, Zilly (2018)

If three...

If author doesn't exist, list by year provided in chronological order (after authors)

Zhang, Liu (2019) ...
(2019) ...

If author and date don't exist, list by title after author and date section.

Zhang, Liu (2019). Title...
(2019). Title...
Title...

Acceptance Criteria

[x] Reference section includes all relevant fields in the correct format (☝ 1.1 and 1.2)
[x] Reference section is in alphabetical order
[x] Reference section should only include references that are cited in the document.
[x] Reference titles should be italicized
[x] Reference volumes should be italicized

Future steps

[ ] #664

@bwbaker1 and @deborahUAH, there are many exceptions to the rules listed both in APA styling format requirements and in the AGU submission requirements. Sometimes AGU and APA differ, and we do not know which format and exemption to follow. Further, there are many rules related to the type of reference (journal article, book, website), but we are not tracking this information in the "add reference" section.
We strongly believe that users should be responsible for the content of their references, and not that we should rely on code to sort out their incomplete reference submissions. We also think that, given the demand to deliver functioning PDF exports quickly, we do not focus our time on coding in all of the complex logic that AGU & APA demand. Many of them seem like edge cases at this point, and serve the user very limited value (in my non-academic opinion).
cc @batpad

@bwbaker1 answering your question in the testing spreadsheet here – we are not tracking the reference type (book, journal, etc.). It's my understanding that this was agreed to before I joined the project for the purpose of feature prioritization and prioritizing ease of use.
If we think that building out a full reference manager is a valuable feature to implement, we can explore that after implementing these acceptance criteria. It would be a considerable about of work, involving frontend, backend, and rendering changes.
cc @deborahUAH @batpad

@wrynearson @batpad Testing results here (rows 35-45).
The reference section is getting close (just minor formatting issues). I think this can be pushed to PROD.
cc @deborahUAH

@bwbaker1 here you're suggesting that we change the default style for references.
Current default style:

astname1, firstinitial1, lastname2, firstinitial2, & lastname3, firstinitial3. (year). Title. Volume(issue), pp-pp. Publisher. https://doi.org/xx.xxxx/xxxxxxxx

Newly suggested default style (to match journal citations):

lastname1, firstinitial1, lastname2, firstinitial2, & lastname3, firstinitial3. (year). Title. Series, Volume(issue), pp-pp. https://doi.org/xx.xxxx/xxxxxxxx

@wrynearson Yes except "Issue" is not italicized and add a period after each author's initial.
Suggest this:
lastname1, firstinitial1., lastname2, firstinitial2., & lastname3, firstinitial3. (year). Title. Series, Volume(issue), pp-pp. https://doi.org/xx.xxxx/xxxxxxxx

OK thanks @bwbaker1. I can't guarantee that we'll get this lined up and tested before next Wednesday because it's a mid-sprint change, but I'll let you know if we do so that your side can test. cc @batpad @kamicut @frozenhelium

@wrynearson No problem. This is a minor formatting detail compared to getting every merged to production.

I'm closing this ticket for now. We'll need to discuss reference section capabilities based on priorities for FY23Q3 and the scale of related features (e.g., storing the reference type)


test: fix and run unit test for CartLineQuantityAdjustButton

Description
In looking at #340 I discovered that it was already fixed in #351. However, no tests were added in #351 which led me to explore why.
Turns out that CartLineQuantityAdjustButton tests have been skipped since #33; that's because the unit tests were relying on the implementation details of other components - components which already have their own tests, and probably shouldn't be breaking these unit tests.
With that in mind, I thought it may be best to mock out those other components here, which allows this component to do some basic unit tests again and verify that it is working correctly.
If you feel like this test is good, then I'll go and fix the other tests in this file (and add any additional ones that may be necessary) before merging.
Additional context

Did I remove too much?
Should I test additional things, or change what I'm currently testing?
Are these even valuable to keep / fix?

Before submitting the PR, please make sure you do the following:

[ ] Add your change under the Unreleased heading in the package's CHANGELOG.md
[ ] Read the Contributing Guidelines
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[ ] Update docs in this repository for your change, if needed

Addressed comment, and fixed the remaining broken tests. Also added a new test for 'remove'


We continue with the changes.

This design is very visually appealing and user friendly! Really good job Emma 👍

@DavidMatthewFraser
Yes, it is a good idea to do that. What else should I change in the instructions?

Maybe instruction 2. could go from Then place the container div with the class info-container, inside it are the containers that must be modified. to Each source type is wrapped in a div of class .list and all these divs are wrapped in a div of class .info-container

@SyntappZ
Oh it's true !. Now I fix it. Sometimes I get so excited when what I wanted to do finally comes out that I don't realize those mistakes 😄


docker-compose.exe build php-fpm: Unknown instruction: PECL

windows!
$ docker-compose.exe build php-fpm
Building php-fpm
ERROR: Unknown instruction: PECL

$ docker-compose.exe build --ull php-fpm
Building php-fpm
ERROR: Unknown instruction: PECL

as I think is windows problem


CI: fix maven-settings-xml-action for PRs from outside the repo

whenever a PR does not originate from a branch within this repo the CI fails:
Run whelk-io/maven-settings-xml-action@v21
[xmldom error]	invalid doc source
@#[line:0,col:undefined]
Error: Cannot read properties of undefined (reading 'nodeType')

accordingly the tests are not being executed. this has never worked in this repo and needs to be fixed.

Hey @rursprung this a security measure: if we ran tests from any repo PR our secrets may be exposed by malicious code by unknow people. That's why we only run test from trusted contributors that have commit access like you, and for the other ones we need to "Approve" before running them.

but it crashes instead of just waiting for approval (there's a dedicated approval step) - so i still think this is a bug.
if you check e.g. this workflow run you can see that it passed the "authorize" step.
also, this has always crashed, even when you approved it.
there are also some built-in measures in GitHub to deal with action runs for outside contributors, see their docs. this might be a better approach than just crashing the script?


Feature charts: Need to add NeuVector chart 100.0.5+up2.4.4 in 2.6.x

NeuVector has released app version 5.1.3 along with helm chart 2.4.4, which need to added to Rancher feature charts version 2.6 (release-v2.6). We might need to do as OOB.
CC: @gunamata @rohitsakala

Chart PR
https://github.com/rancher/charts/pull/2644

We don't release anything in 2.6 anymore.
cc @gunamata


New app created with @backstage/create-app fails to build

A new app created with @backstage/create-app fails to build.
Expected Behavior
The app should build successfully.
Current Behavior
The following error is outputted when running yarn build
Error: Failed to compile.
/backstage-app/node_modules/graphql-language-service-interface/esm/GraphQLLanguageService.js 100:23
Module parse failed: Unexpected token (100:23)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|         }
|         let customRules = null;
>         if (extensions?.customValidationRules &&
|             typeof extensions.customValidationRules === 'function') {
|             customRules = extensions.customValidationRules(this._graphQLConfig);

error Command failed with exit code 1.
lerna ERR! yarn run build exited 1 in 'app'
error Command failed with exit code 1.

Steps to Reproduce

Create a new app with npx @backstage/create-app (Doesn't matter if it's SQLite or Postgres)
Run yarn build in the root directory of the new app

Your Environment
Tried NodeJS 12 & 14 on Windows 10, WSL (Ubuntu 20.04) and in a Docker build using node:14-buster.

Closing as duplicate. Please see https://github.com/backstage/backstage/discussions/5298#discussioncomment-600702


Account page enhancements

Change password
Display list of active games with "join" link
Do not show account icon unless logged in
Add 'forgot password' link to login page

Add game stats (games played, games won, average score, best score, etc.)?


Updating Changelog for 2019-12 monthly release

Should we mention features that we added or something like that?
I am thinking about the accidental support for stack scripts #1453
And now even in default mode you can open test and executable components which did not work before, and Cabal 3.0 support?

fendor, do you have a more comprehensive list?  If you put it in a comment here, I will add them, else make a PR on my ChangeLog.
If it is only those things, I will just add them.

I can not think about much more:

Cabal 3.0 support.
Support for stack scripts.
Work on test, executable, benchmark and library components at the same time.
Set the build-tool to use explicitly.
Various memory leaks have been fixed. (empirical, can be omitted)
Various performance improvements. (empirical, can be omitted)

Other important changes:

Disabled HaRe (rename, caseSplitCmd, etc...).


在ios端为什么我不能得到歌曲的URI？另外一般如何去播放呢？

Hello, could you please try to write in english? i can't understand japanese, i won't use google translate for understand what are you trying to say.
Thanks

@cinder92 he speaks in Chinese ---》 "Why I can not get the URI of the music on IOS? And how to play the music"。
@Wirhui 这个 模块只是用来获取音乐列表的，播放用其他的模块。
Thanks cinder92 , this module is helpful for me :)


PyDoc and minor style clean

In this pull request you'll find heaps of documentation added for the public parts of the API. There are still some unknowns/uncertainty (look for indicators "XXX" within model.py. But the bulk of the public API's documentation should be in place and in a good starting shape at least.
In one case a public attribute for a class has been pulled out of being created within the __init__ constructor to a class attribute to aid in using the common mock package for unit testing with it.

Coverage increased (+0.005%) to 90.53% when pulling 559996bfca18df0bd20125970a1922f01786d93b on pohutukawa:pydoc-and-minor-style-clean into bab9ba3b8434ee83e8c02c221b408b6730926ea6 on trungdong:master.

Excellent. These are super useful. Thanks a lot, @pohutukawa.


Add exited at to events and delete requests

Fixes #727
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

@mlaventure can you double check the windows code for me in this one?

Codecov Report

Merging #739 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #739   +/-   ##
=======================================
  Coverage   62.46%   62.46%
=======================================
  Files           5        5
  Lines         682      682
=======================================
  Hits          426      426
  Misses        160      160
  Partials       96       96

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d41f146...275c6b2. Read the comment docs.

LGTM with several questions.

LGTM

@mlaventure updated the windows code PTAL


rpc(config): Add a mining section with miner address to config

Motivation
The getblocktemplate RPC method is going to need a miner address. The miner should be able to change its mining address via config similar to zcashd.
This will close https://github.com/ZcashFoundation/zebra/issues/5456
Solution
A basic setup of the new section behind the getblocktemplate-rpc feature. The new config section is currently not used anywhere. No test is done as i think it might not be needed.
An alternative to this can be to kust add a new field to the rpc section instead of adding the mining one.
Review
Anyone can review and request changes. I added it as a draft initially so we can change if needed. Feel free to request tests as well.
This is low priority at the moment.
Reviewer Checklist

[ ] Will the PR name make sense to users?

[ ] Does it need extra CHANGELOG info? (new features, breaking changes, large changes)

[ ] Are the PR labels correct?
[ ] Does the code do what the ticket and PR says?
[ ] How do you know it works? Does it have tests?

We might want to add the feature and release name to this new config:

0: latest zebrad config is not being tested for compatibility.
Run:
zebrad generate |
sed "s/cache_dir = '.*'/cache_dir = 'cache_dir'/" >
zebrad/tests/common/configs/.toml
and commit the latest config to Zebra's git repository

https://github.com/ZcashFoundation/zebra/actions/runs/3341437178/jobs/5532684048#step:15:15033
I opened ticket #5494 for this:

ERROR: (gcloud.compute.ssh) There was a problem refreshing your current auth tokens: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

https://github.com/ZcashFoundation/zebra/actions/runs/3341437225/jobs/5533308842#step:6:84

It looks like the getblocktemplate config is failing the config_tests when --feature getblocktemplate-rpcs isn't active.

Error: error: zebrad fatal error: parse error: unknown field mining, expected one of consensus, metrics, network, state, tracing, sync, mempool, rpc at line 67 column 1

https://github.com/ZcashFoundation/zebra/actions/runs/3345955487/jobs/5543101323#step:3:12641
We could put the new config in a different directory, and test both directories with --feature getblocktemplate-rpcs?
Let me know if you'd like help with that.


Create setting page

Use wireframes to make  settings page.

Can I take this

Nope 😅 one at a time.

Now can I take this

Sure


Let the user declare extra types

Following https://github.com/nsensfel/tonkadur/issues/17, the user can declare extra computations and extra instructions. It is still not possible to use Fate to define constructs containing instructions or executing computations in a particular order. However, there shouldn't be any difficulty in adding a way to declare extra data types:
*(declare_extra_type {String}): declares a non-comparable extra type.
*(declare_comparable_extra_type {String}): declares a comparable extra type.
Since they are neither compatible nor comparable with the native Fate types, those types would mostly be used by extra computations and extra instructions, but the ability to store and pass them around is still very useful.

This is being done in the parser_rework branch.

Done in 050e329f2a2e2367c2e4f1965190b0f6a5addf29.


[BugFix] Support show full fields syntax.

Signed-off-by: Astralidea<EMAIL_ADDRESS>What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #17233
Problem Summary(Required) ：

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 2.5
[x] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_admit_test

run starrocks_admit_test

@Mergifyio backport branch-2.5

@Mergifyio backport branch-2.4

@Mergifyio backport branch-2.3


cargo: add.

This is a prototype of a package management tool for Rust. Run with no arguments
for usage information. Man page to be written.
Signed-off-by: Elly Jones<EMAIL_ADDRESS>

This is for <#866>, by the way.

Looks great! How do you intend to keep UUID list relevant? Wouldn't that have to include every version of every Rust module ever written to be useful? I think a by-name curated list, pointing at git/svn/hg repositories (tags for versions) OR multiple tarballs (one per version), would be more useful. If we support 'registering' multiple source lists (as in apt) that would be nicely decentralized, allow for a tool that indexes and searches packages, etc.
(Which is for the future. I have no objection to merging this patch.)

Nice, do you plan to add package-dependencies?

This is great. I'm glad to see such things develop. A few notes:

I agree with marijn that if we're going to have a central (and hopefully, apt-like, extensible) registry-of-packages (say cargo.rust-lang.org as a default that we operate) we ought to permit grabbing them by short-name as well as UUID. That is, we should insist that anyone registering a package in a given cargo registry makes their package name unique to that registry, and the tool should probably default to just searching for a short-name, in the configured registries, if asked to fetch/install a schema-less pkgref (one lacking a ":" character)

Rust can run subprocesses and (using librustc) parse its own crates. I was hoping to have this sort of tool not require too many additional tools; at risk of asking you to rewrite again, do you think this could be done in rust, and use crate-file attributes rather than separate manifests to dictate additional information? Just trying to err on the side of "fewest possible moving parts". Requiring python and shelling out to configure-and-make seems like more parts than I'd imagined.

In any case, promising start! I like the look of it.

graydon: The short-name thing ought not to be a problem. As for parsing .rc files / rewriting in rust, I think that is a good idea; I didn't do it at first because I was unfamiliar with the librustc API. I believe that cargo as it is now (the python version) could be rewritten using only crate metadata.
The reason I wanted to add invocations of configure/make is to support packages that have native components. Does rustc know how to build native code if it's required by a crate file?
I will make an attempt at rewriting cargo in rust tonight.

I cherry-picked in the preliminary rust rewrite and added it to the build. Closing this; continue hacking in-tree and tracking in issue #866


Ingredients

Already have enough art for at least a test level and 3f16bfe added rendering

Already have enough art for at least a test level and 3f16bfe added rendering


chore(example): remove redundant instructions from dockerfile

Description

Remove redundant instructions because the files already exist

Testing Instructions

Allow CI Workflow Run

[ ] approve CI run for commit: 488f1f4e37d6f95719bb409f1818d9eccf7ca4e1

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

Allow CI Workflow Run

[ ] approve CI run for commit: 488f1f4e37d6f95719bb409f1818d9eccf7ca4e1

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer


Mesos (or AWS) tests should only execute when Mesos is installed (or AWS is available).

Since setup.py now supports extras and the "make test" now installs  Toil in develop mode, we should dynamically determine what extras Toil was installed with (either develop mode or regular install) and skip tests accordingly.


Add support for arbitrary unicode labels

It would be nice to be able to easily do something like this example originally from Tony Fast:

where each marker is a Unicode character.  This could be supported for Points by allowing something like unicode_marker=u'xxx' (can't use just marker because of ambiguity with mpl's s, o, etc. symbolic names), or marker_index='field' along with markers=u'yyy', where 'yyy' would be a string of Unicode characters to use, in order.

I assume unicode=marker=u'xxx' is a typo and you meant unicode_marker=u'xxx'. The latter approach makes sense to me, I'm not quite sure why marker_index would be better or clearer (to be honest, I don't quite understand that particular suggestion).

It's two different usages; the marker_index version is for when we want a data column (e.g. category) to determine the marker shape, and the other version is if we want a separate Points() object for each category, manually setting the marker shape for each one.  Both seem like valid options in some cases.

Right, usually you'd either have an NdOverlay where each layer has a different marker (and you would use a Cycle object of different markers) or a single Points object, where you potentially want each individual point to have a different marker (where the marker can be any unicode text). This also links back to https://github.com/ioam/holoviews/issues/768 and perhaps providing a cleaner interface for the various X_index options you might want.

I understand what you mean now and yes, I would want to think about issue #768 to figure out a uniform way to handle all the index type parameters.


add drl model for video retrieval

Codecov Report

Merging #1306 (035d3cb) into main (5dd9c46) will decrease coverage by 1.97%.
The diff coverage is 25.00%.

@@            Coverage Diff             @@
##             main    #1306      +/-   ##
==========================================
- Coverage   70.14%   68.17%   -1.98%
==========================================
  Files         275      278       +3
  Lines       13975    14579     +604
  Branches     2263     2352      +89
==========================================
+ Hits         9803     9939     +136
- Misses       3560     4016     +456
- Partials      612      624      +12

Impacted Files
Coverage Δ

towhee/models/drl/drl.py
18.68% <18.68%> (ø)

towhee/models/drl/module_cross.py
35.43% <35.43%> (ø)

towhee/models/drl/until_module.py
39.50% <39.50%> (ø)

towhee/engine/task_scheduler.py
60.49% <0.00%> (-11.12%)
:arrow_down:

towhee/engine/graph_context.py
86.15% <0.00%> (-4.62%)
:arrow_down:

towhee/engine/operator_context.py
82.60% <0.00%> (-2.18%)
:arrow_down:

towhee/engine/operator_runner/runner_base.py
91.56% <0.00%> (-0.61%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5dd9c46...035d3cb. Read the comment docs.


Allow histograms to be configured at the command line

Get requests are sampled because some caches at Netflix have a very high volume of gets with a relatively low volume of other commands. The sampling rate and commands that are sampled are hard-coded. This should be customizable so caches with a relatively low volume of gets per server can still get good stats.

This is superseded by issue #88 where this configuration will not be necessary. I believe that approach to be better overall because it can dynamically react, whereas this type of solution would require many other moving pieces.


node not earning and keeps asking to restart

### Environment

Smapp version: 0.xx.x | develop
Node version: v1.5.6
OS: Windows 11 pro

Describe the bug
node not earning since May 9 and keeps asking to restart
A clear and concise description of what the bug is.
Steps to reproduce
Try to narrow down your scenario to a minimal working/failing example. That is, if you have a big program causing a problem, start with deleting parts not relevant to the issue and observing the result: is the problem still there? Repeat until you get the most straightforward sequence of steps to reproduce the problem without any noise surrounding it.

Open this
Press that
Click here and there

Expected behavior
What should happen?
Actual behavior
What’s happening now?
Attach screenshots or GIF’s of what’s going on if it makes the issue more illustrative.
Logs
Attach app-logs.txt and spacemesh-log.txt

If you can find out the part of the logs that relates to the problem, attach them or paste in code-block.
How to fix
If you have an idea of how the bug can be fixed, provide a short description.

Still wanting restarting right before earnings
Can you assist?