Issue with pip install

Hi,
I am having troubles using pip install. I already checked and I have all the prerequisites, but when I try to run
pip install l4casadi --no-build-isolation
I encounter the following error:
      An error occurred while building with CMake.
        Command:
          'C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\cmake\data\bin/cmake.exe' --build . --target install --config Release --
        Install target:
          install
        Source directory:
          C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-install-yifbqia9\l4casadi_98057dd6bd884a00bd724e3b3930b6b3
        Working directory:
          C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-install-yifbqia9\l4casadi_98057dd6bd884a00bd724e3b3930b6b3\_skbuild\win-amd64-3.12\cmake-build
      Please check the install target is valid and see CMake's output for more information.

I never used C++ or CMake. If anyone has any suggestion on what the problem might be I would be very thankful. Let me know if you need more information.
Thank you in advance,
Marcelo

Hi Marcelo,
It looks like you are using Windows!? Unfortunately, I do not have access to a Windows system, nor have I used Windows in the last decade. Thus neither L4CasADi nor its install procedure are tested or officially supported for Windows.
That being said, I do know people who successfully use it on Windows, so I know that, in theory, it should be possible.
Could you run pip install l4casadi --no-build-isolation -v and post the output here?
Thanks
Tim

Unfortunately that didn't work either.

This is expected as -v is for verbose and should print a more detailed output. Is this the full output you are getting? I would have expected more.
Also  can you check that C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\cmake\data\bin/cmake.exe exists and you can run C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\cmake\data\bin/cmake.exe --version. And let me know which cmake version you have.
Best
Tim

Hi Marcelo,
this is the actual problem: fatal error C1083: Cannot open include file: 'experimental/propagate_const': No such file or directory. Apparently, Microsoft has not added the propagate_const, which is defined in the C++ standard, to their compiler. Luckily, this propagate_const is not exactly necessary for L4CasADi to work. I just did a push to the git where it is removed.
Please try if you can install L4CasADi now. Note: You will have to install from source (e.g. clone/download the git and install via pip install . --no-build-isolation).
Best
Tim

Hi Tim,
I tried to install L4CasADi from source. It did not work yet. The error I got (and also the other commands I used) are the following. Thank you for your help and your patience.
(base) C:\Users\marce>conda activate testenv2

(testenv2) C:\Users\marce>git clone https://github.com/Tim-Salzmann/l4casadi.git
Cloning into 'l4casadi'...
remote: Enumerating objects: 491, done.
remote: Counting objects: 100% (111/111), done.
remote: Compressing objects: 100% (71/71), done.
remote: Total 491 (delta 51), reused 81 (delta 35), pack-reused 380Receiving objects:  98% (482/491), 25.55 MiB | 3.59 MiB/s
Receiving objects: 100% (491/491), 27.09 MiB | 2.84 MiB/s, done.
Resolving deltas: 100% (229/229), done.

(testenv2) C:\Users\marce>cd C:\Users\marce\l4casadi

(testenv2) C:\Users\marce\l4casadi>pip install -r requirements_build.txt
Requirement already satisfied: setuptools>=68.1 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from -r requirements_build.txt (line 1)) (68.2.2)
Requirement already satisfied: scikit-build>=0.17 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from -r requirements_build.txt (line 2)) (0.17.6)
Requirement already satisfied: cmake>=3.27 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from -r requirements_build.txt (line 3)) (3.28.3)
Requirement already satisfied: ninja>=1.11 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from -r requirements_build.txt (line 4)) (<IP_ADDRESS>)
Requirement already satisfied: distro in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from scikit-build>=0.17->-r requirements_build.txt (line 2)) (1.9.0)
Requirement already satisfied: packaging in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from scikit-build>=0.17->-r requirements_build.txt (line 2)) (23.2)
Requirement already satisfied: wheel>=0.32.0 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from scikit-build>=0.17->-r requirements_build.txt (line 2)) (0.41.2)

