nanobind editable install fails due to mishandled .DS_Store

I thought I'd raise this here, please excuse if this is misplaced.
My system:

macOS 15.2, on arm64.
uv version 0.5.10, sourced from Homebrew via brew install uv.
Python 3.13.1, also from Homebrew.

Repro:

Clone wjakob/nanobind, sync to master@HEAD.
Run uv venv --seed -p 3.13.
Run source .venv/bin/activate.
Run uv sync.

Output:

~/Workspaces/c++/nanobind master* ⇡
.venv ➜ uv sync
warning: No `requires-python` value found in the workspace. Defaulting to `>=3.13`.
Resolved 1 package in 1ms
  × Failed to build `nanobind @ file:///Users/nicholasjunge/Workspaces/c++/nanobind`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `scikit_build_core.build.build_editable` failed (exit status: 1)

      [stdout]
      *** scikit-build-core 0.10.7 using CMake 3.31.2 (editable)
      *** Configuring CMake...
      loading initial cache file /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/build/CMakeInit.txt
      -- Configuring done (0.0s)
      -- Generating done (0.0s)
      -- Build files have been written to: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/build
      *** Building project with Ninja...
      ninja: no work to do.
      *** Installing project into wheel...
      -- Install configuration: "Release"
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/.DS_Store
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_descr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_traits.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/make_iterator.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_error.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_types.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/.DS_Store
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/operators.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_func.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nanobind.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_accessor.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_cast.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/typing.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/trampoline.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_lib.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/eigen
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/eigen/dense.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/eigen/sparse.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/filesystem.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/unordered_map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/bind_map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/chrono.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/wstring.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/optional.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/list.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_set.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail/traits.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail/chrono.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_dict.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_list.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_array.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_optional.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/shared_ptr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/array.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/unique_ptr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/pair.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/tuple.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/unordered_set.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/vector.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/function.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/complex.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/string_view.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/set.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/string.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/bind_vector.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/stl/variant.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_call.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/intrusive
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/intrusive/counter.inl
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/intrusive/counter.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/intrusive/ref.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/eval.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_enums.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_tuple.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_class.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_misc.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/ndarray.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_attr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_python.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/include/nanobind/nb_defs.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_static_property.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/common.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/trampoline.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_combined.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_func.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_internals.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/error.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_internals.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/buffer.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_enum.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_type.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/implicit.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/nb_ndarray.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/src/hash.h
      -- Up-to-date: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/stubgen.py
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/__init__.py
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/__main__.py
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/ext/robin_map/include/tsl/robin_map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/ext/robin_map/include/tsl/robin_hash.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/ext/robin_map/include/tsl/robin_growth_policy.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/cmake/nanobind-config.cmake
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/cmake/darwin-ld-cpython.sym
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/cmake/darwin-ld-pypy.sym
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpjxzusbzb/wheel/purelib/nanobind/cmake/nanobind-config-version.cmake
      *** Making editable...

      [stderr]
      Traceback (most recent call last):
        File "<string>", line 11, in <module>
          wheel_filename = backend.build_editable("/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpgtK0HP", {}, None)
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpNxBcoy/lib/python3.13/site-packages/scikit_build_core/build/__init__.py", line
      57, in build_editable
          return _build_wheel_impl(
                 ~~~~~~~~~~~~~~~~~^
              wheel_directory,
              ^^^^^^^^^^^^^^^^
          ...<2 lines>...
              editable=True,
              ^^^^^^^^^^^^^^
          ).wheel_filename
          ^
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpNxBcoy/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 175,
      in _build_wheel_impl
          return _build_wheel_impl_impl(
              wheel_directory,
          ...<5 lines>...
              pyproject=pyproject,
          )
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpNxBcoy/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 478,
      in _build_wheel_impl_impl
          _make_editable(
          ~~~~~~~~~~~~~~^
              build_options=build_options,
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          ...<7 lines>...
              packages=str_pkgs,
              ^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpNxBcoy/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 60,
      in _make_editable
          installed = libdir_to_installed(libdir)
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpNxBcoy/lib/python3.13/site-packages/scikit_build_core/build/_editable.py", line
      73, in libdir_to_installed
          path_to_module(v.relative_to(libdir)): str(v.relative_to(libdir))
          ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpNxBcoy/lib/python3.13/site-packages/scikit_build_core/build/_pathutil.py", line
      31, in path_to_module
          path = path.with_name(path.name.split(".", 1)[0])
        File<EMAIL_ADDRESS>line 358, in
      with_name
          raise ValueError(f"Invalid name {name!r}")
      ValueError: Invalid name ''

      hint: This usually indicates a problem with the package or the build environment.

Looking more closely at the top and bottom of the traceback (the wheel_filename = backend.build_editable("/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpgtK0HP", {}, None) call), scikit-build-core is dealt a tempdir by uv containing a dot to start in its name, which it doesn't expect (or at least, pathlib cannot handle).

One curious thing is why is it being installed as editable? Maybe this is part of uv interface that I am not familiar with.
Anyway for the current issue, an immediate solution would be to just strip the Path.suffix instead of relying of the str.split, but there is an underlying issue that we should trace down and see where this issue comes from. I will try to follow the traceback and see what is going on here.

Preliminary issue that I found: nanobind has a file src/__init__.py, but that is very weird because what is the package name that it is supposed to be installed under. Recommendation is that they move the __init__.py and __main__.py under src/nanobind.
The issue is probably when it is trying to resolve:
https://github.com/scikit-build/scikit-build-core/blob/9170ab83b6f83f900f200b73f84a3fb3d9ccc4fd/src/scikit_build_core/build/wheel.py#L90-L113
Could you also run the installation with verbose logging? See https://scikit-build-core.readthedocs.io/en/latest/configuration.html#verbosity

That's just the default of uv sync, which is a development-focused command. The non-editable variant would be uv sync --no-editable.
Running with build.verbose = true and logging.level = "DEBUG" in [tool.scikit-build] gives me:

.venv ➜ uv sync
warning: No `requires-python` value found in the workspace. Defaulting to `>=3.13`.
Resolved 1 package in 8ms
  × Failed to build `nanobind @ file:///Users/nicholasjunge/Workspaces/c++/nanobind`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `scikit_build_core.build.build_editable` failed (exit status: 1)

      [stdout]
      *** scikit-build-core 0.10.7 using CMake 3.31.2 (editable)
      *** Configuring CMake...
      loading initial cache file /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build/CMakeInit.txt
      -- Configuring done (0.0s)
      -- Generating done (0.0s)
      -- Build files have been written to: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build
      *** Building project with Ninja...
      Change Dir: '/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build'

      Run Build Command(s): /opt/homebrew/bin/ninja -v
      ninja: no work to do.

      *** Installing project into wheel...
      -- Install configuration: "Release"
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/.DS_Store
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_descr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_traits.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/make_iterator.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_error.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_types.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/.DS_Store
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/operators.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_func.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nanobind.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_accessor.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_cast.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/typing.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/trampoline.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_lib.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/eigen
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/eigen/dense.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/eigen/sparse.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/filesystem.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/unordered_map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/bind_map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/chrono.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/wstring.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/optional.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/list.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_set.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail/traits.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail/chrono.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_dict.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_list.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_array.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/detail/nb_optional.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/shared_ptr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/array.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/unique_ptr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/pair.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/tuple.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/unordered_set.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/vector.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/function.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/complex.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/string_view.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/set.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/string.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/bind_vector.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/stl/variant.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_call.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/intrusive
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/intrusive/counter.inl
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/intrusive/counter.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/intrusive/ref.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/eval.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_enums.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_tuple.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_class.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_misc.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/ndarray.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_attr.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_python.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/include/nanobind/nb_defs.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_static_property.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/common.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/trampoline.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_combined.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_func.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_internals.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/error.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_internals.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/buffer.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_enum.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_type.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/implicit.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/nb_ndarray.cpp
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/src/hash.h
      -- Up-to-date: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/stubgen.py
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/__init__.py
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/__main__.py
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/ext/robin_map/include/tsl/robin_map.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/ext/robin_map/include/tsl/robin_hash.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/ext/robin_map/include/tsl/robin_growth_policy.h
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/cmake/nanobind-config.cmake
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/cmake/darwin-ld-cpython.sym
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/cmake/darwin-ld-pypy.sym
      -- Installing: /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib/nanobind/cmake/nanobind-config-version.cmake
      *** Making editable...

      [stderr]
      2024-12-18 17:23:21,995 - scikit_build_core - INFO - RUN: /opt/homebrew/bin/cmake -E capabilities
      2024-12-18 17:23:22,001 - scikit_build_core - INFO - CMake version: 3.31.2
      2024-12-18 17:23:22,004 - scikit_build_core - DEBUG - MACOSX_DEPLOYMENT_TARGET not set, using 15.0
      2024-12-18 17:23:22,005 - scikit_build_core - INFO - Build directory:
      /private/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build
      2024-12-18 17:23:22,007 - scikit_build_core - DEBUG - SITE_PACKAGES:
      /Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages
      2024-12-18 17:23:22,014 - scikit_build_core - DEBUG - Default generator: Ninja
      2024-12-18 17:23:22,014 - scikit_build_core - INFO - RUN: /opt/homebrew/bin/ninja --version
      2024-12-18 17:23:22,016 - scikit_build_core - INFO - Ninja version: 1.12.1
      2024-12-18 17:23:22,017 - scikit_build_core - DEBUG - CMAKE_GENERATOR: Using ninja: /opt/homebrew/bin/ninja
      2024-12-18 17:23:22,017 - scikit_build_core - DEBUG - libdir/(ld)library:
<EMAIL_ADDRESS>is not a real file!
      2024-12-18 17:23:22,017 - scikit_build_core - DEBUG - /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build/CMakeInit.txt:
        set(SKBUILD [===[2]===] CACHE STRING "" FORCE)
        set(SKBUILD_CORE_VERSION [===[0.10.7]===] CACHE STRING "" FORCE)
        set(SKBUILD_PROJECT_NAME [===[nanobind]===] CACHE STRING "" FORCE)
        set(SKBUILD_PROJECT_VERSION [===[2.5.0]===] CACHE STRING "" FORCE)
        set(SKBUILD_PROJECT_VERSION_FULL [===[2.5.0.dev1]===] CACHE STRING "" FORCE)
        set(PYTHON_EXECUTABLE [===[/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/bin/python]===] CACHE STRING "" FORCE)
        set(PYTHON_INCLUDE_DIR<EMAIL_ADDRESS>CACHE PATH
      "" FORCE)
        set(PYTHON_LIBRARY<EMAIL_ADDRESS>CACHE PATH "" FORCE)
        set(Python_EXECUTABLE [===[/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/bin/python]===] CACHE STRING "" FORCE)
        set(Python_ROOT_DIR [===[/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm]===] CACHE STRING "" FORCE)
        set(Python_INCLUDE_DIR<EMAIL_ADDRESS>CACHE PATH
      "" FORCE)
        set(Python_FIND_REGISTRY [===[NEVER]===] CACHE STRING "" FORCE)
        set(Python3_EXECUTABLE [===[/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/bin/python]===] CACHE STRING "" FORCE)
        set(Python3_ROOT_DIR [===[/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm]===] CACHE STRING "" FORCE)
        set(Python3_INCLUDE_DIR<EMAIL_ADDRESS>CACHE PATH
      "" FORCE)
        set(Python3_FIND_REGISTRY [===[NEVER]===] CACHE STRING "" FORCE)
        set(SKBUILD_SOABI [===[cpython-313-darwin]===] CACHE STRING "" FORCE)
        set(SKBUILD_SABI_COMPONENT [===[]===] CACHE STRING "" FORCE)
        set(SKBUILD_PURELIB_DIR [===[/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib]===] CACHE PATH "" FORCE)
        set(SKBUILD_DATA_DIR [===[/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/data]===] CACHE PATH "" FORCE)
        set(SKBUILD_HEADERS_DIR [===[/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/headers]===] CACHE PATH "" FORCE)
        set(SKBUILD_SCRIPTS_DIR [===[/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/scripts]===] CACHE PATH "" FORCE)
        set(SKBUILD_NULL_DIR [===[/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/null]===] CACHE PATH "" FORCE)
        set(SKBUILD_METADATA_DIR [===[/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/metadata]===] CACHE PATH "" FORCE)
        set(SKBUILD_STATE [===[editable]===] CACHE STRING "" FORCE)
        set(CMAKE_PREFIX_PATH [===[/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages]===] CACHE PATH ""
      FORCE)
        set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE "BOTH" CACHE PATH "")
      2024-12-18 17:23:22,017 - scikit_build_core - DEBUG - RUNENV:
        CC='clang'
        CLICOLOR_FORCE='1'
        CMAKE_GENERATOR='Ninja'
        COMMAND_MODE='unix2003'
        CONDA_CHANGEPS1='no'
        CXX='clang++'
        EDITOR='hx'
        HOME='/Users/nicholasjunge'
        HOMEBREW_CELLAR='/opt/homebrew/Cellar'
        HOMEBREW_PREFIX='/opt/homebrew'
        HOMEBREW_REPOSITORY='/opt/homebrew'
        INFOPATH='/opt/homebrew/share/info:'
        LANG='en_US.UTF-8'
        LC_ALL='en_US.UTF-8'
        LC_CTYPE='UTF-8'
        LESS='-g -i -M -R -S -w -X -z-4'
        LOGNAME='nicholasjunge'
        OLDPWD='/Users/nicholasjunge/.local/share/zap'
        PAGER='less'
        PATH='/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/bin:/Users/nicholasjunge/Workspaces/c++/nanobind/.venv/bin:/opt/homebrew/share/google-cloud-sdk/bin:/Users/nicholasjunge/.local/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/nicholasjunge/.cargo/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin'
        PROMPT_EOL_MARK=''
        PS1='%(12V.%F{$prompt_pure_colors[virtualenv]}%12v%f
      .)%(?.%F{$prompt_pure_colors[prompt:success]}.%F{$prompt_pure_colors[prompt:error]})${prompt_pure_state[prompt]}%f '
        PURE_PROMPT_SYMBOL='➜'
        PWD='/Users/nicholasjunge/Workspaces/c++/nanobind'
        PYTHONIOENCODING='utf-8:backslashreplace'
        SHELL='/bin/zsh'
        SHLVL='1'
        SSH_AUTH_SOCK='/private/tmp/com.apple.launchd.SmoRG1vUc6/Listeners'
        TERM='xterm-256color'
        TERMINAL_EMULATOR='JetBrains-JediTerm'
        TERM_SESSION_ID='b9437cec-76ef-4971-9b02-e108fb9d278b'
        TMPDIR='/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/'
        USER='nicholasjunge'
        VIRTUAL_ENV='/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm'
        VIRTUAL_ENV_DISABLE_PROMPT='12'
        VIRTUAL_ENV_PROMPT='(nanobind) '
        VISUAL='hx'
        XPC_FLAGS='0x0'
        XPC_SERVICE_NAME='0'
        ZAP_DIR='/Users/nicholasjunge/.local/share/zap'
        ZAP_PLUGIN_DIR='/Users/nicholasjunge/.local/share/zap/plugins'
        ZSHRC='/Users/nicholasjunge/.zshrc'
        _='/opt/homebrew/bin/uv'
        __CFBundleIdentifier='com.jetbrains.pycharm.ce'
        __CF_USER_TEXT_ENCODING='0x1F5:0x0:0x0'
      2024-12-18 17:23:22,017 - scikit_build_core - INFO - RUN: /opt/homebrew/bin/cmake -S.
      -B/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build -DCMAKE_BUILD_TYPE:STRING=Release
      -C/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build/CMakeInit.txt
      -DCMAKE_INSTALL_PREFIX=/var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib
      -DCMAKE_MAKE_PROGRAM=/opt/homebrew/bin/ninja -DNB_TEST=FALSE
      2024-12-18 17:23:22,059 - scikit_build_core - DEBUG - RUNENV - changes since last run only:

      2024-12-18 17:23:22,059 - scikit_build_core - INFO - RUN: /opt/homebrew/bin/cmake --build
      /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build -v
      2024-12-18 17:23:22,066 - scikit_build_core - DEBUG - RUNENV - changes since last run only:

      2024-12-18 17:23:22,066 - scikit_build_core - INFO - RUN: /opt/homebrew/bin/cmake
      --install /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/build --prefix
      /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib --strip
      2024-12-18 17:23:22,108 - scikit_build_core - DEBUG - Didn't find a Python package for nanobind
      Traceback (most recent call last):
        File "<string>", line 11, in <module>
          wheel_filename = backend.build_editable("/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpDdOJOT", {}, None)
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages/scikit_build_core/build/__init__.py", line
      57, in build_editable
          return _build_wheel_impl(
                 ~~~~~~~~~~~~~~~~~^
              wheel_directory,
              ^^^^^^^^^^^^^^^^
          ...<2 lines>...
              editable=True,
              ^^^^^^^^^^^^^^
          ).wheel_filename
          ^
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 175,
      in _build_wheel_impl
          return _build_wheel_impl_impl(
              wheel_directory,
          ...<5 lines>...
              pyproject=pyproject,
          )
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 478,
      in _build_wheel_impl_impl
          _make_editable(
          ~~~~~~~~~~~~~~^
              build_options=build_options,
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          ...<7 lines>...
              packages=str_pkgs,
              ^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 60,
      in _make_editable
          installed = libdir_to_installed(libdir)
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages/scikit_build_core/build/_editable.py", line
      73, in libdir_to_installed
          path_to_module(v.relative_to(libdir)): str(v.relative_to(libdir))
          ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/nicholasjunge/Library/Caches/uv/builds-v0/.tmpoIrIBm/lib/python3.13/site-packages/scikit_build_core/build/_pathutil.py", line
      31, in path_to_module
          path = path.with_name(path.name.split(".", 1)[0])
        File<EMAIL_ADDRESS>line 358, in
      with_name
          raise ValueError(f"Invalid name {name!r}")
      ValueError: Invalid name ''

      hint: This usually indicates a problem with the package or the build environment.

  2024-12-18 17:23:22,108 - scikit_build_core - DEBUG - Didn't find a Python package for nanobind

Ok so packages = {} and str_pkgs should also be empty then, that seems to be a red-herring. Still an issue IMO though.
Some more digging libdir arg in _make_editable is wheel_dir/"purelib" and it is failing at libdir_to_isntalled and it fails somewhere in the files that it gives from scandir, but I am not quite sure what files were installed in the /var/folders/rw/mj164vm16k10x_byww6my1s00000gn/T/tmpyjjlgw0_/wheel/purelib which I presume is what wheel_dir/"purelib" is. Maybe it is stumbling on .DS_Store that you have there. Can you try to add .DS_Store to your .gitignore (not sure if .git/exclude would work).
Ultimately though I think nanobind's CMake files and scikit-build-core implementation should be reviewed more carefully, something feels off in the design there of installing itself, but I can't put my finger on what. I think it should be using wheel.cmake=false at the very least, and I thought that pybind11 was using that, but I don't see it. @henryiii did you review the design for nanobind or have any thoughts?

.DS_Store is already in the .gitignore, albeit with a backslash escaping the dot (i.e. \.DS_Store). Putting normal .DS_Store without "" does not help, either.
But you're spot on I think. Putting logger.debug(str(path)) in L32 of _pathutil.py gives
2024-12-18 19:05:00,330 - scikit_build_core - DEBUG - nanobind/stubgen.py
      2024-12-18 19:05:00,330 - scikit_build_core - DEBUG - nanobind/cmake/nanobind-config.cmake
      2024-12-18 19:05:00,330 - scikit_build_core - DEBUG - nanobind/cmake/darwin-ld-pypy.sym
      2024-12-18 19:05:00,330 - scikit_build_core - DEBUG - nanobind/cmake/darwin-ld-cpython.sym
      2024-12-18 19:05:00,330 - scikit_build_core - DEBUG - nanobind/cmake/nanobind-config-version.cmake
      2024-12-18 19:05:00,330 - scikit_build_core - DEBUG - nanobind/include/.DS_Store
      Traceback (most recent call last):
        File "<string>", line 11, in <module>
          wheel_filename = backend.build_editable("/Users/nicholasjunge/.cache/uv/builds-v0/.tmpTfDM6s", {}, None)
        File "/Users/nicholasjunge/Workspaces/c++/nanobind/.venv/lib/python3.13/site-packages/scikit_build_core/build/__init__.py", line 57, in
      build_editable
          return _build_wheel_impl(
                 ~~~~~~~~~~~~~~~~~^
              wheel_directory,
              ^^^^^^^^^^^^^^^^
          ...<2 lines>...
              editable=True,
              ^^^^^^^^^^^^^^
          ).wheel_filename
          ^
        File "/Users/nicholasjunge/Workspaces/c++/nanobind/.venv/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 175, in
      _build_wheel_impl
          return _build_wheel_impl_impl(
              wheel_directory,
          ...<5 lines>...
              pyproject=pyproject,
          )
        File "/Users/nicholasjunge/Workspaces/c++/nanobind/.venv/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 478, in
      _build_wheel_impl_impl
          _make_editable(
          ~~~~~~~~~~~~~~^
              build_options=build_options,
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          ...<7 lines>...
              packages=str_pkgs,
              ^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/Users/nicholasjunge/Workspaces/c++/nanobind/.venv/lib/python3.13/site-packages/scikit_build_core/build/wheel.py", line 60, in
      _make_editable
          installed = libdir_to_installed(libdir)
        File "/Users/nicholasjunge/Workspaces/c++/nanobind/.venv/lib/python3.13/site-packages/scikit_build_core/build/_editable.py", line 73, in
      libdir_to_installed
          path_to_module(v.relative_to(libdir)): str(v.relative_to(libdir))
          ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/nicholasjunge/Workspaces/c++/nanobind/.venv/lib/python3.13/site-packages/scikit_build_core/build/_pathutil.py", line 33, in
      path_to_module
          path = path.with_name(path.name.split(".", 1)[0])
        File<EMAIL_ADDRESS>line 358, in
      with_name
          raise ValueError(f"Invalid name {name!r}")
      ValueError: Invalid name ''

      hint: This usually indicates a problem with the package or the build environment.

So it seems .DS_Store is indeed the culprit. How does that slip through though, if it's in gitignore?

Ok, things are more complicated because the file is installed because of the CMakeLists.txt and not due to scikit-build-core installation. This one is quite tricky because it is a whack-a-mole if you fix that snippet, since src part could also be affected. Really the best option would be to redesign nanobind's build system. I will open an issue there and tag you.

Thanks. Could you explain why this fails in editable mode only, and not in a proper install?

If you do a pip install . I suspect it would also fail though, or at least still have the .DS_Store installed. Probably it would not fail because it does not need to create _<pkg>_editable.py files. Still though the nanobind build system would be problematic because you could have uncommitted files in the git repo that are still installed, which could have unknown effects. For production purposes it would not be an issue, but still the approach there does not seem right to me, so I want to get some clarification on the design requirements and decisions

Nope, doesn't fail with uv pip install . But it does have all of the .DS_Stores baked in at lib/python3.13/site-packages in the whole package directory.


base64 librariy for support mcuboot serial FWU

This patch introduce libraries which are need for support Mcuboot serial recovery mode.
These libraries are in usage by newtmgr protocol encoding and parsing. Mcuboot serial recovery protocol simply implements image related piece of newtmgr protocol.
Libraries:
base64: base64 library

These libraries will be useful for future OTA DFU works as well.
As the serial recovery functionality consumes additional flash, the bootloader partition was extended as well for nRF52840 SoC.
Signed-off-by: Andrzej Puzdrowski<EMAIL_ADDRESS>

Ok for base64, but why we need hex encoding/decoding here?

As was agreed on discussion we have during the Open Source Summit Europe in Prague this patch is replaced by the import of mbedtls-base64 library. (https://github.com/zephyrproject-rtos/zephyr/pull/4743)


TF fails when atrous rate is higher than ~280, Theano works perfectly.

import numpy as np
from keras.models import Model
from keras.layers import Input, AtrousConvolution1D

inp = Input((100, 1))
M = AtrousConvolution1D(1, 2, atrous_rate=280, border_mode='same')(inp)
M = Model(inp, M)
M.compile('sgd', 'mse')

M.train_on_batch(np.random.rand(1, 100, 1), np.random.rand(1, 100, 1))

TensorFlow fails when atrous_rate is higher than ~280 with the following error message:
F tensorflow/stream_executor/cuda/cuda_dnn.cc:2742] failed to enqueue convolution on stream: CUDNN_STATUS_NOT_SUPPORTED
Theano works perfectly.
Tested with multiple machines with TITAN X's and all pip packages upgraded to latest.

I did some debugging, it occurs when tensorflow calls cudnn's convolution backward filter operation.
I'll try to reproduce the bug with pure tensorflow code and open an issue there.


Performance for creating formulas (5k+) is slow

This is fixed, for the time being, until we have a better means of creating formulas.


Revert "[windows] Do not install latest version of GHC (#6581)"

Revert "[windows] Do not install latest version of GHC (#6581)"
This reverts commit b101b5646fa2a6048243f954d56e43d92270f390.
Related issue:
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run windows2019,windows2022


Test against node 9

Coverage remained the same at 100.0% when pulling 1a4087af79b9cb708dafefa578df8bb1e066d1ca on cho-test-node-9 into c8566d59bccad085eaa897d17252279b16cfcaa9 on master.


fail to start notary because dns name is too long

cannot set status to error: cannot set conditions to error: apply cert-manager.io/v1alpha2, Kind=Certificate (cluster-sample-ns/harborcluster-sample-harbor-harbor-notarysigner-authentication-authority): apply:
Certificate.cert-manager.io "harborcluster-sample-harbor-harbor-notarysigner-authentication-authority" is invalid: metadata.annotations: Invalid value: "cluster-sample-ns.issuer.checksum.goharbor.io/harborcluster-sample-harbor-harbor-notarysigner-authentication-authority": name part must be no more than 63 characters

seems failed at controllers/goharbor/harbor/notarysigner.go/GetNotarySignerCertificateAuthority()


Add the ability for application, review, and determination forms to accept PGP encrypted text and then to be viewed by managers via Mailvelope

I'm bumping this cause it's now more possible than before. See documentation for Encrypted Forms using Mailvelope available at https://github.com/mailvelope/mailvelope/wiki/files/Mailvelope-Encrypted-Form-Documentation.v1.2.0.pdf
@frjo and/or @Parbhat, could one of you review this document and provide a possible roadmap for us to accomplish this? I'm thinking something that initially involves a single streamfields plaintext form as an mvp to something more later.

https://github.com/mailvelope/mailvelope/wiki/files/Mailvelope-Encrypted-Form-Documentation.v1.2.0.pdf

Some notes after reading the Encrypted Forms documentation.

An important part of the process is Signing the form. The process of building a form is manual which requires secret OpenPGP key of the form data recipient (OTF). And form can be signed using GnuPG or Grunt javascript tool. Form immutability is a crucial part of the process. But our stream field forms allows creating forms dynamically. So, we will need to sign the form automatically when new fields are added to a form or a new form is created. We need to come up with another method other than described in the documentation for signing the form.

Our current method of creating and validating forms needs updates. Currently, we create a
block for the field and form field is generated based on the block type. Validation is performed both in front end and server-side. Django server-side validation needs to be turned off for fields. CSRF token can not be used as form should be immutable. So, the basic purpose of our application is to just accept the form's data. We have to implement the security consideration mentioned in the docs like Use the signature verification to prevent CSRF etc.

Decrypting the data will probably need a new interface and implementation or the OTF staff can do it manually.

The only limitation, as explained earlier, lies in the fact that there is no guarantee that the data
contained in the encrypted message is in the valid format and not malicious. With traditional
forms this validity check is performed using server side validation. With this solution this
responsibility is shifted to the client.

The simplest initial prototype would be to just host a signed HTML form which is created manually.


ENH: Gamma/Gompertz distribution (#7791)

I am still editing this PR. Please wait. I will delete this line after I finish editing.
This PR is a follow-up of the PR #7791.
PR #7791 is abandoned due to the original branch was deleted and unable to recover.
Reference issue
#7791
What does this implement/fix?
This PR implements a new continuous distribution Gamma/Gompertz distribtion.
Gamma/Gompertz distribution (wikipedia: https://en.wikipedia.org/wiki/Gamma%2FGompertz_distribution) is a useful distribution for modeling mortality risks.
Additional information

Current Status:
The check scipy.scipy (Linux_Python_36_32bit_full) failed, and I have not found out a way to resolve it.
Details:
The build succeeded in all 4 Windows checks, but failed when it tries to install matplotlib in the only Linux check.
Line ending is not the cause, since I can find the following code in the errorlog:
code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');

Accoding to the error log, the error occurs when matplotlib/setup.py tries reading the matplotlib/READEME.rst.
Related files can be found in
https://github.com/matplotlib/matplotlib/blob/master/setup.py#L228
https://github.com/matplotlib/matplotlib/blob/master/readme.rst

Selected Error Log
Collecting matplotlib
  Downloading matplotlib-3.2.0.tar.gz (40.5 MB)
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3.6 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-78z5ch93/matplotlib/setup.py'"'"'; __file__='"'"'/tmp/pip-install-78z5ch93/matplotlib/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-78z5ch93/matplotlib/pip-egg-info
         cwd: /tmp/pip-install-78z5ch93/matplotlib/
    Complete output (20 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-78z5ch93/matplotlib/setup.py", line 229, in <module>
        long_description = fd.read()
      File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 2619: ordinal not in range(128)

    Edit setup.cfg to change the build options; suppress output with --quiet.

@ZhiqingXiao Yes, I've reported upstream & they will remove those characters in matplotlib 3.2.1. I have a fix in https://github.com/scipy/scipy/pull/11628 so I'll just merge that and you can rebase if  you want to avoid the fail.

@tylerjereddy  Thanks for fixing matplotlib. Now I passed the check scipy.scipy (Linux_Python_36_32bit_full).

Adding the method _ppf ( the inverse of the CDF) would be important for sampling of rvs.

I just checked the test errors.
One failure is about scipy/optimize/tests/test_minpack.py
Another failure is about scipy/sparse/linalg/tests.test_pydata_sparse.py
Neither relate to my code. I will re-try the tests sometime.

Can you check that the cdf is correctly implemented (same for its inverse _ppf)? After checking the wikipedia website, a power of c could be missing. Thanks

@ZhiqingXiao, thanks for contributing!
I have some older PRs to get to before I can start reviewing this one (and if the other devs are happy with it, there is no need to wait for me, of course), but as preparation, I added an implementation of some of the Gamma-Gompertz distribution functions to mpsci.   I can't guarantee there are no mistakes there, but I included a few simple unit tests there for the pdf and cdf, and for round-tripping the cdf/invcdf and sf/invsf functions, and the tests pass.  Once we're confident that code is correct, it can be used to double-check the results computed by the code in this PR.

Except for logpdf, my comments have been addressed and the PR is in decent shape in my view.

I think a rebase went wrong here. Note that when you rebase on master branch you have to force push.

Oops. I incorrectly try to rebase the branch and introduced many unrelated commits. Sorry for that. I think I may close this PR to avoid further mess up.

@ilayn Yes, you are right. I did something wrong. Sorry for that.


Feature/linkta 287 redesign routing for better ux

Description

Header and Footer Repositioned: Moved to the root page.tsx to let child components render without the global header and footer to allow design flexibility.
Early Access Page Introduced: Hosts the PrelaunchSignUpForm and displays submission status for improved user experience and organization.
Signup Flow Management: On the early access page, the signup process is dynamically managed from submission to confirmation, including an automatic homepage redirect after 3s

Fixes #287
Type of change

[X] ✨ New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[X] Manual Testing

Checklist:

[X] I have performed a self-review of my own code.
[X] I have commented on my code, particularly in hard-to-understand areas.
[X] My changes generate no new warnings.
[X] I have reviewed the Security Best Practices Document.
[X] I have followed the Naming Conventions Guide for my changes.
[X] I have ensured that my pull request title is descriptive.

Additional Information:

Will convert to ready to review when sign up form component is ready

@ejwoods Please review this PR as it contains an event handler with a placeholder function to be passed to the form.


nc-config / pkg-config error with 4.4.0

After installing netcdf 4.4.0, nc-config does not work as expected. If I run
nc-config --libs

I get the following output:
Package netcdf was not found in the pkg-config search path.
Perhaps you should add the directory containing `netcdf.pc'
to the PKG_CONFIG_PATH environment variable
No package 'netcdf' found

Naively trying to fix this by setting PKG_CONFIG_PATH does not help either:
mic@aia256:/pds/opt/netcdf-4.4.0> ls /pds/opt/netcdf-4.4.0/lib64/pkgconfig
netcdf.pc
mic@aia256:/pds/opt/netcdf-4.4.0> export PKG_CONFIG_PATH=/pds/opt/netcdf-4.4.0/lib64/pkgconfig
mic@aia256:/pds/opt/netcdf-4.4.0> bin/nc-config --libs
Package netcdf was not found in the pkg-config search path.
Perhaps you should add the directory containing `netcdf.pc'
to the PKG_CONFIG_PATH environment variable
No package 'netcdf' found

Any ideas what I did wrong?

Thanks for the bug report; I've also been following the conversation over at netcdf4-python.  I'll try to recreate and diagnose this issue ASAP.

Hi there, we also get this same issue when trying install mzR R package, which requires NetCDF (which we installed locally, setting the prefix variable).
gcc -std=gnu99 -I/homes/user/software/R-3.2.3/include -DNDEBUG -D_LARGEFILE_SOURCE -I./boost_aux/ -I. -DHAVE_PWIZ_MZML_LIB -D_NODEBUG -DWITHOUT_MZ5 -I./boost `nc-config --cflags || /bin/true` -I/usr/local/include -I"/nfs/gns/homes/user/R/x86_64-pc-linux-gnu-library/3.2/Rcpp/include" -I"/nfs/gns/homes/user/software/R-3.2.3/library/zlibbioc/include"   -fpic  -g -O2  -c R_init_mzR.c -o R_init_mzR.o
Package netcdf was not found in the pkg-config search path.
Perhaps you should add the directory containing `netcdf.pc'
to the PKG_CONFIG_PATH environment variable
No package 'netcdf' found

Interstingly, nc-config --all works fine:
This netCDF 4.4.0 has been built with the following features:

 --cc        -> gcc
 --cflags    ->  -I/homes/user/software/netcdf-4.4.0/include
 --libs      ->

 --has-c++   -> no
 --cxx       ->
 --has-c++4  -> no
 --cxx4      ->

 --fc        ->
 --fflags    ->
 --flibs     ->
 --has-f90   -> no

 --has-dap   -> yes
 --has-nc2   -> yes
 --has-nc4   -> yes
 --has-hdf5  -> yes
 --has-hdf4  -> no
 --has-pnetcdf-> no

 --prefix    -> /homes/user/software/netcdf-4.4.0
 --includedir-> /homes/user/software/netcdf-4.4.0/include
 --version   -> netCDF 4.4.0

In this environment, the user doesn't have root access, so it requires local installs. Needless to say that we updated the PKG_CONFIG_PATH to point to where the .pc file is, with no results as described. This is on RHEL.
Many thanks!
Pablo

I'm reviewing this issue and am unable to recreate the problem, currently; does the issue still occur on your end?  @pcm32, are you using pkgconfig or nc-config, just to clarify?  I've tested this with both cmake and autotool-based builds (on Ubuntu, admittedly, not RHEL.  I don't have access to a modern RHEL system), and have not encountered an issue.

Thanks for looking into this @WardF. On our side, the issue comes when using nc-config (when R invokes it to compile a package that requires NetCDF), or at least that is what I understand of the invoked line before the error comes up (see my first post, there is a part where nc-config --cflags is invoked in backticks). When we tried it it was the latest version of NetCDF available on the official web page (4.4.0). Is there a newer version that we should try?
I'll try to see if the issue comes up on Centos (6.7, as we see the issue on RHEL 6.6) and report back.

I'll build a Centos 6.7 VM on my end and will see if I can recreate the issue there as well. Thanks!  I'd prefer to recreate and fix this issue if at all possible.

Ok, currently trying with Centos 6.6 cloud image:
http://cloud.centos.org/centos/6.6/images/CentOS-6-x86_64-GenericCloud.qcow2
Had to install some developers tools:
sudo yum groupinstall "Development Tools" -y && sudo yum install kernel-devel -y
And then installed zlib, HDF5 and now NetCDF C 4.4.0.

Ok, on Centos 6.6 with all manually installed following netcdf instructions, the call:
nc-config --libs
is now working... I'll try and see if the error from the R compilation still occurs.

@pcm32 is the error still occurring? Unless I hear back to the contrary, I'm going to close this issue out as resolved in the near future :).

sorry, I was away for some days and have a bad backlog now. I couldn't reproduce it outright last time I tried it on a clean VM, so someone else in our group was going to retry the whole process on the original machine (now being very careful of following the same steps I did on the VM), but haven't heard back from this person. Please give me a few days to look into this again and I'll come back to you. Sorry about the delay.

No problem at all; if it's resolved I want to close out the issue, but I don't want to do so prematurely.

No problem, it's worth reviewing.  I'm glad to hear it's been resolved, I'll close out the issue.  Thanks for following up!


invalid certificate when using certmanager

Not sure if this is a contour issue or cert-manager issue.
What steps did you take and what happened:
I am using contour with cert-manager to request let's encrypt certificates. I am using the HTTP 'certmanager.k8s.io/cluster-issuer: "letsencrypt-prod-http' annotation. When you switch to a different issuer it appears as though contour does not update the certificate and uses one from what caching system present in the contour architecture.
What did you expect to happen:
I expected contour to watch the certificate system and perform an update or restart based on changes to whatever certificate is attached to the service.
Anything else you would like to add:
I have deleted the contour service and brought it back and still the issue persists. I suspect it might be a certificate manager issue.
Environment:

Contour version: Latest with the following envoy container docker.io/envoyproxy/envoy:v1.9.0
Kubernetes version: (use kubectl version): v1.11.8-eks-7c34c0
Kubernetes installer & version: N/A
Cloud provider or hardware configuration: AWS EKS
OS (e.g. from /etc/os-release): AMAZON AWS

It is a strange thing because no matter what I do the certificate is still the same. I imagined that it might have been stored in ETCD but when I delete the service the invalid certificate should be gone but it is still present which makes no sense when I say service i mean everything including contour + cert-manager. I imagined it might have been a volume but I not think this to be the case. I believe this is a cert manager issue because that is what handles the issuing of certificates. I will leave this for now and try an alternative method since I believe there may have been duplicate cert requests on both prod and staging ACME servers. It is mainly the timestamps which are not making major sense.
I will close this and file with cert manager team.


"Return to the board" can focus snap back to active swimlane?

I'm working in a swimlane further down on my Board and click on a task to edit it.
I edit my task, click save, and on the Task page click "Back to the Board".
I'm brought back to the board, but at the top of the page.  It'd be nice if focus went back to the swimlane I was working in.

Thank you.

1 (not a huge issue the way it is, but would be alot less scrolling with the suggestion) - we have 37 swimlanes in one board - and some boards might end up having even more. :)

Found a decent workaround for this one by changing my work-flow a tiny bit - I click the scroll button on the mouse to open a new tab with the ticket/task I want to edit - that way, the tab with my whole board and all the swimlanes does not reload. =)

@jeffshieldsdev It's now implemented in the last development version.


feat: 🎸 support dtypes option for read_csv function

Old vertion provide dtype property in ReadCsvOptions（polars/io.ts）, but is not implement in src/dataframe.rs, so it implement dtypes option for read_csv function and due to it is a collection of column type defination, so change name to dtypes

Hi, guys, is it have a plan to release new version?

I usually run a new release about once a month.  If you need the features sooner, you can update your package.json to point directly to github
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#github-urls

Thanks

I usually run a new release about once a month. If you need the features sooner, you can update your package.json to point directly to github
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#github-urls

Thanks


Conversion script for labels from KITTI 360 to KITTI format

Hello 👋
Although they are uploaded already, I was interested in how did you convert the labels from KITTI-360 to KITTI format?
Could you please share that code if possible.
Thanks in advance

Hi @HarisAmir
Thank you for your interest in SeaBird. You could find all the helper scripts such as get_kitti_style_ground_truth() for conversion inside kitti360_util.py file. Unfortunately, the wrapper script of get_kitti_style_ground_truth() was on my old HDD, and I have not searched for it.
However, the converted KITTI-360 labels in KITTI format are already released, and you could use it to train KITTI style 3D detectors / BEV segmentors.

Hi @HarisAmir
I found a version of wrapper script kitti_360_converter.py, which I added to the repo now. Please check.

Closing this issue but feel free to open it.


Request: Scroll past end of file

Would it be possible to add a feature for scrolling past the end of a file? It would make writing texts a lot more comfortable.

See https://github.com/icsharpcode/AvalonEdit/issues/93


Refactor BeatmapStore to use MemoryCache

Resolves #143.
As originally mentioned by @smoogipoo, Microsoft's caching extensions work really well for this purpose. I've chosen MemoryCache to maintain existing behaviour however I'd suggest using a distributed cache with something like Redis if you are running multiple processor pods in production - you can share a consistent cache across them all.
This should allow for more fine-tuning regarding memory usage, and avoid unnecessary caching.
Remarks
Cache sizing
MemoryCache has a concept of an entry having a "size" which can be used to disallow a cache expanding beyond a set limit. The MEMORY_CACHE_SIZE_LIMIT environment variable will dictate the size limit for both beatmap and difficulty attribute caches, with each beatmap and difficulty attribute entry contributing 1 to this size (the "size" concept doesn't have any defined units and allows you to dictate size per entry)
Sliding expiration
There's a few ways you can choose to handle expiration with MemoryCache, but in this case I think it makes sense to use a sliding expiration as you will want frequently requested beatmaps or attributes to remain in the cache. Sliding expiration means it will evict items which haven't been accessed within the "sliding expiration" - this is set in seconds by the MEMORY_CACHE_SLIDING_EXPIRATION_SECONDS environment variable.
Separate caches
You can easily use 1 cache for both beatmaps and difficulty attributes, as keys can be anything which are an object. However, with the size limiting in place it made sense to me that they remain separate - this also keeps previous behaviour.
Cache defaults
I've defaulted the cache size to 1000 and the sliding expiration to 3600 seconds (1 hour). I think these are sane defaults, but I don't have insight on production numbers so these should definitely be adjusted.

This looks pretty much as I'd expect it to.
Note that the size is probably a little bit too small, if my rough estimation is correct (going by the fields in the classes) then Beatmap should be 72 bytes and BeatmapDifficultyAttributes 24 bytes. 1000 of both of these would total up around 100KB.
This is probably at least 2 orders of magnitude less memory than a reasonable amount.
@ThePooN What's the memory usage statistics on production like? Is there a target you think is reasonable for this service to use in a long term (without accounting for spikes/etc)?

Yeah, numbers definitely need looking at since I have no real insight. I'll adjust the defaults once you get a better idea from @ThePooN, but I'll keep the configuration options there anyway so you can adjust on prod.

We're currently cruising at around 180MiB per instance. Seems like load only has an incidence on CPU, not RAM usage.
Looking back at historical data, it seems #143 has been resolved last December.
If that is of useful comparison, osu-performance is ran at one pod per gamemode, cruising at 450MiB for osu!, 110MiB for osu!taiko, 100MiB for osu!catch, 1080MiB for osu!mania.
This deployment architecture could be leveraged here as well for more optimal cache usage (unless we consider moving cache to redis).
I assume the relevant dataset is beatmaps with leaderboards and their difficulty attributes, correct?
As of writing, there are 169,242 ranked/approved/qualified/loved beatmaps, which represent 121,686,749 attributes.
If it's including graveyard/pending, I suggest not caching these at all, as that's a way bigger dataset of rarely-accessed rows (2,753,464 beatmaps, 190,383,808 attribs), and we'd need a strongly-consistent invalidation mechanism, definitely not worthwhile :sweat_smile:
Either way, we indeed need to cache way more than 1000 rows. If I trust smoogipoo that a beatmap row is only 72 bytes, then caching the full leaderboard-enabled set would only represent 12MiB. Might as well use a plain HashMap or similar if that's true, I don't see why we'd need to evict them ever.
For attributes, I'd start with 100MiB. Realistically we could use way higher, but we will have to experiment and see what yields the most efficient results, so I appreciate the use of environment variables.

For attributes, I'd start with 100MiB. Realistically we could use way higher, but we will have to experiment and see what yields the most efficient results, so I appreciate the use of environment variables.

For that to happen though, exposing a cache hit/miss ratio over datadog metrics is needed.

This seems to be built in, just need to decide how often to send that over to not overdo it bills wise I suppose.

This seems to be built in, just need to decide how often to send that over to not overdo it bills wise I suppose.

Metrics are billed per indexes (combination of metric name + tags), volume/frequency doesn't matter.

Is there a point to any of this if we're already having 100% of content in memory without issue?
ie. is this not wasted time/complexity?

Is there a point to any of this if we're already having 100% of content in memory without issue?
ie. is this not wasted time/complexity?

currently - probably not. if/when osu-performance is turned off then I think that might change, but @ThePooN is far more qualified to comment on that

I believe we did have the processor fall over at least once due to running out of memory didn't we? Which was at the time fixed by just recycling the cache more aggressively or something?
Introducing this could increase cache hit rate without running into risk of oom again, and thus improve performance / throughput.

Is there a point to any of this if we're already having 100% of content in memory without issue?

As @bdach points out, we've had it fall over in the past. Since then, we've been recycling the beatmap store every 60 sec:
https://github.com/ppy/osu-queue-score-statistics/blob/06bbe2015dc16c4a556b0ee3b944b75dbfb5a5a9/osu.Server.Queues.ScoreStatisticsProcessor/Processors/ScorePerformanceProcessor.cs#L117-L123
I can't tell if the cache is doing anything with the current metrics we have.
By the way, that recycling is still present in this PR. It would have to be removed for this to do anything, but that also presents an invalidation issue that needs to be addressed. I'm not sure how.

ie. is this not wasted time/complexity?

Maybe.

By the way, that recycling is still present in this PR. It would have to be removed for this to do anything, but that also presents an invalidation issue that needs to be addressed. I'm not sure how.

Do we actually need an invalidation path, given a small enough expiration time? I don't think a map can get disqualified and re-qualified within an hour?
Otherwise, the beatmap's md5sum can be added to the cache key if that's in the score input data.

Does the memory cache API support invalidation? I'd say we could setup a listener for bss_process_queue or similar to handle invalidation in that case.

The API supports invalidation via Remove(object key) but we'll have to subclass MemoryCache for the difficulty attribute keys as the beatmap ID will be part of the key, and for some reason MemoryCache doesn't let you access all keys without reflection so I tend to just opt for subclassing and tracking keys manually.
I didn't realise the cache was being recycled in the ScorePerformanceProcessor so I'll need to change that for BeatmapStore since I haven't refactored BuildStore to use MemoryCache (I don't see a reason to).

As above though, the recycling should not be happening if we are switching to this. Else it's not improving much at all (and just adding complexity).
Probably something similar to https://github.com/ppy/osu-server-spectator/blob/86a0ff06bda261a67a918d8ee07d1aa2f2b12006/osu.Server.Spectator/Hubs/Metadata/MetadataBroadcaster.cs#L48-L60 is required.

Not sure I follow. If we're using a listener to invalidate cache then I don't think we need to poll database for changes - removing the recycling should be enough. I've intentionally kept the recycling for only BuildStore since that's still just using a dictionary underneath, unless you'd like this changed too but I don't think there's a gain in that for builds?

In https://github.com/ppy/osu-queue-score-statistics/pull/262/commits/d168720a4e20c2ad89ccf500a42b85557f590c13, I've refactored for the memory cache size to be in MB and adjusted the default to 100. Note the earlier conversation about there being no best way to calculate the memory taken up by an attribute, beatmap etc. so I've placed a constant for each with an inline explanation. Note that it's not perfect - an array itself will mean it's a couple more bytes than sizeof(T) * length and Nullable<T> adds a couple bytes too. It's a bit tedious, but if limiting in MB is the goal then I don't think it can get much better.

Moved to bytes because of integer division problem, shouldn't make any real difference.

I'm getting this in as I need to make some further modifications to this store (to avoid nuking it every minute) and it was either now-or-never to make this change.


Cannot access database replica on port 3304

platform db:size -p <project_id> -e <environment>
Enter a number to choose a relationship:
  [0] database (<database>)
  [1] database-slave (<database>)
 > 1

Unable to find database service information.

The database-slave / replica is running on port 3304. Does the CLI know how to handle these exceptions?

Missing host string in the platform_relationships env var. My mistake.


Exclude exe_running_docker_save in the "Write below etc" rule

What type of PR is this?
/kind bug
/kind rule-update
Any specific area of the project related to this PR?
/area rules
What this PR does / why we need it:
The "Write below etc" rule is firing an event each time we spin a container. For example:
{
    "priority": "Error",
    "output": "21:11:42.835233238: Error File below /etc opened for writing (user=<NA> command=exe /var/lib/docker/overlay2/b96d5259b14161da7fe7f3f0c036d723bbd937bc83cf6abdcac850210c397759/diff parent=<NA> pcmdline=<NA> file=/etc/group program=exe gparent=<NA> ggparent=<NA> gggparent=<NA> container_id=host image=<NA>) k8s.ns=<NA> k8s.pod=<NA> container=host k8s.ns=<NA> k8s.pod=<NA> container=host",
    "rule": "Write below etc",
    "output_fields": {
      "fd.name": "/etc/group",
      "proc.cmdline": "exe /var/lib/docker/overlay2/b96d5259b14161da7fe7f3f0c036d723bbd937bc83cf6abdcac850210c397759/diff",
      "container.id": "host",
      "evt.time":<PHONE_NUMBER>835233300,
      "proc.name": "exe"
    }
  }

This event is surrounded by dozens like it.
Adding a simple and not exe_running_docker_save fixes the issue.
Which issue(s) this PR fixes:
I did not file an issue, here is the PR instead!
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
Fixed a false positive in the "Write below etc" rule by excluding "exe_running_docker_save".

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: kaizhe
If they are not already assigned, you can assign the PR to them by writing /assign @kaizhe in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

rules/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: f05cdc051858e225ef75d8da0befb67e779f52ed

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: fntlnz
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

rules/OWNERS [fntlnz]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Thanks @JPLachance - changes lgtm but I’ll let @Kaizhe do a pass before we merge.
/assign @Kaizhe

@JPLachance just curious, do you enable --userns-remap?

@Kaizhe, what is --userns-remap exactly? Do you mean the Docker option?
I don't think we use it, unless it is the default value in KOPS (but I don't think it is).
Could it cause an issue?

I'm confused. The and not exe_running_docker_save condition is already part of the write_etc_common. How did I got that alert? 🤔


Automatically apply cross-listed classes

e.g. CS 2112 is cross-listed as ENGRD 2112. When I add CS 2112, it would be good it can be automatically used as ENGRD 2112 to fulfill one ENGRD requirement.

Fixed in #153.


ZEPPELIN-397 Activate spark-1.5 and hadoop-2.4 by default in release script

https://issues.apache.org/jira/browse/ZEPPELIN-397
Activate spark-1.5 and hadoop-2.4 by default
That'll enable use sc.textFile("s3...") with default configuration without specify SPARK_HOME.

Ready to merge.

Let's Merge and make new release

looks good

LGTM
2015년 11월 6일 (금) 오후 6:41, Felix Cheung<EMAIL_ADDRESS>작성:

looks good
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/397#issuecomment-154363364
.


[BUG] Insufficient changes to extend task-<label> to anatomical data

Describe your problem in detail.
In #1185, the task-<label> entity was introduced, but at the same time, it introduced two problems:

The PR did not include any language about events files and metadata, so today task-<label> only adds one entity to the anatomical data but that task cannot be fully specified (I guess there could be a way of doing so with beh/, but that was already the case before #1185 was merged). It would be necessary to add the necessary language to the spec. I think the task-<label> entity should be used ONLY for disambiguation (i.e., if, e.g., during the T1w imaging more than one task or no-task happened across the dataset).
What happens with dwi, for instance. Is it not anatomical? #1185 should be cast up to cover, at least, all MRI datatypes, and denominated OPTIONAL for all the datatypes (except for functional and others where it was already MANDATORY).

Describe what you expected.
That #1185 was more generally applied and fully implemented (i.e., events files)
BIDS specification section
https://bids-specification.readthedocs.io/en/stable/modality-specific-files/magnetic-resonance-imaging-data.html#task-metadata-for-anatomical-scans

(where I say events, it should also say stim)

Adding those would be ok with me.


review any potential sync issues with scheduled playback

We've found that with the 52 Pi array in the video village that some Pis may drift and/or not start up at the same time.   Please review the scheduled show handling to ensure there's nothing more that we can do to avoid this "out of sync" behavior for Pis running the same show play list.

I believe #30 may have addressed this with the Pis now properly sync'ing their clocks periodically
will monitor over next day or so and resolve if this has been solved

It appears #30 did indeed help to address this issue
closing this out


client: Add file local storage

The downside to doing this here as opposed to in the flynn tree is that we'll have to vendor boltdb twice (we need to add Godeps to this repo, btw).

Yes I contemplated adding this to Flynn, but I think it should be straight forward to use a client file store when this library is used standalone.

LGTM.


A $$restProps class treated as unused

Describe the feature
When passing a non-universal class to a component from parent, it's beed removed as unused
A Usecase
To be honest, I'm not sure, if there is a better workaround for this problem than wrapping a component into another element and passing those classes to it. If not, I'd like to avoid extra markup, as well as pre-defining all possible cases i.e. provide style all possible classes in the component itself i.e. keep separating styling contexts.
Alternatives?
I'd also like to know whether there are better pro-pattern ways to solve this, thank you!
Parent:
<Cta class="landing-cta--top" />
Child:
<button class="{$$restProps.class}">Action</button>
Console:
Unused CSS selector ".landing-cta--top"
Edit 1 My workaround fails: Unused CSS selector ".ctas--top > button:first-child"
Edit 2 Setting :global(.landing-cta--top) {} from parent works, but it kinda negates the cool concept of non-dripping styles, doesn't it?

Duplicate of https://github.com/sveltejs/svelte/issues/2870#issuecomment-496023106 and wrong repo.

Apologies.

Duplicate of sveltejs/svelte#2870 (comment) and wrong repo.

Thank you and apologies.


ng-click doesn't work on md-card > img tag

Hello there,
First, let me tell you, your carousel is actually very good and easy to use.
I have the following issue however and I was wondering if you can help on it - I have md-card inside kaarousel-slide and this md-card has img tag with ng-click bound. So the sample code is:
<kaarousel ng-show="sighting.gallery.length"
        layout='row' flex
        ng-cloak
        displayed="options.displayed"
        per-slide="options.perSlide"
        autoplay="options.autoplay"
        animation="options.animation"
        direction="options.direction"
        pause-on-hover="options.pauseOnHover"
        center-active="options.centerActive"
        time-interval="options.timeInterval"
        stop-after-action="options.stopAfterAction"
        hide-nav="options.hideNav"
        hide-pager="options.hidePager"
        nav-on-hover="options.navOnHover"
        pager-on-hover="options.pagerOnHover"
        swipable="options.swipable"
        sync="options.sync"
        loop="options.loop"
        min-width="options.minWidth"
        expand="options.expand"
        always-fill="options.alwaysFill"
        transition-duration="options.transitionDuration"
        before-slide="options.beforeSlide"
        after-slide="options.afterSlide">
        <kaarousel-slide ng-cloak layout='row' flex
            ng-repeat="image in sighting.gallery track by $index">
            <md-card>

                <md-card-actions layout="row" layout-align="space-between center">
                    <md-button class="md-icon-button" aria-label="Favorite">
                        <md-icon md-svg-icon="lib/materialicons/favorite.svg"></md-icon>
                    </md-button>
                    <md-button class="md-icon-button" aria-label="Share">
                        <md-icon md-svg-icon="lib/materialicons/share.svg"></md-icon>
                    </md-button>
                </md-card-actions>
            </md-card>
        </kaarousel-slide>
    </kaarousel>

The problem is showImage() inside img tag is not called. Any help would be appreciated.

@angel1st might be an issue with the swipe option. Have you tried without it ?

@corentin-gautier - nope, it wasn't swipe option. What did the trick was simple adding div tag as parent if the img tag.
Here is how I fixed it:
<kaarousel ng-show="sighting.gallery.length"
        ng-cloak
        displayed="options.displayed"
        per-slide="options.perSlide"
        autoplay="options.autoplay"
        animation="options.animation"
        direction="options.direction"
        pause-on-hover="options.pauseOnHover"
        center-active="options.centerActive"
        time-interval="options.timeInterval"
        stop-after-action="options.stopAfterAction"
        hide-nav="options.hideNav"
        hide-pager="options.hidePager"
        nav-on-hover="options.navOnHover"
        pager-on-hover="options.pagerOnHover"
        swipable="options.swipable"
        sync="options.sync"
        loop="options.loop"
        min-width="options.minWidth"
        expand="options.expand"
        always-fill="options.alwaysFill"
        transition-duration="options.transitionDuration"
        before-slide="options.beforeSlide"
        after-slide="options.afterSlide">
        <kaarousel-slide
            ng-repeat="image in sighting.gallery track by $index">
            <md-card>

                <md-card-actions layout="row" layout-align="space-between center">
                    <md-button ng-click='likeImage($index, $event)' class="md-icon-button" aria-label="Favorite">
                        <md-icon md-svg-icon="lib/materialicons/favorite.svg"></md-icon>
                    </md-button>
                    <md-button class="md-icon-button" aria-label="Share">
                        <md-icon md-svg-icon="lib/materialicons/share.svg"></md-icon>
                    </md-button>
                </md-card-actions>
            </md-card>
        </kaarousel-slide>
    </kaarousel>

I am still not sure for the explanation which one causes this - either angular-kaarousel control or md-card component.

@angel1st wow that is weird ... I don't think it's linked to kaarousel then, because I don't have any special treatment for images

@corentin-gautier - yes, it is, and please note, if I remove angular-kaarousel and leave md-card only it works just fine, so I guess it is a kind of collision between both components :-)

@angel1st there's a pointer-events: none; on the kaarousel img to avoid the "drag" event from being fired when the user swipes, I can add that only to swipeable carousels (its currently default everytime) but if you need the swipe you will have to override that css rule :)

I think I got it! I'll made a PR very soon because I'm currently testing it 😄

@maximelafarie  we just need a 'swipable' class which apply the pointer-events: none :)

@corentin-gautier Oh, right! Because I was doing it differently : example here https://goo.gl/hEXix6 .
 I was doing it with something like this on the img selector:
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-user-drag: none;
user-drag: none;
-webkit-touch-callout: none;

This way, any event can be triggered on any image in any case and there's no drag effect.
But if you prefer a toggleable class, just tell me my PR is ready! 😉

@maximelafarie yeah that could work but I'm sure you noticed that the click event is fired after the drag end :) which might be considered a bug ...

@corentin-gautier Yes you're totally right! :)  So maybe we can do something with the before slide callbackand the after slide callback. In short we want to make the images "ng-clickable" and swipeable but don't want to fire the ng-click event on swipe? ;)

@corentin-gautier @maximelafarie - thanks for the efforts, appreciated.
Let me share with you the workaround I found working for me - I just added a
 tag in between <md-card> and its child  and ng-click has been added to the
 tag.
Here is the code snippet:
<kaarousel ng-show="sighting.gallery.length"
        ng-cloak
        displayed="options.displayed"
        per-slide="options.perSlide"
        autoplay="options.autoplay"
        animation="options.animation"
        direction="options.direction"
        pause-on-hover="options.pauseOnHover"
        center-active="options.centerActive"
        time-interval="options.timeInterval"
        stop-after-action="options.stopAfterAction"
        hide-nav="options.hideNav"
        hide-pager="options.hidePager"
        nav-on-hover="options.navOnHover"
        pager-on-hover="options.pagerOnHover"
        swipable="options.swipable"
        sync="options.sync"
        loop="options.loop"
        min-width="options.minWidth"
        expand="options.expand"
        always-fill="options.alwaysFill"
        transition-duration="options.transitionDuration"
        before-slide="options.beforeSlide"
        after-slide="options.afterSlide">
        <kaarousel-slide
            ng-repeat="image in sighting.gallery track by $index">
            <md-card>

                <md-card-actions layout="row" layout-align="space-between center">
                    <md-button ng-click='likeImage($index, $event)' ng-disabled='image.liked' class="md-icon-button" aria-label="Favorite">
                        <md-icon md-svg-icon="lib/materialicons/favorite.svg"></md-icon>
                    </md-button>
                    <md-badge>{{image.likes | abbreviation}}</md-badge>
                    <md-button class="md-icon-button" aria-label="Share" ng-click='shareImage($index, $event)'>
                        <md-icon md-svg-icon="lib/materialicons/share.svg"></md-icon>
                    </md-button>
                </md-card-actions>
            </md-card>
        </kaarousel-slide>
    </kaarousel>

Hope this helps you guys, cheers!
Angel

@angel1st yeah but that's a workaround, would be better if it worked without it :)
@maximelafarie Are you still working on this ?

@corentin-gautier - totally agree with you on this!

@corentin-gautier Yep I've dev something with an ng-class as you said above and I set this class depending on the swipe directive attribute value. I don't know if it's what you really want but it works. Anyway I need to do some more test. 😉


fix gitlab-ci-runner init.d script for debian

This commit addresses an issue with the gitlab-ci-runner init.d script on Debian based systems.
This script makes use of sudo which raise two problems on Debian:

by default sudo is not installed on Debian,
even if sudo is installed, root is not a sudoer by default on Debian

As a result the execute function from gitlab-ci-runner fails.
This commit replaces the following execute function from:
sudo -u $APP_USER -H bash -l -c "$1"

To
su $APP_USER -s /bin/bash -c "$1"

Signed-off-by: Remi BARRAQUAND<EMAIL_ADDRESS>Signed-off-by: Charles EYNARD<EMAIL_ADDRESS>

Would be better with -l option

This merge request has been closed because a request for more information has not been reacted to for more than 2 weeks. If you respond and conform to the merge request guidelines in our contributing guidelines we will reopen this merge request.


Improve plugin installation quality of life

In ImageJ2, reloading the classpath is no longer supported (see https://github.com/imagej/ij1-patcher/issues/31). This led to graying out of Refresh Menus, and causes Plugins > Install... and Plugins > Install Plugin... to pop vague WARNING: The PluginClassLoader cannot be reset errors. The following changes should be made to make installing plugins easier:

[x] Un-gray Help > Refresh Menus, but make it pop a dialog explaining that the command is no longer supported and the correct action is to close and restart ImageJ.

[x] Right now Plugins > Install... and Plugins > Install Plugin... basically just copy the plugin to the ImageJ.app/plugins directory and try to Refresh Menus, which then of course fails. Instead we should again pop a dialog instructing the user should restart ImageJ to complete the installation.

[ ] Furthermore, we should notify users that per the documentation only .ijm macros are added to menus, not .txt and thus macros should be renamed if needed.

[ ] Also, when running Install... you get to specify the file name for the copied plugin, but I was not able to save a .txt as a .ijm: it remained a .txt

[x] After running Install Plugin... the Install Plugin... command disappears. This may be due to attempting to refresh menus?

[ ] ImageJ2 still requires an underscore in the file name of plugins. This also should be clearly documented, or removed as a requirement.

[ ] Also test this with Plugins > Macro > Install... and Plugins > Compile and Run. Macro > Install... did not pop an error message, but also didn't seem to do anything (couldn't find a copied file, nothing in the menu).

[ ] All of this should be documented on the wiki as well.

I encountered the same WARNING: The PluginClassLoader cannot be reset error when trying to use the macro function eval("python", script). Fiji downloads the Jython.jar but then the macro fails with the error message. After restarting Fiji everything works fine.
Likely this will be fixed along with one of the listed problems.

Plugins > Install Plugin... is removed because Refresh Menus still goes through the delete duplicates process in ImageJ2 - the only portion that's being skipped is resetting the ClassLoader.
I believe the menu refresher finds a duplicate plugin because the Fiji PlugInInstaller clashes with the ImageJ PlugInInstaller.
This problem should be fixed in https://github.com/fiji/fiji-compat/commit/5eaa9ed13e0918d6ca18714707ba75286f3f4d03 with the addition of a post-refresh menus plugin.

https://github.com/imagej/ij1-patcher/commit/776bc7b5d73b228f15c324f7c6a1cc26def4d20a re-enables Refresh Menus and updates the error message to instruct users to restart ImageJ.

Plugins > Macro > Install... is working as intended. It puts a menu entry for the macro at the bottom of the Plugins > Macro > menu, and runs successfully.

Plugins > Compile and Run... is another command that's overridden in fiji-compat. It is not currently added back to the menu so after a refresh menus, the command reverts to the ImageJ 1.x command.
The Fiji version calls the obsolete Refresh_Javas, and of course the legacy ImageJ version fails because it can't reset the plugin classloader.
I think the best solution is to override (with a plugin that can survive refresh menus) and print a dialog instructing the user to instead install the plugin and restart imagej.

The previous fiji-compat fix already ensured Plugins > Compile and Run... would stay consistent with the Fiji version. So I just updated the fiji.Compile_and_Run to print a notice message instead of calling Refresh Javas.

See also this mailing list thread, which discusses the Macros ▶ Install Macros command of the ImageJ 1.x text editor.


Try making a .NET 5.0 port and test on Wine

Apparently .NET 5 works well on Wine, so we could try this.
I'm not going to get my hopes up that it won't continue to be an order of magnitude slower than Framework 4.7.2, but at least it should work much better on Linux.

WinForms still doesn't work worth a damn on Wine even though they claim ".NET 5" works perfectly, so back to the junk bin until MAUI comes out for yet another whirl at it


[bst-1] Pushing causes "Too many open files" (EMFILE)

See original issue on GitLab
In GitLab by [Gitlab user @valentindavid] on Aug 11, 2020, 14:37
Summary
On a builder for Freedesktop SDK we often have failures happening during push.
Note, most of the time there is nothing to push, the ref is already on all the servers. And the error happens.
The pushers number is default (should be 4). The fetchers number is reduced to 5.
Example of logs:

https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/680262924
https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/679162774

This is using BuildStream 1.4.3.
Steps to reproduce
What is the current bug behavior?
What is the expected correct behavior?
Relevant logs and/or screenshots
Possible fixes
Other relevant information

BuildStream version affected: /milestone %BuildStream_v1.x

In GitLab by [Gitlab user @valentindavid] on Sep 28, 2020, 10:42
mentioned in merge request freedesktop-sdk/infrastructure/freedesktop-sdk-docker-images!143

In GitLab by [Gitlab user @nanonyme] on Oct 7, 2020, 18:28
[Gitlab user @juergbi] explained to me on IRC the way bst1 uses FUSE results in large amounts of fd's used. The 1024 files open max that freedesktop-sdk has for x86_64/i686 is simply too little. bst2 may end up using less but regardless, this seems like a user error based on investigation.

In GitLab by [Gitlab user @nanonyme] on Oct 8, 2020, 22:21
It would probably be nice if bst1 issued warning if nofile hard limit is too low.

In GitLab by [Gitlab user @nanonyme] on Oct 14, 2020, 19:29
mentioned in merge request !2089

In GitLab by [Gitlab user @jjardon] on Oct 17, 2020, 19:55
Code related with this: https://gitlab.com/BuildStream/buildstream/-/blob/bst-1/buildstream/_frontend/app.py#L119

In GitLab by [Gitlab user @nanonyme] on Oct 29, 2020, 19:15
I just realized there's a lot of
E1029 21:13:52.490439806   43546 ev_epollex_linux.cc:516]    Error shutting down fd 48. errno: 9
being spammed for me when I run BuildStream locally. It's possible it's leaking fd's.

In GitLab by [Gitlab user @nanonyme] on Oct 29, 2020, 19:16
This is apparently happening inside grpc.

In GitLab by [Gitlab user @nanonyme] on Oct 29, 2020, 19:16
https://github.com/grpc/grpc/issues/19161

As I recall this is specific to bst-1 and the user must setup a system with a more reasonable fd limit for fuse.
Closing this as there is nothing we can realistically do from our side.