venv install issue

The default SHARK VENV script errors out because it claims there is no space left on the device.
❯ ./setup_venv.sh
Python: /usr/bin/python3
Python version: 3.10
Using pip venv.. Setting up venv dir: shark.venv
Linux detected
Requirement already satisfied: pip in ./shark.venv/lib/python3.10/site-packages (22.3.1)
Requirement already satisfied: setuptools in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 1)) (65.6.3)
Requirement already satisfied: wheel in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 2)) (0.38.4)
Requirement already satisfied: tqdm in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 5)) (4.64.1)
Requirement already satisfied: google-cloud-storage in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2.7.0)
Requirement already satisfied: pytest in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 11)) (7.2.0)
Requirement already satisfied: pytest-xdist in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 12)) (3.1.0)
Requirement already satisfied: Pillow in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 13)) (9.4.0)
Requirement already satisfied: parameterized in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 14)) (0.8.1)
Requirement already satisfied: transformers in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 17)) (4.25.1)
Requirement already satisfied: diffusers in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 18)) (0.11.1)
Requirement already satisfied: scipy in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 19)) (1.9.3)
Requirement already satisfied: ftfy in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 20)) (6.1.1)
Requirement already satisfied: gradio in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.15.0)
Requirement already satisfied: altair in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 22)) (4.2.0)
Requirement already satisfied: pyinstaller in ./shark.venv/lib/python3.10/site-packages (from -r /home/alpha/AI/SHARK/requirements.txt (line 25)) (5.7.0)
Requirement already satisfied: requests<3.0.0dev,>=2.18.0 in ./shark.venv/lib/python3.10/site-packages (from google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2.28.1)
Requirement already satisfied: google-cloud-core<3.0dev,>=2.3.0 in ./shark.venv/lib/python3.10/site-packages (from google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2.3.2)
Requirement already satisfied: google-resumable-media>=2.3.2 in ./shark.venv/lib/python3.10/site-packages (from google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2.4.0)
Requirement already satisfied: google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5 in ./shark.venv/lib/python3.10/site-packages (from google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2.11.0)
Requirement already satisfied: google-auth<3.0dev,>=1.25.0 in ./shark.venv/lib/python3.10/site-packages (from google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2.15.0)
Requirement already satisfied: tomli>=1.0.0 in ./shark.venv/lib/python3.10/site-packages (from pytest->-r /home/alpha/AI/SHARK/requirements.txt (line 11)) (2.0.1)
Requirement already satisfied: packaging in ./shark.venv/lib/python3.10/site-packages (from pytest->-r /home/alpha/AI/SHARK/requirements.txt (line 11)) (22.0)
Requirement already satisfied: iniconfig in ./shark.venv/lib/python3.10/site-packages (from pytest->-r /home/alpha/AI/SHARK/requirements.txt (line 11)) (1.1.1)
Requirement already satisfied: attrs>=19.2.0 in ./shark.venv/lib/python3.10/site-packages (from pytest->-r /home/alpha/AI/SHARK/requirements.txt (line 11)) (22.2.0)
Requirement already satisfied: exceptiongroup>=1.0.0rc8 in ./shark.venv/lib/python3.10/site-packages (from pytest->-r /home/alpha/AI/SHARK/requirements.txt (line 11)) (1.1.0)
Requirement already satisfied: pluggy<2.0,>=0.12 in ./shark.venv/lib/python3.10/site-packages (from pytest->-r /home/alpha/AI/SHARK/requirements.txt (line 11)) (1.0.0)
Requirement already satisfied: execnet>=1.1 in ./shark.venv/lib/python3.10/site-packages (from pytest-xdist->-r /home/alpha/AI/SHARK/requirements.txt (line 12)) (1.9.0)
Requirement already satisfied: huggingface-hub<1.0,>=0.10.0 in ./shark.venv/lib/python3.10/site-packages (from transformers->-r /home/alpha/AI/SHARK/requirements.txt (line 17)) (0.11.1)
Requirement already satisfied: numpy>=1.17 in ./shark.venv/lib/python3.10/site-packages (from transformers->-r /home/alpha/AI/SHARK/requirements.txt (line 17)) (1.24.1)
Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in ./shark.venv/lib/python3.10/site-packages (from transformers->-r /home/alpha/AI/SHARK/requirements.txt (line 17)) (0.13.2)
Requirement already satisfied: pyyaml>=5.1 in ./shark.venv/lib/python3.10/site-packages (from transformers->-r /home/alpha/AI/SHARK/requirements.txt (line 17)) (6.0)
Requirement already satisfied: regex!=2019.12.17 in ./shark.venv/lib/python3.10/site-packages (from transformers->-r /home/alpha/AI/SHARK/requirements.txt (line 17)) (2022.10.31)
Requirement already satisfied: filelock in ./shark.venv/lib/python3.10/site-packages (from transformers->-r /home/alpha/AI/SHARK/requirements.txt (line 17)) (3.9.0)
Requirement already satisfied: importlib-metadata in ./shark.venv/lib/python3.10/site-packages (from diffusers->-r /home/alpha/AI/SHARK/requirements.txt (line 18)) (6.0.0)
Requirement already satisfied: wcwidth>=0.2.5 in ./shark.venv/lib/python3.10/site-packages (from ftfy->-r /home/alpha/AI/SHARK/requirements.txt (line 20)) (0.2.5)
Requirement already satisfied: pydantic in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.10.4)
Requirement already satisfied: pandas in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.5.2)
Requirement already satisfied: markdown-it-py[linkify,plugins] in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (2.1.0)
Requirement already satisfied: fsspec in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (2022.11.0)
Requirement already satisfied: pycryptodome in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.16.0)
Requirement already satisfied: ffmpy in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.3.0)
Requirement already satisfied: markupsafe in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (2.1.1)
Requirement already satisfied: fastapi in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.88.0)
Requirement already satisfied: httpx in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.23.2)
Requirement already satisfied: uvicorn in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.20.0)
Requirement already satisfied: matplotlib in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.6.2)
Requirement already satisfied: python-multipart in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.0.5)
Requirement already satisfied: aiohttp in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.8.3)
Requirement already satisfied: jinja2 in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.1.2)
Requirement already satisfied: pydub in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.25.1)
Requirement already satisfied: websockets>=10.0 in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (10.4)
Requirement already satisfied: orjson in ./shark.venv/lib/python3.10/site-packages (from gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.8.3)
Requirement already satisfied: entrypoints in ./shark.venv/lib/python3.10/site-packages (from altair->-r /home/alpha/AI/SHARK/requirements.txt (line 22)) (0.4)
Requirement already satisfied: toolz in ./shark.venv/lib/python3.10/site-packages (from altair->-r /home/alpha/AI/SHARK/requirements.txt (line 22)) (0.12.0)
Requirement already satisfied: jsonschema>=3.0 in ./shark.venv/lib/python3.10/site-packages (from altair->-r /home/alpha/AI/SHARK/requirements.txt (line 22)) (4.17.3)
Requirement already satisfied: pyinstaller-hooks-contrib>=2021.4 in ./shark.venv/lib/python3.10/site-packages (from pyinstaller->-r /home/alpha/AI/SHARK/requirements.txt (line 25)) (2022.14)
Requirement already satisfied: altgraph in ./shark.venv/lib/python3.10/site-packages (from pyinstaller->-r /home/alpha/AI/SHARK/requirements.txt (line 25)) (0.17.3)
Requirement already satisfied: protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5 in ./shark.venv/lib/python3.10/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (4.21.12)
Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.56.2 in ./shark.venv/lib/python3.10/site-packages (from google-api-core!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.0,<3.0.0dev,>=1.31.5->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (1.57.0)
Requirement already satisfied: rsa<5,>=3.1.4 in ./shark.venv/lib/python3.10/site-packages (from google-auth<3.0dev,>=1.25.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (4.9)
Requirement already satisfied: six>=1.9.0 in ./shark.venv/lib/python3.10/site-packages (from google-auth<3.0dev,>=1.25.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (1.16.0)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in ./shark.venv/lib/python3.10/site-packages (from google-auth<3.0dev,>=1.25.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (5.2.0)
Requirement already satisfied: pyasn1-modules>=0.2.1 in ./shark.venv/lib/python3.10/site-packages (from google-auth<3.0dev,>=1.25.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (0.2.8)
Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in ./shark.venv/lib/python3.10/site-packages (from google-resumable-media>=2.3.2->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (1.5.0)
Requirement already satisfied: typing-extensions>=<IP_ADDRESS> in ./shark.venv/lib/python3.10/site-packages (from huggingface-hub<1.0,>=0.10.0->transformers->-r /home/alpha/AI/SHARK/requirements.txt (line 17)) (4.4.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in ./shark.venv/lib/python3.10/site-packages (from jsonschema>=3.0->altair->-r /home/alpha/AI/SHARK/requirements.txt (line 22)) (0.19.3)
Requirement already satisfied: python-dateutil>=2.8.1 in ./shark.venv/lib/python3.10/site-packages (from pandas->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in ./shark.venv/lib/python3.10/site-packages (from pandas->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (2022.7)
Requirement already satisfied: certifi>=2017.4.17 in ./shark.venv/lib/python3.10/site-packages (from requests<3.0.0dev,>=2.18.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2022.12.7)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./shark.venv/lib/python3.10/site-packages (from requests<3.0.0dev,>=2.18.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (1.26.13)
Requirement already satisfied: charset-normalizer<3,>=2 in ./shark.venv/lib/python3.10/site-packages (from requests<3.0.0dev,>=2.18.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (2.1.1)
Requirement already satisfied: idna<4,>=2.5 in ./shark.venv/lib/python3.10/site-packages (from requests<3.0.0dev,>=2.18.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (3.4)
Requirement already satisfied: frozenlist>=1.1.1 in ./shark.venv/lib/python3.10/site-packages (from aiohttp->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.3.3)
Requirement already satisfied: multidict<7.0,>=4.5 in ./shark.venv/lib/python3.10/site-packages (from aiohttp->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (6.0.4)
Requirement already satisfied: yarl<2.0,>=1.0 in ./shark.venv/lib/python3.10/site-packages (from aiohttp->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.8.2)
Requirement already satisfied: aiosignal>=1.1.2 in ./shark.venv/lib/python3.10/site-packages (from aiohttp->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.3.1)
Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in ./shark.venv/lib/python3.10/site-packages (from aiohttp->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (4.0.2)
Requirement already satisfied: starlette==0.22.0 in ./shark.venv/lib/python3.10/site-packages (from fastapi->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.22.0)
Requirement already satisfied: anyio<5,>=3.4.0 in ./shark.venv/lib/python3.10/site-packages (from starlette==0.22.0->fastapi->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.6.2)
Requirement already satisfied: httpcore<0.17.0,>=0.15.0 in ./shark.venv/lib/python3.10/site-packages (from httpx->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.16.3)
Requirement already satisfied: sniffio in ./shark.venv/lib/python3.10/site-packages (from httpx->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.3.0)
Requirement already satisfied: rfc3986[idna2008]<2,>=1.3 in ./shark.venv/lib/python3.10/site-packages (from httpx->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.5.0)
Requirement already satisfied: zipp>=0.5 in ./shark.venv/lib/python3.10/site-packages (from importlib-metadata->diffusers->-r /home/alpha/AI/SHARK/requirements.txt (line 18)) (3.11.0)
Requirement already satisfied: mdurl~=0.1 in ./shark.venv/lib/python3.10/site-packages (from markdown-it-py[linkify,plugins]->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.1.2)
Requirement already satisfied: linkify-it-py~=1.0 in ./shark.venv/lib/python3.10/site-packages (from markdown-it-py[linkify,plugins]->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.0.3)
Requirement already satisfied: mdit-py-plugins in ./shark.venv/lib/python3.10/site-packages (from markdown-it-py[linkify,plugins]->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.3.3)
Requirement already satisfied: contourpy>=1.0.1 in ./shark.venv/lib/python3.10/site-packages (from matplotlib->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.0.6)
Requirement already satisfied: fonttools>=4.22.0 in ./shark.venv/lib/python3.10/site-packages (from matplotlib->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (4.38.0)
Requirement already satisfied: kiwisolver>=1.0.1 in ./shark.venv/lib/python3.10/site-packages (from matplotlib->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.4.4)
Requirement already satisfied: cycler>=0.10 in ./shark.venv/lib/python3.10/site-packages (from matplotlib->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.11.0)
Requirement already satisfied: pyparsing>=2.2.1 in ./shark.venv/lib/python3.10/site-packages (from matplotlib->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (3.0.9)
Requirement already satisfied: click>=7.0 in ./shark.venv/lib/python3.10/site-packages (from uvicorn->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (8.1.3)
Requirement already satisfied: h11>=0.8 in ./shark.venv/lib/python3.10/site-packages (from uvicorn->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (0.14.0)
Requirement already satisfied: uc-micro-py in ./shark.venv/lib/python3.10/site-packages (from linkify-it-py~=1.0->markdown-it-py[linkify,plugins]->gradio->-r /home/alpha/AI/SHARK/requirements.txt (line 21)) (1.0.1)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in ./shark.venv/lib/python3.10/site-packages (from pyasn1-modules>=0.2.1->google-auth<3.0dev,>=1.25.0->google-cloud-storage->-r /home/alpha/AI/SHARK/requirements.txt (line 8)) (0.4.8)
Looking in links: https://llvm.github.io/torch-mlir/package-index/
Requirement already satisfied: torch-mlir in ./shark.venv/lib/python3.10/site-packages (20230101.705)
Requirement already satisfied: torch==2.0.0.dev20221231 in ./shark.venv/lib/python3.10/site-packages (from torch-mlir) (2.0.0.dev20221231+cpu)
Requirement already satisfied: numpy in ./shark.venv/lib/python3.10/site-packages (from torch-mlir) (1.24.1)
Requirement already satisfied: networkx in ./shark.venv/lib/python3.10/site-packages (from torch==2.0.0.dev20221231->torch-mlir) (3.0rc1)
Requirement already satisfied: packaging in ./shark.venv/lib/python3.10/site-packages (from torch==2.0.0.dev20221231->torch-mlir) (22.0)
Requirement already satisfied: typing-extensions in ./shark.venv/lib/python3.10/site-packages (from torch==2.0.0.dev20221231->torch-mlir) (4.4.0)
Requirement already satisfied: sympy in ./shark.venv/lib/python3.10/site-packages (from torch==2.0.0.dev20221231->torch-mlir) (1.11.1)
Requirement already satisfied: mpmath>=0.19 in ./shark.venv/lib/python3.10/site-packages (from sympy->torch==2.0.0.dev20221231->torch-mlir) (1.2.1)
Successfully Installed torch-mlir
rm: cannot remove '.use-iree': No such file or directory
Installing https://nod-ai.github.io/SHARK-Runtime/pip-release-links.html...
Looking in links: https://nod-ai.github.io/SHARK-Runtime/pip-release-links.html
Requirement already satisfied: iree-compiler in ./shark.venv/lib/python3.10/site-packages (20230101.261)
Requirement already satisfied: iree-runtime in ./shark.venv/lib/python3.10/site-packages (20230101.261)
Requirement already satisfied: numpy in ./shark.venv/lib/python3.10/site-packages (from iree-compiler) (1.24.1)
Requirement already satisfied: PyYAML in ./shark.venv/lib/python3.10/site-packages (from iree-compiler) (6.0)
Looking in links: https://llvm.github.io/torch-mlir/package-index/, https://nod-ai.github.io/SHARK-Runtime/pip-release-links.html, https://download.pytorch.org/whl/nightly/torch/
Obtaining file:///home/alpha/AI/SHARK
  Installing build dependencies ... error
  error: subprocess-exited-with-error

  × pip subprocess to install build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [33 lines of output]
      Looking in links: https://llvm.github.io/torch-mlir/package-index/, https://nod-ai.github.io/SHARK-Runtime/pip-release-links.html, https://download.pytorch.org/whl/nightly/torch/
      Collecting setuptools>=42
        Using cached setuptools-65.6.3-py3-none-any.whl (1.2 MB)
      Collecting wheel
        Using cached wheel-0.38.4-py3-none-any.whl (36 kB)
      Collecting packaging
        Using cached packaging-22.0-py3-none-any.whl (42 kB)
      Collecting numpy>=1.22.4
        Using cached numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
      Collecting torch-mlir>=20221021.633
        Downloading https://github.com/llvm/torch-mlir/releases/download/snapshot-20230101.705/torch_mlir-20230101.705-cp310-cp310-linux_x86_64.whl (40.0 MB)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.0/40.0 MB 26.6 MB/s eta 0:00:00
      Collecting iree-compiler>=20221022.190
        Downloading https://github.com/nod-ai/SHARK-Runtime/releases/download/candidate-20230101.261/iree_compiler-20230101.261-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (55.5 MB)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.5/55.5 MB 24.5 MB/s eta 0:00:00
      Collecting iree-runtime>=20221022.190
        Downloading https://github.com/nod-ai/SHARK-Runtime/releases/download/candidate-20230101.261/iree_runtime-20230101.261-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB)
           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 20.4 MB/s eta 0:00:00
      Collecting torch==2.0.0.dev20221231
        Using cached https://download.pytorch.org/whl/nightly/rocm5.3/torch-2.0.0.dev20221231%2Brocm5.3-cp310-cp310-linux_x86_64.whl (1557.5 MB)
      Collecting sympy
        Using cached sympy-1.11.1-py3-none-any.whl (6.5 MB)
      Collecting networkx
        Using cached networkx-2.8.8-py3-none-any.whl (2.0 MB)
      Collecting typing-extensions
        Using cached typing_extensions-4.4.0-py3-none-any.whl (26 kB)
      Collecting PyYAML
        Using cached PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB)
      Collecting mpmath>=0.19
        Using cached mpmath-1.2.1-py3-none-any.whl (532 kB)
      Installing collected packages: mpmath, wheel, typing-extensions, sympy, setuptools, PyYAML, packaging, numpy, networkx, torch, iree-runtime, iree-compiler, torch-mlir
      ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
Before running examples activate venv with:
  source shark.venv/bin/activate

~/AI/SHARK main 48s

I think there is just not enough space in /tmp to work with (even though this device has 16GB RAM + 16GB swap).

Yeah, changing my /tmp size from default (which is apparently 7.5GB) to 12GB fixed the issue.
Not sure if there's anything the script could do about that.

OK ran into another error, apparently the venv does not install torchvision by default.

Please try with pip cache purge and blow away your venv. Also make sure you are on the latest commit. This issue seems to have been fixed now upstream. Older releases were delete because of the Pytorch vulnerability.

Yeah I already got it working, just installed torchvision in the venv.
CUDA seems quite slow though, 130s per image on a laptop 2060 where I can normally get ~5 iters/sec on Huggingface Diffusers. Not sure if something is wrong with my venv now.

Closing issue as @brucethemoose got SD working.


The "regular" form item is not working as expected

react-native, react and native-base version

react-native: 0.41.2
native-base": ^2.0.11

Expected behaviour
When using regular form item >> Have an input field with 4 borders
Actual behaviour
Getting the normal input with just border-bottom
Steps to reproduce (code snippet or screenshot)
<Text style={this.props.style.label}>English:</Text>
<Item regular>
  <Input style={this.props.style.input} placeholder='Regular Textbox'/>
</Item>

Screenshot of emulator/device
Nexus 6
Is the bug present in both ios and android or in any one of them?
Tried only on Android
Any other additional info which would help us debug the issue quicker.
No

The docsalso mentions the bordered attribute but that does not seem to work as well.

I'm experiencing the same issue in the iOS simulator.  The "rounded" border options also renders with just a bottom border.

The rounded issue is a bug right now and we'll fix it in the future releases. There is however no ETA for it. If anybody would like to fix it with a PR, it'd be great. I can always walk you through the code in case anybody is interested.

@sankhadeeproy007 I'd like to submit PR for it, I'll work on it in the next few days

I'm having the same issues. Is this related to #641 and PR #691 ?

Fixed in v2.1.3


Input format for decode()?

How did you generate the sample files for the demo? I can see that they work, and do in fact decode to sensible sequential pictures, but when I try to feed it my own data I just get a series of ERROR and PARAM_SET_ERROR return codes--no PIC_RDYs. I am trying to feed it with individual NAL units parsed out of an MPEG-TS file.

For reference, I have tried all of the following:

Inputting complete PES packets, with multiple NALUs.
Inputting all NALUs with the boundary pattern bytes stripped
Inputting all NALUs with the boundary pattern bytes intact
Omitting parameter NALUs, inputting the rest with boundary pattern bytes stripped.
Omitting parameter NALUs, inputting the rest with boundary pattern bytes intact.

A little more experimentation: using the sample files from the demo, if I segment out the individual NALUs from those, and decode them individually, I get a sequence of ERROR responses up until the last one of the file, which returns PIC_RDY. However, if I just try to decode the last NALU on its own, I get PARAM_SET_ERROR--so clearly, all the preceding content in the files is important, which makes me wonder why it returns ERROR rather than RDY for all that.

What profile are you using? I've only got it working with (restricted) baseline, using only I & P frames fed as entire AU. If it's of any help, here's a working gstreamer pipeline: https://github.com/udevbe/greenfield/blob/master/app-endpoint-native/src/x264_gst_encoder.c#L297

Ah, that's gotta be it. The README doesn't say anything about profile restrictions, so I was assuming it would Just Work, without requiring cooperation on the encoding side.

Good point, I will mention it in the readme.

Readme is been updated.


Show Relative Paths in VSCode

Our UI in VSCode currently assumes everything is at the workspace root. With nested project deploying we need to have a path to display and show it to users.
Related Tasks

#1844
#1845

Part of the Nested Project Deploying work.

All epic tasks are finished up 🎉


Icons Render in Dark Grey when Dark Theme Enabled in FluentAvalonia NavigationView

Icons render in black/dark grey making them almost impossible to see vs. white/light gray like the builtin icons do
Avalonia: 11.1.4
FluentAvalonia: 2.1.0
FluentIcons.Avalonia.Fluent=1.1.263

Can't reproduce it. I didn't change the behaviour inherited from FAIconElement at all.

My use case is with NavigationView and specifically with a menu item of type NavigationViewItem. I tried changing the Foreground property and it did nothing. I can provide a XAML code sample later if that helps.

I still cannot reproduce even if I change the system theme on the fly.

I don't think so. Try look elsewhere. I'm pretty sure I'm not messing with Foreground in this class and it inherits FontIconSource from upstream.

I should probably also had my theme is on "Default", not "Dark" specifically if that makes a difference (so it turns "Dark" at night and "Light" during the day based on my system settings on my Mac).
This is my XAML - I can do a minimal reproduce later if this is too complicated:
<Window xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:vm="using:ui.ViewModels"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
        xmlns:ic="clr-namespace:FluentIcons.Avalonia.Fluent;assembly=FluentIcons.Avalonia.Fluent"
        xmlns:system="clr-namespace:System;assembly=System.Runtime"
        mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
        x:Class="ui.Views.MainWindow"
        x:DataType="vm:MainWindowViewModel"
        Icon="/Assets/avalonia-logo.ico"
        Title="Market Analyzer">

    <Design.DataContext>
        <vm:MainWindowViewModel />
    </Design.DataContext>

    <ui:NavigationView x:Name="NavView" IsPaneToggleButtonVisible="{Binding !$self.IsPaneOpen}"
                       MenuItemsSource="{Binding NavItems}">
        <ui:NavigationView.MenuItemTemplateSelector>
            <vm:NavItemTemplateSelector>
                <vm:NavItemTemplateSelector.HeaderTemplate>
                    <DataTemplate DataType="{x:Type system:String}">
                        <ui:NavigationViewItemHeader Content="{Binding .}" />
                    </DataTemplate>
                </vm:NavItemTemplateSelector.HeaderTemplate>

                <vm:NavItemTemplateSelector.ItemTemplate>
                    <DataTemplate DataType="{x:Type vm:NavItem}">
                        <ui:NavigationViewItem Content="{Binding Title}" Tag="{Binding Page}">
                            <ui:NavigationViewItem.IconSource>
                                <ic:SymbolIconSource Symbol="{Binding Icon}" />
                            </ui:NavigationViewItem.IconSource>
                        </ui:NavigationViewItem>
                    </DataTemplate>
                </vm:NavItemTemplateSelector.ItemTemplate>
            </vm:NavItemTemplateSelector>
        </ui:NavigationView.MenuItemTemplateSelector>
    </ui:NavigationView>
</Window>

That is a known issue with SkiaSharp working with COLR on MacOS. See #7.
TL;DR: Either enforce SkiaSharp 3, or use a workaround version of FluentIcons mentioned in that thread.

Changing my version to 1.1.234-exp1 worked, thanks! I will do some research and see which workaround I want to use.


Adding basic CI jobs for os-net-config

[WIP] Initial CI for os-net-config

@vcandapp I think we can close this pr in favor of https://github.com/os-net-config/os-net-config/pull/20


CI: Test for all branches, use setup-dlang@v1

The workflow was originally generated from a starter workflow, which requires workflow templates which are not sanctioned by Github (such as D's) to use a commit hash, pinning the version, while other workflows (Go, Rust, etc...) can use a branch (v1, v2, etc...), which is Github's recommended practice.
This commit changes the dependency from a hash to a branch, along with removing the comment that Github requires from non-partner action.
Finally, the condition to trigger this workflow are simplified, and extended to the accepted best practice for collaborative projects using the fork model.

@Geod24 nice.  I'd like to update the workflow to include more systems at some point as well.

Then you might want something like this:
    strategy:
      # Disable `fail-fast` for better UX (runs all the rows in the matrix even if one fails early)
      fail-fast: false
      matrix:
        os: [ ubuntu-latest, macOS-latest, windows-latest ]
        dc: [ ldc-master, dmd-latest, ldc-1.24.0 ]
      runs-on: ${{ matrix.os }}

And regarding your test command, you can decide to switch to bash (shell: bash) even on Windows, and if you only use simple command I'd recommend this, otherwise you can have steps which are dependent on a platform (or a compiler), e.g.:
    # Install os-specific packages
    # Those will show up in the list of steps, but be grayed out,
    # hence the usage of the `[OSX]` tag
    - name: '[OSX] Install dependencies & setup environment'
      if: runner.os == 'macOS'
      run: |
        brew install coreutils pkg-config

You can find advanced usages either here or here.
Last two points:

Given your project, you might need a C++ compiler. It's fairly easy to get on POSIX but can be challenging on Windows. Turns out just adding the following will give you a "Command Line Tools Prompt"-like env:

    - name: '[Windows] Add VC toolset to PATH'
      if: runner.os == 'Windows'
      uses: ilammy/msvc-dev-cmd@v1

If you want to automatically build and upload your documentation, check this out. I'll make it into an action, one day...

Outstanding tips!  I'm completely new to workflows.
This project doesn't need a C compiler, but another one of mine does.  It also has dependencies that I typically pull in using vcpkg for the Windows build.  You wouldn't happen to know how to set up vcpkg dependencies would you?  Please don't waste your time digging into it if you don't know off the top of your head, I can google around.

You wouldn't happen to know how to set up vcpkg dependencies would you?

I only use Windows for development when forced, but I did run into this while looking for the VC toolset. Didn't use it though.
In general the marketplace will have everything you need.


syntex-samples/scenario samples/Invoice Processing: SharePoint Library List Schema.xml available

Dear @Spucelik for syntex-samples/scenario samples/Invoice Processing/ do you have the PnPList-Schema.xml available for the necessary SharePoint Library and List for Invoice Processing Datasource?

@schneika ... please check the solution src in this sample.  https://github.com/pnp/powerapps-samples/tree/main/samples/InvoiceProcessing.  It has a more complete sample of the source of the solution.


Setup Jenkins to fetch router-data from GitHub

For CI, rather than GitHub Enterprise.

Looks good

Great, thanks for reviewing Sam :)


Update to Baselibs 8.6.0 by default

This PR moves the orb to use Baselibs 8.6.0 by default

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:d7bcd7c9d6d4956fd6bfe885600d1a7d5566c942
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:alpha

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:51545857e8f2bef6da96036747f08d8fc3a2cc1f
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:alpha

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:51545857e8f2bef6da96036747f08d8fc3a2cc1f
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:alpha

Your orb has been published to the CircleCI Orb Registry.
You can view your published orb on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=5.2.0


Where are pretrained weights of the best model?

Hi, thanks for your great work.
At README.md, there's an evaluation result of HRNet+Dark trained on MSCOCO+AI Challenger with some other techniques. (Indicated with *-+)
Where can I found the pretrained weights of this best performing model? I can't find it on the link you provided

Thanks in advance.

The model is not provided.

Do you have any plan to release the model?
I think many people would like to use the best model.


@NewSpan does not take into account ObservationPredicate

Hello there!
I'd like to disable tracing during warming-up of application.
I started with a custom SpanExportingPredicate, but due to the asynchronous nature of exporting, some batches of spans were still sent to the OTLP-collector (even after the warm-up was completed).
Then I tried to implement a custom ObservationPredicate. This almost solved my issue, but I ran into a problem with the @NewSpan annotation. The traces generated by @NewSpan seems to ignore the registered observation predicates.
Is this by design?
How can I reliably disable/filter out such spans?
Thanks in advance.

A little code to illustrate the main idea:
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(name = ["io.micrometer.tracing.Tracer", "io.micrometer.observation.ObservationPredicate", "io.micrometer.tracing.exporter.SpanExportingPredicate"])
open class TracingWarmupAutoConfiguration {

    @Bean
    @ConditionalOnMissingBean(name = ["traceExportActivitySwitchHook"])
    open fun traceExportActivitySwitchHook(): WarmingUpHook =
        TracesExportActivitySwitchHook(traceExportDisabledState) // manages state of traceExportDisabledState

    @Bean
    @ConditionalOnMissingBean(name = ["tracingDisabledDuringWarmupObservationPredicate"])
    open fun tracingDisabledDuringWarmupObservationPredicate(): ObservationPredicate =
        ObservationPredicate { _, _ -> !traceExportDisabledState.get() }

    @Bean
    @ConditionalOnMissingBean(name = ["spanExportingDisabledDuringWarmupPredicate"])
    open fun spanExportingDisabledDuringWarmupPredicate(): SpanExportingPredicate =
        SpanExportingPredicate { _ -> !traceExportDisabledState.get() }

    companion object {
        @JvmStatic
        private val traceExportDisabledState: AtomicBoolean = AtomicBoolean()
    }
}

Then I tried to implement a custom ObservationPredicate. This almost solved my issue, but I ran into a problem with the @NewSpan annotation. The traces generated by @NewSpan seems to ignore the registered observation predicates.

ObservationPredicates work with observations. If you want to filter out all spans for tests or sth like that just set the tracing sampling probability to 0. Then not a single span will be sent out.

ObservationPredicates work with observations.

From my perspective, micrometer-tracing uses micrometer-observation.
As far as I understand, trace is a kind of observation, isn't it?
So why not to handle observation predicates while creating a span in ImperativeMethodInvocationProcessor?
With Spring Boot 2 and Sleuth I used Tracer instance:
    fun getQuoteUsingTracer(): String {
        val newSpan: Span = tracer.nextSpan().name("getQuote")
        try {
            tracer.withSpan(newSpan.start()).use {
                //delay(FIXED_DELAY_MS)
                return quotes.random()
            }
        } catch (e: Exception) {
            newSpan.error(e)
            throw e
        } finally {
            newSpan.end()
        }
    }

I was able to rewrite it with Observation:
    fun getQuoteUsingObservation(): String {
        val observation = Observation.createNotStarted("getQuote", observationRegistry).start()
        try {
            //delay(FIXED_DELAY_MS)
            return quotes.random()
        } catch (e: Exception) {
            observation.error(e)
            throw e
        } finally {
            observation.stop()
        }
    }

Now it works as I expected: takes into account observation predicates and doesn't produce spans in my case.
But I don't have a replacement for @NewSpan with the same behavior:
    @NewSpan("getQuoteAsMono")
    fun getQuoteAsMono(parentTraceId: String, parentSpanId: String): Mono<String> {
        return Mono.fromCallable { quotes.random() }
            .delayElement(Duration.ofMillis(FIXED_DELAY_MS))
    }

May be we need something like @NewObservation?
Oh, I wrote it and realized that there is @Observed! I'll try it.

If you want to filter out all spans for tests or sth like that just set the tracing sampling probability to 0. Then not a single span will be sent out.

I need it at runtime. I have not yet found an easy way to change sampling probability at runtime.

Instead of @NewSpan just use @Observed and then your predicate will work.

I need it at runtime. I have not yet found an easy way to change sampling probability at runtime.

Use spring cloud, change the property and refresh it at runtime?

I think Marcin's answers are already providing a solution for your issue but for the sake of completeness, let me add some details.
I guess this is where the misunderstanding is coming from:

From my perspective, micrometer-tracing uses micrometer-observation.

The reality is that the Observation API can call micrometer-tracing if a tracing handler is registered, not the other way around.

As far as I understand, trace is a kind of observation, isn't it?

No, a span is an output that can be created by a handler in response of observations are created. (A trace is a set of spans.)

So why not to handle observation predicates while creating a span in ImperativeMethodInvocationProcessor?

Because it has nothing to do with Observations, see above.
Please check the docs: https://docs.micrometer.io/micrometer/reference/observation/introduction.html
The gist of it: ObservationHandlers are listeners that can react to events when somebody starts/stops an Observation, signals an error, etc. These reactions can be starting and stopping a timer and record metrics, emit log events, or create and stop spans. When spans are created through an Observation, the ObservationPredicate can make that Observation "ignored" so no span will be created. But if you just create a span on your own or you use @NewSpan, the Observation API has no idea about it since Span is a lower-level concept than an Observation.
Does this make sense?

@jonatan-ivanov @marcingrzejszczak
Thank you very much


Does this work in RC5?

Hi
I have been using ng2-meta with RC4 and below. I have now updated my app to use RC5 and am no longer seeing the meta tags come through.
Does ng2-meta support RC5?

SetTitle programmatically doesnt work

RC4 also deprecates the provide() method, making the bootstrap process very confusing. Thoughts on fixing this?

Ng 2.0 Final is now out.


feat: func-create-command-should-default-to-confirm-prompt

Closes #573

@lance ready for review

@lkingland Thank you for this detailed explanation of the current design considerations. As I understand, in the current situation, this PR makes no sense. Then I will close it, ok?

@lkingland Thank you for this detailed explanation of the current design considerations. As I understand, in the current situation, this PR makes no sense. Then I will close it, ok?

Yes; sorry.  I am sure it's about as clear as mud now.


How does Jobby handle overlapping jobs?

Hi,
Suppose I have a mailer that sends emails every minute, for one minute the number of emails in the queue is high and somehow the process will last 65 seconds, now after 60 seconds the job is re-run again, and it might pick some stuff from the queue while they are being processed by the previous job.
Is it programmers duty to handle this with some sort of lock or Jobby can handle that somehow?
This library php-cron-scheduler seems to have some sort of temp folder and checking mechanism for this, which I didn't find in the readme file of Jobby.
Thanks

Jobby does support this scenario. It's listed in the features:
Run only one copy of a job at a given time

It uses POSIX file semantics to do so. You can see it in the code. If you find that this isn't working as expected, feel free to open a bug. Cheers!


Server update :-(

It seems this doesn't work since the app (and presumably the server) was updated a few days ago.

I haven't had a chance to look at it yet but will try to fix it next week.
On Sat, Oct 19, 2019, 22:51 rupertleveneucd<EMAIL_ADDRESS>wrote:

It seems this doesn't work since the app (and presumably the server) was
updated a few days ago.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ttroy50/pyephember/issues/3?email_source=notifications&email_token=AASLVJ4OJPCUHVMADL47DILQPMGGFA5CNFSM4JCP4ORKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HS5VFEA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AASLVJ7DJY54JH5R2NAIMYLQPMGGFANCNFSM4JCP4ORA
.

I contacted EPH to ask what exactly they 'upgraded'. The response was: "The app is a complete overhaul"
They made it even more difficult to use now as the 'fancy' app logs me out every time I try to use it. I'd love to be able to use it again via home assistant. Thanks in advance ttroy50... :)

I was able to capture the new API last night but still have to analyse it fully. It looks like most calls are changed but the core of the JSON structure is similar.
I'll continue to look at ut tonight and hope to have a beta sometime over the weekend.

I've pushed changes to the api-update branch which work with the new API.
I've kept my basic python interface the same but most of the returned dictionaries are different. The API.md docs are updated with that info.
To make it easier to access some info I've added helper functions to get some of the common variables from a returned zone structure.
It would be nice to have others give this a quick test to make sure things are working for your use cases. Some basic tests can be done by using / modifying the example.py script in the root folder to run some calls against your account.
If you use this with home-assistant, I'll be updating that later today but won't be able to push those changes until I've fully tested and released this library to pypi.

Checked out the api-update branch and all looks good from my testing (using example.py and some manual testing).
Thanks for the quick turnaround on this one.

Updated and I've pushed v0.3.1 to pypi.
PR is up for home-assistant. Hopefully it gets into the next version.
https://github.com/home-assistant/home-assistant/pull/28507


[Reopening] Related ignores model foreign keys, uses default ones

Reopening another issue related to #640.  This does not seem fixed.  I posted this on Stackoverflow.
My models are below.
type Nyct2010 struct {
	Id       int `gorm:"column:gid"`
	Borocode int
}

type Trip struct {
	Id               int
	PickupLongitude  float64   `gorm:"column:pickup_longitude"`
	PickupLatitude   float64   `gorm:"column:pickup_latitude"`
	DropoffLongitude float64   `gorm:"column:dropoff_longitude"`
	DropoffLatitude  float64   `gorm:"column:dropoff_latitude"`
	PickupTime       time.Time `gorm:"column:pickup_datetime"`
	DropoffTime      time.Time `gorm:"column:dropoff_datetime"`
	Fare             float64   `gorm:"column:fare_amount"`
	Tip              float64   `gorm:"column:tip_amount"`
	Total            float64   `gorm:"column:total_amount"`
	PaymentType      string    `gorm:"column:payment_type"`
	Tax              float64   `gorm:"column:mta_tax"`

	CabType   CabType
	CabTypeId int

	Nyct2010   Nyct2010
	Nyct2010Id int `gorm:"column:pickup_nyct2010_gid"`
}

The called to Related works for CabType but does not for Nyct2010.  Gorm seems to be ignoring the column name gid and instead is confused and leaving an empty column name.
var trip Trip
db.First(&trip,<PHONE_NUMBER>)
db.Model(trip).Related(&trips.CabType)
db.Model(trip).Related(&trip.Nyct2010)

Debug output:
[2016-01-15 15:09:44]  [150.43ms]  SELECT  * FROM "trips"  WHERE ("id" = '2112111736') ORDER BY "trips"."id" ASC LIMIT 1

[2016-01-15 15:09:44]  [130.39ms]  SELECT  * FROM "cab_types"  WHERE ("id" = '10')

[2016-01-15 15:09:44]  pq: zero-length delimited identifier at or near """"

[2016-01-15 15:09:44]  [57.89ms]  SELECT  * FROM "nyct2010"  WHERE ("" = '1475')

[2016-01-15 15:09:44]  pq: zero-length delimited identifier at or near """"

Hi @jsloyer
Could you follow this guide https://github.com/jinzhu/gorm/blob/master/CONTRIBUTING.md and submit a runnable script that could reproduce the issue?

Maybe we need to create a "default template" and a "default database"..

There is a default template, https://github.com/jinzhu/gorm/blob/master/CONTRIBUTING.md#executable-script-template

Going to close this issue as not responded from reporter, feel free to reopen it if it is reproducible.


Keeping data based on some strategies.

I'm always frustrate when I want keep some provider, I want to keep some data based on some strategies (such as LRU or according to time, or permanent), this is very practical in some common data.

final dataProvider =
    FutureProvider.autoDispose.family<String, String>((ref, params) async {
  ref.onDispose(() {
    print('$params data onDispose');
  });
  await Future.delayed(Duration(seconds: 5));
  return params;
});

@hwidget
Widget home() {
  var context = useContext();
  return Scaffold(
    body: Center(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: ['foo', 'bar']
            .map(
              (e) => ElevatedButton(
                onPressed: () {
                  Navigator.push(
                      context,
                      MaterialPageRoute(
                          builder: (BuildContext context) => Foo(e)));
                },
                child: Text(e),
              ),
            )
            .toList(),
      ),
    ),
  );
}

@hwidget
Widget foo(String name) {
  AsyncValue<String> data = useProvider(dataProvider(name));

  return Scaffold(
    appBar: AppBar(),
    body: data.when(
      data: (data) => Text(data),
      loading: () => const CircularProgressIndicator(),
      error: (_, __) => Text('error'),
    ),
  );
}

like this demo, some future is so expensive, I want keep some data based on LRU.

Could you expand on what the problem is here?

Like this demo, when click Column.buttons, route will push a new page, and I click back, dataProvider will be destroyed, and I want keep data based on some strategies.
If I can do it, some page don't need load data, just use previous data.

route will push a new page, and I click back, dataProvider will be destroyed,

That shouldn't be the case, unless you used pushReplacement

final dataProvider =
    FutureProvider.autoDispose.family<String, String>((ref, params) async {
  print('params: $params start load data');

  ref.onDispose(() {
    print('params: $params data onDispose');
  });
  await Future.delayed(Duration(seconds: 5));

  print('params: $params loaded data');
  return params;
});

@hwidget
Widget home() {
  var context = useContext();
  return Scaffold(
    body: Center(
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: ['foo', 'bar']
            .map(
              (e) => ElevatedButton(
                onPressed: () {
                  print('click $e, push params $e');
                  Navigator.push(
                      context,
                      MaterialPageRoute(
                          builder: (BuildContext context) => Foo(e)));
                },
                child: Text(e),
              ),
            )
            .toList(),
      ),
    ),
  );
}

@hwidget
Widget foo(String name) {
  final context = useContext();
  final data = useProvider(dataProvider(name));

  return Scaffold(
    appBar: AppBar(
      leading: BackButton(onPressed: () {
        print('params: $name, pop');
        Navigator.maybePop(context);
      }),
    ),
    body: data.when(
      data: (data) => Text(data),
      loading: () => const CircularProgressIndicator(),
      error: (_, __) => Text('error'),
    ),
  );
}

flutter: click foo, push params foo
flutter: params: foo start load data
flutter: params: foo loaded data
flutter: params: foo, pop
flutter: params: foo data onDispose
flutter: click foo, push params foo
flutter: params: foo start load data
flutter: params: foo loaded data

I think we may have misunderstood and I've added some logs that might help you understand what I mean.
We can see the logs:

I clicked foo button
waited for data loaded
then click back. Now, because dataProvider don't have any listener, so it will be destroyed.
then click foo button again, the data need reload.

This behavior is expected, but sometimes I don’t want to reload, May want to keep five minutes?  if still don’t have listener, it should destroy.

I'm not an expert here, but would this solve your issues?
https://riverpod.dev/docs/concepts/modifiers/auto_dispose/#refmaintainstate

Somewhat similar, but I may not want to preserve it forever, just for a period of time, or for a max total of preserved.

Closing in favour of https://github.com/rrousselGit/river_pod/issues/779


Failed to connect local jupyter notebook

I've being running a jupyter notebook on localhost, and trying to open and run a local .ipynb on VSCode, but it didnt work.
Message shows 'Failed to connect to remote Jupyter notebook. Check that the Jupyter Server URI setting has a valid running server specified. http://localhost:8888/ Error: Invalid response: 403 Forbidden'.
Console logged this :
Failed to connect to remote Jupyter notebook. Check that the Jupyter Server URI setting has a valid running server specified. http://localhost:8888/ Error: Invalid response: 403 Forbidden'
Jupyter Notebook log message:
[W 00:48:28.682 NotebookApp] Forbidden
[W 00:48:28.683 NotebookApp] 403 GET /api/kernelspecs?1571762908669 (<IP_ADDRESS>) 2.00ms referer=None
[W 00:48:28.688 NotebookApp] 403 POST /api/contents/?1571762908672 (<IP_ADDRESS>): '_xsrf' argument missing from POST
[W 00:48:28.689 NotebookApp] '_xsrf' argument missing from POST
[W 00:48:28.689 NotebookApp] 403 POST /api/contents/?1571762908672 (<IP_ADDRESS>) 2.00ms referer=None

Everything's fine on any web browser though.
Thanks for helping!
python version:3.8

Hey @Pencil-Case thanks for reporting this. Just to make sure that I have your scenario down. You are setting the Jupyter Server URI manually and starting up your own server to connect to, right? Did you change the default server configuration? Looks to me like this might be failing to find either a token or password to authenticate to the server with.

Well.... I figured it out, maybe .
The thing ran like this:
I failed to create a new jupyter notebook in VSCode at the beginning.
Then I starting a local server by cmd, it failed to run cells in VSCode.
After that,I setting URI (with token) manually, it failed again with the console log like above.
There’s what I found taday early:
Jupyter server had some trouble like DLL missing. But after fixing errors and reopening the Server , it won’t work until reload the jupyter file and the current VSCode workspace.
But i do found something confused.
‘Creat new blank jupyter notebook by VSCode ‘ : if there’s some errors when starting jupyter server, it notificated the same error message like before even it’s after fixing  and reopening the server.
Anyway, just create a new workspace .
The other problem like 403, it hasn’t  repeat so far .

Sounds good. If you are seeing connection issues just ping back and reopen this (or filing a new issue might be better).


Rethink about settings artifacts and exported_artifacts

Since 0.10.0, in godot script $CEF.initialize({ "artifacts": "xxx" ...,

artifacts folder is already set by godot extension file.
Therefore exported_artifacts and artifacts cannot be changed since libgdcef.so is loaded before godot script which is set where to find .so file.
As consequence these are useless while we may want to change cef folder path.
artifacts and exported_artifacts can be local/absolute path.

We also need to catalog which files are actually needed for an export and which aren't. I'm sure there is a certain % of files that an export build doesn't need for CEF to work.


Issue with bundler or gems I can't work out when I type 'bundle exec rake spec'

Is this is a bug or something wrong from my end? Thanks very much for your time
I have a gist here - https://gist.github.com/1304591

You're using ruby 1.8.7 on RVM. That makes me think the problem is with your RVM setup. Run rvm use system to switch back to the OS X system ruby and try again.


[Q] Any benchmarks and real word scenario results?

We are planning to use TSDuck and we are curious what it can handle and hence if it is suites our needs. Before we setup our scenario and test ourselves we would like to know if anyone tested capabilities of TSDuck.
We are interested in:

Your scenario
Bandwidth
Latency
CPU Ussage
RAM Ussage
Your system specification

Feel free to share your results.

Please tell more details of your specific scenario

Our scenario consists of remux, demux, generation of PSI and PID replacement.


Compatibility with ConfigurableCompany (and maybe other mods)

Good afternoon.
I wanted to contact with the author of better saves for what I found that may cause compatibility issues with ConfigurableCompany and any mod that adds files to the game's directory.
In this case for what I've seen, BetterSaves uses the name of the files to check if it's a save-file, however this method may fail as many mods (including ConfigurableCompany) append a suffix to those mentioned saves, thus causing BetterSaves to think that a file called LCSaveFile4SOMETHING is a save file, wich it isn't.
This in fact may even happen if a user has any other file (for example, a backup file) that also starts by LCSaveFile.
I would love to help with the issue and, as the ConfigurableCompany developer, determine what's necesary to have between mod's compatibility.
For what I could check in the source, I think changes should be done under the CountSaveFiles() method.

closing, essentially a duplicate of #18. ConfigurableCompany is likely a legitimate case of not being able to embed mod data directly in the save file. working on a fix for the issue itself now


sap.m.Button: "Sticky Hover" on Combi/Hybrid devices

OpenUI5 version:
Any (tested the behavior from 1.71.XX to 1.120.XX in UI5 samples, same result anywhere)
Browser/version (+device/version):

Browser Version: 120.0.6099.129 (Official Build) (64-bit)
Device: any combi/hybrid device (I assume; regular touch seemed fine); It will always happen during device simulation in chrome using e.g. "Nest Hub Max"
Concrete Monitor in use (thin client setup with regular windows) used in real life scenario is: iiyama PL TF2234MC-B7X Touch Display

URL (minimal example if possible):
Simply use the UI5 samples: https://sdk.openui5.org/entity/sap.m.Button/ (any version will do, we currently still use 1.71.XX, below gifs are done using latest).
Make sure you're using/simulating a combi device (see steps to reproduce below).

Steps to reproduce the problem:

Making use of any combi-device and using the touch functionality. Using device simulation in chrome with e.g. "Nest Hub Max".
It sometimes happens for regular taps/touches but to provoke it more obviously: click & drag outside the button. This simulates a user touching the button for a prolonged time, sometimes maybe on the edge of the button or maybe slightly swiping by accident.
Observe the button state becoming :hover'ed resulting in a sticky hover as no real hover took place.
The :hover classes are removed again only upon further interaction with the application (clicking/touching the screen again anywhere).

The following gif shows the problem, though in the latest versions less visible due to the subtle change in the color palette. Take a close look on the buttons when the touch point is dragged below them and clicked again.

For better visibility, here again in dark mode:

Getting this ghosting/sticky :hover effect results in users being confused from time to time for multiple reasons.

This interactions doesn't (or not always) trigger the actual press of the button, which is correct but
because of the visual feedback there is confusion now whether the button was pressed or not and if it can be pressed again

What is the expected result?
It is a hard problem to "solve" I think. The best case scenario would be to either disallow :hover taking place or trying to resolve the issue by (maybe) adding on to the pre-existing touchend detection here which does not exist in older UI5 versions though.
What happens instead?
The button stays :hovered which, depending on the UI5 version and theme used, can look very confusing.
Any other information? (attach screenshot if possible)
some more context
Note also that the gifs show an over exaggerated way to trigger the behavior. In our actual case the users simply pressed the button and sometimes it ended up like this because of how they swiped across the button or maybe they pressed too long. A bit more context: The  touchscreens are being used within a warehouse.
MDN note about :hover
:hover is already known to be tricky for touch devices, citing MDN

Note: The :hover pseudo-class is problematic on touchscreens. Depending on the browser, the :hover pseudo-class might never match, match only for a moment after touching an element, or continue to match even after the user has stopped touching and until the user touches another element. Web developers should make sure that content is accessible on devices with limited or non-existent hovering capabilities.

what else did I try?
I did try to simply manually overwriting the css of the demokit trying out a few things. Of course one cannot simply do that in the actual source code of UI5 as there are way more devices, conditions and what not affected but what seemed to work was adding media queries allowing the hover to only take place when "real touch" is supported (if I understood it right ^^).

Here the result (only added for the Accept button, Reject is the counter-example)

side note
I acknowledge this might not be worth fixing and is a rather annoying problem to have. I'm not sure if it was considered taking care of it or if it is a known issue but I wanted to bring this to the teams attention anyway, maybe something can be done about it.
The way we went ahead to have a quick fix was manually overwriting the :hover styles with the same style of a not-hovered button. This way we lose some visual feedback for the user, some indication of the button being pressed/touched. But we somewhat made up for it making use of a busy-indicator. Its not the best way to solve the issue but definitely the simplest for now.
BR,
Marco

Hello @wridgeu ,
Thank you for sharing this finding. I've created an internal incident DINC0028104. The status of the issue will be updated here in GitHub
Regards,
Todor

Hi @wridgeu ,
I have inspected the reported issue and it seems it is reproducible even with pure HTML (see https://jsbin.com/ximumaleva/2/edit?html,output). It happens on Chrome and Edge only, and it seems it is a browser issue. We will register it in Chromium bug board.
Best Regards,
Nikolay Hristov

Hey @NHristov-sap,
nice find! Sorry that I did not test that. Will the bug report id (or similar) be linked here as well?
Thank you!
Br,
Marco

Hi again,
here is the issue opened in Chromium bug board: https://issues.chromium.org/issues/330213583
BR,
Nikolay Hristov


feat: port Mathlib.Data.Ordmap.Ordnode

Fixed much of the red, but needs to be checked for correctness.
Still broken on failed to elaborate eliminator, expected type is not available on recOn & an odd issue with ofList'

bors d+
Please merge after CI passes

bors r+


ci: upgrade packages

Coverage remained the same at 97.512% when pulling ed7509b2f648e2950ff901e9885cd743e4c98809 on upgrade-packages into 0889f590300dbea95c5b9618067ed9911262e06b on master.


error load sd1.5 model

Thank you for a solution. Updated.
As for second error - it seems you have problem with GitHub connection. I added file which diffusers tried to load to repo, should work now.

Thank you for a solution. Updated.谢谢你的解决方案。更新。 As for second error - it seems you have problem with GitHub connection. I added file which diffusers tried to load to repo, should work now.至于第二个错误 - 似乎您的 GitHub 连接有问题。我添加了 diffusers 尝试加载到存储库的文件，现在应该可以工作了。

its ok now,  thank you


Removing slimmer

Most style is there except the form page nav which doesn't space out correctly.

Looks good.


Merging new changes into release branch

83c43af DF-209: Split datefield (componentised)
(#388)
7a1e504 Upgrade to 3.1.2 (#505)
35dff1a sass/css change for correct display of images (#506)
84a9c9b UN-377:Upgrade wagtailmedia (#504)
2b3f3cb UN-377:Upgrade Wagtail 4.0.2 -> 4.0.4 (#503)
731a55c UN-368 Hidden private cards inside Insights pages (#489)
198e440 Merge pull request #500 from nationalarchives/UN-372-missing-from-insights-cards-in-insights
e7835cf (origin/UN-372-missing-from-insights-cards-in-insights, UN-372-missing-from-insights-cards-in-insights) Added
function to insights, previously on index
f9a18f4 (platform/develop) Df 373 add copy to long filters pages (#499)
dfda602 DF- 430 no results date validation (#495)
6cab5dc feature/DF-312-correctly-style-search-images (#492)
a188e7a UN-377:Restore Django=~4.0, package-lock.json to 0efc (#497)
69af5b0 Un 337 (#496)
f37919b UN-337: Upgrade to wagtail 4.0.2, django 4.1 and wagtail.metadata 4.0.2 (#488)
0efc4a8 adding in gta tag (#493)
deb4e2e Merge pull request #491 from nationalarchives/UN-367
ed59c4d (origin/UN-367, UN-367) Fixed formatting
6ca3775 Changed layout of explorer pages' featured insight
7065744 DF-314 : adjusted padding for explanatory paragraphs for search results (#483)

Closing this and doing it via VS code instead as develop is protected


Python Version Compatibility

What happened?
There is a fault while pip installs autoGen with the Python versions higher than 3.12. But the current reminder only point to the versions below 3.10.
File "/private/var/folders/0d/ftmmyfbs25g4t_4p7lhn3j3c0000gq/T/pip-build-env-q3_t8ewn/overlay/lib/python3.13/site-packages/setuptools/_distutils/unixccompiler.py", line 202, in _compile
raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/clang++' failed with exit code 1

  [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for grpcio
Failed to build grpcio
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (grpcio)

What did you expect to happen?
Python version compatibility issue.
How can we reproduce it (as minimally and precisely as possible)?

Remark the compatible Python version range in the README doc.
Ensure compatibility with future major versions of Python.

AutoGen version
0.4
Which package was this bug in
AgentChat
Model used
No response
Python version
3.13 and above
Operating system
MacOS
Any additional info you think would be helpful for fixing this bug
No response

This is due to the grpcio dependency not having wheels built for 3.13 and the source build subsequently failing. To fix this we'll need to upgrade grpcio to at least 1.66. This is important but will need to be taken on as a task to ensure xlang is still working.


Fixing endianness consistency in conceptual documentation

In this PR I modify the conceptual articles that use Big-endian format to use Little-endian format instead. This fixes #734.
@cgranade check if these changes are enough (and correct). I'm new to the whole concept of endianness so I'm not completely sure of everything. I looked through the articles and I didn't find more articles using integers to label the computational basis. Please tell me if I missed anything.  The only thing the QRNG when forming the integer classically, that uses BE, but I think that's ok.
PD: I think the katas use mostly BE, but they are usually very clear with endianness when relevant, so I think that's ok too.

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Lowestcategoryscore
Spellingissues
Scorecard
Processed

articles/concepts/multiple-qubits.md
73
44
48
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx

Docs Build status updates of commit 55674f4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/concepts/multiple-qubits.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@cgranade , can you take a look on this one, please?

Docs Build status updates of commit 4adf29f:
:clock10: Pending: waiting for processors (5 builds ahead of you)
:warning: Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 476bfaf:
:clock10: Pending: waiting for processors (5 builds ahead of you)
:warning: Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 4adf29f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/concepts/multiple-qubits.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 476bfaf:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/concepts/multiple-qubits.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Lowestcategoryscore
Spellingissues
Scorecard
Processed

articles/concepts/multiple-qubits.md
73
44
48
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx

Acrolinx Scorecards
A minimum Acrolinx score of 80 is required.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology.

Article
Acrolinxscore
Lowestcategoryscore
Spellingissues
Scorecard
Processed

articles/concepts/multiple-qubits.md
73
44
48
link
:white_check_mark:

More information about Acrolinx

Install Acrolinx locally for VSCode
False positives or issues
Troubleshooting issues with Acrolinx


Publish API used by luasec

Hi everyone,
This is a quite large pull request and it deserves some explanation. It is one of two pull requests (the second one going to luasec) which shall fix the issue of duplication of code in luasocket and luasec and the issues which arise from using a dynamically linked version of luasec (see also Prosody bug #28).
The first commit publishes the WAITFD_* constants, which are used by luasec at some places and is part of the modifications luasec makes to the luasocket headers.
The second one is larger and possibly more disputable. It publishes a whole bunch, probably more than strictly needed, of functions using the LUASOCKET_API define. This is required to allow luasec to find the symbols if loaded into the same process.
Together with the pull request which will be issued in a minute to luasec, this could improve user experience, especially on redhat systems, where the libraries are dynamically linked, a lot.
If you have any suggestions for improvements or any kind of critique, please let me know so that we can fix that quickly.
best regards,
Jonas

Does anybody have any input as to the current state of affairs here?

this is superseded by #346


Succession

What happens when an Emperor dies without issue? A War of Succession!

The basics of heirs, successions and acclamations are working: 67db4fb


Viewport background transparency not working with environment sky in Compatibility renderer

Godot version
4.0.beta17
System information
macOS 13.2
Issue description
The Transparent BG setting on SubViewport makes the background portions transparent in the resulting ViewportTexture as you can see in this example using the Mobile renderer:

However, if you switch to the Compatibility renderer it no longer makes the background transparent.

The issue here seems to be related to the environment, and more specifically background sky rendering. While the background sky is ignored in the Mobile and Forward+ renderer, it seems the background sky is rendered as opaque in the Compatibility renderer. If you remove the WorldEnvironment in the SubViewport (or just remove the sky background) you can see that the viewport correctly renders the background transparent again.

While I don't think it's related to the background transparency I'm also getting this error each time I run this minimum reproduction project, regardless or renderer:
E 0:00:00:0786   setup_local_to_scene: Condition "proxy.is_valid()" is true.
  <C++ Source>   scene/main/viewport.cpp:88 @ setup_local_to_scene()

Steps to reproduce

Set up a SubViewport with a camera, a default WorldEnvironment, some mesh (to render something)
Turn on Transparent BG on the SubViewport to make the background transparent
Set up a UI scene with a TextureRect to render the ViewportTexture of the SubViewport
Observe that the background is transparent on Mobile and Forward+ rendrerers
Switch to Compatibility renderer
Observe that the default sky is now rendered in the viewport background, and the background is not transparent.

Minimal reproduction project
viewport_background_test.zip

I'm also getting the "proxy.is_valid()" is true error when working with subviewports, though this is on Forward+.

I encountered this bug in my project (luckily it was easily worked around), so I can confirm this still exists with Godot 4.1 (tested on Windows 10 22H2)

I've encountered this bug in my project. Godot 4.2.2 on Windows 10 22H2.


Proposal: kubeflow-scheduler

Kubeflow Scheduler

Motivation
Use Cases
API
Design
Where to Start

Status: Draft
Version: Alpha
Implementation Owner: TBD
Authors:

@ScorpioCPH - Penghao Cen<EMAIL_ADDRESS>@gaocegege - Ce Gao<EMAIL_ADDRESS>
Motivation
Kubeflow has a controller (or operator) that makes it easy to create ML jobs which are defined by CRD. When we create new ML jobs, kube-scheduler reacts by scheduling them to nodes which satisfy the requests.
It works well for most workloads but not good enough for the ML workloads.
Instead, we need a more advanced scheduler to help us schedule ML workloads more efficiently.
We can achieve this goal by custom scheduler.
Use Cases

For distributed ML workloads, communication bandwidth will be bottleneck, so we want our jobs fall on the same machine as much as possible.
ML workloads could be accelerated by hardware accelerator (e.g. GPUs), we want to ensure these workloads only schedule on nodes with specialized hardware.
GPUs have various versions with different properties (e.g. Cores, Memory), we want to ensure that our workloads have enough resources.

Case A: our training jobs will require more than 8GB memory on GPUs as we have a large model.
Case B: we want some serving jobs to use NVIDIA Tesla K80 for better performance when running inference.

GPUs can be connected together to have much more performance, such as NVLink, so hardware topology need to be considered.

API
Kubernetes have a proposal about Resource Class, which provides a better resource representation. We can use this feature for resource management.
In TFJob spec, we can tell kubeflow-scheduler which resource we request by adding Resource Class in the spec as the same as CPU/Memory request.
Example, we want a TF worker to use 2 NVIDIA Tesla K80 while training.
spec:
  containers:
    - image: tf_training_worker_gpu_1
      name: tensorflow_worker_gpu_1
      resources:
        requests:
          nvidia.com/gpu.tesla.k80: 2
        limits:
          nvidia.com/gpu.tesla.k80: 2

Design
Resource Class
The details about Resource Class is still TBD as it is under discussion now.
But we can use CRD and label selector to implement a simple example of this (only support homogenous architecture now) which proposed here.
Scheduler
Kubeflow-scheduler should work well with default scheduler (kube-scheduler). It will listen on Pods which created by kubeflow-controller, evaluate whether a Node satisfies the requirements of this Pod by predicate functions.
These predicate functions may include:

Pods are CPU-sensitive (e.g. TensorFlow PS) or GPU-sensitive (e.g. TensorFlow Worker)?
Pods are in a group of the same job? e.g. workers of the same TensorFlow training job.
Pods are network-sensitive which request InfiniBand for high throughput and low latency.
Pods are storage-sensitive which request SSD hardware for high I/O speed.

Where to Start

@mitake has implemented a demo here.
And the resource-scheduler is another reference.
There is another project kube-arbitrator may be helpful for this proposal.

We can discuss more details about this proposal on google doc.

/cc @DjangoPeng @mitake

@ScorpioCPH @gaocegege Thanks for your works on kubeflow-scheduler.
As we all know, Kubeflow is dedicated to supporting multiple ML frameworks. While there are some differential specifications of resource, cluster and etc.
So, do we plan to make one kubeflow-scheduler for all ML frameworks? Or one for one?

@ScorpioCPH thanks for creating the doc. Can I add motivations and ideas of the gang scheduler to the doc directly?

@mitake Sure, please feel free to edit this doc.

@DjangoPeng It depends on the different requirements for ML frameworks, maybe we can start with TensorFlow.

@DjangoPeng Yeah, I think one scheduler for all ML frameworks is awesome but I am not sure if we could implement such a generic one. Let's start from TensorFlow since kubeflow starts from it, too.

SGTM. @ScorpioCPH @gaocegege

Thank you for putting this together.
So the proposal seems to address a couple of problems with a custom scheduler

Better GPU scheduling

Support multiple types of GPUs each with different resources
Support NVLink

Gang scheduling

However, an alternative solution would be to extend the existing GPU support to support multiple types of GPUs and to use kubernetes-incubator/kube-arbitrator (see also tensorflow/k8s#165).
What are the advantages and disadvantages of using a custom scheduler compared to alternative approaches?
/cc @vishh  @foxish

This is terrific stuff - I share @jlewi's questions. I don't mean to dismiss using a custom scheduler, but I am curious if we can avoid having to write our own.
+1 for supporting other frameworks (eventually). I'm totally ok skipping that in the first version.

The main advantage of the custom scheduler approach is that we don't have to add scheduling mechanisms and heuristics to the default scheduler. It is good for improving development speed and making maintenance easier.
The main disadvantage is that we would need a concurrency control mechanism between schedulers, probably. It seems to be a very subtle and difficult problem and no clean solutions would be available yet.
Also, kube-arbitrator will be used in the custom scheduler approach for controlling TfJob object of tf_operator. But kube-arbitrator itself doesn't provide a mechanism of the gang scheduling. So I think we need the custom scheduler anyway. cc @k82cn

But kube-arbitrator itself doesn't provide a mechanism of the gang scheduling.

kube-arbitrator already support that.

and gang-scheduling just part of kube-arbitrator, we had already discussed several points about supporting "batch" workload (spark, tf) in the last year: https://docs.google.com/document/d/1-H2hnZap7gQivcSU-9j4ZrJ8wE_WwcfOkTeAGjzUyLA/edit :).
kube-arbitrator will handle the scheduling part, it need a tf job controller to work with it, e.g. send resource request to it, monitor job's status.

@k82cn Thanks! we will take a look at this.

For the GPU scheduling stuff, I'd really like it if @vishh could weigh in since he's far more knowledgeable about accelerators in Kubernetes. Unfortunately, I think he's out of the office until the last week of January. Can we wait until then to finalize plans about GPU scheduling?
@mitake

The main advantage of the custom scheduler approach is that we don't have to add scheduling mechanisms and heuristics to the default scheduler. It is good for improving development speed and making maintenance easier.

Can you explain why we would need to add heuristics to the default scheduler?
My expectation is that Kubernetes scheduling will eventually provide all the necessary scheduling features to support hardware accelerators e.g. GPUs. So I wouldn't expect tensorflow/k8s or Kubeflow to be adding heuristics to handle GPU scheduling.
Similarly, I wouldn't expect tensorflow/k8s or Kubeflow to provide its own solution to gang-scheduling since this seems like a general problem shared by a variety of workloads (e.g. Spark Jobs). So I'd expect kube-arbitrator or a more generic solution to solve this.

@jlewi Hi, yes, there are some solutions for our requirements, GPU device-plugin is supported in v1.8 release, it just tell us there are N nvidia-gpu allocatable in the cluster without any more details (e.g. type, cores, memory). Maybe it's not enough for ML cases.
And Resource Class which proposed here will be helpful for our requirements, and we have received many feedbacks about this feature, but it seems like a long-term goal for Kubernetes. So i wrote another proposal here to implement this in another way without changing Kubernetes core codes. I think kubeflow maybe a good case to push Resource Class forward.
/cc @vikaschoudhary16
For gang scheduling, Thanks so much for bringing up a great discussion here: https://github.com/tensorflow/k8s/issues/165, we can continue this topic and push it forward together :)

The issue title "kubeflow-scheduler" seems much more general than the proposal which focuses on introducing Resource class.

Should we narrow the scope of this issue to Resource class?

The proposal doesn't seem to require any changes to the TfJob controller

Users make use of the new Resource class by specifying schedulerName and requests and limits
Is this accurate?

So given the above, can we make ResourceClass support optional in a Kubeflow deployment?
-  It would have to be enabled if users wanted to use ResourClasses' with TfJobs

It looks like the ResourceClass proposal (kubernetes/community#782) has been open since July with no clear resolution
- There's an old comment about trying to pick this up after 1.9 (which was just released).
- Including optional support in Kubeflow might be a good way to push the issue forward.

@ScorpioCPH @gaocegege Can we treat ResourceClass as an optional experimental feature in a Kubeflow deployment?

@jlewi

Should we narrow the scope of this issue to Resource Class?

LGTM, but without Resource Class, @mitake also want to discuss more about gang scheduling.

The proposal doesn't seem to require any changes to the TfJob controller

Yes, this proposal is about scheduling not about lifecycle management.

It would have to be enabled if users wanted to use Resource Class with TfJobs

Agreed, Resource Class is just like other resources CPU/Memory in a way, you can specify the requirement or leave it empty. But without GPU, the performance of many ML workloads maybe very low (both in training and inference) :)

@jiayingz is planning to work on something related to resource classes in H1 2018.
The current way to target nodes with particular accelerator types is to use node selectors and node labels. (See doc from PR https://github.com/kubernetes/website/pull/6736)

@jlewi

Can you explain why we would need to add heuristics to the default scheduler?

If every heuristics we need can be added to the default scheduler easily, it is nice of course. But we are facing an interesting problem related to scheduling distributed DL frameworks: slow GPU. We found that few GPUs can be slow because of overheat. This would be a very environment and application specific problem so I thought adding the heuristics to the default scheduler or other general mechanisms wouldn't be so easy.
Anyway, I'm still trying to understand how the problem should be solved so I don't have strong opinions about how to solve it (although our internal solution relies on a custom scheduler and doing well for now). Of course it is great if it can be solved by general methodologies e.g. the default scheduler or kube-arbitrator.

@mitake
That's really interesting. Could you detect the overheating and mark the node unhealthy?

No need to mark the whole node as unhealthy, with our device plugin, we could mark individual GPUs as unhealthy if we notice that one GPU is repeatedly throttled. It's possible, but it will require some thoughts for the strategy we need to use for detecting this case.

@mitake do you know whether the overheating problem can be detected through some nvml throttling events as @flx42 mentioned? When such problems happened, were those slow GPUs still usable/recoverable or your would rather restart your jobs on different nodes with GPUs available? Also curious on whether the jobs you mentioned were running on cloud or on prem. On cloud, I would expect such failure events were detected at VM level.

@scorpiocph and @gaocegege could you explain more on why the current available approaches are not enough to solve your use cases (e.g., inter-pod affinity to have jobs scheduled on the same machine as much as possible, and use node labels and nodeselector to schedule jobs on specialized hardware)? We are hoping to make some progress on the resource class design next year and would like to better understand the use cases we should target for.

@jiayingz Glad to hear that! Please involve us into Resource Class.
Some quick comments about your questions:

node labels and nodeselector is a good solution for homogenous arch, e.g. one node only have one type of GPU, but not enough for heterogeneous arch, one node have more than one type of GPUs.
And many cases show that we can get more performance if we connect some GPUs together (e.g. NVLink), so device topology support is also another use case.

@ScorpioCPH Do you see a lot of clusters with heterogenous nodes? I'd expect that most clusters use one type of GPU on each node.

A lot of our clients have heterogenous nodes.

@ScorpioCPH @gaocegege
Should we close this issue? We have issues for gang-scheduling and kube-arbitrator
kubeflow/tf-operator#349
Can we close this issue in favor of those?

@ScorpioCPH @gaocegege Thoughts about closing this issue?

SGTM


fix: skip spawn new runners if enough idle runner available

Issue:
When we get multiple 'workflow queued' events in a short period of time we seem to have too many instances creating.
This leads to a situation where we create new instances and scale them down at the same time constantly.
Proposal:
we only scale up if there are not enough free idle_runner
Michael Kuhnt<EMAIL_ADDRESS>Mercedes-Benz Tech Innovation GmbH (ProviderInformation)

Looks good! Thanks!

I really need to find some time to rework the way jobs are recorded and runners are spun up. While this does fix situations where pools have a non zero MinIdleRunners set, it will probably disable pools that don't create idle runners.
After I clear my backlog, I'll look at improving pool management.

One solution to this could be to add a 'desired runners' variable which is automatically but slowly adjusted, maybe to the avg parallel active runners of the last half hour or so.. and which can scale between min-idle and max runners.

As a simple and effective fix for the situation where garm would react to a queued hook and started to spin up a new runner, clashing with the scale-down feature that was added earlier, we can set a simple grace period on the scale-down function.
Something like:
if time.Since(runner.UpdatedAt).Minutes < 5 {
    // This runner was spun up in the last 5 minutes. Leave it allone for now.
    continue
}

And we can remove the check for existing idle runners. The queued hook fires before an existing idle runner is assigned and starts running the workflow, thus transitioning an idle runner into active, and draining it from the list of available idle runners.
This timeout ensures that a newly spun up idle runner is left alone long enough for it, or one of the older runners to be offered a job by github. So you eliminate that contention between automatically spinning up runners and the scale-down routine killing idle ones.


test(cell): Update this cell component unit test.

Checklist

[ ] Fix linting errors
[x] Tests have been added / updated (or snapshots)

Change information
close #470

Codecov Report

Merging #471 (b7d71fb) into dev (e6d397a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #471   +/-   ##
=======================================
  Coverage   96.38%   96.38%
=======================================
  Files         217      217
  Lines        5148     5148
  Branches      944      944
=======================================
  Hits         4962     4962
  Misses        186      186

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 e6d397a...b7d71fb. Read the comment docs.

thanks


Add community demo about SSVQE

Closes Issue #322

Screenshot of new demo card:

Links work as expected.


frr-exporter: init at 1.2.0

Description of changes
Prometheus exporter for FRR version 3.0+ that collects metrics from the FRR Unix sockets and exposes them via HTTP, ready for collecting by Prometheus.
Closes https://github.com/NixOS/nixpkgs/issues/309155
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@momeemt I addressed your comments. Thanks for the feedback!
@isabelroses thanks for your approval, is there anything else I can do to get this merged?

is there anything else I can do to get this merged?

Not that I'm aware of. But my best guess is to request a someone from nixpkgs committer team to review.

First of all, thanks for the package ;-)
We could, if you want to, also add the a prometheus module to this pr.
Something like this might work (not tested yet), I just copied it from node exporter and adjusted some things.
# nixos/modules/services/monitoring/prometheus/exporters/frr.nix
{ config, lib, pkgs, options, ... }:

let
  cfg = config.services.prometheus.exporters.frr;
  inherit (lib)
    mkOption
    types
    concatStringsSep
    concatMapStringsSep
    any
    optionals
    ;
  collectorIsEnabled = final: any (collector: (final == collector)) cfg.enabledCollectors;
  collectorIsDisabled = final: any (collector: (final == collector)) cfg.disabledCollectors;
in
{
  port = 9342;
  extraOpts = {
    enabledCollectors = mkOption {
      type = types.listOf types.str;
      default = [];
      example = [ "vrrp" ];
      description = ''
        Collectors to enable. The collectors listed here are enabled in addition to the default ones.
      '';
    };
    disabledCollectors = mkOption {
      type = types.listOf types.str;
      default = [];
      example = [ "bfd" ];
      description = ''
        Collectors to disable which are enabled by default.
      '';
    };
  };
  serviceOpts = {
    serviceConfig = {
      DynamicUser = false;
      RuntimeDirectory = "prometheus-frr-exporter";
      ExecStart = ''
        ${pkgs.prometheus-frr-exporter}/bin/frr_exporter \
          ${concatMapStringsSep " " (x: "--collector." + x) cfg.enabledCollectors} \
          ${concatMapStringsSep " " (x: "--no-collector." + x) cfg.disabledCollectors} \
          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} ${concatStringsSep " " cfg.extraFlags}
      '';
    };
  };
}

For now I removed the "systemd hardening" (RestrictAddressFamilies, ...), but we should think about it.

@WOBCOM might be also interested in this, probably a merge from @yu-re-ka possible? 👉👈


Original carts missing in CartMergedEvent

PHP Version
All
Shopware Version
^6.4.x
Expected behaviour
The CartMergedEvent should contain the original carts (customer cart and guest cart with their tokens) and the new merged cart and not just two instances of the merged cart.
Also the guestCart get's removed, so when managing carts / order over api there is no way to keep the reference of the cart. (or know what happend to the cart)
https://github.com/shopware/platform/blob/trunk/src/Core/System/SalesChannel/Context/SalesChannelContextRestorer.php#L113
Actual behaviour
The event contains the merged and original cart, but actually these object are just identical (apart from the line items, but the new lines items could also be calculated by comparing the merged and guest cart), so no real value is added by passing $cartClone, instead the guest cart should also be available.
How to reproduce
Produce a cart over the api, give the cart to your session (by setting the cart token to the session and creating a sales_channel_api_context instance).
Open checkout, see the cart created by API, then log in. Cart will now be merged with the previous cart thus talking the token from the customers cart. the (guest) cart created via api will be deleted without any reference. trying to patch this cart or getting it's information from my third party is now impossible as the cart is gone and there is no way to know which new cart / order has been created from that cart.  (no history of token changes)
Related: https://github.com/shopware/platform/issues/1923

Its fixed


Use 64 color mode when in 320x200 resolution.

Hi, thanks for the feedback - this has been implemented in VDP 1.03 in a slightly different way. Yours and Lennart's suggestions are both pretty close, and helped me fix my code, specifically exposing/calling the end method of the VGA controller, so will credit you both in the comments / release notes.


Deep link support

Allow to deep-link into activities by URL:

Homescreen
Event details
Speaker details

To be confirmed, but this is what I'm thinking so far:

droidconit://schedule/42 for the day with ID "42" of the schedule
droidconit://schedule/42/1234 for the day with ID "42" of the schedule scrolling to bring the event with ID "1234" into view
droidconit://event/123 for the event details with ID "123"
droidconit://speaker/456 for the speaker details with ID "456"
droidconit://favorites for the favorites (TBC)
droidconit://social for the twitter stream (TBC)
droidconit://venue for the venue (TBC)
droidconit://debug for the debug screen


Misc doc tweaks and fixes

Thanks for publishing this nice bundle!
I propose in this PR some tweaks in the docs for your consideration. Thanks.

Some tweaks... that improves a lot the whole file!
Thank you very much @javiereguiluz!


Internationalization / Translation

Are there any translation efforts currently being made for portuguese and spanish? Can we start one?

there are some for angular 1 already in here. check them out.
and yes ... please contribute :)

@phackwer check !
https://github.com/johnpapa/angular-styleguide/tree/master/a1/i18n
Cheers !!


Update to title based in SEO guidelines.

Hi @KundanaP, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no contribution license agreement is required at this point. Real humans will now evaluate your PR.

TTYL, AZPRBOT;


Run Container as root

I know this technically is a security concern, however I am trying to run this in AWS ECS, and I cannot run it with the option --privileged, so that leaves the only option either:

giving app the same permissions as root, or

running as root.

I added some extra packages (certbot and iptables) that I cannot run without using root.  I did notice that the container utilizes "app" user, is it possible to change this to the "root" user instead?
I am using your firefox image, but I know it pulls from this one, which is where I found the init user script [10-init-users.sh]. However I can't find where the container indicates which user will be used within the container startup.

Correction, this is relevant for your baseimage, not the baseimage-gui, but question remains the same, as the baseimage-gui pulls from your baseimage :)

Disregard, I read another issue that solved my problem. To anyone else running into this issue, just add a new init script as specified here. The init scripts are ran as root.


Delete/Rephrase explanation of gas tokens

Section 3.6 Gas and Gas Prices explains gas tokens as use Gas when minted and free slightly less Gas when burned. Gas Tokens minted when Gas prices are low can be burned to subsidize Ethereum transactions when Gas prices are high.
Is this still a relevant and accurate description, given that the gas refund for SELFDESTRUCT was removed with the London hard fork (August 2021) by enforcing EIP-3529?
Suggestion: either remove the paragraph entirely, or rephrase it to something like: "Gas Tokens use Gas when minted and free slightly less Gas when burned, provided the EVM refunds a sufficient quantity of Gas for clearing the state. Gas Tokens minted when Gas prices are low can be burned to subsidize Ethereum transactions when Gas prices are high. On Ethereum's main chain, Gas refunds where removed with the London hard fork that deployed EIP-3529.

@chaals Thanks for processing my note. Two remarks:

I'm not sure whether 'effectively disabling gas tokens' is precise: with EIP-3529, the gas tokens can still be called and will self-destruct, so they are not disabled. I'm no native speaker, but maybe something like the EIP 'defeats the original purpose of the gas tokens' or 'renders gas tokens useless/dysfunctional' or similar.
With the Cancun fork and the deployment of EIP-6780, the situation has changed again: With this EIP enabled, there is not only no refund anymore, but the self-destruct is completely ineffective for the gas tokens, as the contract code deployed before the current transaction is no longer deleted.

@gsalzer I think (as a native english speaker) that "effectively disabling gas tokens" covers the meaning sufficiently well. However, if as a non-native speaker you think it would be helpful if the text were more precise, I'll make a further tweak. Please thumbs-up this comment if you would like me to do so - no need to reopen the issue as we're now talking about an editorial adjustment to a non-normative section.

@chaals Thanks, it's fine for me if it is for you.