(testenv2) C:\Users\marce\l4casadi>pip install . --no-build-isolation -v
Using pip 23.3.1 from C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\pip (python 3.12)
Processing c:\users\marce\l4casadi
  Running command Preparing metadata (pyproject.toml)
  running dist_info
  creating C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info
  writing C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info\PKG-INFO
  writing dependency_links to C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info\dependency_links.txt
  writing requirements to C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info\requires.txt
  writing top-level names to C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info\top_level.txt
  writing manifest file 'C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info\SOURCES.txt'
  reading manifest file 'C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info\SOURCES.txt'
  adding license file 'LICENSE'
  writing manifest file 'C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi.egg-info\SOURCES.txt'
  creating 'C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-modern-metadata-uwfnaek5\l4casadi-1.3.0.dist-info'
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: torch in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from l4casadi==1.3.0) (2.2.0)
Requirement already satisfied: casadi>=3.6 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from l4casadi==1.3.0) (3.6.4)
Requirement already satisfied: jinja2>=3.1 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from l4casadi==1.3.0) (3.1.3)
Requirement already satisfied: numpy in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from casadi>=3.6->l4casadi==1.3.0) (1.26.4)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from jinja2>=3.1->l4casadi==1.3.0) (2.1.5)
Requirement already satisfied: filelock in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (3.13.1)
Requirement already satisfied: typing-extensions>=4.8.0 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (4.9.0)
Requirement already satisfied: sympy in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (1.12)
Requirement already satisfied: networkx in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (3.2.1)
Requirement already satisfied: fsspec in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (2024.2.0)
Requirement already satisfied: mpmath>=0.19 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from sympy->torch->l4casadi==1.3.0) (1.3.0)
Building wheels for collected packages: l4casadi
  Running command Building wheel for l4casadi (pyproject.toml)

  --------------------------------------------------------------------------------
  -- Trying 'Ninja (Visual Studio 17 2022 x64 v143)' generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.

  -- The C compiler identification is MSVC 19.39.33520.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is MSVC 19.39.33520.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done (1.6s)
  -- Generating done (0.0s)
  -- Build files have been written to: C:/Users/marce/l4casadi/_cmake_test_compile/build
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying 'Ninja (Visual Studio 17 2022 x64 v143)' generator - success
  --------------------------------------------------------------------------------

  Configuring Project
    Working directory:
      C:\Users\marce\l4casadi\_skbuild\win-amd64-3.12\cmake-build
    Command:
      'C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\cmake\data\bin/cmake.exe' 'C:\Users\marce\l4casadi\libl4casadi' -G Ninja '-DCMAKE_MAKE_PROGRAM:FILEPATH=C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\ninja\data\bin\ninja' -D_SKBUILD_FORCE_MSVC=1930 --no-warn-unused-cli '-DCMAKE_INSTALL_PREFIX:PATH=C:\Users\marce\l4casadi\_skbuild\win-amd64-3.12\cmake-install' -DPYTHON_VERSION_STRING:STRING=3.12.1 -DSKBUILD:INTERNAL=TRUE '-DCMAKE_MODULE_PATH:PATH=C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\skbuild\resources\cmake' '-DPYTHON_EXECUTABLE:PATH=C:\Users\marce\miniconda3\envs\testenv2\python.exe' '-DPYTHON_INCLUDE_DIR:PATH=C:\Users\marce\miniconda3\envs\testenv2\Include' '-DPYTHON_LIBRARY:PATH=C:\Users\marce\miniconda3\envs\testenv2\libs\python312.lib' '-DPython_EXECUTABLE:PATH=C:\Users\marce\miniconda3\envs\testenv2\python.exe' '-DPython_ROOT_DIR:PATH=C:\Users\marce\miniconda3\envs\testenv2' -DPython_FIND_REGISTRY:STRING=NEVER '-DPython_INCLUDE_DIR:PATH=C:\Users\marce\miniconda3\envs\testenv2\Include' '-DPython_LIBRARY:PATH=C:\Users\marce\miniconda3\envs\testenv2\libs\python312.lib' '-DPython_NumPy_INCLUDE_DIRS:PATH=C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\numpy\core\include' '-DPython3_EXECUTABLE:PATH=C:\Users\marce\miniconda3\envs\testenv2\python.exe' '-DPython3_ROOT_DIR:PATH=C:\Users\marce\miniconda3\envs\testenv2' -DPython3_FIND_REGISTRY:STRING=NEVER '-DPython3_INCLUDE_DIR:PATH=C:\Users\marce\miniconda3\envs\testenv2\Include' '-DPython3_LIBRARY:PATH=C:\Users\marce\miniconda3\envs\testenv2\libs\python312.lib' '-DPython3_NumPy_INCLUDE_DIRS:PATH=C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\numpy\core\include' '-DCMAKE_MAKE_PROGRAM:FILEPATH=C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\ninja\data\bin\ninja' '-DCMAKE_TORCH_PATH=C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch' -DCMAKE_BUILD_TYPE:STRING=Release

  Not searching for unused variables given on the command line.
  CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
    Compatibility with CMake < 3.5 will be removed from a future version of
    CMake.

    Update the VERSION argument <min> value or use a ...<max> suffix to tell
    CMake that the project does not need compatibility with older versions.

  -- The C compiler identification is MSVC 19.39.33520.0
  -- The CXX compiler identification is MSVC 19.39.33520.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found Torch: C:/Users/marce/miniconda3/envs/testenv2/Lib/site-packages/torch/lib/torch.lib
  -- Configuring done (1.8s)
  -- Generating done (0.0s)
  -- Build files have been written to: C:/Users/marce/l4casadi/_skbuild/win-amd64-3.12/cmake-build
  [1/3] Building CXX object CMakeFiles\l4casadi.dir\src\l4casadi.cpp.obj
  FAILED: CMakeFiles/l4casadi.dir/src/l4casadi.cpp.obj
  C:\PROGRA~1\MICROS~4\2022\COMMUN~1\VC\Tools\MSVC\1439~1.335\bin\Hostx86\x64\cl.exe  /nologo /TP -DUSE_C10D_GLOO -DUSE_DISTRIBUTED -Dl4casadi_EXPORTS -IC:\Users\marce\l4casadi\libl4casadi\include -external:IC:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include -external:IC:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch\csrc\api\include -external:W0 /DWIN32 /D_WINDOWS /W3 /GR /EHsc  /MD /O2 /Ob2 /DNDEBUG -std:c++17 /EHsc /bigobj /showIncludes /FoCMakeFiles\l4casadi.dir\src\l4casadi.cpp.obj /FdCMakeFiles\l4casadi.dir\ /FS -c C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): error C2665: 'torch::jit::load': no overloaded function could convert all the argument types
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(113): note: could be 'torch::jit::Module torch::jit::load(std::shared_ptr<caffe2::serialize::ReadAdapterInterface>,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): note: 'torch::jit::Module torch::jit::load(std::shared_ptr<caffe2::serialize::ReadAdapterInterface>,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'std::shared_ptr<caffe2::serialize::ReadAdapterInterface>'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(97): note: or       'torch::jit::Module torch::jit::load(const std::string &,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): note: 'torch::jit::Module torch::jit::load(const std::string &,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'const std::string &'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): note: Reason: cannot convert from 'std::filesystem::path' to 'const std::string'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(81): note: or       'torch::jit::Module torch::jit::load(std::istream &,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): note: 'torch::jit::Module torch::jit::load(std::istream &,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'std::istream &'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(80): note: while trying to match the argument list '(std::filesystem::path)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): error C2665: 'torch::jit::load': no overloaded function could convert all the argument types
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(113): note: could be 'torch::jit::Module torch::jit::load(std::shared_ptr<caffe2::serialize::ReadAdapterInterface>,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): note: 'torch::jit::Module torch::jit::load(std::shared_ptr<caffe2::serialize::ReadAdapterInterface>,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'std::shared_ptr<caffe2::serialize::ReadAdapterInterface>'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(97): note: or       'torch::jit::Module torch::jit::load(const std::string &,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): note: 'torch::jit::Module torch::jit::load(const std::string &,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'const std::string &'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): note: Reason: cannot convert from 'std::filesystem::path' to 'const std::string'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(81): note: or       'torch::jit::Module torch::jit::load(std::istream &,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): note: 'torch::jit::Module torch::jit::load(std::istream &,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'std::istream &'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(87): note: while trying to match the argument list '(std::filesystem::path)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): error C2665: 'torch::jit::load': no overloaded function could convert all the argument types
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(113): note: could be 'torch::jit::Module torch::jit::load(std::shared_ptr<caffe2::serialize::ReadAdapterInterface>,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): note: 'torch::jit::Module torch::jit::load(std::shared_ptr<caffe2::serialize::ReadAdapterInterface>,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'std::shared_ptr<caffe2::serialize::ReadAdapterInterface>'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(97): note: or       'torch::jit::Module torch::jit::load(const std::string &,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): note: 'torch::jit::Module torch::jit::load(const std::string &,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'const std::string &'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): note: Reason: cannot convert from 'std::filesystem::path' to 'const std::string'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
  C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\torch\include\torch/csrc/jit/serialization/import.h(81): note: or       'torch::jit::Module torch::jit::load(std::istream &,std::optional<c10::Device>,bool)'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): note: 'torch::jit::Module torch::jit::load(std::istream &,std::optional<c10::Device>,bool)': cannot convert argument 1 from 'std::filesystem::path' to 'std::istream &'
  C:\Users\marce\l4casadi\libl4casadi\src\l4casadi.cpp(95): note: while trying to match the argument list '(std::filesystem::path)'
  ninja: build stopped: subcommand failed.
  Traceback (most recent call last):
    File "C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\skbuild\setuptools_wrap.py", line 674, in setup
      cmkr.make(make_args, install_target=cmake_install_target, env=env)
    File "C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\skbuild\cmaker.py", line 697, in make
      self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
    File "C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\skbuild\cmaker.py", line 742, in make_impl
      raise SKBuildError(msg)

  An error occurred while building with CMake.
    Command:
      'C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\cmake\data\bin/cmake.exe' --build . --target install --config Release --
    Install target:
      install
    Source directory:
      C:\Users\marce\l4casadi
    Working directory:
      C:\Users\marce\l4casadi\_skbuild\win-amd64-3.12\cmake-build
  Please check the install target is valid and see CMake's output for more information.

  error: subprocess-exited-with-error

  × Building wheel for l4casadi (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: 'C:\Users\marce\miniconda3\envs\testenv2\python.exe' 'C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py' build_wheel 'C:\Users\Public\Documents\Wondershare\CreatorTemp\tmp9ixo7c6y'
  cwd: C:\Users\marce\l4casadi
  Building wheel for l4casadi (pyproject.toml) ... error
  ERROR: Failed building wheel for l4casadi
Failed to build l4casadi
ERROR: Could not build wheels for l4casadi, which is required to install pyproject.toml-based projects

Maybe this is not necessary, but here is a list of all the packages I downloaded to my env.
# packages in environment at C:\Users\marce\miniconda3\envs\testenv2:
#
# Name                    Version                   Build  Channel
asttokens                 2.4.1              pyhd8ed1ab_0    conda-forge
bzip2                     1.0.8                he774522_0
ca-certificates           2024.2.2             h56e8100_0    conda-forge
casadi                    3.6.4                    pypi_0    pypi
cmake                     3.28.3                   pypi_0    pypi
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
comm                      0.2.1              pyhd8ed1ab_0    conda-forge
contourpy                 1.2.0                    pypi_0    pypi
cycler                    0.12.1                   pypi_0    pypi
debugpy                   1.6.7           py312hd77b12b_0
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
distro                    1.9.0                    pypi_0    pypi
exceptiongroup            1.2.0              pyhd8ed1ab_2    conda-forge
executing                 2.0.1              pyhd8ed1ab_0    conda-forge
expat                     2.5.0                hd77b12b_0
filelock                  3.13.1                   pypi_0    pypi
fonttools                 4.49.0                   pypi_0    pypi
fsspec                    2024.2.0                 pypi_0    pypi
gekko                     1.0.6                    pypi_0    pypi
importlib-metadata        7.0.1              pyha770c72_0    conda-forge
importlib_metadata        7.0.1                hd8ed1ab_0    conda-forge
ipykernel                 6.29.2             pyha63f2e9_0    conda-forge
ipython                   8.22.0             pyh7428d3b_0    conda-forge
jedi                      0.19.1             pyhd8ed1ab_0    conda-forge
jinja2                    3.1.3                    pypi_0    pypi
joblib                    1.3.2                    pypi_0    pypi
jupyter_client            8.6.0              pyhd8ed1ab_0    conda-forge
jupyter_core              5.5.0           py312haa95532_0
kiwisolver                1.4.5                    pypi_0    pypi
libffi                    3.4.4                hd77b12b_0
libsodium                 1.0.18               h8d14728_1    conda-forge
markupsafe                2.1.5                    pypi_0    pypi
matplotlib                3.8.3                    pypi_0    pypi
matplotlib-inline         0.1.6              pyhd8ed1ab_0    conda-forge
mpmath                    1.3.0                    pypi_0    pypi
nest-asyncio              1.6.0              pyhd8ed1ab_0    conda-forge
networkx                  3.2.1                    pypi_0    pypi
ninja                     <IP_ADDRESS>                 pypi_0    pypi
ninja-base                1.10.2               h6d14046_5
numpy                     1.26.4                   pypi_0    pypi
openssl                   3.0.13               h2bbff1b_0
packaging                 23.2               pyhd8ed1ab_0    conda-forge
parso                     0.8.3              pyhd8ed1ab_0    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    10.2.0                   pypi_0    pypi
pip                       23.3.1          py312haa95532_0
platformdirs              4.2.0              pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.42             pyha770c72_0    conda-forge
psutil                    5.9.0           py312h2bbff1b_0
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
pygments                  2.17.2             pyhd8ed1ab_0    conda-forge
pyparsing                 3.1.1                    pypi_0    pypi
python                    3.12.1               h1d929f7_0
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
pywin32                   305             py312h2bbff1b_0
pyzmq                     25.1.2          py312hd77b12b_0
scikit-build              0.17.6                   pypi_0    pypi
scikit-learn              1.4.1.post1              pypi_0    pypi
scipy                     1.12.0                   pypi_0    pypi
setuptools                68.2.2          py312haa95532_0
six                       1.16.0             pyh6c4a22f_0    conda-forge
sqlite                    3.41.2               h2bbff1b_0
stack_data                0.6.2              pyhd8ed1ab_0    conda-forge
sympy                     1.12                     pypi_0    pypi
threadpoolctl             3.3.0                    pypi_0    pypi
tk                        8.6.12               h2bbff1b_0
torch                     2.2.0                    pypi_0    pypi
tornado                   6.3.3           py312h2bbff1b_0
traitlets                 5.14.1             pyhd8ed1ab_0    conda-forge
typing_extensions         4.9.0              pyha770c72_0    conda-forge
tzdata                    2023d                h04d1e81_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wcwidth                   0.2.13             pyhd8ed1ab_0    conda-forge
wheel                     0.41.2          py312haa95532_0
xz                        5.4.5                h8cc25b3_0
zeromq                    4.3.5                hd77b12b_0
zipp                      3.17.0             pyhd8ed1ab_0    conda-forge
zlib                      1.2.13               h8cc25b3_0

If you need any more information, please let me know.
Best,
Marcelo

Pushed another fix for this. Please try again after pulling the latest commit.

Hi Tim,
the installation worked now.
(testenv2) C:\Users\marce\l4casadi>pip install . --no-build-isolation
Processing c:\users\marce\l4casadi
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: torch in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from l4casadi==1.3.0) (2.2.0)
Requirement already satisfied: casadi>=3.6 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from l4casadi==1.3.0) (3.6.4)
Requirement already satisfied: jinja2>=3.1 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from l4casadi==1.3.0) (3.1.3)
Requirement already satisfied: numpy in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from casadi>=3.6->l4casadi==1.3.0) (1.26.4)
Requirement already satisfied: MarkupSafe>=2.0 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from jinja2>=3.1->l4casadi==1.3.0) (2.1.5)
Requirement already satisfied: filelock in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (3.13.1)
Requirement already satisfied: typing-extensions>=4.8.0 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (4.9.0)
Requirement already satisfied: sympy in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (1.12)
Requirement already satisfied: networkx in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (3.2.1)
Requirement already satisfied: fsspec in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from torch->l4casadi==1.3.0) (2024.2.0)
Requirement already satisfied: mpmath>=0.19 in c:\users\marce\miniconda3\envs\testenv2\lib\site-packages (from sympy->torch->l4casadi==1.3.0) (1.3.0)
Building wheels for collected packages: l4casadi
  Building wheel for l4casadi (pyproject.toml) ... done
  Created wheel for l4casadi: filename=l4casadi-1.3.0-cp312-cp312-win_amd64.whl size=19229 sha256=41ea0a8a691852addb7db731c5cf1221d2759ccadf8c296e90ea72e5aaf0bdd3
  Stored in directory: C:\Users\Public\Documents\Wondershare\CreatorTemp\pip-ephem-wheel-cache-8gsgb_0r\wheels\cc\0e\6c\d05ea8d1679563ec89636bac7fdf55e70b8aa18fe45b61b551
