Post version update check inconsistently displays wrong version

Happens both with Composer and direct install, I think.
Using version ^0.7.20 for hyde/cli
The application has been updated successfully.

 v0.7.19 - Experimental Standalone - (HydePHP v1.6.0)

Dumping a bunch of logs from updates. Hopefully me or an AI can find the pattern
 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.20 -> v0.7.21)
Updating to the latest version...
Updating the application...
Updating via Composer...
Changed current directory to /home/caenwsl/.config/composer
./composer.json has been updated
Running composer update hyde/cli
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
  - Upgrading hyde/cli (v0.7.20 => v0.7.21)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Downloading hyde/cli (v0.7.21)
  - Upgrading hyde/cli (v0.7.20 => v0.7.21): Extracting archive
Generating autoload files
53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
Using version ^0.7.21 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.20 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.20 -> v0.7.21)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.21 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
Checking for updates... A new version is available (v0.7.21 -> v0.7.22)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.22 - Experimental Standalone - (HydePHP v1.6.0)

 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.21 -> v0.7.22)
Updating to the latest version...
Updating the application...
Updating via Composer...
Changed current directory to /home/caenwsl/.config/composer
./composer.json has been updated
Running composer update hyde/cli
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
  - Upgrading hyde/cli (v0.7.21 => v0.7.22)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Downloading hyde/cli (v0.7.22)
  - Upgrading hyde/cli (v0.7.21 => v0.7.22): Extracting archive
Generating autoload files
53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
Using version ^0.7.22 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.22 - Experimental Standalone - (HydePHP v1.6.0)

 sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.22 -> v0.7.23)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.23 - Experimental Standalone - (HydePHP v1.6.0)

 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.23 -> v0.7.24)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.23 => v0.7.24)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.24)
 > - Upgrading hyde/cli (v0.7.23 => v0.7.24): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.24 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.23 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.23 -> v0.7.24)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.24 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.24 -> v0.7.26)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

    __ __        __    ___  __ _____
   / // /_ _____/ /__ / _ \/ // / _ \
  / _  / // / _  / -_) ___/ _  / ___/
 /_//_/\_, /\_,_/\__/_/  /_//_/_/
      /___/

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.24 -> v0.7.26)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.24 => v0.7.26)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.26)
 > - Upgrading hyde/cli (v0.7.24 => v0.7.26): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.26 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.26 - Experimental Standalone - (HydePHP v1.6.0)

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.26 -> v0.7.27)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.26 => v0.7.27)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.27)
 > - Upgrading hyde/cli (v0.7.26 => v0.7.27): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.27 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.26 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.26 -> v0.7.27)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.27 - Experimental Standalone - (HydePHP v1.6.0)

 sudo /usr/local/bin/hyde self-update
Checking for updates... A new version is available (v0.7.27 -> v0.7.28)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.28 - Experimental Standalone - (HydePHP v1.6.0)
caenwsl@WORKSTATION:~/temp/clitest$

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.27 -> v0.7.28)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.27 => v0.7.28)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.28)
 > - Upgrading hyde/cli (v0.7.27 => v0.7.28): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.28 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.28 - Experimental Standalone - (HydePHP v1.6.0)

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.28 -> v0.7.29)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.28 => v0.7.29)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.29)
 > - Upgrading hyde/cli (v0.7.28 => v0.7.29): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.29 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.28 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.28 -> v0.7.29)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.29 - Experimental Standalone - (HydePHP v1.6.0)

 sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.29 -> v0.7.30)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.30 - Experimental Standalone - (HydePHP v1.6.0)

 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.29 -> v0.7.30)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.29 => v0.7.30)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.30)
 > - Upgrading hyde/cli (v0.7.29 => v0.7.30): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.30 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.30 - Experimental Standalone - (HydePHP v1.6.0)

 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.30 -> v0.7.31)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.30 => v0.7.31)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.31)
 > - Upgrading hyde/cli (v0.7.30 => v0.7.31): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.31 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.30 - Experimental Standalone - (HydePHP v1.6.0)

 sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.30 -> v0.7.31)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.31 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
Checking for updates... A new version is available (v0.7.31 -> v0.7.32)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.32 - Experimental Standalone - (HydePHP v1.6.0)

 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.31 -> v0.7.32)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.31 => v0.7.32)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.32)
 > - Upgrading hyde/cli (v0.7.31 => v0.7.32): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.32 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.32 - Experimental Standalone - (HydePHP v1.6.0)

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.32 -> v0.7.33)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.32 => v0.7.33)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.33)
 > - Upgrading hyde/cli (v0.7.32 => v0.7.33): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.33 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.32 - Experimental Standalone - (HydePHP v1.6.0)

 sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.32 -> v0.7.33)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.33 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
