Error when installing DeeprAi

Hello, I'm really interested in using your package. But recently i got an error when i try to install it, i don't know if this is related to your package or from Numpy, but if you perhaps know the answer could you let me know soon?
The command executed:
pip install deeprai
The complete error:
Collecting deeprai
  Downloading DeeprAI-0.0.9.tar.gz (328 kB)
     ---------------------------------------- 328.4/328.4 kB 6.8 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: cython in c:\games\torch\lib\site-packages (from deeprai) (0.29.33)
Requirement already satisfied: numpy in c:\games\torch\lib\site-packages (from deeprai) (1.23.5)
Requirement already satisfied: pyndb in c:\games\torch\lib\site-packages (from deeprai) (3.5.0)
Requirement already satisfied: alive_progress in c:\games\torch\lib\site-packages (from deeprai) (3.0.1)
Requirement already satisfied: colorama in c:\games\torch\lib\site-packages (from deeprai) (0.4.6)
Requirement already satisfied: cryptography in c:\games\torch\lib\site-packages (from deeprai) (39.0.1)
Requirement already satisfied: grapheme==0.6.0 in c:\games\torch\lib\site-packages (from alive_progress->deeprai) (0.6.0)
Requirement already satisfied: about-time==4.2.1 in c:\games\torch\lib\site-packages (from alive_progress->deeprai) (4.2.1)
Requirement already satisfied: cffi>=1.12 in c:\games\torch\lib\site-packages (from cryptography->deeprai) (1.15.1)
Requirement already satisfied: pycparser in c:\games\torch\lib\site-packages (from cffi>=1.12->cryptography->deeprai) (2.21)
Building wheels for collected packages: deeprai
  Building wheel for deeprai (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [62 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-39
      creating build\lib.win-amd64-cpython-39\deeprai
      copying deeprai\__init__.py -> build\lib.win-amd64-cpython-39\deeprai
      creating build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\leaky_relu.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\relu.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\sigmoid.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\softmax.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\tanh.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      creating build\lib.win-amd64-cpython-39\deeprai\engine
      copying deeprai\engine\base_layer.py -> build\lib.win-amd64-cpython-39\deeprai\engine
      copying deeprai\engine\build_model.py -> build\lib.win-amd64-cpython-39\deeprai\engine
      copying deeprai\engine\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\engine
      creating build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\categorical_cross_entropy.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\mean_absolute_error.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\mean_square_error.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      creating build\lib.win-amd64-cpython-39\deeprai\models
      copying deeprai\models\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models
      creating build\lib.win-amd64-cpython-39\deeprai\tools
      copying deeprai\tools\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\tools
      creating build\lib.win-amd64-cpython-39\deeprai\engine\cython
      copying deeprai\engine\cython\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\engine\cython
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional
      copying deeprai\models\convolutional\convolutional.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional
      copying deeprai\models\convolutional\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional
      creating build\lib.win-amd64-cpython-39\deeprai\models\feed_forward
      copying deeprai\models\feed_forward\feed_forward.py -> build\lib.win-amd64-cpython-39\deeprai\models\feed_forward
      copying deeprai\models\feed_forward\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\feed_forward
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      copying deeprai\models\convolutional\conv\conv1d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      copying deeprai\models\convolutional\conv\conv2d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      copying deeprai\models\convolutional\conv\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      copying deeprai\models\convolutional\merge\merge1d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      copying deeprai\models\convolutional\merge\merge2d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      copying deeprai\models\convolutional\merge\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      copying deeprai\models\convolutional\pool\pool1d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      copying deeprai\models\convolutional\pool\pool2d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      copying deeprai\models\convolutional\pool\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      creating build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      copying deeprai\tools\file_manager\load.py -> build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      copying deeprai\tools\file_manager\save.py -> build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      copying deeprai\tools\file_manager\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      running build_ext
      building 'deeprai/engine/cython/activation' extension
      creating build\temp.win-amd64-cpython-39
      creating build\temp.win-amd64-cpython-39\Release
      creating build\temp.win-amd64-cpython-39\Release\deeprai
      creating build\temp.win-amd64-cpython-39\Release\deeprai\engine
      creating build\temp.win-amd64-cpython-39\Release\deeprai\engine\cython
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Games\Torch\include -IC:\Python3.9\include -IC:\Python3.9\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcdeeprai/engine/cython/activation.c /Fobuild\temp.win-amd64-cpython-39\Release\deeprai/engine/cython/activation.obj
      activation.c
      deeprai/engine/cython/activation.c(955): fatal error C1083: Cannot open include file: 'numpy/arrayobject.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for deeprai
  Running setup.py clean for deeprai
Failed to build deeprai
Installing collected packages: deeprai
  Running setup.py install for deeprai ... error
  error: subprocess-exited-with-error

  × Running setup.py install for deeprai did not run successfully.
  │ exit code: 1
  ╰─> [64 lines of output]
      running install
      C:\Games\Torch\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-39
      creating build\lib.win-amd64-cpython-39\deeprai
      copying deeprai\__init__.py -> build\lib.win-amd64-cpython-39\deeprai
      creating build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\leaky_relu.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\relu.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\sigmoid.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\softmax.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\tanh.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      copying deeprai\activation\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\activation
      creating build\lib.win-amd64-cpython-39\deeprai\engine
      copying deeprai\engine\base_layer.py -> build\lib.win-amd64-cpython-39\deeprai\engine
      copying deeprai\engine\build_model.py -> build\lib.win-amd64-cpython-39\deeprai\engine
      copying deeprai\engine\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\engine
      creating build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\categorical_cross_entropy.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\mean_absolute_error.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\mean_square_error.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      copying deeprai\loss\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\loss
      creating build\lib.win-amd64-cpython-39\deeprai\models
      copying deeprai\models\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models
      creating build\lib.win-amd64-cpython-39\deeprai\tools
      copying deeprai\tools\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\tools
      creating build\lib.win-amd64-cpython-39\deeprai\engine\cython
      copying deeprai\engine\cython\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\engine\cython
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional
      copying deeprai\models\convolutional\convolutional.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional
      copying deeprai\models\convolutional\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional
      creating build\lib.win-amd64-cpython-39\deeprai\models\feed_forward
      copying deeprai\models\feed_forward\feed_forward.py -> build\lib.win-amd64-cpython-39\deeprai\models\feed_forward
      copying deeprai\models\feed_forward\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\feed_forward
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      copying deeprai\models\convolutional\conv\conv1d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      copying deeprai\models\convolutional\conv\conv2d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      copying deeprai\models\convolutional\conv\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\conv
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      copying deeprai\models\convolutional\merge\merge1d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      copying deeprai\models\convolutional\merge\merge2d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      copying deeprai\models\convolutional\merge\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\merge
      creating build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      copying deeprai\models\convolutional\pool\pool1d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      copying deeprai\models\convolutional\pool\pool2d.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      copying deeprai\models\convolutional\pool\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\models\convolutional\pool
      creating build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      copying deeprai\tools\file_manager\load.py -> build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      copying deeprai\tools\file_manager\save.py -> build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      copying deeprai\tools\file_manager\__init__.py -> build\lib.win-amd64-cpython-39\deeprai\tools\file_manager
      running build_ext
      building 'deeprai/engine/cython/activation' extension
      creating build\temp.win-amd64-cpython-39
      creating build\temp.win-amd64-cpython-39\Release
      creating build\temp.win-amd64-cpython-39\Release\deeprai
      creating build\temp.win-amd64-cpython-39\Release\deeprai\engine
      creating build\temp.win-amd64-cpython-39\Release\deeprai\engine\cython
      "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Games\Torch\include -IC:\Python3.9\include -IC:\Python3.9\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.34.31933\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22000.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcdeeprai/engine/cython/activation.c /Fobuild\temp.win-amd64-cpython-39\Release\deeprai/engine/cython/activation.obj
      activation.c
      deeprai/engine/cython/activation.c(955): fatal error C1083: Cannot open include file: 'numpy/arrayobject.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]

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

× Encountered error while trying to install package.
╰─> deeprai

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

Cheers; Hyphonical.

Hello!, Thank you for your interest in DeeprAI. The library is currently in early beta and is only supported on Linux, but do not worry, adding support for windows is one of my top priorities. Once it's supported on windows I will let you know. Thank you for bringing this specific error message to my attention.

Great, thanks alot for your early response, and also thank you as i sometimes have this problem for other libraries.
If you would like me to close this issue, you can tell me any time.
Cheers and have a wonderful day!

Hey there! If it helps, I can also confirm this issue.
Platform: Windows 10 x86_64
Collecting deeprai
  Downloading DeeprAI-0.0.9.tar.gz (328 kB)
     |████████████████████████████████| 328 kB 1.6 MB/s
Requirement already satisfied: cython in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from deeprai) (0.29.33)
Requirement already satisfied: numpy in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from deeprai) (1.19.3)
Requirement already satisfied: pyndb in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from deeprai) (3.1.0)
Requirement already satisfied: alive_progress in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from deeprai) (3.0.1)
Requirement already satisfied: colorama in c:\users\jvada\appdata\roaming\python\python39\site-packages (from deeprai) (0.4.4)
Requirement already satisfied: cryptography in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from deeprai) (39.0.0)
Requirement already satisfied: about-time==4.2.1 in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from alive_progress->deeprai) (4.2.1)
Requirement already satisfied: grapheme==0.6.0 in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from alive_progress->deeprai) (0.6.0)
Requirement already satisfied: cffi>=1.12 in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from cryptography->deeprai) (1.15.1)
Requirement already satisfied: pycparser in c:\users\jvada\appdata\local\programs\python\python39\lib\site-packages (from cffi>=1.12->cryptography->deeprai) (2.20)
Building wheels for collected packages: deeprai
  Building wheel for deeprai (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\jvada\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\jvada\\AppData\\Local\\Temp\\pip-install-3351n9d_\\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\\setup.py'"'"'; __file__='"'"'C:\\Users\\jvada\\AppData\\Local\\Temp\\pip-install-3351n9d_\\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\jvada\AppData\Local\Temp\pip-wheel-3gdt61uw'
       cwd: C:\Users\jvada\AppData\Local\Temp\pip-install-3351n9d_\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\
  Complete output (62 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.9
  creating build\lib.win-amd64-3.9\deeprai
  copying deeprai\__init__.py -> build\lib.win-amd64-3.9\deeprai
  creating build\lib.win-amd64-3.9\deeprai\activation
  copying deeprai\activation\leaky_relu.py -> build\lib.win-amd64-3.9\deeprai\activation
  copying deeprai\activation\relu.py -> build\lib.win-amd64-3.9\deeprai\activation
  copying deeprai\activation\sigmoid.py -> build\lib.win-amd64-3.9\deeprai\activation
  copying deeprai\activation\softmax.py -> build\lib.win-amd64-3.9\deeprai\activation
  copying deeprai\activation\tanh.py -> build\lib.win-amd64-3.9\deeprai\activation
  copying deeprai\activation\__init__.py -> build\lib.win-amd64-3.9\deeprai\activation
  creating build\lib.win-amd64-3.9\deeprai\engine
  copying deeprai\engine\base_layer.py -> build\lib.win-amd64-3.9\deeprai\engine
  copying deeprai\engine\build_model.py -> build\lib.win-amd64-3.9\deeprai\engine
  copying deeprai\engine\__init__.py -> build\lib.win-amd64-3.9\deeprai\engine
  creating build\lib.win-amd64-3.9\deeprai\loss
  copying deeprai\loss\categorical_cross_entropy.py -> build\lib.win-amd64-3.9\deeprai\loss
  copying deeprai\loss\mean_absolute_error.py -> build\lib.win-amd64-3.9\deeprai\loss
  copying deeprai\loss\mean_square_error.py -> build\lib.win-amd64-3.9\deeprai\loss
  copying deeprai\loss\__init__.py -> build\lib.win-amd64-3.9\deeprai\loss
  creating build\lib.win-amd64-3.9\deeprai\models
  copying deeprai\models\__init__.py -> build\lib.win-amd64-3.9\deeprai\models
  creating build\lib.win-amd64-3.9\deeprai\tools
  copying deeprai\tools\__init__.py -> build\lib.win-amd64-3.9\deeprai\tools
  creating build\lib.win-amd64-3.9\deeprai\engine\cython
  copying deeprai\engine\cython\__init__.py -> build\lib.win-amd64-3.9\deeprai\engine\cython
  creating build\lib.win-amd64-3.9\deeprai\models\convolutional
  copying deeprai\models\convolutional\convolutional.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional
  copying deeprai\models\convolutional\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional
  creating build\lib.win-amd64-3.9\deeprai\models\feed_forward
  copying deeprai\models\feed_forward\feed_forward.py -> build\lib.win-amd64-3.9\deeprai\models\feed_forward
  copying deeprai\models\feed_forward\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\feed_forward
  creating build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
  copying deeprai\models\convolutional\conv\conv1d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
  copying deeprai\models\convolutional\conv\conv2d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
  copying deeprai\models\convolutional\conv\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
  creating build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
  copying deeprai\models\convolutional\merge\merge1d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
  copying deeprai\models\convolutional\merge\merge2d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
  copying deeprai\models\convolutional\merge\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
  creating build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
  copying deeprai\models\convolutional\pool\pool1d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
  copying deeprai\models\convolutional\pool\pool2d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
  copying deeprai\models\convolutional\pool\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
  creating build\lib.win-amd64-3.9\deeprai\tools\file_manager
  copying deeprai\tools\file_manager\load.py -> build\lib.win-amd64-3.9\deeprai\tools\file_manager
  copying deeprai\tools\file_manager\save.py -> build\lib.win-amd64-3.9\deeprai\tools\file_manager
  copying deeprai\tools\file_manager\__init__.py -> build\lib.win-amd64-3.9\deeprai\tools\file_manager
  running build_ext
  building 'deeprai/engine/cython/activation' extension
  creating build\temp.win-amd64-3.9
  creating build\temp.win-amd64-3.9\Release
  creating build\temp.win-amd64-3.9\Release\deeprai
  creating build\temp.win-amd64-3.9\Release\deeprai\engine
  creating build\temp.win-amd64-3.9\Release\deeprai\engine\cython
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\jvada\appdata\local\programs\python\python39\include -Ic:\users\jvada\appdata\local\programs\python\python39\include -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt /Tcdeeprai/engine/cython/activation.c /Fobuild\temp.win-amd64-3.9\Release\deeprai/engine/cython/activation.obj
  activation.c
  deeprai/engine/cython/activation.c(955): fatal error C1083: Cannot open include file: 'numpy/arrayobject.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2
  ----------------------------------------
  ERROR: Failed building wheel for deeprai
  Running setup.py clean for deeprai
Failed to build deeprai
Installing collected packages: deeprai
    Running setup.py install for deeprai ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\jvada\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\jvada\\AppData\\Local\\Temp\\pip-install-3351n9d_\\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\\setup.py'"'"'; __file__='"'"'C:\\Users\\jvada\\AppData\\Local\\Temp\\pip-install-3351n9d_\\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\jvada\AppData\Local\Temp\pip-record-7csx8u_7\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\jvada\appdata\local\programs\python\python39\Include\deeprai'
         cwd: C:\Users\jvada\AppData\Local\Temp\pip-install-3351n9d_\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\
    Complete output (62 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\deeprai
    copying deeprai\__init__.py -> build\lib.win-amd64-3.9\deeprai
    creating build\lib.win-amd64-3.9\deeprai\activation
    copying deeprai\activation\leaky_relu.py -> build\lib.win-amd64-3.9\deeprai\activation
    copying deeprai\activation\relu.py -> build\lib.win-amd64-3.9\deeprai\activation
    copying deeprai\activation\sigmoid.py -> build\lib.win-amd64-3.9\deeprai\activation
    copying deeprai\activation\softmax.py -> build\lib.win-amd64-3.9\deeprai\activation
    copying deeprai\activation\tanh.py -> build\lib.win-amd64-3.9\deeprai\activation
    copying deeprai\activation\__init__.py -> build\lib.win-amd64-3.9\deeprai\activation
    creating build\lib.win-amd64-3.9\deeprai\engine
    copying deeprai\engine\base_layer.py -> build\lib.win-amd64-3.9\deeprai\engine
    copying deeprai\engine\build_model.py -> build\lib.win-amd64-3.9\deeprai\engine
    copying deeprai\engine\__init__.py -> build\lib.win-amd64-3.9\deeprai\engine
    creating build\lib.win-amd64-3.9\deeprai\loss
    copying deeprai\loss\categorical_cross_entropy.py -> build\lib.win-amd64-3.9\deeprai\loss
    copying deeprai\loss\mean_absolute_error.py -> build\lib.win-amd64-3.9\deeprai\loss
    copying deeprai\loss\mean_square_error.py -> build\lib.win-amd64-3.9\deeprai\loss
    copying deeprai\loss\__init__.py -> build\lib.win-amd64-3.9\deeprai\loss
    creating build\lib.win-amd64-3.9\deeprai\models
    copying deeprai\models\__init__.py -> build\lib.win-amd64-3.9\deeprai\models
    creating build\lib.win-amd64-3.9\deeprai\tools
    copying deeprai\tools\__init__.py -> build\lib.win-amd64-3.9\deeprai\tools
    creating build\lib.win-amd64-3.9\deeprai\engine\cython
    copying deeprai\engine\cython\__init__.py -> build\lib.win-amd64-3.9\deeprai\engine\cython
    creating build\lib.win-amd64-3.9\deeprai\models\convolutional
    copying deeprai\models\convolutional\convolutional.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional
    copying deeprai\models\convolutional\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional
    creating build\lib.win-amd64-3.9\deeprai\models\feed_forward
    copying deeprai\models\feed_forward\feed_forward.py -> build\lib.win-amd64-3.9\deeprai\models\feed_forward
    copying deeprai\models\feed_forward\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\feed_forward
    creating build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
    copying deeprai\models\convolutional\conv\conv1d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
    copying deeprai\models\convolutional\conv\conv2d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
    copying deeprai\models\convolutional\conv\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\conv
    creating build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
    copying deeprai\models\convolutional\merge\merge1d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
    copying deeprai\models\convolutional\merge\merge2d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
    copying deeprai\models\convolutional\merge\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\merge
    creating build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
    copying deeprai\models\convolutional\pool\pool1d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
    copying deeprai\models\convolutional\pool\pool2d.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
    copying deeprai\models\convolutional\pool\__init__.py -> build\lib.win-amd64-3.9\deeprai\models\convolutional\pool
    creating build\lib.win-amd64-3.9\deeprai\tools\file_manager
    copying deeprai\tools\file_manager\load.py -> build\lib.win-amd64-3.9\deeprai\tools\file_manager
    copying deeprai\tools\file_manager\save.py -> build\lib.win-amd64-3.9\deeprai\tools\file_manager
    copying deeprai\tools\file_manager\__init__.py -> build\lib.win-amd64-3.9\deeprai\tools\file_manager
    running build_ext
    building 'deeprai/engine/cython/activation' extension
    creating build\temp.win-amd64-3.9
    creating build\temp.win-amd64-3.9\Release
    creating build\temp.win-amd64-3.9\Release\deeprai
    creating build\temp.win-amd64-3.9\Release\deeprai\engine
    creating build\temp.win-amd64-3.9\Release\deeprai\engine\cython
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\jvada\appdata\local\programs\python\python39\include -Ic:\users\jvada\appdata\local\programs\python\python39\include -IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt /Tcdeeprai/engine/cython/activation.c /Fobuild\temp.win-amd64-3.9\Release\deeprai/engine/cython/activation.obj
    activation.c
    deeprai/engine/cython/activation.c(955): fatal error C1083: Cannot open include file: 'numpy/arrayobject.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\jvada\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\jvada\\AppData\\Local\\Temp\\pip-install-3351n9d_\\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\\setup.py'"'"'; __file__='"'"'C:\\Users\\jvada\\AppData\\Local\\Temp\\pip-install-3351n9d_\\deeprai_61f8e493cddb4c468e92bcfc3ccf764e\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\jvada\AppData\Local\Temp\pip-record-7csx8u_7\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\jvada\appdata\local\programs\python\python39\Include\deeprai' Check the logs for full command output.```

I am working on a pull request now.

Hello,
I am happy to report that DeeprAI 0.0.12 is Windows compatible, here are the installation requirements,
Numpy
Cython
Visual Studio C++ Build Tools


Prevent generation negative numbers to produce null pointer exception

Fixes #1265.
Changes proposed in this pull request:

thank you for contribute codes


Consider quality gate for cover info in CI

This can be done either with a third party tool or by simply parsing the result(s) from htmlgen and setting an appropriate quality gate. The former (with a third party tool) has the cool effect of getting a badge, if that's wanted..

Got over ninety percent.
Thereby fixed by 2719f52eaacb3bc01a12200d01d6ba6ac2b750a5


Replace broadcast assignment with LinearAlgebra.mul!

The update step after the step size is currently:
@. x = x - gamma * (x - v)

One problem is that this behaviour is hard to overload, and thus to make efficient for exotic x and v types. We should replace it with LinearAlgebra.mul! with 5 arguments

This will also allow a specialized version for custom v types

what is not clear to me is if we lose a lot of speed if we change this. the broadcasting is really fast compared to the standard implementation

no, the mul! function is meant to be done in-place like the broadcast version without additional allocations

done optionally in #302


TAJO-1857: Rename the section of 'File Formats' to 'Data Formats' and fill compression section of the 'Table Management' chapter

Hi, @jihoonson.
I modified docs and wrote a compression doc newly.
Please check them out.

@eminency, thanks for your patch. I left some comments.

@jihoonson ,
I updated what you mentioned and a bit further.
Please check it out.
Thanks.

+1 LGTM!

I leaved some comments.

@hyunsik, I'm sorry, but have already committed this patch.
@eminency, would you open a new Jira issue to address his comment? When you make a PR for the new issue, I'll review ASAP.

@jihoonson I submitted new PR : https://github.com/apache/tajo/pull/881

Thanks. Would you close this PR?

Sure, I close this PR.


[canary] Using sizes prop triggers non-fatal error

Any time I apply the sizes prop, I get this. Given enough time, the build will proceed. Only seems to happen once per server run, not on each page visit. Build unaffected, so deploys are possible. Just causes a weird slow down any time the dev server is spun up.
MaxListenersExceededWarning: Possible EventEmitter memory leak detected.
11 uncaughtException listeners added to [process].
Use emitter.setMaxListeners() to increase limit

I gave up and stopped using the sizes prop for now. Build speeds immediately faster and the warning has gone away.

Hi @brandonpittman
I just found and fixed a bug in the cache handling which re-compiled images instead of loading them from the cache. That led to the slow dev server you mentioned. It is now fixed in version 3.0.0-canary.2.
Regarding the message, I'll try to also get rid of it. If you have 4 images and want to provide 3 sizes each, that already results in 12 images. And since those 12 images get compiled parallel, this warning comes up. But I'll see what I can do here.
(After updating, it is expected for all images to re-compile once)

@cyrilwanner Does seem a bit faster with canary.2.
However, this issue is now coming up.
Error: Babel plugin 'react-optimized-image/plugin' not installed or this component could not be recognized by it.

Only seems to be happening with images that have dynamic sources. Those dynamic sources worked with canary.0.

Sorry for the error, that looks like a bug as dynamic sources should work generally.
Can you share a code snipped that is not working and produced that error?

@cyrilwanner This is the component that was bugging out. The image stuff is currently commented out due to the error I was getting.
https://github.com/brandonpittman/next-blog/blob/master/src/components/media_card.js

@cyrilwanner great work. Looking forward to using this moving forward. 🙌

@cyrilwanner Does seem a bit faster with canary.2.
However, this issue is now coming up.
Error: Babel plugin 'react-optimized-image/plugin' not installed or this component could not be recognized by it.

Only seems to be happening with images that have dynamic sources. Those dynamic sources worked with canary.0.
Yes, the plugin is defined in .babelrc.
{
  "presets": ["next/babel"],
  "plugins": ["react-optimized-image/plugin"]
}

I can confirm this as well. The dynamic paths return an error while the static path succeeds
Error
const filename = 'image.jpg'
<Img src={require(`@images/${filename}`)} />

Error: Babel plugin 'react-optimized-image/plugin' not installed or this component could not be recognized by it.

Success:
  <Img src={require(`@images/image.jpg`)} />

The same is true with/without the @images alias.
Interestingly when I found this: https://github.com/webpack/webpack/issues/6680#issuecomment-370800037. Looks like the filename can be dynamic but the extension can not?
Success:
const filename = 'image'
<Img src={require(`@images/${filename}.jpg`)} />

For now, I plan on making a workaround to check the extension on the image, as I am already getting the image data in static props to get the ratio to prevent layout shifting.
Looking forward to learning more about this, and again thanks for your work.

Thank you both for the feedback! It was indeed a bug in next-optimized-images and should be resolved in the 3.0.0-canary.4 version. So even if the extension is dynamic/in the variable, it should now work again. Is it possible for you to test the new canary version and confirm that? Thank you!
Also, please note that if you are using a dynamic require, all images matching the path before the variable get compiled because webpack does not know during build which values the variable could have. So if you have images/${name} and specify sizes={[200, 400]}, it creates 200px & 400px versions of all images within the images/ folder which could drastically increase build time if only a few of those images are actually used in those sizes. So if you only need 200px & 400px versions of a few images, it would make sense to move those into their own subfolder, e.g. images/products/.
I understand that this is not required for your blog since you will display all posts the same way, I just wanted to point this out in case someone else lands here with an increased build time with dynamic requires :)

@cyrilwanner I can confirm the errors are gone. Can you recommend a better dynamic image solution? I'm working how Gatsby Image and Gridsome's image component manage to be so quick when converting images with Sharp.

In general, as mentioned above, splitting your images into different subfolders (which are not part of the dynamic variable) improves it a lot.
Also, next-optimized-images should cache your images so only the first build or when you change sizes should take long. If everything gets loaded from cache, it should only take a few milliseconds. Only if you update next-optimized-images, it could happen that the cache gets invalidated (when something related to image optimization or caching got changed).
In CI, make sure to cache your node_modules folder (as the cache is located within it). Basically every CI provider has that feature.
Sharp is generally way faster but provides worse results compared to the image optimization tools used in next-optimized-images (regarding the image size with similar optimization levels). I was also thinking if I should use sharp for the canary version, but I think, in the end, your end-users will be more thankful if your builds take 1min longer and in return they have to download less data (which also leads to better web vital results). And when the images are cached, optimization time doesn't really make any difference.

@cyrilwanner Wow, the last update fixed my issues and the builds seem super fast again. (Cache is working its magic.) Closing this. 🥳


Update the master branch for the 1.3.0 dev branch

This change will align the branch strategy with other release-based repos like manager/engine/ui/tests to make the community contribution easy with the same convention.
Signed-off-by: David Ko<EMAIL_ADDRESS>(cherry picked from commit dafeafd)

LGTM.
Note: we need to update the docs to not refer to the master branch

Exactly, it's more specific for chart and deploy folders which are under development. But for other specific releases, users should go to the specific release path as what the documentation describes now.

ref: https://github.com/longhorn/website/pull/466


NASA API APOD as Falcor routes

Good morning,
This issue is in order to start a conversation re how interesting it would be to have the NASA API RESTful API exposed as a Falcor model.
I've started w/ the APOD one in order to build a small POC and gathering some feedback.
Questions:

is it possible to have a list of endpoints ordered by popularity so that I can start having a look at the next one?
is it possible for you guys to have a quick look at the repo and review this component that I would like to publish on npm at some point?

Thanks,
-Mattia
P.S. please feel free to tag in this issue anyone who might be interested
// cc @trxcllnt @jasonduley @danhammer

@mattiaerre in case you're interested, we've finished building in end-to-end streaming (both "live queries" and "subscriptions", in graph-ql parlance) into our @graphistry falcor repos, even maintaining batching/request de-duping for streaming requests. Docs are still sparse, but the unit tests are there. Falcor-react-schema provides react integration and dynamic compositional route definitions, which we've been running a in production for about 6 months without issue. LMK if you have questions, or if I can help in other ways.

thank you very much @trxcllnt I will definitely try your libs; so basically I should be just able to install them and change my imports and everything should just work right? there is anything else, in particular, that you recommend having a look at?

@mattiaerre the only backwards-incompatible change is we removed path-syntax and HTTPDataSource from the core falcor project for speed and bundle size (currently @ 20kb gzipped!). The rest should be bug fixes, performance improvements, and new features. If bundle size isn't a concern, you can import @graphistry/falcor-model-rxjs, which wraps the public methods as RxJS5 Observables, and adds path-syntax support back in.
We also rely on webpack's DefinePlugin to rewrite source identifiers to our internal keys, so if you're doing any webpack aliasing, be sure to reference the dist files. The falcor.all build bundles in the dependencies from falcor-path-utils, and the falcor.node build has them externalized as regular CommonJS requires.
We've also made changes to the falcor-router to support streaming (which can be used in conjunction with the sinks/sources in falcor-socket-datasource).
The most visible change is that all path values and invalidations will be communicated back to the client, and the client update the cache accordingly. Previously, the client would ignore any extra data the server decided to transmit, and would also ignore invalidations returned by a get or set.
So if your routes communicate more data than requested (e.g. the client asks for path/foo, but the route emits path/foo and path/bar) or you have get/set routes that return path invalidations, the client cache will update to reflect this, full-stop.

@trxcllnt I am going to use your fork from now on; I just updated and published to npm this component (and also changed its name). v1.1.0 is going to be used by supersonic-lobster that I am going also to update to the graphistry fork


Can i trigger sort order from a button?

@pierreDevPhp It should be possible. But you didn't provide enough info, so I don't know how to use Vuetable.

i mean can i trigger sort columns from buttons click?

I want more detail on how do you picture to do that? What would your desired UI looks like?

something like this :


Shortlist Potential Graphing Library

Detail potential graphing libraries to use for the radar chart. Ideally it would be free and have a suitable open source license.
Highlight your preferred option.

Data Visualisation Library for Outcome Graph
NOTE: This is still a WIP - I have to add links for some of the libraries and add further information
Resources

Wikipedia page on JS Charting Frameworks Comparison
Udacity's 12 best charting libraries for web developers
TNW's 20 best js charting libraries

Choices

D3 - Github - 61k stars

Radar examples

http://bl.ocks.org/nbremer/6506614
http://bl.ocks.org/chrisrzhou/2421ac6541b68c1680f8
http://bl.ocks.org/tpreusse/2bc99d74a461b8c0acb1

Probably the most powerful and popular visualisation library

lots of libraries build on top of it

but pain to work with as-is
Open source
BSD-3 clause

Charts.js - GitHub- 28k stars

Radar example
Open source

ECharts - GitHub - 17 stars

Radar example
chinese library
seemingnly popular
has components for numerous view components (Angular, Vue, React)
quite comprehensive
open source
BSD licence (I think)

FusionCharts

Free version comes with watermark, have to pay for removal
30% discount for NGOs

Highcharts

Priced, but free for non-profits

plotly.js

Not exactly radar graph chart, but close

Wind rose chart
Polar chart

ZingChart

Radar link
Free version comes with watermark, have to pay for removal
Probably discount price for non-profit. Email at<EMAIL_ADDRESS>for details

AmCharts

Free version comes with watermark, have to pay for removal
Radar link

AnyChart

Free licence for non-profits
Radar link

jChartFx

Radar link
not open source
Free version comes with watermark, have to pay for removal

Webix

Radar link
http://webix.com/licenses/
GPL v3 standard licence with fewer features

DevExtreme

Radar example
Is a huge suite and very suitable for big corps
probably overkill

DHTMLX Charts

Radar example
Free with GNU GPL v2 Licence

Rgraph

Radar link (search for radar)
MIT Licence
Open source but can't seem to find the code on github

ShieldUI

Free for non-commercial use
Radar links

Polar line
Polar area

Codepen for Chart.js using data from the requirements page - still WIP, need to add the tooltips correctly

Chart.js has been chosen as the visualisation library. Closing this now.


init

👷 Deploy Preview for hongdeyu processing.

Name
Link

🔨 Latest commit
140557d63f349da866be4a8069054461a5a5b8ba

🔍 Latest deploy log
https://app.netlify.com/sites/hongdeyu/deploys/670c44ae34ce0d0008ebde56


boolReturnValue is broken.

Hi!
tests_DroneCAN_service/publish_messagges.cpp:81: error: Failure in TEST(DroneCAN_service_canard_publish, success_on_send_CAN_message)
src/CppUTestExt/MockNamedValue.cpp:200: error:
        expected <bool>
        but was  <int>
        difference starts at position 0 at: <          int       >

I got this mocking a function. I lasted to discover the issue, but this is the code:
bool send_frame(CAN_bus_driver_frame_t& can_frame)  {
        mock().actualCall("send_frame");
        return mock().boolReturnValue();

The issue disappear in this case:
bool send_frame(CAN_bus_driver_frame_t& can_frame)  {
        mock().actualCall("send_frame");
        return mock().intReturnValue();

@aralce Can you please show the code for expectCall() invocation?

@jgonzalezdr
I'm sorry, It was my fault. I was calling the mock with bad a type.
It works fine.


Metagenomics Sample Sheet generation introduces spaces in 'Sample_project' column.

Lab Control introduces space characters in 'Sample_Project' column because it appends the Qiita study owner. Spaces are not permitted within this column for the downstream workflows (this field specifies the directory where the demultiplexed data will be deposited).

@RodolfoSalido  Aha!  How would you like us to doctor the qiita study owner name in order to make it usable for downstream purposes?

I believe that replacing spaces with underscores will be appropriate. The formatted name will be the name for the directory where the demultiplexed data will be deposited.

Thanks @RodolfoSalido! Does this sound all right with you, @ghsmu414?

Before we have everyone sign off, let's take the opportunity to decide on other potential problem characters.  Whitespace becomes an underscore--check.  What about any other non alpha-numeric characters that might appear in a name?  Hyphens should be fine in a folder name, but what about, say, apostrophes (e.g., "O'Brien")?  @antgonza do you know if there are any limits on what characters can appear in a study owner name in Qiita?  Trying to figure out if LabControl needs to defensively scrub or if that will already have been done ...

@AmandaBirmingham Qiita's filters on names will allow all printable ASCII characters, if I'm not mistaken. The filters are primarily to filter out Unicode, etc. characters.

@charles-cowart and @AmandaBirmingham , that's correct but it will allow ' and also icons; cause I guess they are valid? See the list of newly created names in my local install:

@antgonza Whoa! :)  Ok, so I guess the requirements for fixing this issue are:

Replace whitespace with underscore
Replace any characters (other than whitespace) that aren't valid in a folder name with X--where X is whatever filler character is approved by the stakeholders.  Could be an empty string if they just want us to elide these characters.

@RodolfoSalido @ghsmu414 @jdereus I think you're the relevant stakeholders.  Please add in anyone I missed and talk amongst yourselves to decide what you want us to use for X !

@antgonza icons? That's interesting, as the filter is defined as 'anything not within the printable ASCII range'. Not sure if anyone is going to be using icons any time soon...

After seeing that this was possible, I was thinking in: "Antonio Gonzalez 👑 "

Project and sample names in the sample sheet cannot contain illegal characters not allowed by some file systems.   The characters not allowed are the space character and the following
? ( ) [ ] / \ = + < > : ; “ ‘ , * ^ | & .
From: Antonio Gonzalez<EMAIL_ADDRESS>Reply-To: jdereus/labman<EMAIL_ADDRESS>Date: Thursday, April 25, 2019 at 9:59 AM
To: jdereus/labman<EMAIL_ADDRESS>Cc: "Dereus, Jeff"<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [jdereus/labman] Metagenomics Sample Sheet generation introduces spaces in 'Sample_project' column. (#482)
After seeing that this was possible, I was thinking in: "Antonio Gonzalez 👑 "
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jdereus/labman/issues/482#issuecomment-486755071, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADNLN3JEI5BF5QS77SE5SJDPSHPPVANCNFSM4HIGSFJQ.

Ping @ghsmu414 @RodolfoSalido @jdereus I haven't heard an opinion on what you want us to replace any character that ISN'T whitespace with (e.g., if if PI name is "O'Brien", do we replace ' with - to get O-Brien? Or do we just remove that character altogether to get OBrien? etc).  Please let us know what you want!

If the hyphen doesn't introduce issues, then I think it is a good solution as a substitution for restricted characters. Underscore will replace whitespace characters while a hyphen will replace all other restricted characters.
-Rodolfo

On Apr 30, 2019, at 11:47 AM, Amanda Birmingham<EMAIL_ADDRESS>wrote:
Ping @ghsmu414 https://github.com/ghsmu414 @RodolfoSalido https://github.com/RodolfoSalido @jdereus https://github.com/jdereus I haven't heard an opinion on what you want us to replace any character that ISN'T whitespace with (e.g., if if PI name is "O'Brien", do we replace ' with - to get O-Brien? Or do we just remove that character altogether to get OBrien? etc). Please let us know what you want!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/jdereus/labman/issues/482#issuecomment-488069807, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEVFI5JO3NYIM6U7IOKE7TPTCH4NANCNFSM4HIGSFJQ.

Seems fine to me for hyphen.
From: RodolfoSalido<EMAIL_ADDRESS>Reply-To: jdereus/labman<EMAIL_ADDRESS>Date: Tuesday, April 30, 2019 at 12:15 PM
To: jdereus/labman<EMAIL_ADDRESS>Cc: "Dereus, Jeff"<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [jdereus/labman] Metagenomics Sample Sheet generation introduces spaces in 'Sample_project' column. (#482)
If the hyphen doesn't introduce issues, then I think it is a good solution as a substitution for restricted characters. Underscore will replace whitespace characters while a hyphen will replace all other restricted characters.
-Rodolfo

On Apr 30, 2019, at 11:47 AM, Amanda Birmingham<EMAIL_ADDRESS>wrote:
Ping @ghsmu414 https://github.com/ghsmu414 @RodolfoSalido https://github.com/RodolfoSalido @jdereus https://github.com/jdereus I haven't heard an opinion on what you want us to replace any character that ISN'T whitespace with (e.g., if if PI name is "O'Brien", do we replace ' with - to get O-Brien? Or do we just remove that character altogether to get OBrien? etc). Please let us know what you want!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/jdereus/labman/issues/482#issuecomment-488069807, or mute the thread https://github.com/notifications/unsubscribe-auth/ADEVFI5JO3NYIM6U7IOKE7TPTCH4NANCNFSM4HIGSFJQ.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jdereus/labman/issues/482#issuecomment-488079498, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADNLN3LN5XAOJZ2AU4NDEQTPTCLFTANCNFSM4HIGSFJQ.


add note about stack docker pull in Readme.md

I had to execute stack docker pull first, maybe that could be added to the instructions (log: https://gist.github.com/rubenpieters/7bc98bd0d86e582c8240dc4b60b0b54e )
I got the solution from: http://haskell-channel-logs.blogspot.be/2017/01/haskell-channel-featuring-bengt-janosp.html

This was due to a misconfiguration in the stack.yaml and should not be necessary any longer.


tour: On mobile the code is invalid

Context: https://tour.golang.org/moretypes/26

On desktop it works well.

It's an exercise, so you'll need to write the function to make it compile. On desktop it's the same, but if it was solved previously the solution will persist.


Error linke not working

I am using below code to concat error link to auth link and http link. However, the prints in the ErrorLink do not show when I purposefully cause error. I might be using it wrong because it's not documented. Any suggestions what might be wrong?
final HttpLink httpLink = HttpLink(
  uri: CONFIG.domain + '/apollo_api',
);

final CustomAuthLink authLink = CustomAuthLink(getHeaders: () async {
  final String token = await Storage.getAuthToken();
  final packageInfo = await PackageInfo.fromPlatform();

  final String buildNo = packageInfo.buildNumber;
  String os;

  if (Platform.isIOS) {
    os = 'iOS';
  } else if (Platform.isAndroid) {
    os = 'android';
  }

  return {
    'authorization': token,
    'os': os,
    'buildNo': buildNo,
  };
});

final ErrorLink errorLink = ErrorLink(
  errorHandler: (ErrorResponse response) {
    print(response);
    if (response.exception is OperationException) {
      print('exception:${response.exception}');
    }
  },
);

final Link link = authLink.concat(httpLink).concat(errorLink);

client = GraphQLClient(
  link: link,
  cache: NormalizedInMemoryCache(
    dataIdFromObject: cacheKeyBuilder,
  ),
);

can you try authLink.concat(errorLink.concat(httpLink)) . At least this is how I do it

@bsr203 unfortunately it does not work. What version of graphql-flutter are you using? I am currently using   graphql_flutter: ^2.1.1-beta.4

  graphql_flutter: ^2.1.1-beta.5

What about final Link link = authLink..concat(httpLink)..concat(errorLink);?
And is it working when you concat just two Links? You can also try the Link.from function and see if it works.

@serendipity1004 @mainawycliffe
Did anyone find a fix to this? I am also running into this problem. It seems that no matter the order, the linking stops working correctly when the http link is concatenated. Anything concatenated afterwards does not work. Thank you for the help in advance!

same problem for me, any new or idea ?

same problem for me, any news or idea ?

The order the links are concatenated matters. This ow i set it up to get a token that was passed in the header.
 static final Link _link = _tokenLink.concat(_authLink.concat(_httpLink));
I think you can substitute tokenLink for errorLink and it should work.

ok thx for your answer but I try with this
and it works

This is outdated / likely solved by using gql_links in 4.0.0-beta.1 #648. Please open a new issue if not


Helper methods not available from plugins?

In my bot:
helpers do
  def shutup?
    @shutup = false if @shutup_expire <= @shutup
    !!@shutup
  end
end

And in a plugin:
m.reply @factoids[matches[2].downcase] unless @bot.shutup?

But when running I get:
factoids.rb:31:in `listen': undefined method `shutup?' for #<Cinch::Bot:0x000000028ee098> (NoMethodError)

Am I misunderstanding how helpers work or is this a bug? I thought it would define the methods in the context of the bot object?

helpers is only used in combination with the on syntax. Since plugins are ordinary classes, they should just include/extend modules as needed.

So my plugin should extend my bot? Guess it's just my lack of Ruby knowledge at this point :P
How should I be doing this if this is working as intended? There's a central value that all plugins need to be able to check, and the configuration object doesn't seem like the right place.

The configuration object is the right place when that "central value" is a setting that won't change during runtime. Otherwise use something like this:https://gist.github.com/88eee25a620a8bb18408

The value will be changing, it's a plugin to let people request that the bot shuts up for an amount of time :P The idea is we only store the value (and set it) in the Shutup plugin, but it'd be available in all of the other plugins for seeing if they should output. Shutup and shutup_expire are both values that get set to Time objects when someone says "Bot, shut up."
I'll give that module method a shot, thanks.


DiBOL

DiBOL language (PDP-11 Hardware / RSX-11M-Plus Operating System)

It's been a very long time since anyone's sent a PR to this repo. Thank you.


Is there the ability to delete node but retain content in diagram

This may be a new feature requirement.  I duplicate diagram drawing for new alternative variate or simplified diagram and find I want to retain node content for nested nodes but delete containing node from view.  This could be extended to moving the containing node without moving content on diagram or even just doing move so can be moved out the way then deleted.

I have used this solution but is problematic if many nodes involved along with connections.  One has to get the nodes back in exact same place.  Thought it would be very simple to improve as node to delete is highlighted without containing nodes so just a matter of adding new option and changing point in code where it processes dependents..

There are many selection options such as "Select Contained Nodes" in the selection tool from the palette,

Aware of those options. Proffering this as a quick win in ease of use.  Easier to move/delete one node than move many twice


Changed were made to the code

What is the purpose of the change
Code optimization, fix delete and get api error in ECResourceInfoRestfulApi class.
Related issues/PRs
Related issues: #4735
Related pr:#4756

LGTM.


Add dirigeants data to search and API

closes #52
closes #66
depends on https://github.com/etalab/annuaire-entreprises-search-infra/pull/47

@XavierJp @geoffreyaldebert
I refactored a little and I also ran the tests and it all seems in order ^^


French equivalent of Given is invariable

🤔 What's the problem you're trying to solve?
The equivalent of Given in French is invariable. It should be Etant donné or Etant donné que only.
✨ What's your proposed solution?
Remove all existing sentences, other than Etant donné and Etant donné que:

Etant donnée
Etant données
Etant donnés

⛏ Have you considered any alternatives or workarounds?
Let people write French like they want, but that would be direspectful for the language.

This text was originally generated from a template, then edited by hand. You can modify the template here.

Cucumber JVM generates the annotations based on Gherkin. So I'm moving this to the common repo.
The translations can be found in:
https://github.com/cucumber/common/blob/main/gherkin/gherkin-languages.json#L1308

@ecattes how would you translate the following English step to French:
Given the following cars:
  | year | car                        |
  | 1936 | Bugatti Type 57SC Atlantic |
  | 1948 | Tucker Torpedo             |

I would write it like this:
Étant données les voitures suivantes:
  | année  | voiture                    |
  |   1936 | Bugatti Type 57SC Atlantic |
  |   1948 | Tucker Torpedo             |

I am not a native French speaker so I might have something to learn about grammar here...

/cc @boucardbruno and @jbpros who added this translation here: https://github.com/cucumber-attic/gherkin2/compare/v2.5.1...v2.5.2

Hello @aslakhellesoy.
It would be Étant donné les voitures suivantes. It's a particular thing of French grammar called '' preposition ''. If it was after the car, it would be Les voitures suivante étant données.
You could find more info here : https://www.larousse.fr/dictionnaires/francais/étant_donné/31312

Wow you learn something new every day. I’m all for removing the grammatically incorrect synonyms, but it would require a major release of Gherkin (and anything depending on it).

I agree. Maybe we could depreciate all wrong synonyms before removing them?

It’s deprecate :-). We don’t have a deprecation mechanism for keywords. Maybe we should make one…

If it does not happen often, such a mechanism is not necessary, IMO

@stof

/cc @boucardbruno and @jbpros who added this translation here<EMAIL_ADDRESS>
Désolé! 🤓
I must say, now that I see it, I’m embarrassed I let that mistake go through!

It happens. I'm French native and I discovered that rule few days ago. So we were wrong writing scenarios in team 😅

I think 'people may write the scenario like this' is more important than grammatical purity though?


Cutscene crashes on running a private coroutine

Not sure what magic makes it work for regular private methods, but it unfortunately doesn't work for coroutines. Here's a simple cutscene that can be used to replicate the crash:
function onBegin()
  getRoom():Options(0, false)
end

Options attempts to run CloseAndRun from Level and then crashes. You can also see this by attempting to run this one while over a watchtower:
function onBegin()
  celeste.Lookout.Interact(player)
end

...as Interact tries to run LookRoutine and also crashes.
In general any private coroutine will crash even if it's not wrapped in a method like the 2 examples above - see coroutine.yield(celeste.Lookout.LookRoutine), that also crashes.

Permanently broken as of the Everest Core migration, no need to address here


Remove Product Hunt team score

This PR

removes the team score of PH reviewer.

@friedger Hi, thanks for the PR.  The team has been working on updates to this material which we will be making this week. I'm going to close this PR in favor of the material they are providing to me.  If you like, I can ping you in that new material.


Copy Task can not copy to large destination folder

Reported here earlier :
https://discuss.gradle.org/t/copy-task-extremely-slow/2544/7
https://issues.gradle.org/browse/GRADLE-2867
Running a copy task with the destination being a highly populated folder is unmanageable.  The hash calculation takes too long and is prone to failure if the folder is also being updated from other processes
If just the destination file path could be hashed that would be great, otherwise some mechanism for disabling the hash check is required.
There are still many benefits to using a CopyTask even without this state check, but in some cases this check is not feasible.

The Copy task is just a wrapper around Project.copy(...) with support for task inputs/outputs for up-to-date checks. If you don't want the up-to-date checks, just use Project.copy(...) manually
task myCopy {
   doLast {
      copy {
         from 'foo'
         into 'bar'
      }
   }
}

@uklance explained this appropriately. There might be good reasons why you do not want to use generate these hashes by using the copy method. Can we close the issue?

Closing as there is a simple workaround.

So the simple walkaround is just to never use the Copy task.  ok great


Pin dev python version to 3.8

Description
Fixes #224
Checklist

[x] Added link to Github issue or Trello card
[ ] Added tests

It is going to be tricky to make both environment pass for both pythons. One workaround is to do
make PYTHON_VERSION=python3 virtualenv
in the travis.yml CI, and let the travis environment decide which python3 to use.
Alternatively, you can modify the install script to make it depend on the python environment, and then use a similar command as above, but with the specific python.

It is going to be tricky to make both environment pass for both pythons. One workaround is to do
make PYTHON_VERSION=python3 virtualenv
in the travis.yml CI, and let the travis environment decide which python3 to use.
Alternatively, you can modify the install script to make it depend on the python environment, and then use a similar command as above, but with the specific python.

Weird situation, will do some research as well. Not sure what the best practice is here.

You could add an environment variable to your .travis.yaml and assign the python version in the Makefile based on if that flag exists.
for instance you could add
env:
  global:
    - IS_IN_TRAVIS=1

Then modify the Makefile to have
ifdef IS_IN_TRAVIS
PYTHON_VERSION := python3
else
PYTHON_VERSION := python3.8
endif

I am now having second thoughts on whether this change is necessary. Initially I thought that this moves us towards reproducibility which it does but we are testing and supporting 3.7 and 3.8 at this point so for as long as someone develops with either that should be fine. What is the benefit of restricting development to 3.8, if anything you can argue that this way error with 3.7 will be rarely caught from us.
Thoughts @jdu @aCampello

I am now having second thoughts on whether this change is necessary. Initially I thought that this moves us towards reproducibility which it does but we are testing and supporting 3.7 and 3.8 at this point so for as long as someone develops with either that should be fine. What is the benefit of restricting development to 3.8, if anything you can argue that this way error with 3.7 will be rarely caught from us.
Thoughts @jdu @aCampello

I mean as long as you avoid assignment expressions and positional-only arguments anything you build for 3.7 should work fine for 3.8 generally. Unless there's an issue with one of the libraries that you're depending on that needs 3.8?

I am now having second thoughts on whether this change is necessary. Initially I thought that this moves us towards reproducibility which it does but we are testing and supporting 3.7 and 3.8 at this point so for as long as someone develops with either that should be fine. What is the benefit of restricting development to 3.8, if anything you can argue that this way error with 3.7 will be rarely caught from us.
Thoughts @jdu @aCampello

I mean as long as you avoid assignment expressions and positional-only arguments anything you build for 3.7 should work fine for 3.8 generally. Unless there's an issue with one of the libraries that you're depending on that needs 3.8?

I think the problem was the libraries, probably tensorflow or spacy in particular but not sure. One of them required python 3.7

Tensorflow required 3.7, that's why we allowed failures fro 3.8, but now they improved their support to 3.8 and both pass

Tensorflow required 3.7, that's why we allowed failures fro 3.8, but now they improved their support to 3.8 and both pass

@jdu suggests that tox is the magic bullet we want

Tensorflow required 3.7, that's why we allowed failures fro 3.8, but now they improved their support to 3.8 and both pass

@jdu suggests that tox is the magic bullet we want

is there consensus for switching to tox? @aCampello @lizgzil. tox essentially creates a virtualenv and runs the tests, this makes tests more reproducible as you also manage the environment that tests run which now can be different in travis and our machines.

Tox is great, I think Matt used it before for another project. I am happy to go with it!

Tox is great, I think @ivyleavedtoadflax used it before for another project with us. I am happy to go with it!

Ok will transition us to tox. It is written from the same guy that wrote pytest so it should play nicely.

Closing this and will reopen with tox


setup example

hi!
(total noob with node.js over here)
sorry to be the only issue opened so far, asking for help... i've been trying to setup kirby + spad together with choo.js, for the frontend, and i'm having some problems at the basic understanding of how things move between the two environments:

kirby spad outputs a json object (all good)
choo needs to read / import this object somehow, but how do you do that?

once bankai starts, it outputs and index.html on its own, or if you set a custom one, it still lives elsewhere far away than where you set <script>var data = <?= $site->spad() ?></script>.
my question would be if you could point to an existing setup or to give some suggestions on how to hook the kirby json output with choo.
thank!
af

yo! thanks for the note. Only have time right now for a really brief rundown but maybe this will help?
Generally there's a couple ways to go about it, if you want to use bankai, you'll need 2 servers running. The bankai server, and then the server running kirby. Then from w/in your choo app you can fetch the data from kirby to populate state using xhr or fetch or w/e you like to use with the route that spad exposes: https://github.com/jongacnik/spad#route
The other way to go about it is to not use bankai and use browserify/watchify to compile your choo app directly into your kirby site (ouput the bundle.js into assets/js of your kirby site). Then you could inline your data like <script>var data = <?= $site->spad() ?></script> into kirby's default.php template. Since the data and the choo app live in the same place in this case, yoru choo app could just look for the data variable and use that for state.

thank you for your answer, very helpful explanation for both options.


Tags that contain a '/' cause directories to be created that are undeleteable

If the 'title' tag in a file has a '/' in it, the lyrics get saved to a folder that is not deleteable.
If the title tag is a/b, instead of file being created a folder called 'b' is created. Probably with a special character in it. The folder b is not deleteable.
NO combination of rmdir, get-item remove-item, or GUI commands can delete or rename the folder.
Steps to reproduce

have a title tag with '/' in it

Expected behavior
Lyrics get saved to a file.
Versions

foobar2000 version: 2.0
OpenLyrics version: 1.6

Additional information

Sorry, I don't want to reproduce the error. I can not find a solution to delete the folder after it is created.

If the 'title' tag in a file has a '/' in it, the lyrics get saved to a folder that is not deleteable.

The folder creation is intentional (you can change the format to replace the slashes if you don't want that behaviour). The inability to delete them though, obviously is not.
Let's just get some obvious checks out of the way to start with:

What happens when you try to delete it from explorer? You say that no "GUI commands" delete it, I assume that's what you're referring to but I'm just checking because you didn't have a screenshot of that case.
Are you absolutely sure you're trying to delete the correct filename? For example in your last screenshot you've got a trailing space but it's not obvious from the dir above whether that's correct and the error it gives is that the file doesn't exist (rather than that it couldn't be deleted, although I have not checked myself if that's actually what it would give in that case). Can you dir/ls the undeletable folder (which should contain the actual lyrics file)?
It looks like this is writing to a network drive. Is that true and does the same thing happen on a regular local disk? (Network drives sometimes have weird permissions issues, especially if they're not powered by Windows under the hood and expect linux-style permissions attributes)

@purdym I'll have to try it out myself to see if I can reproduce this locally but I haven't gotten a chance yet. For now though I just wanted to point out that it seems like your replies were meant to have images in them (implied by the text and large open whitespace), but they don't show up for me.
Another thing that randomly occurred to me is permissions. It's a bit of a long shot but are you possibly running fb2k as admin? That would probably cause any files/folders it creates to be owned by the admin user rather than you user, which then might not have permission to delete them. You can check this by right-clicking on the folder -> Properties -> Security -> Advanced and seeing who is listed as the owner (at the top of the resulting dialog) as well as the permissions for other users below, and compare that to the user you're running as when you're trying to delete the file.

Resending to see if you get the images…
#2.
Yes, I’m sure I’m trying to delete the correct file. Both through the GUI and from command prompt and from powershell. I’ve typed the name and used tab completion.
@.***
#3.
I’ve run all the commands locally on my media server and on a client machine. Neither are able to delete the folders.
Miles
From: Jacques Heunis @.***
Sent: June 17, 2023 2:30 AM
To: jacquesh/foo_openlyrics
Cc: purdym; Author
Subject: Re: [jacquesh/foo_openlyrics] Tags that contain a '/' cause directories to be created that are undeleteable (Issue #273)
If the 'title' tag in a file has a '/' in it, the lyrics get saved to a folder that is not deleteable.
The folder creation is intentional (you can change the format to replace the slashes if you don't want that behaviour). The inability to delete them though, obviously is not.
Let's just get some obvious checks out of the way to start with:

What happens when you try to delete it from explorer? You say that no "GUI commands" delete it, I assume that's what you're referring to but I'm just checking because you didn't have a screenshot of that case.
Are you absolutely sure you're trying to delete the correct filename? For example in your last screenshot you've got a trailing space but it's not obvious from the dir above whether that's correct and the error it gives is that the file doesn't exist (rather than that it couldn't be deleted, although I have not checked myself if that's actually what it would give in that case). Can you dir/ls the undeletable folder (which should contain the actual lyrics file)?
It looks like this is writing to a network drive. Is that true and does the same thing happen on a regular local disk? (Network drives sometimes have weird permissions issues, especially if they're not powered by Windows under the hood and expect linux-style permissions attributes)

—
Reply to this email directly, view it on GitHub https://github.com/jacquesh/foo_openlyrics/issues/273#issuecomment-1595657647 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BAUDGQN3MYNVOLVPNUKJEDLXLVMH5ANCNFSM6AAAAAAZJVAZ2E .
You are receiving this because you authored the thread.https://github.com/notifications/beacon/BAUDGQLNG4GNRUHIU5DB47TXLVMH5A5CNFSM6AAAAAAZJVAZ2GWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7DPG26.gifMessage ID: @.***>
--
This email has been checked for viruses by Avast antivirus software.
www.avast.com

Resending with images as attacments.
Miles
From: Jacques Heunis @.***
Sent: June 17, 2023 2:30 AM
To: jacquesh/foo_openlyrics
Cc: purdym; Author
Subject: Re: [jacquesh/foo_openlyrics] Tags that contain a '/' cause directories to be created that are undeleteable (Issue #273)
If the 'title' tag in a file has a '/' in it, the lyrics get saved to a folder that is not deleteable.
The folder creation is intentional (you can change the format to replace the slashes if you don't want that behaviour). The inability to delete them though, obviously is not.
Let's just get some obvious checks out of the way to start with:

What happens when you try to delete it from explorer? You say that no "GUI commands" delete it, I assume that's what you're referring to but I'm just checking because you didn't have a screenshot of that case.
Are you absolutely sure you're trying to delete the correct filename? For example in your last screenshot you've got a trailing space but it's not obvious from the dir above whether that's correct and the error it gives is that the file doesn't exist (rather than that it couldn't be deleted, although I have not checked myself if that's actually what it would give in that case). Can you dir/ls the undeletable folder (which should contain the actual lyrics file)?
It looks like this is writing to a network drive. Is that true and does the same thing happen on a regular local disk? (Network drives sometimes have weird permissions issues, especially if they're not powered by Windows under the hood and expect linux-style permissions attributes)

—
Reply to this email directly, view it on GitHub https://github.com/jacquesh/foo_openlyrics/issues/273#issuecomment-1595657647 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BAUDGQN3MYNVOLVPNUKJEDLXLVMH5ANCNFSM6AAAAAAZJVAZ2E .
You are receiving this because you authored the thread.https://github.com/notifications/beacon/BAUDGQLNG4GNRUHIU5DB47TXLVMH5A5CNFSM6AAAAAAZJVAZ2GWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7DPG26.gifMessage ID: @.***>
--
This email has been checked for viruses by Avast antivirus software.
www.avast.com

Hello,
I don’t know what I did differently, but I managed to fix one of the errors.
I put the directory name in quotes, with space / \ at the end. I’m sure I tried that before.
H:\Media\Audio\p\Pete Townshend\Pete Townshend - Hi-Res Masters [FLAC]>rmdir "Pete Townshend - Baba O'Riley (Instrumental Version "
The system cannot find the file specified.
H:\Media\Audio\p\Pete Townshend\Pete Townshend - Hi-Res Masters [FLAC]>rmdir "Pete Townshend - Baba O'Riley (Instrumental Version /"
H:\Media\Audio\p\Pete Townshend\Pete Townshend - Hi-Res Masters [FLAC]>dir
Volume in drive H is Audio
Volume Serial Number is 482D-776E
Directory of H:\Media\Audio\p\Pete Townshend\Pete Townshend - Hi-Res Masters [FLAC]
2023-06-18  06:55 PM              .
2023-06-14  10:02 PM              ..
           0 File(s)              0 bytes

           2 Dir(s)  2,885,592,809,472 bytes free

H:\Media\Audio\p\Pete Townshend\Pete Townshend - Hi-Res Masters [FLAC]>cd ..
H:\Media\Audio\p\Pete Townshend>
From: Jacques Heunis @.***
Sent: June 18, 2023 9:18 AM
To: jacquesh/foo_openlyrics
Cc: purdym; Mention
Subject: Re: [jacquesh/foo_openlyrics] Tags that contain a '/' cause directories to be created that are undeleteable (Issue #273)
@purdym https://github.com/purdym  I'll have to try it out myself to see if I can reproduce this locally but I haven't gotten a chance yet. For now though I just wanted to point out that it seems like your replies were meant to have images in them (implied by the text and large open whitespace), but they don't show up for me.
Another thing that randomly occurred to me is permissions. It's a bit of a long shot but are you possibly running fb2k as admin? That would probably cause any files/folders it creates to be owned by the admin user rather than you user, which then might not have permission to delete them. You can check this by right-clicking on the folder -> Properties -> Security -> Advanced and seeing who is listed as the owner (at the top of the resulting dialog) as well as the permissions for other users below, and compare that to the user you're running as when you're trying to delete the file.
—
Reply to this email directly, view it on GitHub https://github.com/jacquesh/foo_openlyrics/issues/273#issuecomment-1596165612 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BAUDGQOGOBWKYYKDMIB4DDTXL4E2HANCNFSM6AAAAAAZJVAZ2E .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/BAUDGQJE32EKRMAZ4UZC5GDXL4E2HA5CNFSM6AAAAAAZJVAZ2GWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7EOG6Y.gif Message ID: @.***>
--
This email has been checked for viruses by Avast antivirus software.
www.avast.com

Hello,
If I start back at the beginning, perhaps this is helpful.
Attached is the tag information for the Patti Smith file. You can see the title contains a : and / which, AFAIK, are illegal in windows.
So I’m assuming the code created a ‘file’ with those characters? That they do not get stripped out?
Miles
From: Jacques Heunis @.***
Sent: June 18, 2023 9:18 AM
To: jacquesh/foo_openlyrics
Cc: purdym; Mention
Subject: Re: [jacquesh/foo_openlyrics] Tags that contain a '/' cause directories to be created that are undeleteable (Issue #273)
@purdym https://github.com/purdym  I'll have to try it out myself to see if I can reproduce this locally but I haven't gotten a chance yet. For now though I just wanted to point out that it seems like your replies were meant to have images in them (implied by the text and large open whitespace), but they don't show up for me.
Another thing that randomly occurred to me is permissions. It's a bit of a long shot but are you possibly running fb2k as admin? That would probably cause any files/folders it creates to be owned by the admin user rather than you user, which then might not have permission to delete them. You can check this by right-clicking on the folder -> Properties -> Security -> Advanced and seeing who is listed as the owner (at the top of the resulting dialog) as well as the permissions for other users below, and compare that to the user you're running as when you're trying to delete the file.
—
Reply to this email directly, view it on GitHub https://github.com/jacquesh/foo_openlyrics/issues/273#issuecomment-1596165612 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BAUDGQOGOBWKYYKDMIB4DDTXL4E2HANCNFSM6AAAAAAZJVAZ2E .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/BAUDGQJE32EKRMAZ4UZC5GDXL4E2HA5CNFSM6AAAAAAZJVAZ2GWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7EOG6Y.gif Message ID: @.***>
--
This email has been checked for viruses by Avast antivirus software.
www.avast.com

Sorry to spam you tonight, I’ve fixed it.
H:\Media\Audio\p\Patti Smith\Patti Smith - Hi-Res Masters [FLAC]>rmdir "Patti Smith - Land- Horses /\ Land of a Thousand Dances /"
H:\Media\Audio\p\Patti Smith\Patti Smith - Hi-Res Masters [FLAC]>rmdir "Patti Smith - Land- Horses /"
H:\Media\Audio\p\Patti Smith\Patti Smith - Hi-Res Masters [FLAC]>dir
Volume in drive H is Audio
Volume Serial Number is 482D-776E
Directory of H:\Media\Audio\p\Patti Smith\Patti Smith - Hi-Res Masters [FLAC]
2023-06-18  07:49 PM              .
2023-06-18  07:31 PM              ..
           0 File(s)              0 bytes

           2 Dir(s)  2,885,592,809,472 bytes free

H:\Media\Audio\p\Patti Smith\Patti Smith - Hi-Res Masters [FLAC]>
Would it be appropriate for the code to remove all special characters before creating a file?
I’ll let you look at this now and decide. I’ve fixed my problems.
Thank you for taking the time to help me. And I do enjoy the plugin J
Miles
From: Jacques Heunis @.***
Sent: June 18, 2023 9:18 AM
To: jacquesh/foo_openlyrics
Cc: purdym; Mention
Subject: Re: [jacquesh/foo_openlyrics] Tags that contain a '/' cause directories to be created that are undeleteable (Issue #273)
@purdym https://github.com/purdym  I'll have to try it out myself to see if I can reproduce this locally but I haven't gotten a chance yet. For now though I just wanted to point out that it seems like your replies were meant to have images in them (implied by the text and large open whitespace), but they don't show up for me.
Another thing that randomly occurred to me is permissions. It's a bit of a long shot but are you possibly running fb2k as admin? That would probably cause any files/folders it creates to be owned by the admin user rather than you user, which then might not have permission to delete them. You can check this by right-clicking on the folder -> Properties -> Security -> Advanced and seeing who is listed as the owner (at the top of the resulting dialog) as well as the permissions for other users below, and compare that to the user you're running as when you're trying to delete the file.
—
Reply to this email directly, view it on GitHub https://github.com/jacquesh/foo_openlyrics/issues/273#issuecomment-1596165612 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BAUDGQOGOBWKYYKDMIB4DDTXL4E2HANCNFSM6AAAAAAZJVAZ2E .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/BAUDGQJE32EKRMAZ4UZC5GDXL4E2HA5CNFSM6AAAAAAZJVAZ2GWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7EOG6Y.gif Message ID: @.***>
--
This email has been checked for viruses by Avast antivirus software.
www.avast.com

Solution, if any one else need this:
Carefully note <back_slash><back_slash><back_slash>
and
<back_slash>
Delete deepest directory first.
rmdir "Patti Smith - Land- Horses \/\ Land of a Thousand Dances \/"
rmdir "Patti Smith - Land- Horses \/"

Adding to this, artists with names starting with and/or ending with a period '.' create folders that exhibit the same problems as folders with a '/' in the name


usfinder hcam_finder-1.1.5 won't run

hcam-finder version: 1.1.5
Python version: 3.7.3
Operating System: debian linux

Description
running usfinder from 1.1.5 outputs...
/usr/local/lib/python3.7/dist-packages/ginga/cmap.py:13317: MatplotlibDeprecationWarning: The global colormaps dictionary is no longer considered public API.
for name in _cm.cmap_d:
Traceback (most recent call last):
File "/usr/local/bin/usfinder", line 315, in
main()
File "/usr/local/bin/usfinder", line 309, in main
fv = FitsViewer(logger)
File "/usr/local/bin/usfinder", line 108, in init
self.globals.ipars = InstPars(self)
File "/usr/local/lib/python3.7/dist-packages/hcam_widgets/uspec.py", line 152, in init
nx, ny, xbfac, ybfac, self.check, hcam=False)
TypeError: init() got an unexpected keyword argument 'hcam'
Cheers
Paul.

Thanks Paul,
This was a bug in the support package hcam_widgets. There is a new release of that package (v0.8.1) which fixes this, and a new release of hcam_finders (v1.1.6), whose only change is to insist on hcam_widgets >= 0.8.1
Stu

Thanks Paul,
This was a bug in the support package hcam_widgets. There is a new release of that package (v0.8.1) which fixes this, and a new release of hcam_finders (v1.1.6), whose only change is to insist on hcam_widgets >= 0.8.1
Stu


Triviagen-7: Create main menu screen and change theme

Main menu screen

App logo

I have created a package presentation in the core, where I put TriviaGenScaffold, so I can be reusable not only in trivia feature. Also changes to Scaffold like adding bottom bar are applied to each screen that uses this function.

LGTM. Any thoughts on using a fork vs branches for Pull Requests? Any pros and cons?

I think the fork is better, I can work in local environment, don't affecting anything.


chore: Add rewrite to www

Closes #
✅ Checklist

[x] I have followed every step in the contributing guide (updated 2022-10-06).
[x] The PR title follows the convention we established conventional-commit
[ ] I performed a functional test on my final commit

Changelog
[Short description of what has changed]

Screenshots
[Screenshots]
💯

@juliusmarminge can you allow this to vercel so I can test it there ?

@juliusmarminge can you allow this to vercel so I can test it there ?

Done

I looked into this and currently, while /upgrade rewrites to t3-upgrade, the assets (css, js, fonts) don't really work.
It may be doable but I'm not sure how.
I found this which might be useful:
https://github.com/vercel/next.js/issues/5602#issuecomment-673382891
https://docs.astro.build/en/guides/integrations-guide/vercel/#vercel-middleware
A mix of these two might work but I'm over my head with this.
I think maybe the middleware file in the www folder + the assetPrefix + rewrites in the upgrade project might work but I'm not sure if that makes sense

Also this:
https://github.com/vercel/next.js/issues/5602#issuecomment-986915749


Bazel config for iOS: thread and undefined behavior sanitizers, address sanitizer, static analyzer

We need to modify the Bazel config to allow running the unit tests with thread and undefined behavior sanitizers, address sanitizer & static analyzer.
To pick up after #1291 is merged.
cc @mwilsnd

We now run the UI tests with Address+UB Sanitizer.


RX-Core Discontinued on Nuget

RX-Core has been discontinued on Nuget https://www.nuget.org/packages/Rx-Main/2.2.5
The package has been renamed System.Reactive, System.Reactive.Core... etc.  You can still download 2.2.5 through Nuget from the command line but if you search "rx-core" you won't find it.  In any case it looks like to be current you need to update to the new naming convention and the 3.x version.

I think with v3 they made it compatible to .NET Core or the .NET Standard Library or whatever they call their new platform. As far as I know there shouldn't be any breaking changes for us so switching should be fine. Thanks for the hint.

I just tried to upgrade one of my home projects to Rx.NET v3, but there's a conflict because RxUI still depends on Rx.NET 2.2.5. Normally the way to solve this is using binding redirects, but because Rx.NET's public key token changed I don't think this is easily doable.

We'll have to wait for RxUI v7. See https://github.com/reactiveui/ReactiveUI/issues/1139


[wallet] whitelist by origins

when approving DApp's requests, display a checkbox and configs to allow the whitelist by origin:
map<origin, <contract method, amount, recipient, time duration>>

client-side: https://github.com/GetScatter/scatter-js/blob/4b8e8c3512c8fbf258fa01686e550416429a25c7/packages/core/src/services/SocketService.js#L249
https://github.com/GetScatter/ScatterDesktop/blob/6789339f60af2d2ce512e0292f4ff3673c601b89/src/services/utility/SocketService.js#L63


Print slightly more detailed CPU topology info at startup by default

Original issue: https://charm.cs.illinois.edu/redmine/issues/1882

We always print the number of PUs on a node during startup. On Quartz (LLNL), each node has 2 sockets, each socket has 18 cores, and each core has 2 PUs. We only print that each node is "72-way SMP" during startup, as in the following:
Charm++> Running on 8 unique compute nodes (72-way SMP).

I think we should print the number of nodes, the number of sockets per node, the number of cores per socket, and the number of PUs per core. This way it's easier to verify that hwloc and Charm++ are getting the right thing.

Original date: 2018-05-10 23:43:15

~~https://charm.cs.illinois.edu/gerrit/4164~~ https://github.com/UIUC-PPL/charm/commit/799a9f1ec31eada349961a4c12f025ef7a5d4189


⚠ ClamAV has degraded performance

In 03a6332, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 79 ms

Resolved: ClamAV performance has improved in 0b1c592 after 5 minutes.


Fix test that uses timer, failing due to time resolution

It was failing intermittently if the code ran too fast and the time measured on the next line was the same.

Codecov Report

Merging #15 (2f3300a) into main (9bb0a1a) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main      #15   +/-   ##
=======================================
  Coverage   91.24%   91.24%
=======================================
  Files          12       12
  Lines        1862     1862
=======================================
  Hits         1699     1699
  Misses        163      163

Impacted Files
Coverage Δ

src/storage/node_bucket_storage.rs
79.20% <100.00%> (ø)

Continue to review full report at Codecov.

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


Provide a binary to report status of a git directory

Something like:
gitstatus mydir # OUTPUT: RMD

Tried to cancel but too late.

What would that bring more than git status?

Probably not much except a single string the user could match against. Using it now I get a list of codes, but I may not be using it correctly.

Closed as unnecessary after the latest release.


Support using manila/native cephfs with standalone

This is useful for a adoption test/dev environment.

recheck
unsure how this would cause a failure to deploy/adopt heat:
https://review.rdoproject.org/zuul/build/d0ea74c8cbb246f38c21e1a5fbad237e/log/controller/data-plane-adoption-tests-repo/data-plane-adoption/tests/logs/test_with_ceph_out_2023-11-03T03:22:29EDT.log#392-393

/lgtm

@marios @jistr is that ok to enable manila by default in standalone? this will help to support by default the manila adoption in the testsuite (this assumes we have Ceph as a backend)

I don't feel strongly one way or another. On one hand i don't think it's a problem, on the other hand we'll have to draw the line somewhere regarding what we deploy in the "all in one" and what should go into per-DFG jobs... I'm thinking we could perhaps do this and if we hit stability trouble with too many services being tested in a single job, we may try to walk it back and split into per-service jobs? But my vote should be weak in matters of setting CI patterns.
Curious what @marios and @cescgina think :)

Thanks @jistr for your thoughts.
We already added a MANILA_ENABLED bool, so it would be easy to create jobs w/o Manila if required or if we're going to hit issues w/ the standalone deployment.

For completeness i'll mention here that we just discussed this at the Adoption call and the consensus was in the spirit of "let's just include it and in case it causes any issues we can revisit the decision".

/lgtm

I don't feel strongly one way or another. On one hand i don't think it's a problem, on the other hand we'll have to draw the line somewhere regarding what we deploy in the "all in one" and what should go into per-DFG jobs... I'm thinking we could perhaps do this and if we hit stability trouble with too many services being tested in a single job, we may try to walk it back and split into per-service jobs? But my vote should be weak in matters of setting CI patterns.
Curious what @marios and @cescgina think :)

I'm fine with this change, if problematic it's easy enough to turn off, and CI does not seem to have a problem. One thing to keep in mind is that the standalone vm does not have a ton of resources, being nested. I don't think this will be a problem, since we're currently switching to a different layout without any nested vms.


Module export rules needed with java17 defined via options.compilerArg are not applied to annotation processor

Expected Behavior
There should be a way to specify module export rules for those to apply to annotation processor
Current Behavior
only able to set module rules via global gradle JVM gradle.properies
Context
We have a happy codebase which works fine under java 11. JDK17 imposes additional module export requirments around javac internal API usages by our annotation processor, we are unable to set such rules locally just for specific compilation task. As a workaround we set export rules globally. Both problematic and workaround versions are attached.
How we believe it export rules should be added does not get the job done see attached project
compileJava {
    options.compilerArgs += ["--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
                             "--add-exports=jdk.compiler/sun.nio.ch=ALL-UNNAMED"]
   }

how we work around the issue
org.gradle.jvmargs= --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
  --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED \
 --add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED \
 --add-exports=jdk.compiler/sun.nio.ch=ALL-UNNAMED \
 --add-exports=java.base/sun.nio.ch=ALL-UNNAMED

devexperts-17-workaround.zip
devexperts-17-issue.zip
This adds steps-to-reproduce for https://github.com/gradle/gradle/issues/21310
This is a duplicate of https://github.com/gradle/gradle/issues/22065 where we have failed to express ourselves

Hi @abelom, I've tried to reproduce your issue but the project without the workaround builds successfully using Java 17 Temurin and Gradle 7.5.1.
Indeed the project fails to build when removing the add-exports from the build file:
* What went wrong:
Execution failed for task ':compileJava'.
> superclass access check failed: class com.devexperts.uilocalizer.AddLocalizationNodesVisitor (in unnamed module @0x7ba528ef) cannot access class com.sun.tools.javac.tree.JCTree$Visitor (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.tree to unnamed module @0x7ba528ef

Could you please provide more details on your issue in order to reproduce it? Thanks

Closing as not reproducible. Please feel free to reopen when providing the required information.

Faced the same problem. Setting org.gradle.jvmargs did nothing.
What worked:
    tasks.withType(JavaCompile).configureEach {
        options.forkOptions.jvmArgs += ['--add-opens=java.base/java.lang=ALL-UNNAMED']
        options.fork = true
    }

plugins {
    id("dev.xdark.betterrepeatable") version "1.2"
}

AP in question.


Bump version to create a release with updated AutoMapperList type

I'm fixing some type issues in SparkPipelineFramework and want access to the new and improved AutoMapperList to avoid have to make changes to the types down the road.

Looks like release 0.1.32 already exists, the VERSION in main just doesn't match.