Successfully built l4casadi
Installing collected packages: l4casadi
Successfully installed l4casadi-1.3.0

But then I tried to run the simple_nlp.py I got the following error.
PS C:\Users\marce> & C:/Users/marce/miniconda3/envs/testenv2/python.exe c:/Users/marce/l4casadi/examples/simple_nlp.py
Traceback (most recent call last):
  File "c:\Users\marce\l4casadi\examples\simple_nlp.py", line 4, in <module>
    import l4casadi as l4c
  File "C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\l4casadi\__init__.py", line 15, in <module>
    ctypes.CDLL(str(lib_path), mode=ctypes.RTLD_GLOBAL)
  File "C:\Users\marce\miniconda3\envs\testenv2\Lib\ctypes\__init__.py", line 379, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: Could not find module 'C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\l4casadi\lib\libl4casadi.so' (or one of its dependencies). Try using the full path with constructor syntax

I checked the folder C:\Users\marce\miniconda3\envs\testenv2\Lib\site-packages\l4casadi and couldn't find the lib folder or the lib4casadi.so file.
Best,
Marcelo

Hi Marcelo,
please do a a fresh install after you pulled the latest changes. Please also verify that the lib folder is there now and l4casadi.dllis in the folder.

Hi Tim,
I pulled the last changes, reinstalled and unfortunately the lib folder is not there.