Checking for updates... A new version is available (v0.7.33 -> v0.7.34)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.34 - Experimental Standalone - (HydePHP v1.6.0)

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.33 -> v0.7.34)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.33 => v0.7.34)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.34)
 > - Upgrading hyde/cli (v0.7.33 => v0.7.34): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.34 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.34 - Experimental Standalone - (HydePHP v1.6.0)

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.34 -> v0.7.35)
Updating to the latest version...
Updating the application...
Updating via Composer...
> Changed current directory to /home/caenwsl/.config/composer
> ./composer.json has been updated
> Running composer update hyde/cli
> Loading composer repositories with package information
> Updating dependencies
> Lock file operations: 0 installs, 1 update, 0 removals
> - Upgrading hyde/cli (v0.7.34 => v0.7.35)
> Writing lock file
Installing dependencies from lock file (including require-dev)
> Package operations: 0 installs, 1 update, 0 removals
> - Downloading hyde/cli (v0.7.35)
> - Upgrading hyde/cli (v0.7.34 => v0.7.35): Extracting archive
> Generating autoload files
> 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> No security vulnerability advisories found.
> Using version ^0.7.35 for hyde/cli
The application has been updated successfully.

    __ __        __    ___  __ _____
   / // /_ _____/ /__ / _ \/ // / _ \
  / _  / // / _  / -_) ___/ _  / ___/
 /_//_/\_, /\_,_/\__/_/  /_//_/_/
      /___/

v0.7.34 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.34 -> v0.7.35)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

    __ __        __    ___  __ _____
   / // /_ _____/ /__ / _ \/ // / _ \
  / _  / // / _  / -_) ___/ _  / ___/
 /_//_/\_, /\_,_/\__/_/  /_//_/_/
      /___/

v0.7.35 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
Checking for updates... A new version is available (v0.7.35 -> v0.7.36)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

    __ __        __    ___  __ _____
   / // /_ _____/ /__ / _ \/ // / _ \
  / _  / // / _  / -_) ___/ _  / ___/
 /_//_/\_, /\_,_/\__/_/  /_//_/_/
      /___/

v0.7.36 - Experimental Standalone - (HydePHP v1.6.0)

 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.35 -> v0.7.36)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.35 => v0.7.36)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.36)
 > - Upgrading hyde/cli (v0.7.35 => v0.7.36): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.36 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.36 - Experimental Standalone - (HydePHP v1.6.0)

 /home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.36 -> v0.7.37)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.36 => v0.7.37)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.37)
 > - Upgrading hyde/cli (v0.7.36 => v0.7.37): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.37 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.36 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.36 -> v0.7.37)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.37 - Experimental Standalone - (HydePHP v1.6.0)

sudo /usr/local/bin/hyde self-update
[sudo] password for caenwsl:
Checking for updates... A new version is available (v0.7.37 -> v0.7.38)
Updating to the latest version...
Updating the application...
Downloading the latest version...
The application has been updated successfully.

    __ __        __    ___  __ _____
   / // /_ _____/ /__ / _ \/ // / _ \
  / _  / // / _  / -_) ___/ _  / ___/
 /_//_/\_, /\_,_/\__/_/  /_//_/_/
      /___/

v0.7.38 - Experimental Standalone - (HydePHP v1.6.0)

/home/caenwsl/.config/composer/vendor/bin/hyde self-update
Checking for updates... A new version is available (v0.7.37 -> v0.7.38)
Updating to the latest version...
Updating the application...
Updating via Composer...
 > Changed current directory to /home/caenwsl/.config/composer
 > ./composer.json has been updated
 > Running composer update hyde/cli
 > Loading composer repositories with package information
 > Updating dependencies
 > Lock file operations: 0 installs, 1 update, 0 removals
 > - Upgrading hyde/cli (v0.7.37 => v0.7.38)
 > Writing lock file
Installing dependencies from lock file (including require-dev)
 > Package operations: 0 installs, 1 update, 0 removals
 > - Downloading hyde/cli (v0.7.38)
 > - Upgrading hyde/cli (v0.7.37 => v0.7.38): Extracting archive
 > Generating autoload files
 > 53 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
 > No security vulnerability advisories found.
 > Using version ^0.7.38 for hyde/cli
The application has been updated successfully.

     __ __        __    ___  __ _____
    / // /_ _____/ /__ / _ \/ // / _ \
   / _  / // / _  / -_) ___/ _  / ___/
  /_//_/\_, /\_,_/\__/_/  /_//_/_/
       /___/

 v0.7.38 - Experimental Standalone - (HydePHP v1.6.0)

GPT analysis indicates this is an issue with direct installs.

(Presumably) After changing to Symfony process instead of exec, Linux self-updates get sh: 1: hyde: Text file busy after update completion.

Could potentially be resolved after recent garbage collection changes when fixing https://github.com/hydephp/cli/issues/192.

The last three updates have shown the correct version, I think we can optimistically consider this to have finally been resolved!


Wallpaper Hooks

Changing the colors is cool, but It's not sufficient for a complete "theme manager"
adding a possible option for wallpapers would be really cool!
let
  myTheme = themes.custom {
    name   = "My Awesome Theme";
    author = "RGBCube";
    base00 = "000000";
    # ...
    wallpapers = [
        "MyCustomTheme/" # / postfix indicates a directory of wallpapers
        "cool-wallpaper.png" # file
    ]
  };
in {}

And you can expose some functions API functions for:

Querying currently selected wallpaper
Calling a custom function to change the wallpaper.
Some built-in functions to change the wallpaper:
- Change the wallpaper in a period of time. (maybe the user can supply a custom wallpaper selector algorithm e.g random, respectfully etc.)

Challenges
Changing the wallpaper is not straight forward. It depends.
For window systems like X you can supply some popular options built-in:
# ThemeNix initialization config:
backend = "feh"; # xsetroot, hsetroot

And for those who uses a tool that is not built-in (PR it btw)
# ThemeNix initialization config:
# %s represents the wallpaper path here. You may find a better solution (like exposing the following wallpaper to the API)
script = ''
feh --bg-fill %s
''

