Setup fails trying to build wheels for immutables multidict lxml

Hi friends!
Trying to kick the tires on some salt-extension development and I'm at a roadblock that I can't seem to work out on my own.
I followed the Quickstart instructions from this repo, followed by the followup instructions from the output of create-salt-extension.
I get stuck at python -m pip install -e '.[dev,tests,docs]'  with...
python -m pip install -e .[dev,tests,docs]
Obtaining file:///Users/shea/Developer/sq/saltext_humio
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Collecting salt>=3005 (from saltext.humio==0.1.dev0+d20240605)
  Using cached salt-3007.1-py3-none-any.whl
Collecting nox (from saltext.humio==0.1.dev0+d20240605)
  Using cached nox-2024.4.15-py3-none-any.whl.metadata (4.7 kB)
Collecting pre-commit>=2.4.0 (from saltext.humio==0.1.dev0+d20240605)
  Using cached pre_commit-3.7.1-py2.py3-none-any.whl.metadata (1.3 kB)
Collecting pylint (from saltext.humio==0.1.dev0+d20240605)
  Using cached pylint-3.2.2-py3-none-any.whl.metadata (12 kB)
Collecting SaltPyLint (from saltext.humio==0.1.dev0+d20240605)
  Using cached SaltPyLint-2024.2.5-py3-none-any.whl.metadata (1.4 kB)
Collecting sphinx (from saltext.humio==0.1.dev0+d20240605)
  Using cached sphinx-7.3.7-py3-none-any.whl.metadata (6.0 kB)
Collecting sphinx-material-saltstack (from saltext.humio==0.1.dev0+d20240605)
  Using cached sphinx_material_saltstack-1.0.5-py3-none-any.whl.metadata (6.8 kB)
Collecting sphinx-prompt (from saltext.humio==0.1.dev0+d20240605)
  Using cached sphinx_prompt-1.8.0-py3-none-any.whl.metadata (3.1 kB)
Collecting sphinxcontrib-spelling (from saltext.humio==0.1.dev0+d20240605)
  Using cached sphinxcontrib_spelling-8.0.0-py3-none-any.whl.metadata (2.9 kB)
Collecting sphinx-copybutton (from saltext.humio==0.1.dev0+d20240605)
  Using cached sphinx_copybutton-0.5.2-py3-none-any.whl.metadata (3.2 kB)
Collecting furo (from saltext.humio==0.1.dev0+d20240605)
  Using cached furo-2024.5.6-py3-none-any.whl.metadata (5.9 kB)
Collecting pytest>=7.2.0 (from saltext.humio==0.1.dev0+d20240605)
  Using cached pytest-8.2.2-py3-none-any.whl.metadata (7.6 kB)
Collecting pytest-salt-factories>=1.0.0rc28 (from saltext.humio==0.1.dev0+d20240605)
  Using cached pytest_salt_factories-1.0.1-py3-none-any.whl.metadata (4.7 kB)
Collecting cfgv>=2.0.0 (from pre-commit>=2.4.0->saltext.humio==0.1.dev0+d20240605)
  Using cached cfgv-3.4.0-py2.py3-none-any.whl.metadata (8.5 kB)
Collecting identify>=1.0.0 (from pre-commit>=2.4.0->saltext.humio==0.1.dev0+d20240605)
  Using cached identify-2.5.36-py2.py3-none-any.whl.metadata (4.4 kB)
Collecting nodeenv>=0.11.1 (from pre-commit>=2.4.0->saltext.humio==0.1.dev0+d20240605)
  Using cached nodeenv-1.9.1-py2.py3-none-any.whl.metadata (21 kB)
Collecting pyyaml>=5.1 (from pre-commit>=2.4.0->saltext.humio==0.1.dev0+d20240605)
  Using cached PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (2.1 kB)
Collecting virtualenv>=20.10.0 (from pre-commit>=2.4.0->saltext.humio==0.1.dev0+d20240605)
  Using cached virtualenv-20.26.2-py3-none-any.whl.metadata (4.4 kB)
Collecting iniconfig (from pytest>=7.2.0->saltext.humio==0.1.dev0+d20240605)
  Using cached iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB)
Collecting packaging (from pytest>=7.2.0->saltext.humio==0.1.dev0+d20240605)
  Using cached packaging-24.0-py3-none-any.whl.metadata (3.2 kB)
Collecting pluggy<2.0,>=1.5 (from pytest>=7.2.0->saltext.humio==0.1.dev0+d20240605)
  Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