Can you make sure that the dll is built in the first place under ´/l4casadi/lib/l4casadi.dll. This will only be there after building installing via pip install .  --no-build-isolation`

After installing via pip install .  --no-build-isolation, inside the lib folder the only file is l4casadi.lib

Hi Marcelo,
Windows seems to handel shared libraries different than Mac and Linux so I have to admit I am not exactly sure what is going on. Nevertheless, I made some changes. Could you try again and see what files are being built now?

Hi Tim,
Thank you for the continued support on the matter.
I am still getting the FileNotFoundError from before. I will attach a screenshot of the files built in the env.

Best,
Marcelo

Could you check whoch files where generated in <git code folder>/l4casadi/lib/ during the install/build?

This files were generated

Hi, I also have the same issue on windows where \lib\libl4casadi.dll is not found.

Hi,
Sorry for the late reply. Unfortunately, I do not have time to look into this properly. I will try to see if I can make it work next weekend. But I do not have much hope to be honest.

Hi,
I gave this another try, unfortunately, without success. I would assume that someone with experience in Windows C/C++ development could make this work.
I will close this issue for now, as I do not see a straightforward path to get this to work on Windows.
If anyone can get it to work, I would be happy to review and accept a PR.


TypeScript: Stripe Elements create() parameter ambiguity

Summary
As discussed with InternetJones on IRC (thanks again), I'm having trouble writing a wrapper function over StripeElements.create due to a TypeScript error.
Environment

TypeScript 4.1.3
@stripe/stripe-js 1.11.0

Context
I'm creating a Vue component to wrap over Stripe Elements. The existing libraries either have unsatisfactory TypeScript support, aren't properly maintained or seem inconvenient to use. So what I'm doing is creating a base component for Stripe elements (StripeElement) that I can use in specific components (StripeCardElement).
This component has a bootstrap function called before mounting it to the DOM:
beforeMount(): void {
    // this.$stripe is a global reference to the Stripe instance
    this.elements = this.$stripe.elements( this.globalOptions );
    this.element = this.create( this.type, this.options );
}

To initialize Stripe, this component calls StripeElements.create with the child-specific type:
import Stripe from '@stripe/stripe-js';
// ...
create( elementType: Stripe.StripeElementType, options: Object ): Stripe.StripeElement {
    return this.elements.create(
        elementType,
        options,
    );
}

The elementType parameter is causing problems for TypeScript, though:
ERROR in src/components/Stripe/StripeElement.vue:80:9                                                                                11:36:54
TS2769: No overload matches this call.
  The last overload gave the following error.
    Argument of type 'StripeElementType' is not assignable to parameter of type '"paymentRequestButton"'.
      Type '"auBankAccount"' is not assignable to type '"paymentRequestButton"'.
    78 | create( elementType: Stripe.StripeElementType, options: Object ): Stripe.StripeElement {
    79 |     return this.elements.create(
  > 80 |         elementType,
       |         ^^^^^^^^^^^
    81 |         options,
    82 |     );
    83 | },

Replacing the explicit type with string does not solve the problem, neither does explicitly casting the return type.
Reproduction samples:
import { Stripe, StripeElementType } from "@stripe/stripe-js";

// Using a string type
export function foo (stripe: Stripe, type: string) {
    stripe.elements().create(type, {});
}

// Using an explicit type
export function bar (stripe: Stripe, type: StripeElementType) {
    stripe.elements().create(type, {});
}

Both fail with:
TS2769: No overload matches this call.
  The last overload gave the following error.
    Argument of type 'string' is not assignable to parameter of type '"paymentRequestButton"'.
      Type '"auBankAccount"' is not assignable to type '"paymentRequestButton"'.
    2 |
    3 | export function reproduction (stripe: Stripe, type: string) {
  > 4 |     stripe.elements().create(type, {});
      |                              ^^^^
    5 | }

I think this may be due to the typing of options: Object in the first line here:
create( elementType: Stripe.StripeElementType, options: Object ): Stripe.StripeElement {
    return this.elements.create(
        elementType,
        options,
    );
}

The elements.create call is overloaded with narrow types for the options object, depending on what the elementType is.  So my guess is that TypeScript can't choose which signature for elements.create to use, since options could be anything.
It might work to type your wrapper create method as the type typeof StripeElements['create'].

I think this may be due to the typing of options: Object in the first line here:
create( elementType: Stripe.StripeElementType, options: Object ): Stripe.StripeElement {
    return this.elements.create(
        elementType,
        options,
    );
}

The elements.create call is overloaded with narrow types for the options object, depending on what the elementType is.  So my guess is that TypeScript can't choose which signature for elements.create to use, since options could be anything.
It might work to type your wrapper create method as the type typeof StripeElements['create'].

That makes sense, although I cannot meaningfully fix it this way in our implementation... I resorted to this:
create( elementType: Stripe.StripeElementType, options: Object ): Stripe.StripeElement {
    return this.elements.create(
        elementType as any,
        options,
    );
}

Not beautiful, but it works. I thought a while about a possible fix to the types to mitigate this, but I didn't come up with anything useful, so I guess we can close this issue :)

That makes sense, although I cannot meaningfully fix it this way in our implementation... I resorted to this:
create( elementType: Stripe.StripeElementType, options: Object ): Stripe.StripeElement {
    return this.elements.create(
        elementType as any,
        options,
    );
}

Not beautiful, but it works. I thought a while about a possible fix to the types to mitigate this, but I didn't come up with anything useful, so I guess we can close this issue :)

Also struggled with this while porting vue-stripe-js to typescript. Some element options are required, others are optional. Tried multiple overloads, combination StripeElements, StripeElementType, StripeElementType causes no overload match.
But I wanted to keep typings for elementType, ended up creating custom type for StripeElements
type StripeElementsWithoutOverload = {
  create: (
    type: StripeElementType,
    options?: StripeElementOptions
  ) => StripeElement
}

export const createElement = (
  elements: StripeElementsWithoutOverload,
  elementType: StripeElementType,
  options?: StripeElementOptions // alias type, collected all element types from '@stripe/stripe-js'
) => {
  // ...
  const element = elements.create(elementType, options)
  return element
}


Don't allow averages per month multiple digits after decimal point

It is possible https://openpyxl.readthedocs.io/en/stable/styles.html shows that openpyxl has the functionality to format the cells in excel


SPIIRE 1.9.1 is out; we need helm charts update

Hey @abhishek44sharma is this one done?

No @v0lkan, last time I had upgraded to 1.9.0.
Will close it today.

But I can see 23.3 points to 1.9.1. So yes we can close this issue.

Closing then :).


Deprecate setting 'disable-replica-rebuild' and merge it into the new setting

longhorn/longhorn#2460

@shuo-wu Please backport to 1.2.x. Thanks.


proposal: can go command provide an internal http server?

In particular, those are scripting languages, and python works by loading the http.server module which does things when loaded directly from the command line.
There also doesn't seem to be a good reason why the go command should have a builtin fileserver.


--no-sync-async option is not applied to compile_to_kernel test step

--no-sync-async option specified in dart test source is not honored by test framework for vm_compile_to_kernel step - it is only applied to dart vm invocation:
FAILED: dartk-vm release_simdbc64 service/async_generator_breakpoint_test
Expected: Pass RuntimeError
Actual: Crash
--- Command "vm_compile_to_kernel" (took 02.000329s):
DART_CONFIGURATION=ReleaseSIMDBC64 DART_VM_FLAGS=--limit-ints-to-64-bits /b/s/w/ir/pkg/vm/tool/gen_kernel --no-aot --strong-mode --sync-async --platform=out/ReleaseSIMDBC64/vm_platform_strong.dill -o /b/s/w/ir/out/ReleaseSIMDBC64/generated_compilations/dartk-strong/runtime_observatory_tests_service_async_generator_breakpoint_test.dart_1/out.dill /b/s/w/ir/runtime/observatory/tests/service/async_generator_breakpoint_test.dart
exit code:
0
stdout:
runtime/observatory/lib/sample_profile.dart:10:1: Nit: Import of 'Zone' (from 'package:observatory/service.dart') hides import from 'dart:async'.
import 'package:observatory/service.dart';
^
runtime/observatory/lib/service_common.dart:13:1: Nit: Import of 'Zone' (from 'package:observatory/service.dart') hides import from 'dart:async'.
import 'package:observatory/service.dart';
^
runtime/observatory/lib/service_io.dart:12:1: Nit: Import of 'Zone' (from 'package:observatory/service.dart') hides import from 'dart:async'.
import 'package:observatory/service_common.dart';
^
runtime/observatory/lib/service_io.dart:12:1: Nit: Import of 'Socket' (from 'package:observatory/service.dart') hides import from 'dart:io'.
import 'package:observatory/service_common.dart';
^
runtime/observatory/tests/service/async_generator_breakpoint_test.dart:8:1: Nit: Import of 'Zone' (from 'package:observatory/service.dart') hides import from 'dart:async'.
import 'package:observatory/service_io.dart';
^
runtime/observatory/tests/service/service_test_common.dart:10:1: Nit: Import of 'Zone' (from 'package:observatory/service.dart') hides import from 'dart:async'.
import 'package:observatory/service_common.dart';
^
runtime/observatory/tests/service/test_helper.dart:10:1: Nit: Import of 'Zone' (from 'package:observatory/service.dart') hides import from 'dart:async'.
import 'package:observatory/service_io.dart';
^
runtime/observatory/tests/service/test_helper.dart:10:1: Nit: Import of 'Socket' (from 'package:observatory/service.dart') hides import from 'dart:io'.
import 'package:observatory/service_io.dart';
^
--- Command "vm" (took 608ms):
DART_CONFIGURATION=ReleaseSIMDBC64 out/ReleaseSIMDBC64/dart --preview-dart-2 --error_on_bad_type --error_on_bad_override --verbose-debug --stacktrace-every=55 --stress-async-stacks --no-sync-async --ignore-unrecognized-flags --packages=/b/s/w/ir/.packages /b/s/w/ir/out/ReleaseSIMDBC64/generated_compilations/dartk-strong/runtime_observatory_tests_service_async_generator_breakpoint_test.dart_1/out.dill
exit code:
-6
stderr:
===== CRASH =====

cc @a-siva

Is --no-sync-async still supported?

No.


AzContext consistency

Some samples get the context using Select-AzSubscription. Others use Get-AzContext.
Does it matter? The inconsistency is confusing.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 42cfca50-2141-d684-cbc1-86fe39f57df6
Version Independent ID: 38879f45-d225-1fab-86ba-75bed87d7afd
Content: Manage runbooks in Azure Automation
Content Source: articles/automation/manage-runbooks.md
Service: automation
Sub-service: process-automation
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@jtuliani Thank you for your query, we will look into it and get back to you at the earliest.

@jtuliani  Apologies for the delayed response on this,  Select-AzSubscription acts a alias for Get-AzContext. Further assigning this to our document author @MGoedtel to take a look and see if a document update is needed.
Please see additional documentation regarding Context Persistence
and
Get-AzContext

@jtuliani - I see what you are taking about, specifically with the section Work with multiple subscriptions and the details supporting that section don't appear to be accurate (e.g. - the runbook uses the AzContext parameter.  This is wrong, its using the Get-AzContext cmdlet and assigning the results to $context variable.).  I'm bugging this and will see if I can fix in this sprint or will have to defer to the next sprint.  #please-close


consolidating sanitizers and adding MSAN option on platforms that sup…

reopening as a continuation of https://github.com/godotengine/godot/pull/43946
So msan probably will never be supported on OSX :(   But leak sanitizer is, so I added that option for osx.
I'd still like to test an msan instrumented build on linux, so I've just kept the option on for that platform.  To use this correctly, note you have to build libc++ with instrumentation as well:  https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo
If this option is ever utilized in godot CI, building a libcxx with the correct instrumentation will be required.

Why close it? I think this could still be relevant (cc @qarmin).

Why close it? I think this could still be relevant (cc @qarmin).

It is still relevant  but I closed it because it's been 3 months, and at this point it's just clutter in the godot PR backlog.   It's a trivial PR, which cleans up sanitizer flags per platform.  We also use to enable msan for our 3.2 server builds.

@akien-mga I suppose but the PR is trivial and there's 2 people that looked at it so I assumed not interested.  It's an easy rebase for me to maintain so I guess I didn't feel like nagging on this one.  I'll re-open I suppose, but if/when meson switch happens this PR be mute point.  I feel like cleaning out the PR clutter is better as it give more visibility to other PRs as only a finite set of resources to review other PRs.

Two people set labels, which is the normal process of bug and issue triage, that doesn't mean that they reviewed it or are/felt competent to do so. It was made on a Sunday so I was hopefully not working, and I was likely swarmed with other issues and PRs on Monday (usually ~200 notifications if I don't actually work over the weekend) so yes, I might have skipped this one instead of giving it a review. We're humans and there's only so much we can do :)
That being said, I've reviewed now and it seems good to me, just needs a rebase to solve the merge conflict.

Could you squash the two commits?

squashed

Thanks!

Cherry-picked for 3.2.4.


Wagtail InlinePanel subpanels don't honor "collapsible collapsed"

Issue Summary
When overriding the wagtail.admin.panels.InlinePanel class's child_edit_handler property; the returned MultiFieldPanel does not honor the collapsed class in the templates. I'd like to be able to individually collapse the subpanels of the InlinePanel; this provides a better overview while not taking up too much screenspace.
Steps to Reproduce

Override the panel class like so:

class InlineOfficeHoursPanel(InlinePanel):
    def __init__(self, *args, **kwargs):
        kwargs["min_num"] = 7
        kwargs["max_num"] = 7
        super().__init__(*args, **kwargs)

    @cached_property
    def child_edit_handler(self):
        panels = self.panel_definitions
        child_edit_handler = MultiFieldPanel(panels, heading=self.heading, classname="collapsible collapsed")
        return child_edit_handler.bind_to_model(self.db_field.related_model)

    class BoundPanel(InlinePanel.BoundPanel):
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            for index, child in enumerate(self.children):
                child: MultiFieldPanel.BoundPanel

                print(child.classname) # does print "collapsible collapsed".

                ....

Define the panel on any model with a relationship suited for InlinePanel.
Go to the wagtailadmin and look at the panel.

Expected result:

Actual results:

Any other relevant information.
Though this might not be the conventional way of customising wagtail; it is and remains a Panel. The expectation would be for this to work. Though I don't know how complex logic for this would be; I suspect it would be just as easy as with the heading attribute.
Going through the components/InlinePanel.ts makes me think more attributes are not supported; but I don't know Typescript all too well; and don't understand the intricacies of how panels are set up all too well.

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes

Technical details

Wagtail version: 5.1.3

@Nigel2392 let me try to reproduce this

@Nigel2392 let me try to reproduce this

Here's my full code snippet, save you some time.
from django.db import models
from django.utils.translation import gettext_lazy as _
from django.utils.functional import cached_property

from wagtail.contrib.settings.models import BaseSiteSetting, register_setting
from wagtail.admin.panels import (
    FieldPanel,
    InlinePanel,
    FieldRowPanel,
    MultiFieldPanel,
    TabbedInterface,
    ObjectList,
)

from modelcluster.models import ClusterableModel
from django.forms.formsets import BaseFormSet

from django.db import models
from django.utils import timezone
from django.utils.translation import gettext_lazy as _

from wagtail.admin.panels import (
    FieldPanel,
    FieldRowPanel,
)

from wagtail.models import Orderable
from modelcluster.fields import ParentalKey

class OfficeHours(Orderable):
    class WeekDays(models.TextChoices):
        MONDAY    = "1", _("Monday")
        TUESDAY   = "2", _("Tuesday")
        WEDNESDAY = "3", _("Wednesday")
        THURSDAY  = "4", _("Thursday")
        FRIDAY    = "5", _("Friday")
        SATURDAY  = "6", _("Saturday")
        SUNDAY    = "7", _("Sunday")

    office = ParentalKey(
        "Office",
        verbose_name=_("Office"),
        on_delete=models.CASCADE,
        related_name="hours",
    )

    day    = models.CharField(
        max_length=1,
        verbose_name=_("Day of Week"),
        help_text=_("Day of the week this time applies to."),
        choices=WeekDays.choices,
        unique=True,
        blank=False,
        null=False,
    )
    open   = models.TimeField(
        verbose_name=_("Open Time"),
        help_text=_("Time the office opens."),
        blank=True,
        null=True,
    )
    close  = models.TimeField(
        verbose_name=_("Close Time"),
        help_text=_("Time the office closes."),
        blank=True,
        null=True,
    )
    closed = models.BooleanField(
        verbose_name=_("Closed"),
        help_text=_("Is the office closed on this day?"),
        default=False,
    )

    panels = [
        FieldRowPanel([
            FieldPanel("day"),
            FieldPanel("closed"),
        ]),
        FieldRowPanel([
            FieldPanel("open"),
            FieldPanel("close"),
        ]),
    ]

    class Meta:
        verbose_name = _("Office Hours")
        verbose_name_plural = _("Office Hours")
        ordering = ["day"]
        constraints = [
            # If closed is true, open and close should be null
            # If not closed and open is specified, close should also be specified and vice versa
            # Else they should both be null
            models.CheckConstraint(
                check=(
                    models.Q(closed=True) & models.Q(open__isnull=True) & models.Q(close__isnull=True)
                ) | (
                    models.Q(closed=False) & models.Q(open__isnull=False) & models.Q(close__isnull=False)
                ) | (
                    models.Q(closed=False) & models.Q(open__isnull=True) & models.Q(close__isnull=True)
                ),
                name="open_close",
            ),
        ]

    def save(self, *args, **kwargs):
        self.sort_order = int(self.day)
        return super().save(*args, **kwargs)

    def clean(self) -> None:
        return super().clean()

    def __str__(self):
        day = self.get_day_display()
        if self.closed:
            return f"{day}: Closed"
        if self.open and self.close:
            return f"{day}: {self.open.strftime('%I:%M %p')} - {self.close.strftime('%I:%M %p')}"
        return f"{day}: Unknown"

class InlineOfficeHoursPanel(InlinePanel):
    def __init__(self, *args, **kwargs):
        kwargs["min_num"] = 7
        kwargs["max_num"] = 7
        super().__init__(*args, **kwargs)

    class BoundPanel(InlinePanel.BoundPanel):
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            for index, child in enumerate(self.children):
                child: MultiFieldPanel.BoundPanel
                if child.form.instance and not child.form.instance.day:
                    child.form.initial = {"day": index + 1}
                elif not child.form.instance:
                    child.form.initial = {"day": index + 1}
                child.form.fields["day"].widget.attrs["readonly"] = True # fix later

@register_setting
class Office(BaseSiteSetting, ClusterableModel):

    phone_number = models.CharField(
        verbose_name=_("Phone Number"),
        help_text=_("Phone number for the office."),
        max_length=20,
        blank=True,
        null=True,
    )

    fax_number = models.CharField(
        verbose_name=_("Fax Number"),
        help_text=_("Fax number for the office."),
        max_length=20,
        blank=True,
        null=True,
    )

    email_address = models.EmailField(
        verbose_name=_("Email Address"),
        help_text=_("Email address for the office."),
        max_length=255,
        blank=True,
        null=True,
    )

    panels = [
        FieldPanel("email_address"),
        FieldRowPanel([
            FieldPanel("phone_number"),
            FieldPanel("fax_number"),
        ]),
        InlineOfficeHoursPanel("hours", heading=_("Office Hours"), label=_("Day"), min_num=7, max_num=7),
    ]

    edit_handler = TabbedInterface([
        ObjectList(panels, heading=_("Office")),
    ])

    class Meta:
        verbose_name = _("Office")
        verbose_name_plural = _("Offices")

@Nigel2392 alright. Great.

@Nigel2392 I am guessing the custom panels should appear on load of the admin page. Mine is rather blank.

@Nigel2392 I am guessing the custom panels should appear on load of the admin page. Mine is rather blank.

I'm sorry.
If you go to the settings section; then to click on the Office menu item; the panels should be visible there.

HI @Nigel2392 I think you might want to check that you have not made any mistake in your code. I wasn't able to reproduce the error you reported. I literally just copied and pasted the code you gave me above. Here is the output:

That is very odd.
I have made a git-repository.
I initialized a new wagtail project; copy and pasted the code from here into the standart home application; added wagtail.contrib.settings to settings.py.
The panels still dont start off collapsed for me.
I am using Chrome version 119.0.6045.106.
https://github.com/Nigel2392/wagtail_collapsible_bug

@Nigel2392 have you tried using another browser?

@Nigel2392 have you tried using another browser?

Yes. Tested on Chrome, Edge and Safari.
Just to be clear from the screenshot you posted; you did not manually close the panels; this is the starting state?
Very odd that it does not work on a newly initialized project, like the repo I added; but it does seem to work for you.

No, I manually closed them actually. Is that the problem you are getting at?

@Temidayo32 adding the collapsible collapsed classes translates to "this element should be collapsible, and it should be collapsed (that is closed) when the page loads". So the issue is that they are not collapsed when you load the page, but they are collapsible manually as you have demonstrated

@Temidayo32 adding the collapsible collapsed classes translates to "this element should be collapsible, and it should be collapsed (that is closed) when the page loads". So the issue is that they are not collapsed when you load the page, but they are collapsible manually as you have demonstrated

Yes. That is correct; sorry for framing my question in the wrong way.

@zerolab Thanks for the clarification. @Nigel2392 now, I see what the problem is.

Note. You may need to add a heading to MultiFieldPanel for the collapsible to work. A similar question came up in Slack about InlinePanel collapse not working and adding a heading fixed it.

Note. You may need to add a heading to MultiFieldPanel for the collapsible to work. A similar question came up in Slack about InlinePanel collapse not working and adding a heading fixed it.

As you can see in the first example, self.heading is passed to the MultiFieldPanel; so I think you might be getting mixed up with a different issue. Thanks anyways!


Create and build Dockerfile for the repo

Please run the Docker image and check if the packages are running properly.
Closes #2.

We will not use Docker as a container in the repo, but singularity. We will close this and create a new PR for the singularity.


Active on this page if ID is visible in the view

Hello,
Not really a issue, but what is responsible for this behavior ? Highlight the topic that is on the screen.
https://user-images.githubusercontent.com/33966960/204650275-a6e2fe7d-40ab-4150-9034-ddc18d265d75.mp4

I'm using the IntersectionObserver for this.
Can you see if this happens with devtools closed?
We might need to adjust the rootMargin calculation.


InfiniteScroll with custom content

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x ] 3.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[ x] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

Expected behavior:
I should be able to access state inside of InfinteScroll
Steps to reproduce:
I want to add my custom spinner but in this case spinner is always visible
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
<spinner [color]="'white'">

I would like to i have possibility to access scrolls state
<ion-infinite-scroll (ionInfinite)="doInfinite($event)" #inf>
<spinner [color]="'white'" [attr.state]="inf.state">

Also I've posted question here

Hello! Thank you for the feature request. I'm going to move this issue over to our internal list of feature requests for evaluation. We are continually prioritizing all requests that we receive with outstanding issues. We are extremely grateful for your feedback, but it may not always be our next priority. I'll copy the issue back to this repository when we have begun implementation. Thanks!

This issue was moved to ionic-team/ionic-feature-requests#310


Refactor posts list component to use PascalCase

Why:

Following up on the work started in #362, but with a more limited
scope to prevent breaking in progress work.

This change addresses the need by:

Renaming the posts list component files to follow the Airbnb
convention of naming the files after the same entity they export by
default, which imposes using PascalCase for component files.

Taking the executive decision of merging this. The code has been here for so long I no longer knew about it, so I just revised it myself.


Paginate the Records display for performance

When you get around 100 records the performance suffers

added v1.1.13


[syn] Fix behavior of parsing script in a few error cases

Some of the default assignments where overwritten and deleted from the results dict in certain error cases, causing the regression summary to not display any useful warnings or error messages at all.
This does not fix the regression failure root cause we are currently seeing, but it errors out more gracefully and displays the actual error messages properly.
Signed-off-by: Michael Schaffner<EMAIL_ADDRESS>

Ok I have combined these changes with the ones from #2827.


wrapper.classes() only shows 1 class in array

Version
1.0.0-beta.24
Reproduction link
https://jsfiddle.net/50wL7mdz/593094/
Steps to reproduce
Make a test in Jest using vue-utils to get all the classes in the template of the Vue.js SFC.
Just test a simple console.log on wrapper.classes().
What is expected?
Should return an array containing 7 classes.
What is actually happening?
Only returns an array with 1 class 'procedure-card'

classes only returns the classes of the wrapper root element.


Send along configuration to setupJestScreenshot

This gives us the possibility to set also the config from js

Pull Request Test Coverage Report for Build 52

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.148%

Totals

Change from base Build 50:
0.0%

Covered Lines:
391

Relevant Lines:
391

💛  - Coveralls

a quick test locally, shows that it works fine to pass along a config in the setup. At least with jest v24.


Observer limited to 1048575 instances

Hello,
I'm using EnTT 3.10.0 and I've come across a problem using an observer.
First, I'm creating something between 4 to 6 million entities with two components each, a std::map iterator (model), and a matrix (transform) :
for (float z = -25.f; z < 5000.f && timer.total_time() < 1.f; z += .2f) {
    for (float x = -25.f; x < 25.2f; x += .2f) {
        entt::entity id = m_registry->create();
        m_registry->emplace<components::model>(id, model_cache_entry);
	m_registry->emplace<components::transform>(id, {x, 0.f, z});
	++m_instance_count;
        }

I also have an observer (models_observer) connected to this registry as follows :
models_observer.connect(*m_registry,
                entt::collector
		    .group<model, transform>()
		    .update<model>()
		    .update<transform>());

When I query the observer after having emplaced all those instances :
models_observer.size() == 1048575; //is true
//But I'm expecting ~4million

I iterate this observer after having created the 4 million instances in the first step, so my expectations are that the observer will contain the same number of entries, ~4 millions.
But that's not the case. There's a ceiling of precisely 1048575 instances maximum returned by the observer. Anything beyond that isn't recorded by the observer.
Am I using it wrong ?

I see this:

I'm creating something between 4 to 6 million entities

Then I see this:

entt::entity id = m_registry->create();

If you consider that the default entity type is meant to support up to 1M entities (actually, 1M - 1 identifiers), I'm not surprised that you're experiencing UB everywhere.
If you want to spawn more than 1M elements, you must use a different entity type. There are a bunch of ways to customize it, among which a macro to make it use std::uint64_t or the possibility of using a custom entity class.
The documentation contains many details about it. Let me know if you've other problems. As it stands, the issue looks invalid otherwise.

Thanks for the prompt response.
That's what I was thinking, but I couldn't find anything in the documentation. Besides, this particular example was a test bed to see how far it can be pushed. In actual real conditions, I only get to something like 200k-300k instances.
It's good to know there's an option to increase this limit though !
And thanks for EnTT !

It's good to know there's an option to increase this limit though !

You've at least three options actually. 😅

You can redefine ENTT_ID_TYPE to make it use std:.uint64_t.
You can define your own entity type as an enum, then use it directly as:enum class my_entity: std::uint64_t {};
using my_registry = entt::basic_registry<my_entity>();

Same as above but with a class type to which you can also add more functionalities if you like.

All this just to scratch the surface of the possibilities that you've when it comes to customizing the identifiers. 🙂


Added new intent "show_credit_cards" and some train data to it

Added new intent "show_credit_cards" and some train data to it and "show_accounts". In the banking category.
thanks

Hey @rajeshkumarsomu
Thank you for donating this training data!
Based on evaluating the first contributions, we have decided to make a few updates to the repo README.md and FAQ.
Apologies for doing this in retrospect, but after discussion we think it would make sense to sooner rather than later. This means it would be great if you can also add a short description of your intent in the nlu.md file.
Why do I need to add a description to the intents?
We think this is great practice to ensure that intents are consistent.
Like this for example, intent:show_credit_cards <!--The user would like to see a list of credit cards.--> this way the intent is clear for anyone adapting the data.
Do you think it would be possible for you to adapt the data to meet these requirements? If you have any questions at all do not hesitate to reach out.
We appreciate your support! :)

Hi EmmaWightman,
Thank you for your reply,That helps to build robust training data.
I added description to intent.


Proposal: Function imports and possible community code sharing

At the moment, all functions must be created manually from scratch. I'm finding myself copy-pasting common boilerplates for functions that are common (db manipulation, sqs message get, sns send, etc.). Note that the boilerplates can also include dependencies, scripts that are used commonly inside a certain project, etc.
It would be great if we can just create a command apex import function_name source where that would import the code at the from source (github repositories and file system directories most likely) into a newly created function function_name.
This would foster a community that can share boilerplates, functions, etc. Plus that would save a person a lot of time (even if he's only using the boilerplates he's creating himself)

Personally I still do this at the language pkg/module level, I think that's the right abstraction for most cases, but it would be nice to have at the Lambda level as well.

If you take a look at the boilerplate code I setup - I have it so it looks for a "shared" directory that I can use to share code between functions with webpack 2 and tree shaking so that it only includes those that I actually use AND call in my code.
https://github.com/Dash-OS/aws-lambda-runner-example


JSON version in gemspec is old

It looks like this library is not regularly maintained ... should it work with newer ruby versions?
For example, in Ruby 2.4.2, a simple require seems to not work...
irb(main):001:0> require "basecrm"
=> true
irb(main):002:0> BaseCRM::Client
NameError: uninitialized constant BaseCRM

...whereas in ruby 2.0.0, it does...
irb(main):001:0> require "basecrm"
=> true
irb(main):002:0> BaseCRM::Client
=> BaseCRM::Client

Hey @mjankowski. Each ruby version has a separate gems pool. So probably you don't have basecrm gem for ruby 2.0.0. bundle install should resolve it.

I'm using rbenv, and have the gem installed in both versions. Here's some larger output showing that the gem is installed for both ruby versions, and repeating the prior reported issue:
magicvault:~ mjankowski$ ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16]
magicvault:~ mjankowski$ gem list -d basecrm

*** LOCAL GEMS ***

basecrm (0.1.2)
    Author: Marcin Bunsch
    Homepage: https://github.com/basecrm/basecrm
    Installed at: /Users/mjankowski/.rbenv/versions/2.4.2/lib/ruby/gems/2.4.0

    Base CRM API Client
magicvault:~ mjankowski$ irb
irb(main):001:0> require "basecrm"
=> true
irb(main):002:0> BaseCRM::Client
NameError: uninitialized constant BaseCRM
Did you mean?  BaseCrm
	from (irb):2
	from /Users/mjankowski/.rbenv/versions/2.4.2/bin/irb:11:in `<main>'