No, I will just add a helper function that generates a theme from a wallpaper. What you're describing isn't a """hook""" either.
This is how it will look like:
let
  myTheme = themes.fromImage ./wallpaper.png;
in {};

ThemeNix will never ever modify your configuration. It's up to you to set your wallpaper. Even if it were to, the solution you are describing is bad, since we could write modules that automatically enable if a specific module is enabled. Please learn Nix.

https://stackoverflow.com/questions/467557/what-is-meant-by-the-term-hook-in-programming
also read my post then answer.

This literally isn't a hook. There is no event here. It is just a variable defined somewhere, and yes, I've read your post.


Add support for manual swiching version of Camel in the project

Please, add support for manual swiching version of Camel in the project if is it possible. For example add listbox in the Camel Plugin submenu in Settings.

Just change the camel version in the maven pom.xml file or whatever you do for managing your JAR dependencies. Then the plugin should detect this and load the version of Camel you are using.

Thanks, it's works


Download management for github files

These commits add all the download operation for a github repo : create, delete, and get info of a github downloable file.

I would love to merge this in, but I'm going to change the interaction layer for the rest collection endpoints. I'll add it in after then if I can. Thanks for the awesome contribution!


Quadrature visualization support for glvis-js

Eventually, we should refactor aux_js.cpp a bit so that there isn't so much repeated code with glvis.cpp. For now, this is just following the same design pattern to see if we can get quadrature support in glvis-js.

I think this fixed it? To test
git clone git@github.com:GLVis/glvis-js.git
cd glvis-js
git checkout ci-build-10626571587
open examples/basic.html # or open with a browser
# open glvis-data/streams/quadrature-lor.saved and press Q

I can confirm Q works now. Thanks @justinlaughlin ~

Yes, works for me too 😉 🚀 I agree it would be better to unify the code with glvis.cpp, but there are some subtleties different, so it is not that easy. However, I noticed that updateStream() has a hardcoded check for solution, so that needs to be fixed for mesh and quadrature 🤔

updateStream() uses StreamState::SetNewMeshAndSolution which it looks like you updated already 🙂. I went ahead and removed the check; I don't see any downstream calls specific to data_type. I tested the build ci-build-10706880188 and it seems okay to me.


Fixes: ImportError: cannot import name 'uri_from_host_port'.

There is an ImportError of 'uri_from_host_port' function. This PR fixes it.

Thanks for the PR @muammar!

There is an ImportError of 'uri_from_host_port' function

A month ago, this PR https://github.com/dask/distributed/pull/2667 introduced new changes that break dask-mpi when using latest version of distributed. This fix fully works if you are on the latest version of distributed. Per https://github.com/dask/dask-mpi/blob/master/environment.yml#L4, dask-mpi requires distributed=1.25.2 .
As pointed out in https://github.com/dask/dask-mpi/issues/30, dask-mpi is very strict when it comes to its dependencies versions. For this fix to fully address the import issue, distributed version will have to be pinned to the latest version, and a few changes will have to be made in dask-mpi codebase.
Ccing @kmpaul, @mrocklin

@andersy005  Thank you very much for your reply, it is very useful.

Thanks for the PR @muammar!

There is an ImportError of 'uri_from_host_port' function

A month ago, this PR dask/distributed#2667 introduced new changes that break dask-mpi when using latest version of distributed. This fix fully works if you are on the latest version of distributed. Per https://github.com/dask/dask-mpi/blob/master/environment.yml#L4, dask-mpi requires distributed=1.25.2 .

Your assumption is right, I installed distributed with setup.py because there are changes in that version that I need to run my program.

As pointed out in #30, dask-mpi is very strict when it comes to its dependencies versions. For this fix to fully address the import issue, distributed version will have to be pinned to the latest version, and a few changes will have to be made in dask-mpi codebase.
Ccing @kmpaul, @mrocklin

Now I wonder -- how often are you syncing with respect to latest distributed version?

@muammar If by "syncing" you mean "testing with the latest version of distributed and modifying dask-mpi to meet the distributed API," the answer is, "We really aren't syncing."  And we need to do that.  I think we need to try removing the distributed version pinning and fix our API to match.
Unfortunately, when we encountered our first problem with changing distributed API, I was too swamped to fix the problem properly.  So, I pinned to the previous version with the intention of getting back to it.  I may finally have time to get back to it, but I would greatly appreciate any help you might be able to provide.

Hi @kmpaul

@muammar If by "syncing" you mean "testing with the latest version of distributed and modifying dask-mpi to meet the distributed API," the answer is, "We really aren't syncing." And we need to do that. I think we need to try removing the distributed version pinning and fix our API to match.

That's exactly what I meant --  changing the codebase so that dask_mpi is compatible with the latest distributed package.

Unfortunately, when we encountered our first problem with changing distributed API, I was too swamped to fix the problem properly. So, I pinned to the previous version with the intention of getting back to it. I may finally have time to get back to it, but I would greatly appreciate any help you might be able to provide.

I would be glad to offer any help needed. Right now, I submitted a calculation in Cori@NERSC using the small change included with this PR. I will start posting errors I find when doing so with the hope we can get this solved.

I submitted a calculation and now I wonder if Python's logging module works well with mpi4py. That is because I cannot see any of the logging files that were supposed to be created when running this on Cori. I  will keep you posted.