Collecting attrs>=19.2.0 (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached attrs-23.2.0-py3-none-any.whl.metadata (9.5 kB)
Collecting pytest-helpers-namespace>=2021.4.29 (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached pytest_helpers_namespace-2021.12.29-py3-none-any.whl.metadata (5.8 kB)
Collecting pytest-skip-markers>=1.1.3 (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached pytest_skip_markers-1.5.1-py3-none-any.whl.metadata (5.1 kB)
Collecting pytest-system-statistics>=1.0.2 (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached pytest_system_statistics-1.0.2-py3-none-any.whl.metadata (6.3 kB)
Collecting pytest-shell-utilities>=1.4.0 (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached pytest_shell_utilities-1.9.0-py3-none-any.whl.metadata (5.9 kB)
Collecting psutil (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl.metadata (21 kB)
Collecting pyzmq (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached pyzmq-26.0.3-cp312-cp312-macosx_10_15_universal2.whl.metadata (6.1 kB)
Collecting msgpack>=0.5.2 (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl.metadata (9.1 kB)
Collecting aiohttp==3.9.5 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached aiohttp-3.9.5-cp312-cp312-macosx_11_0_arm64.whl.metadata (7.5 kB)
Collecting aiosignal==1.3.1 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)
Collecting annotated-types==0.6.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached annotated_types-0.6.0-py3-none-any.whl.metadata (12 kB)
Collecting autocommand==2.2.2 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached autocommand-2.2.2-py3-none-any.whl.metadata (15 kB)
Collecting certifi==2023.07.22 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
Collecting cffi==1.16.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (1.5 kB)
Collecting charset-normalizer==3.2.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached charset_normalizer-3.2.0-py3-none-any.whl.metadata (31 kB)
Collecting cheroot==10.0.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached cheroot-10.0.0-py3-none-any.whl.metadata (6.4 kB)
Collecting cherrypy==18.8.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached CherryPy-18.8.0-py2.py3-none-any.whl.metadata (8.4 kB)
Collecting contextvars==2.4 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached contextvars-2.4-py3-none-any.whl
Collecting cryptography==42.0.5 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl.metadata (5.3 kB)
Collecting distro==1.8.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached distro-1.8.0-py3-none-any.whl.metadata (6.9 kB)
Collecting frozenlist==1.4.1 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (12 kB)
Collecting idna==3.7 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached idna-3.7-py3-none-any.whl.metadata (9.9 kB)
Collecting immutables==0.15 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached immutables-0.15.tar.gz (44 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting importlib-metadata==6.6.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached importlib_metadata-6.6.0-py3-none-any.whl.metadata (5.0 kB)
Collecting inflect==7.0.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached inflect-7.0.0-py3-none-any.whl.metadata (21 kB)
Collecting jaraco.collections==4.1.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached jaraco.collections-4.1.0-py3-none-any.whl.metadata (4.2 kB)
Collecting jaraco.context==4.3.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached jaraco.context-4.3.0-py3-none-any.whl.metadata (3.0 kB)
Collecting jaraco.functools==3.7.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached jaraco.functools-3.7.0-py3-none-any.whl.metadata (3.1 kB)
Collecting jaraco.text==3.11.1 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached jaraco.text-3.11.1-py3-none-any.whl.metadata (4.0 kB)
Collecting jinja2==3.1.4 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting jmespath==1.0.1 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached jmespath-1.0.1-py3-none-any.whl.metadata (7.6 kB)
Collecting looseversion==1.3.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached looseversion-1.3.0-py2.py3-none-any.whl.metadata (4.6 kB)
Collecting markupsafe==2.1.3 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl.metadata (2.9 kB)
Collecting more-itertools==8.2.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached more_itertools-8.2.0-py3-none-any.whl.metadata (41 kB)
Collecting msgpack>=0.5.2 (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl.metadata (9.1 kB)
Collecting multidict==6.0.4 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached multidict-6.0.4.tar.gz (51 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting packaging (from pytest>=7.2.0->saltext.humio==0.1.dev0+d20240605)
  Using cached packaging-23.1-py3-none-any.whl.metadata (3.1 kB)
Collecting portend==3.1.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached portend-3.1.0-py3-none-any.whl.metadata (3.5 kB)
Collecting psutil (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl.metadata (21 kB)
Collecting pycparser==2.21 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached pycparser-2.21-py2.py3-none-any.whl.metadata (1.1 kB)
Collecting pycryptodomex==3.19.1 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached pycryptodomex-3.19.1-cp35-abi3-macosx_10_9_universal2.whl.metadata (3.4 kB)
Collecting pydantic-core==2.16.3 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached pydantic_core-2.16.3-cp312-cp312-macosx_11_0_arm64.whl.metadata (6.5 kB)
Collecting pydantic==2.6.4 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached pydantic-2.6.4-py3-none-any.whl.metadata (85 kB)
Collecting pyopenssl==24.0.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached pyOpenSSL-24.0.0-py3-none-any.whl.metadata (12 kB)
Collecting python-dateutil==2.8.2 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl.metadata (8.2 kB)
Collecting python-gnupg==0.5.2 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached python_gnupg-0.5.2-py2.py3-none-any.whl.metadata (1.9 kB)
Collecting pytz==2024.1 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached pytz-2024.1-py2.py3-none-any.whl.metadata (22 kB)
Collecting pyzmq (from pytest-salt-factories>=1.0.0rc28->saltext.humio==0.1.dev0+d20240605)
  Using cached pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl.metadata (4.9 kB)
Collecting requests==2.31.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
Collecting setproctitle==1.3.2 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached setproctitle-1.3.2-cp312-cp312-macosx_14_0_arm64.whl
Collecting six==1.16.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached six-1.16.0-py2.py3-none-any.whl.metadata (1.8 kB)
Collecting tempora==5.3.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached tempora-5.3.0-py3-none-any.whl.metadata (3.4 kB)
Collecting timelib==0.3.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached timelib-0.3.0-cp312-cp312-macosx_14_0_arm64.whl
Collecting tornado==6.3.3 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached tornado-6.3.3-cp38-abi3-macosx_10_9_universal2.whl.metadata (2.5 kB)
Collecting typing-extensions==4.8.0 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached typing_extensions-4.8.0-py3-none-any.whl.metadata (3.0 kB)
Collecting urllib3==1.26.18 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached urllib3-1.26.18-py2.py3-none-any.whl.metadata (48 kB)
Collecting yarl==1.9.4 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl.metadata (31 kB)
Collecting zc.lockfile==3.0.post1 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached zc.lockfile-3.0.post1-py3-none-any.whl.metadata (6.2 kB)
Collecting zipp==3.16.2 (from salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached zipp-3.16.2-py3-none-any.whl.metadata (3.7 kB)
Collecting setuptools (from zc.lockfile==3.0.post1->salt>=3005->saltext.humio==0.1.dev0+d20240605)
  Using cached setuptools-70.0.0-py3-none-any.whl.metadata (5.9 kB)
Collecting beautifulsoup4 (from furo->saltext.humio==0.1.dev0+d20240605)
  Using cached beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
Collecting sphinx-basic-ng>=1.0.0.beta2 (from furo->saltext.humio==0.1.dev0+d20240605)
  Using cached sphinx_basic_ng-1.0.0b2-py3-none-any.whl.metadata (1.5 kB)
Collecting pygments>=2.7 (from furo->saltext.humio==0.1.dev0+d20240605)
  Using cached pygments-2.18.0-py3-none-any.whl.metadata (2.5 kB)
Collecting sphinxcontrib-applehelp (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached sphinxcontrib_applehelp-1.0.8-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-devhelp (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached sphinxcontrib_devhelp-1.0.6-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-jsmath (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting sphinxcontrib-htmlhelp>=2.0.0 (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached sphinxcontrib_serializinghtml-1.1.10-py3-none-any.whl.metadata (2.4 kB)
Collecting sphinxcontrib-qthelp (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached sphinxcontrib_qthelp-1.0.7-py3-none-any.whl.metadata (2.2 kB)
Collecting docutils<0.22,>=0.18.1 (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached docutils-0.21.2-py3-none-any.whl.metadata (2.8 kB)
Collecting snowballstemmer>=2.0 (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached snowballstemmer-2.2.0-py2.py3-none-any.whl.metadata (6.5 kB)
Collecting babel>=2.9 (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached Babel-2.15.0-py3-none-any.whl.metadata (1.5 kB)
Collecting alabaster~=0.7.14 (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached alabaster-0.7.16-py3-none-any.whl.metadata (2.9 kB)
Collecting imagesize>=1.3 (from sphinx->saltext.humio==0.1.dev0+d20240605)
  Using cached imagesize-1.4.1-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting argcomplete<4.0,>=1.9.4 (from nox->saltext.humio==0.1.dev0+d20240605)
  Using cached argcomplete-3.3.0-py3-none-any.whl.metadata (16 kB)
Collecting colorlog<7.0.0,>=2.6.1 (from nox->saltext.humio==0.1.dev0+d20240605)
  Using cached colorlog-6.8.2-py3-none-any.whl.metadata (10 kB)
Collecting platformdirs>=2.2.0 (from pylint->saltext.humio==0.1.dev0+d20240605)
  Using cached platformdirs-4.2.2-py3-none-any.whl.metadata (11 kB)
Collecting astroid<=3.3.0-dev0,>=3.2.2 (from pylint->saltext.humio==0.1.dev0+d20240605)
  Using cached astroid-3.2.2-py3-none-any.whl.metadata (4.5 kB)
Collecting isort!=5.13.0,<6,>=4.2.5 (from pylint->saltext.humio==0.1.dev0+d20240605)
  Using cached isort-5.13.2-py3-none-any.whl.metadata (12 kB)
Collecting mccabe<0.8,>=0.6 (from pylint->saltext.humio==0.1.dev0+d20240605)
  Using cached mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)
Collecting tomlkit>=0.10.1 (from pylint->saltext.humio==0.1.dev0+d20240605)
  Using cached tomlkit-0.12.5-py3-none-any.whl.metadata (2.7 kB)
Collecting dill>=0.3.6 (from pylint->saltext.humio==0.1.dev0+d20240605)
  Using cached dill-0.3.8-py3-none-any.whl.metadata (10 kB)
Collecting beautifulsoup4 (from furo->saltext.humio==0.1.dev0+d20240605)
  Using cached beautifulsoup4-4.9.1-py3-none-any.whl.metadata (4.1 kB)
Collecting python-slugify==4.0.1 (from python-slugify[unidecode]==4.0.1->sphinx-material-saltstack->saltext.humio==0.1.dev0+d20240605)
  Using cached python_slugify-4.0.1-py2.py3-none-any.whl
Collecting css-html-js-minify==2.5.5 (from sphinx-material-saltstack->saltext.humio==0.1.dev0+d20240605)
  Using cached css_html_js_minify-2.5.5-py2.py3-none-any.whl.metadata (12 kB)
Collecting lxml==4.5.2 (from sphinx-material-saltstack->saltext.humio==0.1.dev0+d20240605)
  Using cached lxml-4.5.2.tar.gz (4.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting soupsieve>1.2 (from beautifulsoup4->furo->saltext.humio==0.1.dev0+d20240605)
  Using cached soupsieve-2.5-py3-none-any.whl.metadata (4.7 kB)
Collecting text-unidecode>=1.3 (from python-slugify==4.0.1->python-slugify[unidecode]==4.0.1->sphinx-material-saltstack->saltext.humio==0.1.dev0+d20240605)
  Using cached text_unidecode-1.3-py2.py3-none-any.whl.metadata (2.4 kB)
Collecting Unidecode>=1.1.1 (from python-slugify[unidecode]==4.0.1->sphinx-material-saltstack->saltext.humio==0.1.dev0+d20240605)
  Using cached Unidecode-1.3.8-py3-none-any.whl.metadata (13 kB)
Collecting PyEnchant>=3.1.1 (from sphinxcontrib-spelling->saltext.humio==0.1.dev0+d20240605)
  Using cached pyenchant-3.2.2-py3-none-any.whl.metadata (3.8 kB)
Collecting distlib<1,>=0.3.7 (from virtualenv>=20.10.0->pre-commit>=2.4.0->saltext.humio==0.1.dev0+d20240605)
  Using cached distlib-0.3.8-py2.py3-none-any.whl.metadata (5.1 kB)
Collecting filelock<4,>=3.12.2 (from virtualenv>=20.10.0->pre-commit>=2.4.0->saltext.humio==0.1.dev0+d20240605)
  Using cached filelock-3.14.0-py3-none-any.whl.metadata (2.8 kB)
Using cached pre_commit-3.7.1-py2.py3-none-any.whl (204 kB)
Using cached pytest-8.2.2-py3-none-any.whl (339 kB)
Using cached pytest_salt_factories-1.0.1-py3-none-any.whl (94 kB)
Using cached aiohttp-3.9.5-cp312-cp312-macosx_11_0_arm64.whl (392 kB)
Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Using cached annotated_types-0.6.0-py3-none-any.whl (12 kB)
Using cached attrs-23.2.0-py3-none-any.whl (60 kB)
Using cached autocommand-2.2.2-py3-none-any.whl (19 kB)
Using cached certifi-2023.7.22-py3-none-any.whl (158 kB)
Using cached cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl (177 kB)
Using cached charset_normalizer-3.2.0-py3-none-any.whl (46 kB)
Using cached cheroot-10.0.0-py3-none-any.whl (101 kB)
Using cached CherryPy-18.8.0-py2.py3-none-any.whl (348 kB)
Using cached cryptography-42.0.5-cp39-abi3-macosx_10_12_universal2.whl (5.9 MB)
Using cached distro-1.8.0-py3-none-any.whl (20 kB)
Using cached frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl (51 kB)
Using cached idna-3.7-py3-none-any.whl (66 kB)
Using cached importlib_metadata-6.6.0-py3-none-any.whl (22 kB)
Using cached inflect-7.0.0-py3-none-any.whl (34 kB)
Using cached jaraco.collections-4.1.0-py3-none-any.whl (11 kB)
Using cached jaraco.context-4.3.0-py3-none-any.whl (5.3 kB)
Using cached jaraco.functools-3.7.0-py3-none-any.whl (8.1 kB)
Using cached jaraco.text-3.11.1-py3-none-any.whl (11 kB)
Using cached jinja2-3.1.4-py3-none-any.whl (133 kB)
Using cached jmespath-1.0.1-py3-none-any.whl (20 kB)
Using cached looseversion-1.3.0-py2.py3-none-any.whl (8.2 kB)
Using cached MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl (17 kB)
Using cached more_itertools-8.2.0-py3-none-any.whl (43 kB)
Using cached msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl (232 kB)
Using cached packaging-23.1-py3-none-any.whl (48 kB)
Using cached portend-3.1.0-py3-none-any.whl (5.3 kB)
Using cached psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl (246 kB)
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Using cached pycryptodomex-3.19.1-cp35-abi3-macosx_10_9_universal2.whl (2.4 MB)
Using cached pydantic-2.6.4-py3-none-any.whl (394 kB)
Using cached pydantic_core-2.16.3-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB)
Using cached pyOpenSSL-24.0.0-py3-none-any.whl (58 kB)
Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Using cached python_gnupg-0.5.2-py2.py3-none-any.whl (20 kB)
Using cached pytz-2024.1-py2.py3-none-any.whl (505 kB)
Using cached PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl (165 kB)
Using cached pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl (1.9 MB)
Using cached requests-2.31.0-py3-none-any.whl (62 kB)
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Using cached tempora-5.3.0-py3-none-any.whl (13 kB)
Using cached tornado-6.3.3-cp38-abi3-macosx_10_9_universal2.whl (425 kB)
Using cached typing_extensions-4.8.0-py3-none-any.whl (31 kB)
Using cached urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
Using cached yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl (79 kB)
Using cached zc.lockfile-3.0.post1-py3-none-any.whl (9.8 kB)
Using cached zipp-3.16.2-py3-none-any.whl (7.2 kB)
Using cached furo-2024.5.6-py3-none-any.whl (341 kB)
Using cached sphinx-7.3.7-py3-none-any.whl (3.3 MB)
Using cached nox-2024.4.15-py3-none-any.whl (60 kB)
Using cached pylint-3.2.2-py3-none-any.whl (519 kB)
Using cached SaltPyLint-2024.2.5-py3-none-any.whl (16 kB)
Using cached sphinx_copybutton-0.5.2-py3-none-any.whl (13 kB)
Using cached sphinx_material_saltstack-1.0.5-py3-none-any.whl (802 kB)
Using cached beautifulsoup4-4.9.1-py3-none-any.whl (115 kB)
Using cached css_html_js_minify-2.5.5-py2.py3-none-any.whl (40 kB)
Using cached sphinx_prompt-1.8.0-py3-none-any.whl (7.3 kB)
Using cached sphinxcontrib_spelling-8.0.0-py3-none-any.whl (16 kB)
Using cached alabaster-0.7.16-py3-none-any.whl (13 kB)
Using cached argcomplete-3.3.0-py3-none-any.whl (42 kB)
Using cached astroid-3.2.2-py3-none-any.whl (276 kB)
Using cached Babel-2.15.0-py3-none-any.whl (9.6 MB)
Using cached cfgv-3.4.0-py2.py3-none-any.whl (7.2 kB)
Using cached colorlog-6.8.2-py3-none-any.whl (11 kB)
Using cached dill-0.3.8-py3-none-any.whl (116 kB)
Using cached docutils-0.21.2-py3-none-any.whl (587 kB)
Using cached identify-2.5.36-py2.py3-none-any.whl (98 kB)
Using cached imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB)
Using cached isort-5.13.2-py3-none-any.whl (92 kB)
Using cached mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)
Using cached nodeenv-1.9.1-py2.py3-none-any.whl (22 kB)
Using cached platformdirs-4.2.2-py3-none-any.whl (18 kB)
Using cached pluggy-1.5.0-py3-none-any.whl (20 kB)
Using cached pyenchant-3.2.2-py3-none-any.whl (55 kB)
Using cached pygments-2.18.0-py3-none-any.whl (1.2 MB)
Using cached pytest_helpers_namespace-2021.12.29-py3-none-any.whl (10 kB)
Using cached pytest_shell_utilities-1.9.0-py3-none-any.whl (45 kB)
Using cached pytest_skip_markers-1.5.1-py3-none-any.whl (20 kB)
Using cached pytest_system_statistics-1.0.2-py3-none-any.whl (11 kB)
Using cached snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB)
Using cached sphinx_basic_ng-1.0.0b2-py3-none-any.whl (22 kB)
Using cached sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl (99 kB)
Using cached sphinxcontrib_serializinghtml-1.1.10-py3-none-any.whl (92 kB)
Using cached tomlkit-0.12.5-py3-none-any.whl (37 kB)
Using cached virtualenv-20.26.2-py3-none-any.whl (3.9 MB)
Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Using cached sphinxcontrib_applehelp-1.0.8-py3-none-any.whl (120 kB)
Using cached sphinxcontrib_devhelp-1.0.6-py3-none-any.whl (83 kB)
Using cached sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Using cached sphinxcontrib_qthelp-1.0.7-py3-none-any.whl (89 kB)
Using cached distlib-0.3.8-py2.py3-none-any.whl (468 kB)
Using cached filelock-3.14.0-py3-none-any.whl (12 kB)
Using cached soupsieve-2.5-py3-none-any.whl (36 kB)
Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Using cached Unidecode-1.3.8-py3-none-any.whl (235 kB)
Using cached setuptools-70.0.0-py3-none-any.whl (863 kB)
Checking if build backend supports build_editable ... done
Building wheels for collected packages: saltext.humio, immutables, multidict, lxml
  Building editable for saltext.humio (pyproject.toml) ... done
  Created wheel for saltext.humio: filename=saltext.humio-0.1.dev0+d20240605-0.editable-py2.py3-none-any.whl size=2718 sha256=b4710a3414c2e624427564c44348f2dcf88e5d451139830e57f418f1e4454d89
  Stored in directory: /private/var/folders/8b/2v5j2m8x5h77d1gp8fl8g4cm0000gn/T/pip-ephem-wheel-cache-x3pdsaqr/wheels/04/0b/0f/630b15a31dd2b80771315ce14ae4618f10d39719d0e8257578
  Building wheel for immutables (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for immutables (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [80 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-universal2-cpython-312
      creating build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/_testutils.py -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/_version.py -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/__init__.py -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/map.py -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      running egg_info
      writing immutables.egg-info/PKG-INFO
      writing dependency_links to immutables.egg-info/dependency_links.txt
      writing requirements to immutables.egg-info/requires.txt
      writing top-level names to immutables.egg-info/top_level.txt
      reading manifest file 'immutables.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      adding license file 'LICENSE'
      writing manifest file 'immutables.egg-info/SOURCES.txt'
      copying immutables/_map.c -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/_map.h -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/_map.pyi -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/py.typed -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      copying immutables/pythoncapi_compat.h -> build/lib.macosx-10.9-universal2-cpython-312/immutables
      running build_ext
      building 'immutables._map' extension
      creating build/temp.macosx-10.9-universal2-cpython-312
      creating build/temp.macosx-10.9-universal2-cpython-312/immutables
      clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -arch arm64 -arch x86_64 -g -DNDEBUG=1 -I/Users/shea/Developer/sq/saltext_humio/.env/include -I/Library/Frameworks/Python.framework/Versions/3.12/include/python3.12 -c immutables/_map.c -o build/temp.macosx-10.9-universal2-cpython-312/immutables/_map.o -O2 -std=c99 -fsigned-char -Wall -Wsign-compare -Wconversion
      immutables/_map.c:535:19: error: too few arguments provided to function-like macro invocation
          va_start(vargs);
                        ^
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stdarg.h:17:9: note: macro 'va_start' defined here
      #define va_start(ap, param) __builtin_va_start(ap, param)
              ^
      immutables/_map.c:535:5: error: call to undeclared library function 'va_start' with type 'void (__builtin_va_list &, ...)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
          va_start(vargs);
          ^
      immutables/_map.c:535:5: note: include the header <stdarg.h> or explicitly provide a declaration for 'va_start'
      immutables/_map.c:535:5: warning: expression result unused [-Wunused-value]
          va_start(vargs);
          ^~~~~~~~
      immutables/_map.c:1250:5: warning: 'UsingDeprecatedTrashcanMacro' is deprecated [-Wdeprecated-declarations]
          Py_TRASHCAN_SAFE_BEGIN(self)
          ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:551:9: note: expanded from macro 'Py_TRASHCAN_SAFE_BEGIN'
              UsingDeprecatedTrashcanMacro cond=1; \
              ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:548:1: note: 'UsingDeprecatedTrashcanMacro' has been explicitly marked deprecated here
      Py_DEPRECATED(3.11) typedef int UsingDeprecatedTrashcanMacro;
      ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      immutables/_map.c:1667:5: warning: 'UsingDeprecatedTrashcanMacro' is deprecated [-Wdeprecated-declarations]
          Py_TRASHCAN_SAFE_BEGIN(self)
          ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:551:9: note: expanded from macro 'Py_TRASHCAN_SAFE_BEGIN'
              UsingDeprecatedTrashcanMacro cond=1; \
              ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:548:1: note: 'UsingDeprecatedTrashcanMacro' has been explicitly marked deprecated here
      Py_DEPRECATED(3.11) typedef int UsingDeprecatedTrashcanMacro;
      ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      immutables/_map.c:2086:5: warning: 'UsingDeprecatedTrashcanMacro' is deprecated [-Wdeprecated-declarations]
          Py_TRASHCAN_SAFE_BEGIN(self)
          ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:551:9: note: expanded from macro 'Py_TRASHCAN_SAFE_BEGIN'
              UsingDeprecatedTrashcanMacro cond=1; \
              ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:548:1: note: 'UsingDeprecatedTrashcanMacro' has been explicitly marked deprecated here
      Py_DEPRECATED(3.11) typedef int UsingDeprecatedTrashcanMacro;
      ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      4 warnings and 2 errors generated.
      error: 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 immutables
  Building wheel for multidict (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for multidict (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [200 lines of output]
      *********************
      * Accelerated build *
      *********************
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-universal2-cpython-312
      creating build/lib.macosx-10.9-universal2-cpython-312/multidict
      copying multidict/_multidict_py.py -> build/lib.macosx-10.9-universal2-cpython-312/multidict
      copying multidict/_abc.py -> build/lib.macosx-10.9-universal2-cpython-312/multidict
      copying multidict/__init__.py -> build/lib.macosx-10.9-universal2-cpython-312/multidict
      copying multidict/_multidict_base.py -> build/lib.macosx-10.9-universal2-cpython-312/multidict
      copying multidict/_compat.py -> build/lib.macosx-10.9-universal2-cpython-312/multidict
      running egg_info
      writing multidict.egg-info/PKG-INFO
      writing dependency_links to multidict.egg-info/dependency_links.txt
      writing top-level names to multidict.egg-info/top_level.txt
      reading manifest file 'multidict.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files found matching 'multidict/_multidict.html'
      warning: no previously-included files found matching 'multidict/*.so'
      warning: no previously-included files found matching 'multidict/*.pyd'
      warning: no previously-included files found matching 'multidict/*.pyd'
      no previously-included directories found matching 'docs/_build'
      adding license file 'LICENSE'
      writing manifest file 'multidict.egg-info/SOURCES.txt'
      /private/var/folders/8b/2v5j2m8x5h77d1gp8fl8g4cm0000gn/T/pip-build-env-bc1q_fgd/overlay/lib/python3.12/site-packages/setuptools/command/build_py.py:207: _Warning: Package 'multidict._multilib' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'multidict._multilib' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'multidict._multilib' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'multidict._multilib' to be distributed and are
              already explicitly excluding 'multidict._multilib' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      copying multidict/__init__.pyi -> build/lib.macosx-10.9-universal2-cpython-312/multidict
      copying multidict/py.typed -> build/lib.macosx-10.9-universal2-cpython-312/multidict
      running build_ext
      building 'multidict._multidict' extension
      creating build/temp.macosx-10.9-universal2-cpython-312
      creating build/temp.macosx-10.9-universal2-cpython-312/multidict
      clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -arch arm64 -arch x86_64 -g -I/Users/shea/Developer/sq/saltext_humio/.env/include -I/Library/Frameworks/Python.framework/Versions/3.12/include/python3.12 -c multidict/_multidict.c -o build/temp.macosx-10.9-universal2-cpython-312/multidict/_multidict.o -O2 -std=c99 -Wall -Wsign-compare -Wconversion -fno-strict-aliasing -pedantic
      In file included from multidict/_multidict.c:9:
      multidict/_multilib/iter.h:225:20: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
      multidict_iter_init()
                         ^
                          void
      In file included from multidict/_multidict.c:10:
      multidict/_multilib/views.h:388:21: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
      multidict_views_init()
                          ^
                           void
      multidict/_multidict.c:458:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:458:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:458:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "getall", 0};
                                                           ^~~~~~~~
      multidict/_multidict.c:503:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:503:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:503:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "getone", 0};
                                                           ^~~~~~~~
      multidict/_multidict.c:538:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:538:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:538:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[4]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "get", 0};
                                                           ^~~~~
      multidict/_multidict.c:712:5: warning: 'UsingDeprecatedTrashcanMacro' is deprecated [-Wdeprecated-declarations]
          Py_TRASHCAN_SAFE_BEGIN(self);
          ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:551:9: note: expanded from macro 'Py_TRASHCAN_SAFE_BEGIN'
              UsingDeprecatedTrashcanMacro cond=1; \
              ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/cpython/object.h:548:1: note: 'UsingDeprecatedTrashcanMacro' has been explicitly marked deprecated here
      Py_DEPRECATED(3.11) typedef int UsingDeprecatedTrashcanMacro;
      ^
      /Library/Frameworks/Python.framework/Versions/3.12/include/python3.12/pyport.h:317:54: note: expanded from macro 'Py_DEPRECATED'
      #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                           ^
      multidict/_multidict.c:780:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:780:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:780:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[4]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "add", 0};
                                                           ^~~~~
      multidict/_multidict.c:839:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:839:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:839:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[11]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "setdefault", 0};
                                                           ^~~~~~~~~~~~
      multidict/_multidict.c:875:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:875:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:875:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "popone", 0};
                                                           ^~~~~~~~
      multidict/_multidict.c:922:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:922:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:922:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[4]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "pop", 0};
                                                           ^~~~~
      multidict/_multidict.c:970:37: error: incompatible pointer to integer conversion initializing 'int' with an expression of type 'void *' [-Wint-conversion]
          static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};
                                          ^~~~
      /Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include/stddef.h:89:16: note: expanded from macro 'NULL'
      #  define NULL ((void*)0)
                     ^~~~~~~~~~
      multidict/_multidict.c:970:43: warning: incompatible pointer types initializing 'const char *' with an expression of type 'const char *const[3]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};
                                                ^~~~~~~~~
      multidict/_multidict.c:970:54: warning: incompatible pointer types initializing 'const char *const *' with an expression of type 'char[7]' [-Wincompatible-pointer-types]
          static _PyArg_Parser _parser = {NULL, _keywords, "popall", 0};
                                                           ^~~~~~~~
      multidict/_multidict.c:1684:18: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
      PyInit__multidict()
                       ^
                        void
      20 warnings and 8 errors generated.
      error: 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 multidict
  Building wheel for lxml (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for lxml (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [91 lines of output]
      <string>:64: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
      Building lxml version 4.5.2.
      Building without Cython.
      Building against libxml2 2.9.13 and libxslt 1.1.35
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-10.9-universal2-cpython-312
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/_elementpath.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/sax.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/pyclasslookup.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/__init__.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/builder.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/doctestcompare.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/usedoctest.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/cssselect.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/ElementInclude.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/__init__.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/soupparser.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/defs.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/_setmixin.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/clean.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/_diffcommand.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/html5parser.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/__init__.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/formfill.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/builder.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/ElementSoup.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/_html5builder.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/usedoctest.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      copying src/lxml/html/diff.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/html
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron
      copying src/lxml/isoschematron/__init__.py -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron
      copying src/lxml/etree.h -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/etree_api.h -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/lxml.etree.h -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/lxml.etree_api.h -> build/lib.macosx-10.9-universal2-cpython-312/lxml
      copying src/lxml/includes/xmlerror.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/c14n.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/xmlschema.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/__init__.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/schematron.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/tree.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/uri.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/etreepublic.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/xpath.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/htmlparser.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/xslt.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/config.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/xmlparser.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/xinclude.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/dtdvalid.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/relaxng.pxd -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/lxml-version.h -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      copying src/lxml/includes/etree_defs.h -> build/lib.macosx-10.9-universal2-cpython-312/lxml/includes
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/rng
      copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/rng
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl
      copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl
      copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl
      creating build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.macosx-10.9-universal2-cpython-312/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
      running build_ext
      building 'lxml.etree' extension
      creating build/temp.macosx-10.9-universal2-cpython-312
      creating build/temp.macosx-10.9-universal2-cpython-312/src
      creating build/temp.macosx-10.9-universal2-cpython-312/src/lxml
      clang -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -arch arm64 -arch x86_64 -g -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc/lxml/includes -I/Users/shea/Developer/sq/saltext_humio/.env/include -I/Library/Frameworks/Python.framework/Versions/3.12/include/python3.12 -c src/lxml/etree.c -o build/temp.macosx-10.9-universal2-cpython-312/src/lxml/etree.o -w -flat_namespace
      src/lxml/etree.c:289:12: fatal error: 'longintrepr.h' file not found
        #include "longintrepr.h"
                 ^~~~~~~~~~~~~~~
      1 error generated.
      Compile failed: command '/usr/bin/clang' failed with exit code 1
      creating var
      creating var/folders
      creating var/folders/8b
      creating var/folders/8b/2v5j2m8x5h77d1gp8fl8g4cm0000gn
      creating var/folders/8b/2v5j2m8x5h77d1gp8fl8g4cm0000gn/T
      cc -I/usr/include/libxml2 -c /var/folders/8b/2v5j2m8x5h77d1gp8fl8g4cm0000gn/T/xmlXPathInitd13ri5wg.c -o var/folders/8b/2v5j2m8x5h77d1gp8fl8g4cm0000gn/T/xmlXPathInitd13ri5wg.o
      cc var/folders/8b/2v5j2m8x5h77d1gp8fl8g4cm0000gn/T/xmlXPathInitd13ri5wg.o -lxml2 -o a.out
      error: 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 lxml
Successfully built saltext.humio
Failed to build immutables multidict lxml
ERROR: Could not build wheels for immutables, multidict, lxml, which is required to install pyproject.toml-based projects

I've tried both the python.org and homebrew python 3.12s, as well as adding CFLAGS for the longintrepr.h file, which it strangely can't find.
Even then-failure
THanks for your help!

So, sorry for the enormous snippet above.
I was able to get the dev and tests groups to install by

Using the Salt 3007.1 python I already had on my machine to create the virtual env
Creating a virtualenv with another python, copying the activate script to the above venv, and editing it to point to the above venv, since salt python oddly didn't create the activate script?
Restricted my salt extension to Salt 3007.1 or higher
Adding the following to requirements/base.txt

lxml>=5.0.0
immutables>=0.15
multidict>=6.0.4

Commented out the static docs requirements section of the pre-commit config (they say macOS is not really supported yet anyway)
Fixed a couple of syntax errors that I didn't see but pre-commit was complaining about by using an inline list for some args.

The above were oddly trying to build from source on my machine, possibly because python 3.12 wheels don't exist for older versions of these packages which are resolving?
So I think I'm in business but it seems there are some rough edges for getting started with these that I'm happy to help out with if you can direct me.

Salt Project / VMware has ended active development of this project, this repository will no longer be updated.
The community has created and maintained a better alternative to the development of Salt extensions: salt-extensions/salt-extension-copier (Create and maintain Salt extensions using Copier)


Error on Windows 11

hey, I got this when I ran the latest version of the script (with and without -extended):
Get-ItemProperty : Specified cast is not valid.
At line:787 char:26
+ ... roperties = Get-ItemProperty -Path "Registry::$ServiceRegPath" -Error ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-ItemProperty], InvalidCastException
    + FullyQualifiedErrorId : System.InvalidCastException,Microsoft.PowerShell.Commands.GetItemPropertyCommand

Powershell 5.1
Windows 11 (21H2) 64bit
Let me know if more details are needed!
Cheers

Hi!
Thank you for reporting this issue. I haven't tested the script on Windows 11 yet to be honest.
But it looks like it will be more painful than I anticipated.

Hello,
I tested the script on a freshly installed Windows 11 VM and it runs very smoothly.
I think the problem you encountered is caused by a specific service configuration. It's not related to the version of the OS.
Therefore, I will need more information.
Maybe, if you use the -Verbose mode, you might be able to pinpoint exactly which service causes this error.

No news, closing the issue.


What do I need to do to use the module directly?

I want to extract a feature from an image or patch without Simpleitk library; but all examples route me to the use of Simpleitk. I'm developing applications with OpenCV and I don't want to use simpleitk (if it is possible). What is the aim of mask?  scikit-image librery doesnt need any mask (https://scikit-image.org/docs/dev/auto_examples/features_detection/plot_glcm.html). Can you share an example with OpenCV  or Numpy?

SimpleITK is used, as this also contains the geometric data, such as spacing, origin and direction. Furthermore, much of the preprocessing (e.g. resampling, normalization) is also done using SimpleITK.
The mask identifies the region in the image for which the texture should be calculated. In the example you shared, you have to extract this region yourself (patch). Furthermore, by identifying the region using the mask, non-regular patches are also supported.

Inside the feature classes, the images are converted to numpy arrays prior to feature calculation. These arrays serve as input to the C-extensions that calculate the texture matrices, and it's result is used for feature calculation.
So if you want to use PyRadiomics code, you'd have to make a copy of a feature class module, and rewrite the initialization function to accept numpy input. This will not be supported in the official PyRadiomics library, as it supports feature extraction from medical imaging, where the geometric information is important and should not be ignored.


Add possibility to pass in dependent pandas data frames

This addition makes sense, happy to merge but not sure if the failed test is related to this change at first glance.


Update order of resources in the support.md

GitHub issues should not be the last thing we mention in the support doc after community resources.
This PR re-orders the resources in the order that we expect people to use
Previously done in https://github.com/Azure/azure-sdk-for-js/pull/15262

/check-enforcer override


docs: new maintainer

Signed-off-by: Krzysztof Nowak<EMAIL_ADDRESS>

Integrated in #41

@krzysztof it should be separated with explicit LGTM for later reference. Thanks

LGTM


Test setup / teardown

You might need to give some pointers on setting up the db + starting server etc in tests
Again here is a rough example
https://github.com/foundersandcoders/open-tourism-platform

Agreed thanks I just completely forgot about that 👍


Fix for when args.path is not used

With the current implementation of the CCI export_all_versions command you can either pass a config file, a path or a name.
There's currently a bug when not using a path argument. When either the config file or a name is parsed args.path is still used to locate the recipes directory. However because no path has been parsed as an arg it is undefined (i.e None).
This PR adds a check condition to check if args.path is undefined and if it is, it uses the cwd/recipes path, to comply with the expectation that this script should run from the root of a CCI file tree. When a path is indeed requested and args.path is not undefined, its value is used.

@uilianries Decided to make my first contribution :)

Thanks both. I should have started from this but I also added some unit tests for all the possible args.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Facebook SDK is initialized immediately (when using Expo) even though it should not be

Facebook disabled the automatic initialization of the SDK a while ago (https://github.com/facebook/facebook-ios-sdk/commit/dfd2977b8d2221dea184cfccd540138a29eacd06). This is especially important for GDPR compliance since you have to get user consent before the SDK does any requests to the Facebook backends.
We tried implementing the wrapper and set all available options to false but saw that the SDK immediately "phones home" when opening the app in the simulator:

When debugging we ultimately found out that it only happens when using Expo.
It seems the Expo config plugin is always used because of https://github.com/thebergamo/react-native-fbsdk-next/blob/master/expo-module.config.json and it always adds the initialization to the AppDelegate regardless of what the JS configuration is.
This file is executed then even if it should not be because we set isAutoInitEnabled to FALSE: https://github.com/thebergamo/react-native-fbsdk-next/blob/master/ios/ExpoAdapterFBSDKNext/FacebookAppDelegate.swift

Hi there! Expo support is contributed by users, none of the earlier maintainers use Expo, and I certainly don't. If this is important to you and you can figure out how to alter the plugin to do things optionally (perhaps based on an app.json setting?) and post a PR, we can get it merged and released

I'm not using FB SDK so I'll only speak about the Expo part here.

This file is executed then even if it should not be because we set isAutoInitEnabled to FALSE: FacebookAppDelegate.swift

The AppDelegate subscriber is supposed to be ALWAYS executed, regardless of any options. This behaves the same as you'd just added this code to AppDelegate.mm. If you compare this file's code to installation instructions from this library's README, you can see that it does precisely the iOS installation instruction and nothing more, so the problem is not here.
If you did it manually, without Expo, you'd have to manually add these lines to AppDelegate anyway.
The isAutoInitEnabled seems to add some option to the ios/Info.plist file - see:
https://github.com/thebergamo/react-native-fbsdk-next/blob/63f9c6f6d61d99134c648809346d6fc4fe645387/plugin/src/withFacebookIOS.ts#L70
So this is where I'd start looking for - if this entry is not added to Info.plist, then it's Expo plugin's fault. But if it's not, then it means that [RN] Facebook SDK somehow doesn't care about this entry, but I as I said before, I don't know much about this lib.

Is the isAutoInitEnabled set to true in app.json?


[SPARK-12879][SQL] improve the unsafe row writing framework

As we begin to use unsafe row writing framework(BufferHolder and UnsafeRowWriter) in more and more places(UnsafeProjection, UnsafeRowParquetRecordReader, GenerateColumnAccessor, etc.), we should add more doc to it and make it easier to use.
This PR abstract the technique used in UnsafeRowParquetRecordReader: avoid unnecessary operatition as more as possible. For example, do not always point the row to the buffer at the end, we only need to update the size of row. If all fields are of primitive type, we can even save the row size updating. Then we can apply this technique to more places easily.
a local benchmark shows UnsafeProjection is up to 1.7x faster after this PR:
old version
Intel(R) Core(TM) i7-4960HQ CPU @ 2.60GHz
unsafe projection:                 Avg Time(ms)    Avg Rate(M/s)  Relative Rate
-------------------------------------------------------------------------------
single long                             2616.04           102.61         1.00 X
single nullable long                    3032.54            88.52         0.86 X
primitive types                         9121.05            29.43         0.29 X
nullable primitive types               12410.60            21.63         0.21 X

new version
Intel(R) Core(TM) i7-4960HQ CPU @ 2.60GHz
unsafe projection:                 Avg Time(ms)    Avg Rate(M/s)  Relative Rate
-------------------------------------------------------------------------------
single long                             1533.34           175.07         1.00 X
single nullable long                    2306.73           116.37         0.66 X
primitive types                         8403.93            31.94         0.18 X
nullable primitive types               12448.39            21.56         0.12 X

For single non-nullable long(the best case), we can have about 1.7x speed up. Even it's nullable, we can still have 1.3x speed up. For other cases, it's not such a boost as the saved operations only take a little proportion of the whole process.  The benchmark code is included in this PR.

cc @davies @nongli

Test build #49602 has started for PR 10809 at commit 3978711.

Test build #49602 has finished for PR 10809 at commit 3978711.

This patch fails RAT tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49602/
Test FAILed.

Test build #49606 has started for PR 10809 at commit 9a63852.

Test build #49606 has finished for PR 10809 at commit 9a63852.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49606/
Test PASSed.

Test build #49647 has started for PR 10809 at commit 5567ef1.

Test build #49647 has finished for PR 10809 at commit 5567ef1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

LGTM

Test build #50026 has started for PR 10809 at commit f79f63c.

Test build #50026 has finished for PR 10809 at commit f79f63c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/50026/
Test PASSed.

Merged build finished. Test PASSed.

LGTM, merging this into master, thanks!


Improved the css of the website

Jwoc mentee
I improved the entire css of the website.
Issue: #17
Link: https://github.com/skpandey885/HealhUb/issues/17
https://user-images.githubusercontent.com/66300439/152517598-b4938537-61dc-436d-b2a5-bdbc8e775075.mp4

I have put the link link:#17 thats the link


Add UICore from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of RealGecko, to add UICore to CKAN.
Mod details:
name = /mod/1572/UICore
author = RealGecko
abstract = Something that'll make your mod look cool
license = GPL-3.0
Homepage = https://forum.kerbalspaceprogram.com/index.php?/topic/152007-ksp-131-overdrive-lets-rock-revamp-ksp-ui/
description =
Please direct questions about this pull request to RealGecko.

Actual dll is located inside GameData/000_UICore

Thanks for fixing :)


Anonymise the HTTP Referrer.

Probably the next version of yourls will have support for manipulating the HTTP referrer. Use the relevant hook to anonymise the referrer by overwriting it with a hyphen.

Good spot, thank you for the PR.


Poor and worsening keyboard usability

Version: 0.59.0
Steps:

Disconnect your mouse, throw it out the window, etc.
Try performing just about any task using just the keyboard:
* Try to select an environment other than the default.
* You can click on one of the unlabeled icons to pop up the menu for an app/stack, but try to then tab to and activate one of the controls, like Edit.
* Try to add a port in a load balancer and set it to HTTP rather than TCP.

Results:
Sadness and woe. As a blind user, you went from having a somewhat keyboard-friendly interface to one that barely works and requires lots of hackery, and I'm having a harder and harder time administering my Rancher ecosystem.
Expected:
I should be able to use the UI via the keyboard, without needing my screen reader to simulate mouse clicks.
See also: #3094

I still can't select a different environment.  to reproduce:

Add a couple of environments
Try to use keyboard to select environments

@tfiduccia are you able to tab to the environment dropdown and then again press tab to select "manage environments" ?

That much works, but how would I switch environments via the keyboard?

https://github.com/rancher/ui/pull/526 fixes tab nav in environment dropdown and action menus

ability to tab open action menu resolved in https://github.com/rancher/ui/pull/538 @westlywright will add keypress

@westlywright enter works, click works. but when using enter on keyboard menu lingers.

Version - master 3/20
Not fixed - can't tab to menu item and in containers the down arrow does not work

Version - master 3/22
Verified fixed

Just wanted to thank you all for your work on this! I've spent a few minutes with it thus far and it's so much more pleasant to work with. I'd set up Rancher a while back, and honestly it was starting to bug me to the point that I'd considered replacing it. But so far I've been able to switch environments and access service controls very easily, and can start doing things quickly and efficiently again. :) So thanks for taking this seriously.


D21 mention of the W3C DID document

D21 states: The digital signature used for the JWS and JWE of a BPI Message SHOULD be based on the public keys associated with a W3C DID in the W3C DID document.
Would you please clarify what W3C DID Document is referred on here?

@atoulme DID document examples can be found here ... https://www.w3.org/TR/did-core/#did-documents ... will update language  of D21 and accompanying text accordingly.

Closing. Addressed with merged PR https://github.com/eea-oasis/baseline-standard/pull/173 ... see https://github.com/eea-oasis/baseline-standard/blob/main/core/baseline-core-v1.0-psd01.md#d21


Behavior of "base" config option when serving via vite preview

Describe the bug
I am deploying a minimal Vite + Preact site (created with pnpm exec create vite-app <name> --template preact) to Github pages, which means that the site is served from a subdomain, i.e. example.github.io/vite-preact-template for a repository named "vite-preact-template".
As mentioned in a few guides, I added the subdomain as the base option in my vite.config.ts configuration:
export default defineConfig({
    base: "/vite-preact-template/",
    ...
});

This functions correctly for both the development server (pnpm exec vite) and when deployed to Github Pages on my actual website. However, when trying to run a preview server (pnpm exec vite preview) accessing the homepage at http://localhost:4173/vite-preact-template/ results in a blank page. Looking in the console, the index.html is being served but network calls to retrieve the JS and CSS assets are failing, as they do not have the base /vite-preact-template/ prepended to their URLs (e.g. http://localhost:4174/assets/index-d47fe79d.js). If I manually add the base URL to these JS/CSS resource URLs (e.g. http://localhost:4174/vite-preact-template/assets/index-d47fe79d.js), I am able to access the resource successfully through the browser.
This seems similar to this issue (https://github.com/vitejs/vite/issues/10217) but not quite the same, as in my case both the production build and dev server are working correctly, its just the preview build which is broken.
Reproduction
https://github.com/cxreiff/vite-preact-template
Steps to reproduce

Run pnpm i.
Run pnpm preview or pnpm exec vite preview.
Check page served on localhost at the indicated port.

Expected
The provided base URL is prepended to resource calls when running the preview server, to align with the development server.
Actual
Base URL is not included in resource calls.
System Info
System:
    OS: macOS 13.2.1
    CPU: (12) arm64 Apple M2 Max
    Memory: 71.29 GB / 96.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 19.6.0 - ~/.nvm/versions/node/v19.6.0/bin/node
    npm: 9.4.2 - ~/.nvm/versions/node/v19.6.0/bin/npm
  Browsers:
    Firefox: 109.0.1
    Safari: 16.3
  npmPackages:
    vite: ^4.1.0 => 4.1.1

Used Package Manager
pnpm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Steps to reproduce

Run pnpm i.
Run pnpm preview or pnpm exec vite preview.
Check page served on localhost at the indicated port.

You need to run pnpm build before pnpm preview unless you will get 404 or see the site built previously.
When I didn't run pnpm build, I got 404 and didn't reproduce.
When I ran pnpm build, pnpm preview worked correctly and didn't reproduce.
Closing as I guess pnpm build wasn't executed before pnpm preview.


Private Messaging

What feature would you like to request?

[x] /msg
[x] /reply
[x] Test Bukkit-based
[x] Test Folia-based

Are you able to help implement the feature?
No response
Is your feature request related to an existing bug or issue?
No response
Please enter any additional comments below.
No response

Closed by #108


expose the 12 week window as a parameter

Expose configuration of the 12 week window from clean_regional_data.
Add this alongside the truncation parameter, defaulting to 12 (weeks) and document.

Allow a time window of
truncation_weeks = INF

to signify no minimum cutoff (e.g. full dataset). This will be needed for #15 - do make sure it's included in the documentation and not just a magic feature!


Select2 does not respond to .focus() or clicking the label

http://jsfiddle.net/p8eTe/2/. Input gets no focus when clicking on label and it even jumps to the top of page (cannot be seen in the fiddle atm).
Related to: https://github.com/ivaynberg/select2/issues/198

I am experiencing this same issue where $("#select2Input").select2("focus"); stopped working once I tried upgrading to v4 of select2. will this get fixed in the next revision? seems like its kind of an important piece of functionality. the extension code someone showed above didn't seem to work for me, but maybe I implemented it wrong.

Please add this feature :+1:

:+1:

With v4 yout can just do :
$('.select2').select2({}).focus(function () { $(this).select2('open'); });

@babwar I tried your suggestion in v4. But I get a "query function not defined" error.

I try this:
$('.select2').select2({}).focus(function () { $(this).select2('open'); });
and now $("myselect2").focus(); is working
but I think it can be a default feature no???

+1 for core behavior.
It impacts negatively the usability and accessibility of the select.
That's a interaction regression comparing to baseline  and Select2 should provide strictly better interaction.

So far this has been working for me:
$('select').addClass('select2-offscreen').show()

it pretty much reverts https://github.com/select2/select2/commit/db7cd1b373f9a2a743a68ce32cc59dc8fc899eb8

still exit even with version 4

I'm getting the same error
Input gets no focus when clicking select2 and it even jumps to the top of page.....
I have read a lot of info but even that I tried lot of code fixes, the problem persists

I got it to work with this:
$('.my_class').click(function () {
    $('.select2-search__field').focus()
});

$("#my_id").select2('open');
This worked for me.

I had to do something like this..
setTimeout(function(){
    $("#mySelect").select2('open');
    $('.select2-search__field').focus();
},0); // if 0 doesn't work, try a bigger value

On my project, with Select2 4.1.0-rc.0 from npm, I am also unable to get the input focused.
Even by console, but this is working with any other fields.
By removing many attributes, I am able to get focused via console if I click anywhere on the dropdown before but I am unable to get it working in a programmatic way and I didn't find any reason.
I am testing on Chrome and I am using a botostrap theme. (but select2 component is directly in page, not in a modal)

It seems jQuery 3.6.0 broke the autofocus, testing it with 3.5.1 works

On my project, with Select2 4.1.0-rc.0 from npm, I am also unable to get the input focused.
Even by console, but this is working with any other fields.
By removing many attributes, I am able to get focused via console if I click anywhere on the dropdown before but I am unable to get it working in a programmatic way and I didn't find any reason.
I am testing on Chrome and I am using a botostrap theme. (but select2 component is directly in page, not in a modal)

Is there any update on how to fix this, without reverting to jQuery 3.6.0?

I'm having the same issue.  No matter what I try, once the dropdown is open, whether manually or programmatically, I can't get focus in the input field so the user can type in the search.  This a big problem that needs to be resolved.  I have 4.0.13 and it does have "self.$search.trigger('focus');" in the code but it doesn't work.  Am using jQuery 3.6.0 and none of the above suggestions have worked for me.

i'm using by id and it has worked well for me
window.jQuery(document).on('select2:open', e => {   const id = e.target.id;   const target = document.querySelector([aria-controls=select2-${id}-results]);   target.focus(); });


pcluster create fails to add more than two compute nodes

Environment:

AWS ParallelCluster: current dev version.
OS: ALinux
Scheduler: SGE
Master instance type:C4.large
Compute instance type: C4.xlarge

Bug description and how to reproduce:
Cluster creation fails after adding 2 compute nodes. The cluster, however, seems functional with the two nodes that are created.
$ pcluster create cluster1
Creating stack named: parallelcluster-cluster1
Status: parallelcluster-cluster1 - ROLLBACK_IN_PROGRESS
Cluster creation failed.  Failed events:
  - AWS::AutoScaling::AutoScalingGroup ComputeFleet Received 2 SUCCESS signal(s) out of 20.  Unable to satisfy 100% MinSuccessfulInstancesPercent requirement

Additional context:
Config file
[global]
cluster_template = default
update_check = true
sanity_check = true

[aws]
aws_region_name = eu-west-2
aws_access_key_id = <REMOVED>
aws_secret_access_key = <REMOVED>

[cluster default]
vpc_settings = public
key_name = key
master_instance_type = c4.large
compute_instance_type = c4.xlarge
cluster_type = spot
spot_price = 0.2
master_root_volume_size = 17
initial_queue_size = 20
max_queue_size = 1000

custom_ami = ami-<REMOVED>
shared_dir = /software
ebs_settings = custom1
scaling_settings = custom

[vpc public]
vpc_id = <REMOVED>
master_subnet_id = subnet-<REMOVED>
ssh_from = <REMOVED>/32

[aliases]
ssh = ssh {CFN_USER}@{MASTER_IP} -i ~/key.pem
vpc_settings = public

[scaling custom]
scaledown_idletime = 10

[ebs custom1]
shared_dir = /software
volume_size = 60
ebs_volume_id = vol-<REMOVED>

pre/post-install scripts: None
I have attached /var/log/cfn-init.log, /var/log/cloud-init-output.log, and /var/log/cloud-init.log from Master node
/var/log/jobwatcher and /var/log/sqswatcher from the Master node are attached as well.
cfn-init.log
cloud-init-output.log
cloud-init.log

jobwatcher.txt
sqswatcher.txt
Below /var/log/messages from master node in case it is useful (added .txt so that Github allows upload).
messages.txt
Master node$ qhost
HOSTNAME                ARCH         NCPU NSOC NCOR NTHR  LOAD  MEMTOT  MEMUSE  SWAPTO  SWAPUS
----------------------------------------------------------------------------------------------
global                  -               -    -    -    -     -       -       -       -       -
ip-172-31-12-147        lx-amd64        4    1    2    4  0.00    7.3G  156.7M     0.0     0.0
ip-172-31-9-254         lx-amd64        4    1    2    4  0.02    7.3G  154.4M     0.0     0.0

nodewatcher from one of the compute nodes.
2019-04-04 23:01:07,624 INFO [nodewatcher:main] nodewatcher startup
2019-04-04 23:01:07,624 INFO [nodewatcher:_get_config] Reading /etc/nodewatcher.cfg
2019-04-04 23:01:07,625 INFO [nodewatcher:_get_config] Configured parameters: region=eu-west-2 scheduler=sge stack_name=parallelcluster-cluster1 scaledown_idletime=10 proxy=NONE
2019-04-04 23:01:07,628 INFO [nodewatcher:main] Instance id is i-09de620821371c0c9, hostname is ip-172-31-12-147.eu-west-2.compute.internal
2019-04-04 23:01:07,829 INFO [utils:get_asg_name] ASG parallelcluster-cluster1-ComputeFleet-1BL1HRJWM5J9Q found for the stack parallelcluster-cluster1
2019-04-04 23:02:07,890 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:02:08,052 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False
2019-04-04 23:03:08,113 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:03:08,192 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False
2019-04-04 23:04:08,252 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:04:08,311 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False
2019-04-04 23:05:08,372 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:05:08,439 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False
2019-04-04 23:06:08,499 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:06:08,571 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False
2019-04-04 23:07:08,631 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:07:08,703 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False
2019-04-04 23:08:08,763 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:08:08,830 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False
2019-04-04 23:09:08,891 INFO [nodewatcher:_is_stack_ready] Checking for status of the stack parallelcluster-cluster1
2019-04-04 23:09:08,954 INFO [nodewatcher:_poll_instance_status] Stack parallelcluster-cluster1 ready: False

I would like to add the issue above is resolved if I change the region to us-east-1. So could it be there is limitation in specific areas (here eu-west-1) or somehow my subnet addresses are restricted?

Hmm, I think this an issue with the spot_price / initial_queue_size. When your cluster goes to to bootstrap, it needs to bring up all 20 compute instances, at or below the spot_price you specified or cluster bootstrap or it will fail. Due to the nature of the spot market in eu-west-1, it probably can't get all 20 at once. For example, it could get 19 and then stack creation (which is controlled through cloudformation) could time out.
My suggestion is to change initial_queue_size = 20 to something small (~2), then after the cluster creates, add the extra needed nodes to the ASG, or just submit your jobs and it'll autoscale.
To do so, create the cluster, then go to the EC2 Console > Auto Scaling Groups > parallelcluster-[cluster_name] click Actions > edit and change Desired Capacity to be 20.
We recently made a change so that the spot_price parameter isn't necessary. If you don't specify a spot price, then it uses the current spot market price capped at on-demand. My theory is that if you remove the spot_price it'll have better luck getting all 20 instances before one gets reclaimed. You can read more about those changes here: https://aws.amazon.com/blogs/compute/new-amazon-ec2-spot-pricing/
tl;dr set initial_queue_size = 2 and remove spot_price = 0.2

@sean-smith many thanks. In addition to the above thoughts, just to add for posterity there is also a default limit on the number of spot instances a user can initiate. This limit (~20) is assessed against previous recent attempts to bid for a spot instance, meaning that even if the number of requests is less than or equal to the limit but adds to more than the limit in a short time those will not spawn any instances. The solution is to get in touch with AWS support.

Hi @armaneshaghi , thank you for sharing.


No way to input single "ctrl-p" keypress

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
BUG
Description

While inside a terminal inside a container (such as toolbox), pressing "ctrl-p" does nothing while pressing it again sends two "ctrl-p" events to the terminal. This behavior interferes with the standard keybindings of common programs like emacs (where ctrl-p normally scrolls up one line) or bash (where ctrl-p steps back in the command history). Here is a simple demonstration of the problem.

podman run --rm -ti fedora-toolbox:30 bash

echo 1

echo 2

echo 3

Observe that "ctrl-p" does nothing while pressing it again returns echo 2 instead of echo 3.

Alternatively, check that using "ctrl-p" only allows one to scroll up two lines at a time in emacs.
One workaround would be to change the "detach-keys" sequence from "ctrl-p,ctrl-q" to something that hopefully does not conflict with any other program. But it would be better to just send one "ctrl-p" event for every two invocations of "ctrl-p".
Additional info:

Running Fedora 30
rpm -q podman yields

podman-1.6.1-2.fc30.x86_64

@haircommander @giuseppe @mheon Is this conmon/podman waiting for a sequence to disconnect from the container?
man podman run
...
       When  attached  in the tty mode, you can detach from the container (and
       leave it running)  using  a  configurable  key  sequence.  The  default
       sequence  is  ctrl-p,ctrl-q.   Configure  the  keys  sequence using the
       --detach-keys option, or specifying it in  the  libpod.conf  file:  see
       libpod.conf(5) for more information.

We might need to either disable this feature or setup alternative key mappings.
I agree the ctrl-p is common for use within bash/emacs settings.

@debarshiray WDYT?

This is the CopyDetachable code in Podman

Is there an easy way for toolbox to disable this?

Reading the code right now: it seems like it pauses the copy until it can check the buffer fully for C-p C-q if a C-p is detected. Once it can check, if it is not that key sequence, it's copied in its entirely - so sending C-p C-a for example would result in both keys being send.
The difficulty with special-casing C-p C-p is that we don't guarantee that the detach sequence is two keys only. We support, say, C-p C-q C-r as a detach sequence - for that case, would we expect that C-p C-p C-p sends a single C-p?

Actually, the loop would probably terminate early, in the case of 3 keys - so C-p C-p would still work.

The think is, how would I run podman and tell it I don't intend to detach.  Another would be to put a strange squence.  Could toolbox specifiy alt-; or something like that, so it would not be a common sequence used for bash recall.

I think that setting detach keys to "" (empty string) in libpod.conf will get you no detach keys. That has its own disadvantages, in that there's no way to escape an attach session.

Sure, But can toolbox just execute
podman run --detach-keys ""
to do the same.
I don't think toolbox expects people to detach from toolboxes.  But I will let @debarshiray comment.

Wow, I use ctrl+p in Emacs and Bash all the time but I never noticed this before today. I guess I just don't spent enough quality time inside a Toolbox shell. :)
Yes, I agree. We don't expect people to want to detach a container while running an interactive shell.

For now, simplest solution would be for Toolbox to override detach keys, then. I don't know if exec allows this yet; we can add it if it doesn't.

exec does allow this!

It doesn't look like --detach-keys "" unsets the shortcut. I tried:
$ podman run --env TERM=$TERM --detach-keys "" -it --rm registry.fedoraproject.org/f31/fedora-toolbox:31 /bin/bash

I also tried --detach-keys=.

Grepping around in the code, I found:
DefaultDetachKeys = "ctrl-p,ctrl-q"

func processDetachKeys(keys string) ([]byte, error) {
	// Check the validity of the provided keys first
	if len(keys) == 0 {
		keys = DefaultDetachKeys
	}
	detachKeys, err := term.ToBytes(keys)
	if err != nil {
		return nil, errors.Wrapf(err, "invalid detach keys")
	}
	return detachKeys, nil
}

So, it doesn't look like --detach-keys "" unsets the shortcut, at least not currently.

Yes lets open a PR to change the DefaultDetatchKeys to be set at a higher level and then to return empty list with ""

Hey all, any progress on this? @rhatdan do you have a link to the PR you mentioned?

@stove-panini Looks like this is fixed in upstream, although we have another issue.


Support TFTP profile

Is your feature request related to a problem? Please describe.
ISP customer Orange, would like the possibility to configure profile TFTP
Describe the solution you'd like
It can be configured either with GUI or tmsh as shown below:
ltm profile tftp tftp {
app-service none
defaults-from none
description none
idle-timeout 30
log-profile none
log-publisher none
partition Common
}
Describe alternatives you've considered
For the time being tmsh is used
(tmos)# create ltm profile tftp ...
Additional context
Add any other context, such as the desired tmsh configuration, about the feature request here.

This has been resolved with AUTOTOOL-3494 backlog item in As3 3.43.0. Thanks.


QF-2507 Configure the number of file versions per project

This goes hand in hand with the Web UI implementation PR'ed in a distinct repository.

Please merge the migrations into one.


xmlsec.Error: (1, 'cannot load key') while loading the private key

Hi Team,
I have a X509 private in a file and trying to use the below code to load the private key. However i am getting the xmlsec.Error: (1, 'cannot load key'). I tried multiple ways. nothing is working and more over the error message is not detailed enough to try other options.
Any suggestions are greatly appreciated. Thank you.
with open('private_key.pem', 'rb') as key_file:
    key_data = key_file.read()
xmlsec.Key.from_memory(key_data, xmlsec.constants.KeyDataFormatPem)

My PEM file format is as shown below:

-----BEGIN PRIVATE KEY-----
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
TUlkjshduahdajsduaydjaudhswmb7ajwesdajhassdadasdsdaeddasdaeqdea
asdadasd==
-----END PRIVATE KEY-----

If you execute in the command line:
openssl rsa -in private_key.pem -check

What you get? Maybe the private key is wrong


add docstring tutorial

i like the idea of taking up the uniform dist docstring as an example, it will be useful for pymc docs contribution. I'm wondering if we have some specific goals in mind for this PR/tutorial, is it related to martina's talk or the sprint?

My idea was to strongly recommend everyone gets started following this tutorial, then move on to other code (still not sure if there is anything to do here) or doc conrributions.
We could move it to the sprint folder too to signal that. The immediate goal though is for Reshama to test it


UTF-8 decode byte strings parsed from binary KORE

Currently, the binary KORE format stores bytes directly, i.e., b"\xHH" was stored literally as the byte 0xHH.
However, to support Unicode in the LLVM backend, this is being changed so that b"\xHH" will instead be stored as the UTF-8 encoding of the code-point U+00HH. The parser here needs to be updated accordingly.
Related: https://github.com/runtimeverification/hs-backend-booster/issues/92

@jberthold If understand correctly, #115 was essentially made to workaround the direct encoding of bytes in binary KORE.
Now that Bytes domain values will actually be UTF-8 encoded, does it make sense to switch back to using Text everywhere (essentially reverting that PR)? Or are there other reasons to still prefer Data.ByteString.Char8?

@jberthold If understand correctly, #115 was essentially made to workaround the direct encoding of Bytes in binary KORE.
Now that Bytes domain values will actually be UTF-8 encoded, does it make sense to switch back to using Text everywhere (reverting that PR)? Or are there other reasons to still prefer Data.ByteString.Char8?

I would definitely want to keep the bytestrings in the internal representation. They are easier to work with when interfacing with C code, and I would expect ByteString to be generally faster than Text.
We are not currently evaluating any hook calls internally in booster so whether or not Bytes contain UTF-8 or actual bytes should not matter IMHO. The issue is to adapt the code  so that we return the correct Bytes value  to the caller via RPC response (where the type is Text and has its own logic to escape characters when rendering JSON).

@Scott-Guest not sure what exactly needs to be done here. Can we  help here?
Maybe a general overview of these encodings in the various tools would be good .

@jberthold The LLVM backend changes that made this issue necessary ended up being reverted runtimeverification/llvm-backend#845.
Getting those changes unreverted is blocked (on runtimeverification/k#3801) and not high priority, so I'll go ahead and close this issue for now.


WR-508: Fixed styling issues with the hero banner

Ah good catch - I didn't mean to leave any of that commenting in there.


Node tree for game objects

Overview
This PR extends the existing flat-list style game object into a node tree structure, each game object can have a list of children.

Nested transformation (position, scale, rotation)
Group visibility / activity toggle

const player = add([
    sprite("froggy"),
    pos(100, 20),
    area(),
])

// sword will follow player position with offset vec2(12)
const sword = player.add([
    sprite("sword"),
    area(),
    pos(12),
    rotate(45),
    weapon(),
])

onKeyPress("space", () => {
    sword.swing()
})

onKeyPress("h", () => {
    // both player and sword will go hidden
    player.hidden = true
})

sword.parent // => player
player.children // => [ sword, ]

Deprecate layers, use parent game objects as layer

const ui = add([
    z(100),
    fixed(),
])

ui.add([
    text("score: " + score),
    pos(24),
])

also gives better flexibility to do stuff like parallax scrolling

Simpler internals. Everything is a game object, kaboom manages a root game object root, the exported add() is an alias of root.add()

Open Questions
Should these properties also inherit from parent:

color
opacity
shader

This is awesome.
Question: if layer is deprecated in favor of parents (e.g. ui.add([etc.]) ) how would a symbol added to a level have that parent gameObject associated with it?
Example:
"@" : () => [
  // how to declare its parent?
]

Level is planned to be transformed into a game object and be the parent of all tiles, and you can use z() to define the order of that whole level.

@slmjkdbtl Curious about the status of scene graph. Last I saw collisions weren't working?

Collision detections are working on master now (haven't released an alpha version for that yet), but the physics are still a bit glitchy

Fantastic. I'll give it a try!