irb(main):003:0> exit
magicvault:~ mjankowski$ rbenv local 2.0.0-p648
magicvault:~ mjankowski$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-darwin16.5.0]
magicvault:~ mjankowski$ gem list -d basecrm

*** LOCAL GEMS ***

basecrm (1.2.2)
    Author: BaseCRM developers
    Homepage: https://github.com/basecrm/basecrm-ruby
    License: MIT
    Installed at: /Users/mjankowski/.rbenv/versions/2.0.0-p648/lib/ruby/gems/2.0.0

    BaseCRM Official API V2 library client for ruby
magicvault:~ mjankowski$ irb
irb(main):001:0> require "basecrm"
=> true
irb(main):002:0> BaseCRM::Client
=> BaseCRM::Client
irb(main):003:0> exit
magicvault:~ mjankowski$

I went back a few ruby versions and repeated this exercise ... I get the same error in ruby 2.1, 2.2, and 2.3 ... I wonder if something changed with constant handling between 2.0 and 2.1?
Can you confirm that you don't see this behavior in versions 2.1+ ?

The issue isn't in ruby version. I can see that you have installed very old basecrm gem (v0.1.2) for ruby 2.4.2 which, indeed, doesn't have BaseCRM module.

Ah ha! That is ... bizarre, but definitely explains this.
I'll dig through my Gemfile to see if there are dependencies forcing the old version.