@muammar Yes.  I've experienced difficulties with MPI capturing output from processing when logging is used.  They do not seem to work together terribly well.

@muammar I do not get the import error you encountered with distributed version 1.28.1.  What version of distributed were you using when you encountered this import error?
On an unrelated note, I (hopefully) have a fix (#33) for all of this, that will fix the syncing-to-the-most-recent-distributed problems, too.

Hi @kmpaul,

@muammar Yes. I've experienced difficulties with MPI capturing output from processing when logging is used. They do not seem to work together terribly well.

Thank you for your prompt reply. This was very useful to confirm that the problem I was having with logging was due to the python logging module and not something else. The thing is that my script seemed to be running without dying with the PR I submitted but I cannot tell what is doing as the logging module is not writing anything to file.

@muammar I do not get the import error you encountered with distributed version 1.28.1. What version of distributed were you using when you encountered this import error?

These are the versions I am using at Cori:
>>> import dask
>>> import distributed
>>> import dask_mpi
>>> dask.__version__
'1.2.2'
>>> distributed.__version__
'1.28.1+56.g2ba70b31'
>>> dask_mpi.__version__
'1.0.2'
>>>

My distributed version is basically the HEAD of the master branch because I need some changes that are not present in <IP_ADDRESS>.

On an unrelated note, I (hopefully) have a fix (#33) for all of this, that will fix the syncing-to-the-most-recent-distributed problems, too.

That is great! I really appreciate your fast replies. Would you have a test example that I could run here?

@muammar I am sorry, but I am about to jump on a plane, so I will be out of touch for a while. The best way to test is by running the pytest suite. The “test_core.py” test is where the batch mode tests are located. You can also test just by running:
mpirun -np 4 python dask_mpi/tests/core_basic.py

I have not been able to get dask-mpi to work, even with this fork. I tried
mpirun -np 4 python dask_mpi/tests/core_basic.py
and it fails with a timeout. The pytest dask_mpi also hangs after printing dask_mpi/tests/test_cli.py.
In case it's relevant, I installed the default versions of mpi4py, dask, and distributed from pip.
In [3]: dask.__version__
Out[3]: '2.0.0'

In [4]: distributed.__version__
Out[4]: '2.0.1'

@kbarros, I will look more into this, and will get back to you

With @rabernat, we are trying to use dask-mpi on cheyenne. We have the (near) latest versions of everything:

dask v 2.5.2.
distributed v 2.5.2
dask-mpi v 1.0.3

We are getting this exact same error, despite claims that it has been fixed.
Our batch script is
#!/bin/bash
#PBS -N dask-mpi
#PBS -q economy
#PBS -A UCLB0022
#PBS -l select=2:ncpus=36:mpiprocs=1
#PBS -l walltime=01:00:00
#PBS -j oe
#PBS -m abe

# Qsub template for UCAR CHEYENNE
# Scheduler: PBS

# This writes a scheduler.json file into your home directory
# You can then connect with the following Python code
# >>> from dask.distributed import Client
# >>> client = Client(scheduler_file='~/scheduler.json')

source activate pangeo

# debugging stuff
which python
python -c 'import dask; print(dask.__version__)'
dask-scheduler --version
dask-mpi

rm -f scheduler.json
mpirun -np 2 dask-mpi \
    --scheduler-file ~/scheduler.json \
    --nthreads 36 \
    --interface ib0

In the error log we see
2.5.2
dask-scheduler, version 2.5.2
Warning: Permanently added the ECDSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
Attaching 35536 to 8937069.chadmin1.ib0.cheyenne.ucar.edu
Traceback (most recent call last):
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/bin/dask-mpi", line 7, in <module>
    from dask_mpi.cli import go
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/lib/python3.6/site-packages/dask_mpi/__init__.py", line 1, in <module>
    from .core import initialize
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/lib/python3.6/site-packages/dask_mpi/core.py", line 12, in <module>
    from .common import (
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/lib/python3.6/site-packages/dask_mpi/common.py", line 5, in <module>
    from distributed.cli.utils import uri_from_host_port
ImportError: cannot import name 'uri_from_host_port'
Traceback (most recent call last):
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/bin/dask-mpi", line 7, in <module>
    from dask_mpi.cli import go
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/lib/python3.6/site-packages/dask_mpi/__init__.py", line 1, in <module>
    from .core import initialize
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/lib/python3.6/site-packages/dask_mpi/core.py", line 12, in <module>
    from .common import (
  File "/glade/u/home/clepore/miniconda3/envs/pangeo/lib/python3.6/site-packages/dask_mpi/common.py", line 5, in <module>
    from distributed.cli.utils import uri_from_host_port
ImportError: cannot import name 'uri_from_host_port'
/var/spool/pbs/mom_priv/jobs/8937069.chadmin1.ib0.cheyenne.ucar.edu.SC: line 29: --interface: command not found

FYI we were able to get past this by installing dask-mpi from git master.
Looks like a release is needed.

@chiaral

Looks like a release is needed.

While looking at your previous comment, I noticed that you were running dask-mpi v 1.0.3. The latest release of dask-mpi is v2.0.0 (released in August), and it's available on conda-forge and PyPI.

@andersy005 - I see that now.
The weird thing is that we did a fresh conda install -c conda-forge dask-mpi for this project. I wonder why we didn't get v2.0.0? Also, I checked the github releases page and got the impression that 1.3.0 was indeed the latest release. (I see you have updated it now.) So something weird was going on.
Anyway, sorry for then noise and thanks for the update!


Upload fails if classifier in setup.py is tuple rather than list

When I run python setup.py sdist upload I get an error message:
(wextracto) gsbrown$ python setup.py sdist upload
running sdist
running egg_info
writing requirements to Wextracto.egg-info/requires.txt
writing Wextracto.egg-info/PKG-INFO
writing top-level names to Wextracto.egg-info/top_level.txt
writing dependency_links to Wextracto.egg-info/dependency_links.txt
writing entry points to Wextracto.egg-info/entry_points.txt
reading manifest file 'Wextracto.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'Wextracto.egg-info/SOURCES.txt'
running check
creating Wextracto-0.14.0
creating Wextracto-0.14.0/Wextracto.egg-info
creating Wextracto-0.14.0/wex
creating Wextracto-0.14.0/wex/js
copying files to Wextracto-0.14.0...
<lots of "copying ..." lines snipped>
Writing Wextracto-0.14.0/setup.cfg
Creating tar archive
removing 'Wextracto-0.14.0' (and everything under it)
running upload
Submitting dist/Wextracto-0.14.0.tar.gz to https://upload.pypi.org/legacy/
Upload failed (400): classifiers: 'FieldStorage('classifiers', 'Development Status :: 4 - Beta')' is not a valid choice for this field
error: Upload failed (400): classifiers: 'FieldStorage('classifiers', 'Development Status :: 4 - Beta')' is not a valid choice for this field

That is with a tuple for classifiers as per:
https://github.com/eBay/wextracto/blob/cfa19d36c8054670987705cef172f7e84c1f934c/setup.py#L31
If I change from ( to [ (and the matching pair) to make it a list rather than a tuple it uploads successfully.
(Originally raised as pypa/pypi-legacy#670)

Same issue here thought the Intended Audience classifier was removed based on the error.
Copying sshaolin.egg-info to build/bdist.linux-x86_64/wheel/sshaolin-0.0.5-py2.7.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/sshaolin-0.0.5.dist-info/WHEEL
running upload
Submitting /home/local/ANT/bucknath/code/sshaolin/dist/sshaolin-0.0.5-py2.py3-none-any.whl to https://upload.pypi.org/legacy/
Upload failed (400): classifiers: 'FieldStorage('classifiers', 'Intended Audience :: Developers')' is not a valid choice for this field
error: Upload failed (400): classifiers: 'FieldStorage('classifiers', 'Intended Audience :: Developers')' is not a valid choice for this field

This is a distutils problem. In Python 2.7.12, the upload works, but we get the 400-error from Warehouse:
Upload failed (400): classifiers: 'FieldStorage('classifiers', 'Development Status :: 3 - Alpha')' is not a valid choice for this field
error: Upload failed (400): classifiers: 'FieldStorage('classifiers', 'Development Status :: 3 - Alpha')' is not a valid choice for this field

In Python 3.6.3, we don't even make it to Warehouse:
Traceback (most recent call last):
  File "setup.py", line 60, in <module>
    keywords='sample setuptools development',
  File "/private/tmp/sampleproject/env/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/Users/di/.pyenv/versions/3.6.3/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Users/di/.pyenv/versions/3.6.3/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/Users/di/.pyenv/versions/3.6.3/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/Users/di/.pyenv/versions/3.6.3/lib/python3.6/distutils/command/upload.py", line 63, in run
    self.upload_file(command, pyversion, filename)
  File "/Users/di/.pyenv/versions/3.6.3/lib/python3.6/distutils/command/upload.py", line 161, in upload_file
    body.write(value)
TypeError: a bytes-like object is required, not 'str'

Folks having this issue have two options:

Upload using pypa/twine instead;
Use a list instead of a tuple.

Can you elaborate on why this is a distutils problem?  It seems to me that if you take client code that was previously working and then change the web service handling requests from that code to generate a 400 then the problem probably sits with the web service rather than the client code (I know this is a gray area).  In particular the message from the 400 is misleading.

Well, with Python 3.x, the request doesn't even get to us, so there doesn't seem to be anything we can do on the Warehouse end of things to fix this.
I suppose there might be a way to interpret the request differently when it has this issue, but to me it seems malformed. For example, if I have:
   classifiers=(
        'Development Status :: 3 - Alpha',
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Build Tools',
        'License :: OSI Approved :: MIT License',
    ),

This is what we get in the request:
>>> request.POST.getall('classifiers')
[FieldStorage('classifiers', 'Development Status :: 3 - Alpha')]

Where somehow these are becoming the disposition_options:
>>> request.POST.getall('classifiers').disposition_options
{'name': 'classifiers', 'filename': 'Development Status :: 3 - Alpha'}

Whereas with a list:
>>> request.POST.getall('classifiers')
['Development Status :: 3 - Alpha', 'Intended Audience :: Developers', 'Topic :: Software Development :: Build Tools', 'License :: OSI Approved :: MIT License']

Granted, I am not a distutils/cgi/etc expert, and I can't point a distutils bug specifically, and I may be wrong, but after looking at this for a bit, this is the conclusion I came to.

In particular the message from the 400 is misleading.

I agree with this. We can definitely determine when this is happening, so I'll make a PR to give a more reasonable error message.


Implement Cocktails class

I have created Official and Unofficial Cocktail classes in models and added them to the admin site.
Please review the code and let me know if there are any issues.

lgtm


Create Your First ABAP Console Application

Tutorial URL: https://developers.sap.com/tutorials/abap-environment-console-application.html
Hello. Trying to connect to abap instance via ADT and getting no errors but can't complete login either. I was able to login to abap instance via cloud dashboard just fine.
screenshots https://imgur.com/a/NhAlszw

Seems like eclipse auth is not working...
http://localhost:60342/oauth/client/redirect/external_browser?code=
HTTP ERROR 500

@kgorin8 Did you already finish following tutorial: https://developers.sap.com/tutorials/abap-environment-trial-onboarding.html. If not please do so and try it out again.

Hi @kgorin8,
do you need further help? Or can we close this issue?
Best regards,
Merve


Comparing wind-mixing LES solutions with Pacanowski-Philander

Just a start, done with @xkykai.
https://user-images.githubusercontent.com/20099589/107391694-f61b8680-6ac6-11eb-82dd-0bde8c91f156.mp4

https://user-images.githubusercontent.com/20099589/107428127-35aa9880-6af0-11eb-82f9-8f25581709c2.mp4
https://user-images.githubusercontent.com/20099589/107428134-380cf280-6af0-11eb-9c2c-d50037b93006.mp4

https://user-images.githubusercontent.com/20099589/107437007-5678eb00-6afc-11eb-8185-321c0a364c57.mp4

This is now contained within PR #49.


Functions to freeze bundles

This adds freezing of bundle data. Also exploring how to test and build APIs around the execution context.

I'm withdrawing this because I've discovered that my assumptions about where canonical bundle data is stored are wrong and this method for freezing (which I borrowed from dismodmr) will not actually work for dismodat.


open /mnt/sda1/var/lib/docker/tmp/GetImageBlob254158797: read-only file system

With a docker container running (ohmage/base) and trying to install a new docker container (ohmage/server) get the following error:

This also happens is the other containers are stopped.
After that error I get this one:

Retrying set-up does not help.
Is this a bad Docker container?

Took a "delete VM and retry setup" and a system (Mac OS) restart and "delete VM & retry setup" again for this problem to clear.

Thanks for the issue - Read-only file system issues have been seen in the past. I believe some of it is usually due to a bad initial setup, or vbox not doing it's job.
I'll close this for now since you got it working but will add the proper label for archival puposes


Enable scan build

This time it might work.  This is related to #10.  Enables a Clang build, it takes "only" ~30min, it uses a installed gRPC to speed up things. Caching has not worked.

PTAL.


[BUG]: Metada DB cleanup upon collection delete

Refs: #1289
Description of changes
Summarize the changes made by this PR.

Improvements & Bug fixes

Implemented removal upon

Test plan
How are these changes tested?

[x] Tests pass locally with pytest for python

Documentation Changes
N/A

@HammadB, do you have any idea why the cascade on delete might not be working? I tried just about anything, including setting PRAGMA foreign_keys = ON;.


Make Wobserver usable as a standalone Plug

Instead of having wobserver run its own cowboy instance with (apparently) no authentication, I'd like to be able to run wobserver from inside an app's existing administrator panel.
The main barrier to this is wobserver's websockets, which can be replaced with EventSource.

Completely agree. We are currently running into the same thing. It is a waste to have multiple cowboy instances.
Completely dropping it would not be possible, because I would like to keep the drop-in usability.
I'm currently working on an option to just run it as plug without starting cowboy and when done will update the readme to show how to redirect the websocket.
Do note that the interface will fallback to the api/ajax if it can't connect through websocket.

I'd like to have real-time updates, so forcing it to use fallback mode is kind of undesirable.

I think #2 should enable you to run wobserver as a plug.
Wobsercer does not start a supervisor or :cowboy in :plug mode and I added an example in the config to show how to forward the requests and the websocket.

Version 0.1.4 is now on hex and has this feature.

Cool, thanks.


Scrolled Data are hiding behind the fixedHeadear , on hovering table header the scrolled data is getting displayed.ho to hide it?

I could not recreate this issue. Can you post a snippet or a fiddle so I that I can check?

After Scrolling if i hover on thead , the scrolled tbody cells are getting displayed
`

Employee Code
Employee Name
Designation
                        </tr>
                    </thead>
                    <tbody id="tblEmployeeDetails" style=""></tbody>
                </table>
            </div>`

`.scrolltest {
height: 450px;
width: 100%;
overflow: auto;
}
td.fth-header, th.fth-header,
td.fth-footer, th.fth-footer {
    border-top: none !important;
    border-bottom: 1px solid #ddd;
}

td.fth-header, th.fth-header {
    background-color: #036266;
    color: white;
}

td.fth-footer, th.fth-footer {
    background-color: #036266;
    color: white;
}

`
$('#fixHeadFoot').fixTableHeader();

i've also mailed to your  hotmail

Tried your code. check this out https://jsfiddle.net/fpnqmr09/1/
Seems to be working fine.

Let me check

Hope I have resolved your issue


Fix storage connector

Description
Close 1546
Checklist:

[x] My code follows the style guidelines of this project
[x] I have already rebased the commits and make the commit message conform to the project standard.
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] Any dependent changes have been merged and published in downstream modules

Thanks for your contribution, will test soon.

@fanzhidongyzby Please review it.


Replace browserify with bun

Issues:

[x] bun outputs breaking import.meta
Mentioned in: https://github.com/oven-sh/bun/issues/4928#issuecomment-1730767052
[ ] https://github.com/oven-sh/bun/issues/5894

browserify is abandoned, but still works and is lighter. leaving for now


format 'using' property as a bulleted list (fixes #292)

Not sure how to fix the Travis failure. Any help appreciated.

 I forgot to update my local gh-pages prior to doing this. Sorry for the noise, will rebase.

Huh. Same error. Not sure why this failure doesn't show up on Travis' testing of the current gh-pages. @bkeepers, @benbalter what should I do?

The template that uses this data needs to be updated:
      {% for using in page.using %}

{{ using[0] }}

      {% endfor %}

I'm not actually sure how to update this with the new format.

It's not super elegant, but this seems to work with the new data structure:
{% for using in page.using %}
        {% for hash in using %}

{{ hash[0] }}

        {% endfor %}
      {% endfor %}

@benbalter @bkeepers ping?

Looks good, thanks!


docs: gh codespaces install docs - update docker-in-docker to v2

The Issue

according to https://containers.dev/features latest version of docker-in-docker is 2.2.0, ddev docs still refer to v1

How This PR Solves The Issue

bump version to v2

Manual Testing Instructions

maybe changes / tests for https://github.com/ddev/ddev/blob/master/.devcontainer/devcontainer.json needed?

Automated Testing Overview

maybe changes / tests for https://github.com/ddev/ddev/blob/master/.devcontainer/devcontainer.json needed?

Related Issue Link(s)

https://github.com/ddev/ddev/issues/5033#issuecomment-1615076600

Release/Deployment Notes

could not find any release notes for docker-in-docker, therefore I assume there were no breaking changes (https://github.com/devcontainers/features)

This is a great time for this to land, gets us to update the package perhaps early. My only concern is whether updating the package when doing v1.22.0-beta1 will affect users on v1.21.6.


Request to register GranatumX as a new single cell analysis data portal

Request to submit a portal to the HCA data portal registry

Tool title: GranatumX
Contact name: GranatumX development team
Contact email<EMAIL_ADDRESS>Who to attribute: Lana Garmire, David Garmire, Xun Zhu et al.
Portal URL: http://garmiregroup.org/granatumx/app
Short description: (<= 200 characters, will appear on list page)

We present GranatumX, a next-generation software environment for single-cell data analysis. GranatumX is inspired by the interactive web tool Granatum (published in Genome Medicine, 2017). It enables biologists to flexibly design their own pipelines for single-cell analysis in a web-based graphical environment. It also offers software developers the opportunity to rapidly promote their own tools with others in customizable pipelines. The architecture of GranatumX allows for easy inclusion of plugin modules, named Gboxes, that wrap around bioinformatics tools written in various programming languages and on various platforms. GranatumX can be run on the cloud or private servers, and generate reproducible results. It is a community-engaging, flexible, and evolving software ecosystem for scRNA-Seq analysis, connecting developers with bench scientists. GranatumX is freely accessible at http://garmiregroup.org/granatumx/app.
Optional:

Long description: (will appear on detail page)
The more details of GranatumX with figures, are described in BiorXiv preprint:
https://www.biorxiv.org/content/10.1101/385591v2

Overview of GranatumX
The objective of GranatumX is to provide scRNA-seq biologists better access to bioinformatics tools and the ability to conduct single-cell data analysis independently. Currently other scRNA-seq platforms usually only provide a fixed set of methods implemented by the authors themselves. It is difficult to add new methods developed by the community due to programming language lock-in as well as monolithic code architectures. If a pipeline is assembled between heterogeneous tools, it is manually crafted and inhibits a repeatable execution of data analysis tools by other wet-lab scientists. As a solution, GranatumX uses the plugin and virtualized framework that provides an easy and unified approach to add new methods in a data-analysis pipeline. The plugin system is agnostic to developer code and the choice of the original scripting language. It also eliminates inter-module incompatibilities, by isolating the dependencies of each module. As a data portal, GranatumX provides a graphical user interface (GUI) that requires no programming experience.
Deployment of GranatumX
The web-based GUI can be accessed on various devices including desktop, tablets, and smartphones.  In addition to the web-based format, GranatumX is also deployable on a broad variety of computational environments, such as private PCs, cloud services, and High-Performance Computing (HPC) platforms with minimal effort by system administrators. The deployment process is unified on all platforms because all components of GranatumX are containerized in Docker (also portable to Singularity). GranatumX can handle larger-scale scRNA-seq datasets coming online, with an adequate cloud configuration setup and appropriate Gboxes. For example, after uploading data, it took GranatumX ~12 minutes to finish the recommended pipeline on an AMD 3950x with 16 cores and 128GB of DRAM memory running Ubuntu 20.04, using 10K cells downsampled from the dataset of “1.3 Million Brain Cells from E18 Mice'' on the 10x Genomics website. The most time-consuming step is imputation using DeepImpute (~⅖ time).
Unique Gbox modules
Gbox is a unique concept of GrantumX. It represents a containerized version of a scientific package that handles its input and output by a format understood by the GranatumX core. GranatumX has a set of pre-installable Gboxes that enable complete scRNA-seq analysis out of the box. Various Gboxes for data entry, preprocessing, and processing can be customized and organized together, to form a complete analysis pipeline. One highlight feature of the Gbox is that it stands alone and the user can assume any Gbox without the need to restart the full pipeline, in case one implemented by the user fails. Another highlight of the Gbox feature is that the entire GranatumX platform is fully interactive, with addition or removal of some Gboxes or parameter changes on the go, while some other Gboxes are being executed.
A comprehensive set of over 50 Gboxes are implemented in GranatumX to perform tasks all the way from data entry and processing to downstream functional analysis. The data processing tasks help to minimize the biases in the data and increase the signal-to-noise ratio. For each of these quality improvement categories, GranatumX provides multiple popular methods from which users can pick. To assist functional analysis, GranatumX provides a core list of methods for dimension reduction, visualization (including PCA, t-SNE, and UMAP), clustering, differential expression, marker gene identification, Gene Set Enrichment Analysis, network analysis and pseudo-time construction. Versioning for each of these Gboxes has been implemented so that users can use a specific tested version of a Gbox. Developers on the other hand can work on newer versions separately before the official upgrade. Gboxes can be stored on DockerHub for public use which maintains its own versioning system (https://hub.docker.com/u/granatumx).
Input files
The input files of GranatumX include expression matrices and optional sample metadata tables, acceptable in a variety of formats such as CSV, TSV, or Excel format. GranatumX even accepts zip files and gz files (GNU zip), and the user can choose that format for large expression matrices. Expression matrices are raw read counts for all genes (rows) in all cells (columns). The sample metadata tables annotate each cell with a pre-assigned cell type, state, or other quality information. The parsing step creates a sparse matrix using the coordinate list (COO) format, and this representation ensures swift upload onto the back end, even for large input datasets (>10K cells). Such information will either be used to generate computational results (such as Gene Set Analysis) or be mapped onto the PCA, t-SNE, or UMAP plot for visualization. Once the user uploads the gene expression matrix, the data are read into a dataframe using Pandas and the step updates the user with a “preview”, consisting of the first few rows and columns of the gene expression matrix, along with the number of genes and samples present.
User-centric design
As a user-friendly tool, GranatumX allows multiple users to be affiliated with the same project for data and result sharing, while restricting one user to run the pipeline at a time to avoid data conflicts. It allows dynamically adding, removing, and reordering pipeline steps on the go. It also allows users to reset the current step. All relevant data in the analysis pipeline and all results generated by each module are stored in a database, allowing users to access and download them. To ensure reproducibility, GranatumX can automatically generate a human-readable report detailing the inputs, running arguments, and the results of all steps. All of these features are designed with the mindset of “consumer reports'' to facilitate research in experimental labs or genomics cores.
source code and gbox implementation
The source code and Gbox tutorial for GranatumX is available at https://github.com/granatumx under MIT license. All builds are deployed via Docker Hub at https://hub.docker.com/u/granatumx.

Logo or screenshot: (attach to this GitHub issue.)

@lanagarmire Thank you for submitting the GranatumX single cell analysis portal.
This request has  been approved and we will be incorporating the content shortly.
We will notify you by commenting on this ticket you once the content is on the staging site for you to review and make sure your content is accurately represented.

HI @lanagarmire,
The GranatumX entry in the analysis tools registry is on our staging site.
The overview is in this list here:
https://dev.singlecell.gi.ucsc.edu/analyze
The detail page is here:
https://dev.singlecell.gi.ucsc.edu/analyze/portals/granatum-x
Can you take a look and let us know if you see any updates that need to be made before we push this live?
Cheers and Thanks,
Dave Rogers

Hi Dave,
I made a few additions on site
https://dev.singlecell.gi.ucsc.edu/analyze/portals/granatum-x
Could you take a look at approve it at your earliest convenience?
Thank you very much!
Lana Garmire, PhD
Associate Professor (with tenure)
Department of Computational Medicine and Bioinformatics
School of Medicine
University of Michigan
groupwebsite: garmiregroup.org
On Thu, Mar 11, 2021 at 11:22 PM David Rogers @.***>
wrote:

HI @lanagarmire https://github.com/lanagarmire,
The GranatumX entry in the analysis tools registry is on our staging site.
The overview is in this list here:
https://dev.singlecell.gi.ucsc.edu/analyze
The detail page is here:
https://dev.singlecell.gi.ucsc.edu/analyze/portals/granatum-x
Can you take a look and let us know if you see any updates that need to be
made before we push this live?
Cheers and Thanks,
Dave Rogers
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HumanCellAtlas/data-portal/issues/844#issuecomment-797224597,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACFEMO5HANZ3EX3BLT7GUXLTDGCF7ANCNFSM4WQTPOLA
.

Thanks, will take a look shortly.
Cheers,
Dave

Hi @lanagarmire the  GranatumX page is now live on the HCA Data Portal Analysis Portals section.
https://data.humancellatlas.org/analyze/portals/granatum-x
I removed terms of use / disclaimer and moved the diagram higher.
Thank you for your submission.
Cheers,
Dave Rogers


Throw an exception if encryption fails

Closes #28.

Seems like overkill adding a module for an empty class. How about having it alongside where it's used?

Working on it.

Fixed.

Er...no I didn't one sec!

Fixed.

Awesome, thanks for taking on all the feedback :-)

No worries, thanks for giving the feedback.
I'm working on an encrypting mail backend - is that something you'd like to have?