I have json locked to a newer version in the project I'm trying to add basecrm to, but the gem has this requirement: https://github.com/basecrm/basecrm-ruby/blob/master/basecrm.gemspec#L24
Would it be possible to relax the json gem version requirement in the basecrm gem?

I'll schedule maintenance release, please expect new version in following week.

Thanks! (renaming this issue to capture the actual problem here)

@mjankowski enjoy version 1.2.3
Please notice, from next version we will set json dependency on "~> 2.0". Closing.

Thanks!


Fix oxlint --quiet suppressing errors

As explained by the comment in source, --quiet should only suppress warning output.
Please double-check that I haven't done something totally wrong here, I don't know Rust.

Thank you so much @developit! Are you using oxlint somewhere? It would be a great motivational boost if this is the case because I'm not too focused on oxlint lately (I'm working on the transformer right now).

@Boshen yeah, we just switched a massive codebase to it. Sent you a DM on the Vite discord.


📈 Add memory test for snackbar

:wave: I got this.

Yes you do, @samccone. Yes, you do. :+1:

:+1:


issue_export stuck

Context : JIRA Datacenter version
jiraone 0.7.9
It seems that there is a regression in issue_export feature. With jiraone 0.7.8, issue_export is running fine with fields option set to []
But with jiraone 0.7.9:
With fields option, set to [], the process is stuck. The export directory is created. Inside it, I can find a temp csv file (temp_file_0.csv) which seems complete. The output is:
Defaulting to comma as CSV separator.
Downloading issue export in CSV format.
<Response [200]>  ::downloading issues at page: 0 of 0
Without fields option, set to [], I get error :
Traceback (most recent call last):
File "D:\Tools\Strawberry\scripts\ExportTicketsToCSV2.py", line 25, in
issue_export(jql=jql_tech_task, folder=Export_Folder,final_file="Defect.csv")
File "C:\Program Files\Python312\Lib\site-packages\jiraone\reporting.py", line 3296, in export_issues
field_value_check(field_names)  # We'll always check this
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\Python312\Lib\site-packages\jiraone\reporting.py", line 3278, in field_value_check
raise JiraOneErrors(
jiraone.exceptions.JiraOneErrors: <JiraOneError: Unable to find initial field, probably such field "Assignee" doesn't exist for fields argument>

Hey @alpesmaritimes34170
Thanks for reporting this issue. Since you're in DC, please let me know if you have this flag (below) turned off for both tests in 0.7.8 and 0.7.9 before running the export.
# previous import statement
LOGIN.api = False

Hey @alpesmaritimes34170
Thanks for reporting this issue. Since you're in DC, please let me know if you have this flag (below) turned off for both tests in 0.7.8 and 0.7.9 before running the export.
# previous import statement
LOGIN.api = False

yes it was set like this

Thank you, I'm investigating the problem and will push a new update.

Hey @alpesmaritimes34170
Released a new version which should fix this problem on the process being stuck with an empty list. Let me know how it goes for you.

Hey @alpesmaritimes34170
Released a new version which should fix this problem on the process being stuck with an empty list. Let me know how it goes for you.

This issue is fixed. Thank you.


A2DP- source mode: Stack canary watchpoint triggered (BtAppT)

H,
A2DP-source works fine here, but with Ardiuno 2.0.9 (PlatformIO package 6.3.0) i get this crash:
`[ 21097 ]  Bluetooth source => connection state: Connecting
[ 26220 ]  Bluetooth source => connection state: Disconnected
Guru Meditation Error: Core  1 panic'ed (Unhandled debug exception).
Debug exception reason: Stack canary watchpoint triggered (BtAppT)
Core  1 register dump:
PC      : 0x40087310  PS      : 0x00060d36  A0      : 0x3fff1ad0  A1      : 0x3fff1a10
A2      : 0x3fff1eb0  A3      : 0x00000018  A4      : 0x00000001  A5      : 0x0000000c
A6      : 0x00000000  A7      : 0x00000008  A8      : 0x00000001  A9      : 0x00000024
A10     : 0x0000005a  A11     : 0x0000002a  A12     : 0x00000075  A13     : 0x3f466ba0
A14     : 0x00ff0000  A15     : 0xff000000  SAR     : 0x0000000a  EXCCAUSE: 0x00000001
EXCVADDR: 0x00000000  LBEG    : 0x4009449d  LEND    : 0x400944ad  LCOUNT  : 0xffffffff
Backtrace: 0x4008730d:0x3fff1a10 0x3fff1acd:0x3fff1de0 |<-CORRUPTED
#0  0x4008730d:0x3fff1a10 in _xt_lowint1 at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/port/xtensa/xtensa_vectors.S:1078
#1  0x3fff1acd:0x3fff1de0 in ?? ??:0
`
Any idea how to solve this? For A2DPSink i can set a larger tasksize with set_event_stack_size(); but for A2DPSource it's not possible?
Should the task size increased for latest Arduino version?
Thanls & best
Dirk

I increased the stack size and made the set_event_stack_size() available to the source as well

pschatzman, that was lightning fast!
I can confirm that A2DP-source do not longer crashes.
Thank's & best regards
Dirk


[ENH/DOC] Fix case_sensitive bug in count_cumulative_unique and add MWE

PR Description
Please describe the changes proposed in the pull request:

Fixed bug: count_cumulative_unique now no longer modifies the column being counted in the output when case_sensitive argument is set to False, resolves #1065. See the bug description in the linked issue.
And add tests to avoid similar regression in the future.
Add MWE, related to #972 .

🚀 Deployed on https://deploy-preview-1066--pyjanitor.netlify.app

@thatlittleboy apologies, just playing it in my head and realise reindex might fail if there is a duplicate index

@thatlittleboy apologies, just playing it in my head and realise reindex might fail if there is a duplicate index

@samukweku What do you propose here? Should we check if df has duplicated index and throw an error earlier on in the function? Or you have something else in mind?

@thatlittleboy I'll avoid it altogether and use a combination of cumcount and cumsum:
counter = df[column_name] # copy maybe?
counter = counter.groupby(counter, sort = False).cumcount()
# ... using np.cumsum because of the speed benefits ...
#  possibly even convert counter to an array before comparing
#... not sure the speed difference is significant though
counter = np.cumsum(counter == 0) # alternative -> counter.eq(0).cumsum()
df.assign(**{dest_column_name : counter})

I also think we should not convert the column to a string; if it isn't a string, it should error out, or we can do a check to ensure it is a string (pd.is_string_dtype maybe). converting an integer to a string then lower feels unnecessary, so maybe assuming it is a string and erroring out might be better?

@samukweku Raising a TypeError now, but I'm opting for a try-except instead of checking with is_string_dtype. As that doesn't cover categoricals (for example), and bytes type will actually throw a TypeError even though it is string, because of this.


ruby toolkit sample code has incorrect module name

I tried to figure out how to submit this via the developers site but I could not find a way to do it, so this is the best I can do.
On https://developers.onelogin.com/saml/ruby , the page includes a sample saml_controller.rb file. On lines 9 and 13 of that file, classes are referenced as follows:
Onelogin::RubySaml

The module hierarchy should be
OneLogin::RubySaml

Sorry I don't have any control on https://developers.onelogin.com/saml/ruby


Cannot read properties of undefined (reading 'extend')

Cannot read properties of undefined (reading 'extend')
TypeError: Cannot read properties of undefined (reading 'extend')
    at /node_modules/.pnpm/@beyonk+svelte-datepicker@12.0.1/node_modules/@beyonk/svelte-datepicker/src/components/lib/date-utils.js:7:7
    at async instantiateModule (/home/satoshi/code/interest/node_modules/.pnpm/vite@2.9.9/node_modules/vite/dist/node/chunks/dep-59dc6e00.js:59333:9)

when using minimum example with svelte.config.js rules from repo.
documentation could include installation instructions, its often best thing to have. also adding code bars in examples would be great so wouldnt have to learn from source code

try dynamic importing

Experiencing the same issue here. Were you able to get this working?

Hello,
Here is a possible solution : https://github.com/beyonk-adventures/svelte-datepicker/issues/61
@hitchhooker but you need to use vitejs ! (which use itself rollup)


Rename folders, reorganize files

Hi @AlexxMarkov, this is quite a big change, I touched more than a hundred files. I didn't break it into small commits because there would be lots of them.
The changes are renamings and reorganizing files (logic of the modules and tests were not changed).
I liked your suggestion when you mentioned the folder structure of OpenTitan. Their organization of files and naming conventions seems pretty tidy.
All modules now live in the hardware/ folder. Each module has its own folder: core/, soc/, mtimer/ and so on. The Verilog files are saved in the module folder and tests (when available) go in a tests/ folder inside the module folder. Ideally every module folder should have the following structure:
hardware/
-- module_name/
---- rvsteel_module_name.v (top module of the module)
---- README.md (general information about the module)
---- tests/
------ README.md (explaining how to run the tests, tools needed, etc.)
All filenames separed with a dash '-' were replaced by an underscore '_'. A lot of hardware tools do not handle well names with dashes so all files now use underscores for consistency.
Please let me know your thoughts. Have a nice week!

Thanks for the approval! I adopted your suggestions and made the structure of the demo/ folder as you described :)


[feat] [chunjun-connector-stream,chunjun-connector-elasticsearch-base…

…,chunjun-connector-jdbs-base] enrich sql type data type,add [ROW,ARRAY,MAP,MULTISET] data type,only support sql type
[test] [chunjun-examples/sql/[stream,elasticsearch7,postgresql], add test file test [ROW,ARRAY,MAP] data type

Purpose of this pull request
enrich sql type data type,add [ROW,ARRAY,MAP,MULTISET] data type,only support sql type

Which issue you fix
Fixes # (issue).
Checklist:

[x] I have executed the 'mvn spotless:apply' command to format my code.

[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.
[x] I have checked my code and corrected any misspellings.
[x] My commit is only one. (If there are multiple commits, you can use 'git squash' to compress multiple commits into one.)

CC. @PaddyMelody @chaozwn @yanghuaiGit @mggger @ll076110

LGTM


Should have vue-define-reactive as dependency

I might be wrong, because I did not tested it thoroughly, but if I did not define the data property to bind to, then I got loads of error. (Like in your first example)
If I understand the source correctly in this situation the lib uses Vue.util.definReactive() here: https://github.com/gdg-tangier/vue-firestore/blob/master/src/vue-firestore.js#L17
I think it's a dependency on this lib: https://github.com/egoist/vue-define-reactive but can't seem to find it anywhere in the package.json

Generally in Vue, if you wish your data to be reactive, you can use:
Vue.util.defineReactive(instance, key, value)
I did that because I need to bind the firebase collections/docs.
Example vue-router
Thanks

Hi @minutuslausus sorry for that late, I'm going to use Vue.set in another feature, the difference between set and defineReactive is that set can make an object and its elements (objects) reactive as well, check the following link Reactivity in Depth.
Currently, I'm working on the feature that has been proposed by @asankulov, #20 which is basically bind a collection of objects in a given object within their keys.


:book: Add example on how resource name should be provided for syncing

Summary
Current documentation does not clearly state what should be the form of resourcename while syncing to the pyhiscal cluster. Adding an example and clear message about the same.
Related issue(s)
Fixes #

/assign @davidfestal

@kasturinarra Do you think you could take the opportunity of completing the related CLI help: https://github.com/kcp-dev/kcp/blob/main/pkg/cliplugins/workload/plugin/sync.go#L126 ?


Switched over to using a buffer for stdout,stderr on execute

Instead of using Combinedout, switched to using a pipe for stdout and stderr. It seems like running a command on HAProxy doesn't capture the entire stdout and stderr. This will ensure we get everything and see what is actually going if there is an error.

Resolves #364


Stop patching write_pkg_info

Fixes #1289. Since setuptools no longer supports Python 3.2, this patch is unnecessary.
I am aware that this may be an unnecessary risk considering this patch isn't actively hurting anything, but it's probably worth some cleanup.
I tried to dig around in the git history to figure out which, if any, tests test that this works correctly, but I couldn't find anything. @jaraco Do you know if there are any? If not, should I add them?

Good catch. Yes, happy to see it go.
It's quite possible there aren't any tests that capture this functionality. Setuptools has always struggled with test coverage, though it continues to improve bit by bit as new contributions (especially with public interface or behavior expectations) should have tests and tests are often added for regressions. Still, it's a best-effort approach probably with lots of gaps. I'm happy to see them closed, but not at the expense of more pressing improvements. So, feel free to add them but not obliged.


Practice and ensure process to redeem stablecoin works (USDC, Paxos etc)

Why

On May 20th, Ines will need to show proof to Cornell that she has $60,000 in the bank
Assuming that the loan amount is funded, we will need to go through the stablecoin provider's redemption process (e.g. USDC, Paxos) to convert the stablecoin into fiat

Todos
A lot of this is business-related, and Ines will be driving this

[ ] Research redemption processes for various stablecoins (Paxos, TrueUSD, GUSD, USDC)
[ ] Go through process for KYC / AUML to get an account with each of the stablecoins
[ ] If necessary, contact the stablecoin to let them know we are doing this experiment and ask them for help with redemptions / making sure we can
[ ] Can we run an experiment where we buy some Stablecoin on an exchange, and then redeem it to a bank account (to test that the process works?)

Definition of done

Ines should be able to redeem stablecoins from her crypto wallet, and get fiat in her / her husband's bank account
She should have gone through the KYC / AUML and activation process for stablecoins

Resources (Stablecoin to Fiat redemption)
Paxos
Paxos' redemption process
USDC
USDC Redemption Process
TrueUSD
TrueUSD Redemption Process
GUSD
GUSD Redemption Process

@wimanesti has created a USDC wallet, and we will be doing a test run (sending $1) to help her get used to the process

Trial 1 USDC sent to @wimanesti
Txn:
https://etherscan.io/tx/0xa75cbe3632bda94c85f1149767f08a93f14cc6b81df848f381c81c9cd2419631

@wimanesti Ping! There are 2 open tasks above for you to verify that you can redeem 1 USDC to your US bank account

@wimanesti Ping! Let's make sure the redemption works, and close this issue by end of next week.

My husband is able to linked his bank account to Coinbase and managed to redeem 5 dollars. I am now sending the rest of USDC to his coinbase account to be redeemed.

@wimanesti Cool! Could you verify and check what were the fees charged by Coinbase to redeem the 5 USDC to his bank account?
If I'm not wrong, there is a way to avoid withdrawal fees from Coinbase. See
https://cryptocurrencyhub.io/use-this-secret-method-to-avoid-paying-coinbase-fees-edb5ed65925?gi=3128fa2d33be
You can close this issue once you've looked into how to withdraw with as little fees as possible.

Trading ~15.63 ETH (~$4,512.27) to USDC worth 4470.62 (trading fee $50.98)?

@wimanesti Cool! Could you verify and check what were the fees charged by Coinbase to redeem the 5 USDC to his bank account?

No fee is charged to to withdraw 100 USDC at Wells Fargo

@wimanesti No! Just the 5 USDC - were there any fees?
I'm not going to give any advice on whether you should hodl the ETH or convert it to a stablecoin - I'll leave you to research Bitcoin, Ethereum and the "hodl" movement...
Interestingly, it might be interesting to come up with the concept of "undercollateralized" loans - you "staking" the 15 ETH you have as collateral for a 60,000 Dai loan. (cc @tspoff @adibas03)

@wimanesti No! Just the 5 USDC - were there any fees?
No fee whatsoever. But it takes 5 days to withdraw

@wimanesti Please close this issue once you've verified the fees charged for withdrawing to bank account


Exclude already collected shows from recommendations

Hello,
Is it possible in some way to exclude already collected / watched shows from the personal recommendations ?
https://trakt.docs.apiary.io/#reference/recommendations/hide-movie/get-show-recommendations

Good idea. I'll have this available in the API later this week. Docs updated as well.

Thanks a lot!

Do we have to pass a special parameter to the APis or it's auto-magically done on your side for every requests ?

A URL parameter needs to be added, the docs have it listed.


Make editing comments (reply requests) easier

After the user submitted a comment (reply request), when opens the comment section again (by pressing "update comment"), we should populate the input box with existing comment.

我想要做


hover card animation on landing page

📝 Changed routes:

/

(view full size)

Commit 6811025ef75ae58f761225b280f6aaea66b72462 (https://thirdweb-x7m2gwpfb.thirdweb-preview.com).


csl: share and export TRADEGOV_API_KEY env var value

Minor cleanup from https://github.com/moov-io/watchman/pull/197

Codecov Report

Merging #198 into master will decrease coverage by 1.18%.
The diff coverage is 75%.

@@            Coverage Diff             @@
##           master     #198      +/-   ##
==========================================
- Coverage   66.86%   65.67%   -1.19%
==========================================
  Files          27       27
  Lines        2695     2698       +3
==========================================
- Hits         1802     1772      -30
- Misses        710      751      +41
+ Partials      183      175       -8


nullable v-model

Vue - Official extension
2.1.10
VSCode version
1.95.3
Vue version
^3.5.13
TypeScript version
^5.6.3
System Info
System:
    OS: macOS 14.6.1
    CPU: (12) arm64 Apple M3 Pro
    Memory: 644.78 MB / 36.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Yarn: 1.22.22 - ~/Library/pnpm/yarn
    npm: 10.9.0 - ~/Library/Application Support/Herd/config/nvm/versions/node/v22.11.0/bin/npm
    pnpm: 9.4.0 - /opt/homebrew/bin/pnpm
    bun: 1.0.26 - ~/.bun/bin/bun
  Browsers:
    Chrome: 131.0.6778.109
    Safari: 17.6

package.json dependencies
No response
Steps to reproduce
Following PR #4648, the bug seems to persist.
I'm using nuxt/ui where modeValue are nullable but null is not included in the type definition.
What is expected?
For the following type :
modelValue: {
  type: PropType<string | number | null>;
  default: string;
};

The TS definition should be string | number | undefined | null
What is actually happening?
null is not included in the type definition string | number | undefined
For nuxt/ui :
Cannot assign type 'string | null' to type 'string | number | undefined'.
Cannot assign type 'null' to type 'string | number | undefined'

Link to minimal reproduction
No response
Any additional comments?
No response

Btw, I notice that PR #4648 fix usage with script setup, while nuxt/ui uses defineComponent

What is the minimum use case like?

What is the minimum use case like?

TestComponent.vue
<template>
  <div>{{ modelValue }}</div>
</template>

<script lang="ts">
import { defineComponent, PropType } from 'vue'

export default defineComponent({
  props: {
    modelValue: {
      type: [String, Number] as PropType<string | number | null>,
      default: ''
    }
  }
})
</script>

<template>
  <test-component v-model="value" /> <!-- here null is not accepted -->
</template>

<script setup lang="ts">
import { ref } from 'vue'
import TestComponent from './TestComponent.vue'

const value = ref(null)
</script>

I cannot reproduce it. Have you bumped all deps to the latest version?

@KazariEX So maybe my minimal use case is wrong.
I have this problem in particular with @nuxt/ui 2.x, I tried to make the minimum reproduction based on the structure of their components. Let's take UInput as an example:

Oh, I wouldn't have thought! Good catch! Thank you very much! I'll take a look at what we can do.


⚠ Bofrost.es has degraded performance

In 51ecf90, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1633 ms

Resolved: Bofrost.es performance has improved in c650236 after 6 minutes.


list pools that have been created, even if no apps are assigned

Instead of walking over the <env>/pools/* keyspace looking for pools
with apps that have been at some point assigned, look inside the literal
key <env>/pools/* which is a set containing all the pools for that
environment.
Fixes #206

:+1:


fix: fix unary operators in pipes (fixes adobe#128)

I guess that's the only operators that need tweaking? feel free to take over the PR :)

Thanks! or, as josé would say: "💚 💙 💜 💛 ❤"
all of the infix operators will have this issue too, but only some of those are implemented within Kernel so it'll take some weirdness to have a solution for everything (will probably only rewrite if it's a kernel infix/unary, and leave as-is in a then otherwise)

doh, sorry for the rebase-merge instead of merge commit. didn't mean to put my name on your work ❤

no problem at all!


how can i connect my github account in atom

Description
as the title say.
how can i set my github account in atom that i can commit my project easily.
Steps to Reproduce

Open a atom on my PC with windows.
import a project
i can't find out the options that it can connect on my github account when i want to commit my project into github.

Actual behavior: i can't find out where i can set my git server path.
Versions
Atom    : 1.10.2

Atom doesn't have the feature you're asking for built-in. There is no way to connect Atom to your GitHub account directly. You have to use Git or an application like GitHub Desktop to connect to GitHub and import your new project. Once that is done, you can use Atom to interact with the local copy of your repository.
Also, we're trying to control the amount of Issues that we have to triage and track. For general questions, the Atom message board is where you'll probably be able to find answers faster.
I hope that helps!

Thank you very much every day! in the morning! on the tree!

so my question is is how do I login on atom? I keep getting an error (will need to censor some of the code due to my privacy on pc)
*** Please tell me who you are.
Run
git config --global user.email<EMAIL_ADDRESS>git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'censored@DESKTOP-censored to be safe.(none)')

I have same issue like @RyenRerbertson

@RyenRerbertson in order to commit in Git, you will need to set a username and an email so that Git can tell who is making the commit.
In order to do so,

Download and install Git
Open command prompt in your repository where you want to make a commit and type
git config --global user.email "type_your_email_here" and press Enter
Then type git config --global user.name "type_your_name_here" and press Enter

Note: When typing the commands, you can omit "--global" if you don't want the email and username you are providing to be the default for every commit you may make later

Thanks for your reply,@Georjay

You are welcome @ghonchesefidi

omfg thank you guru

You are welcome @djhepz


[V0] Slate Migrate null config.yml and incorrect package.json

Problem
I'm running Slate V0 on a completely new system that's never ran Slate before. And on slate migrate, two problems occur.
The first one is config.yml fails to download properly; when opening the file, all it contains is ERROR: 404. If I recall correctly, this has occurred for a long time now, before the release of V1.
The second issue is that on slate migrate or slate theme newTheme, in the resulting package.json, the line "@shopify/slate-tools" is automatically created as "@shopify/slate-tools": "1.0.0-beta.1".
This causes NPM errors, preventing Slate from running.
To repair this, the user needs to change the version number to 0.13.0 and then run npm install.

@ConduciveMammal did you do this before I released v0.14.0? The issues you described should be fixed there.

@t-kelly Oh I'm not too sure, this was a couple of days ago? Also is it possible to update V0 to run on Node 8 so that it can run concurrently with Slate V1?

@ConduciveMammal I don't see why it shouldn't work on Node 8? Are you getting an error?

Hmmm perhaps I was mistaken, slate create seems to work now. Perhaps I was trying it inside of a Slate V1 folder?
Also, I just ran slate -v and it seems I'm still on 0.13.0. How do I update Slate? I don't seem to be getting any update messages in Terminal.


[feature] Query for Scheduled Dates

Hi there, I love the plugin you've written, it has been super easy to set up and use. One feature I'm trying to add to my website is a display showing the upcoming posts and their publish dates. It seems the REST endpoint /publisher/actions has this info, but it requires an admin token and it doesn't seem to be configurable to give access to other roles.
Is this something that could be added, or do you have any pointers for how I could implement it? I wouldn't mind doing it myself but I don't have any experience writing plugins so the overhead of learning all that makes it a bit prohibitive for me.

Thanks for picking this up! Is there anything I can do to help move the PR along? If I pull it and build it into my devo website, would I be able to access the API?

This functionality has been added in the latest release (v1.2.0)


Implement sigils

Interesting idea from this tweet https://twitter.com/pepicrft/status/1714694213642637538

Do you remember what this was? That link gets a 404

Any updates on this. I'm working on a project which would benefit a lot from this functionality

Hi @susanthenerd are you looking for embedded Phoenix components or a sigil that converts into plain HTML?

I'm interested in embedded phoenix componets.

Hi @susanthenerd I just added a LiveView example here https://github.com/leandrocp/mdex/tree/main/examples
Please give it a try but you'll need Rust installed to compile the dependencies. If that works out for your needs, then I can work on a proper release that won't require Rust (binaries will be pre-compiled).

I'm closing this issue since the ~M sigil was added into main. Without support for LiveView for now because that might be a separated package mdex_live_view. But please feel free to add more comments here. Thanks!

I gave it a try and it seems to work fairly well. I will report back if I find any issues. Thank you very much