Azure CLI install never worked on macOS

A mac user had to do the manual install process, and the Azure CLI install never worked.  It was missing the packages needed to login, etc.
Last login: Sat Jan 27 10:53:09 on ttys000
Daves-MacBook-Pro:~ dave$ cd ~/Docu
-bash: cd: /Users/dave/Docu: No such file or directory
Daves-MacBook-Pro:~ dave$ cd ~/Documents
Daves-MacBook-Pro:Documents dave$ ls -la
total 64
drwxr-xr-x@  3 dave  staff     96 Jul 19  2016 $RECYCLE.BIN
drwxr-xr-x+ 17 dave  staff    544 Jan 27 09:57 .
drwxr-xr-x+ 58 dave  staff   1856 Jan 27 10:54 ..
-rw-r--r--@  1 dave  staff  26628 Jan 27 09:59 .DS_Store
-rw-------   1 dave  staff      0 Jul  3  2016 .localized
drwxrwxrwx   6 dave  staff    192 Jan 27 09:59 AzureIoTWorkshop
drwxr-xr-x   5 dave  staff    160 Jan 12 07:47 Backgrounds
drwxr-xr-x  71 dave  staff   2272 Dec 20 10:35 Consulting Resources
drwxr-xr-x   9 dave  staff    288 Dec 18 12:39 Continuous Delivery
drwxr-xr-x  13 dave  staff    416 Jan 12 07:14 LeadingAgile
drwxr-xr-x   6 dave  staff    192 Mar 30  2017 Metrics
drwxr-xr-x   7 dave  staff    224 Jan 17  2017 MuseScore2
drwxr-xr-x  13 dave  staff    416 Jan 12 07:14 Personal
drwxr-xr-x  70 dave  staff   2240 Jan 13 20:20 Projects
drwxr-xr-x  20 dave  staff    640 Jan 12 07:11 Software
drwxr-xr-x@  8 dave  staff    256 Oct 24 09:46 Virtual Machines.localized
-rw-r--r--@  1 dave  staff    315 Jan 27 09:57 iot-azure-notes.txt
Daves-MacBook-Pro:Documents dave$ cd AzureIoTWorkshop/
Daves-MacBook-Pro:AzureIoTWorkshop dave$ cd DevKit
Daves-MacBook-Pro:DevKit dave$ ls -la
total 24
drwxrwxrwx  5 dave  staff   160 Jan 27 09:59 .
drwxrwxrwx  6 dave  staff   192 Jan 27 09:59 ..
-rw-r--r--@ 1 dave  staff  8196 Jan 27 09:59 .DS_Store
drwxrwxrwx  8 dave  staff   256 Jan 27 09:28 devkit_install_mac_<IP_ADDRESS>
drwxrwxrwx  8 dave  staff   256 Jan 27 09:28 devkit_install_win_<IP_ADDRESS>
Daves-MacBook-Pro:DevKit dave$ cd devkit_install_mac_<IP_ADDRESS>/
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ brew install arduino
Error: No available formula with the name "arduino"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ brew cask reinstall --force arduino
==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:
==> Caveats
arduino requires Java. You can install the latest version with

  brew cask install java

==> Satisfying dependencies
==> Downloading https://downloads.arduino.cc/arduino-1.8.5-macosx.zip
######################################################################## 100.0%
==> Verifying checksum for Cask arduino
==> Installing Cask arduino
==> Moving App 'Arduino.app' to '/Applications/Arduino.app'.
==> Linking Binary 'arduino-builder' to '/usr/local/bin/arduino-builder'.
馃嵑  arduino was successfully installed!
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ ./install.sh

Updaing brew package list...

==> Reinstalling yarn
==> Downloading https://yarnpkg.com/downloads/1.3.2/yarn-v1.3.2.tar.gz
Already downloaded: /Users/dave/Library/Caches/Homebrew/yarn-1.3.2.tar.gz
馃嵑  /usr/local/Cellar/yarn/1.3.2: 14 files, 3.9MB, built in 1 second
yarn install v1.3.2
info No lockfile found.
[1/4] 馃攳  Resolving packages...
warning azure-event-hubs > azure-iot-common ><EMAIL_ADDRESS>This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.
warning<EMAIL_ADDRESS>This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.
warning gulp ><EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
warning gulp > vinyl-fs ><EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
warning gulp > vinyl-fs > glob-stream ><EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning gulp > vinyl-fs > glob-watcher > gaze > globule ><EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning gulp > vinyl-fs > glob-watcher > gaze > globule > glob ><EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
warning run-sequence ><EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
warning<EMAIL_ADDRESS>馃檶  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
warning gulp-watch ><EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
[2/4] 馃殮  Fetching packages...
[3/4] 馃敆  Linking dependencies...
[4/4] 馃搩  Building fresh packages...
error /Users/dave/azure-board-cli/node_modules/serialport: Command failed.
Exit code: 127
Command: prebuild-install || node-gyp rebuild
Arguments:
Directory: /Users/dave/azure-board-cli/node_modules/serialport
Output:
prebuild-install info begin Prebuild-install version 2.5.0
prebuild-install info looking for local prebuild @ prebuilds/serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install info looking for cached prebuild @ /Users/dave/.npm/_prebuilds/https-github.com-EmergingTechnologyAdvisors-node-serialport-releases-download-v6.0.4-serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install http request GET https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/v6.0.4/serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install http 404 https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/v6.0.4/serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=9.4.0 runtime=node arch=x64 platform=darwin)
/bin/sh: node-gyp: command not found
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
  - Checking pre-conditions of task: Install Arduino
|   V Install Arduino: 1.8.5
  - Checking pre-conditions of task: Install ST Link
|   V Install ST Link: installed
  - Checking pre-conditions of task: Set Custom Board Manager URL
\   V Set Custom Board Manager URL: done
  - Checking pre-conditions of task: Install Board Package
\   V Install Board Package: installed
  - Checking pre-conditions of task: Install VS Code
/   V Install VS Code: installed
  - Checking pre-conditions of task: Install Arduino Extension
\   V Install Arduino Extension: installed
  - Checking pre-conditions of task: Generate platform.local.txt
?
Microsoft would like to collect data about how users use Azure IoT DevKit and so
me problems they encounter. Microsoft uses this information to improve our DevKi
t experience. Participation is voluntary and when you choose to participate your
 device automatically sends information to Microsoft about how you use Azure IoT
 DevKit.

Select Y to enable data collection :(Y/n, default is Y)  Yes
\   V Generate platform.local.txt: platform.local.txt generated successfully
  - Checking pre-conditions of task: Check Arduino Package
/   V Check Arduino Package: done
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ ./install.sh

Updaing brew package list...

==> Reinstalling yarn
==> Downloading https://yarnpkg.com/downloads/1.3.2/yarn-v1.3.2.tar.gz
Already downloaded: /Users/dave/Library/Caches/Homebrew/yarn-1.3.2.tar.gz
馃嵑  /usr/local/Cellar/yarn/1.3.2: 14 files, 3.9MB, built in 1 second
yarn install v1.3.2
info No lockfile found.
[1/4] 馃攳  Resolving packages...
warning azure-event-hubs > azure-iot-common ><EMAIL_ADDRESS>This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.
warning<EMAIL_ADDRESS>This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.
warning gulp ><EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
warning gulp > vinyl-fs ><EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
warning gulp > vinyl-fs > glob-stream ><EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning gulp > vinyl-fs > glob-watcher > gaze > globule ><EMAIL_ADDRESS>Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning gulp > vinyl-fs > glob-watcher > gaze > globule > glob ><EMAIL_ADDRESS>please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
warning run-sequence ><EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
warning<EMAIL_ADDRESS>馃檶  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
warning gulp-watch ><EMAIL_ADDRESS>gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
[2/4] 馃殮  Fetching packages...
[3/4] 馃敆  Linking dependencies...
[4/4] 馃搩  Building fresh packages...
error /Users/dave/azure-board-cli/node_modules/serialport: Command failed.
Exit code: 127
Command: prebuild-install || node-gyp rebuild
Arguments:
Directory: /Users/dave/azure-board-cli/node_modules/serialport
Output:
prebuild-install info begin Prebuild-install version 2.5.0
prebuild-install info looking for local prebuild @ prebuilds/serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install info looking for cached prebuild @ /Users/dave/.npm/_prebuilds/https-github.com-EmergingTechnologyAdvisors-node-serialport-releases-download-v6.0.4-serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install http request GET https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/v6.0.4/serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install http 404 https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/v6.0.4/serialport-v6.0.4-node-v59-darwin-x64.tar.gz
prebuild-install WARN install No prebuilt binaries found (target=9.4.0 runtime=node arch=x64 platform=darwin)
/bin/sh: node-gyp: command not found
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
  - Checking pre-conditions of task: Install ST Link
\   V Install ST Link: installed
  - Checking pre-conditions of task: Set Custom Board Manager URL
|   V Set Custom Board Manager URL: done
  - Checking pre-conditions of task: Install Board Package
  X installBoardPackage: Unexpected error when executing "" --install-boards AZ3166:stm32f4:1.3.1 : Command failed: "" --install-boards AZ3166:stm32f4:1.3.1
/bin/sh: : command not found
. Error: Command failed: "" --install-boards AZ3166:stm32f4:1.3.1
/bin/sh: : command not found

    at ChildProcess.exithandler (child_process.js:272:12)
    at ChildProcess.emit (events.js:160:13)
    at maybeClose (internal/child_process.js:943:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ ls -la
total 32
drwxrwxrwx   8 dave  staff   256 Jan 27 09:28 .
drwxrwxrwx   5 dave  staff   160 Jan 27 09:59 ..
-rwxrwxrwx   1 dave  staff   150 Jan 27 08:20 .babelrc
-rwxrwxrwx   1 dave  staff  1676 Jan 27 08:20 gulpfile.js
-rwxrwxrwx   1 dave  staff  2990 Jan 27 10:28 install.sh
drwxrwxrwx  14 dave  staff   448 Jan 27 09:28 out
-rwxrwxrwx   1 dave  staff  1657 Jan 27 08:20 package.json
drwxrwxrwx   4 dave  staff   128 Jan 27 09:28 tools
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ cd tools
Daves-MacBook-Pro:tools dave$ ls -la
total 0
drwxrwxrwx  4 dave  staff  128 Jan 27 09:28 .
drwxrwxrwx  8 dave  staff  256 Jan 27 09:28 ..
drwxrwxrwx  5 dave  staff  160 Jan 27 09:28 darwin
drwxrwxrwx  5 dave  staff  160 Jan 27 09:28 staging
Daves-MacBook-Pro:tools dave$ cd darwin
Daves-MacBook-Pro:darwin dave$ ls -la
total 888
drwxrwxrwx  5 dave  staff     160 Jan 27 09:28 .
drwxrwxrwx  4 dave  staff     128 Jan 27 09:28 ..
-rwxrwxrwx  1 dave  staff  140856 Jan 27 08:20 st-flash
-rwxrwxrwx  1 dave  staff  136544 Jan 27 08:20 st-info
-rwxrwxrwx  1 dave  staff  171636 Jan 27 08:20 st-util
Daves-MacBook-Pro:darwin dave$ cd ../..
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ cd
Daves-MacBook-Pro:~ dave$ az
Error loading command module 'dla'

Welcome to Azure CLI!
---------------------
Use `az -h` to see available commands or go to https://aka.ms/cli.

Telemetry
---------
The Azure CLI collects usage data in order to improve your experience.
The data is anonymous and does not include commandline argument values.
The data is collected by Microsoft.

You can change your telemetry settings with `az configure`.

     /\
    /  \    _____   _ _  ___ _
   / /\ \  |_  / | | | \'__/ _\
  / ____ \  / /| |_| | | |  __/
 /_/    \_\/___|\__,_|_|  \___|

Welcome to the cool new Azure CLI!

Here are the base commands:

    account          : Manage Azure subscription information.
    acr              : Manage Azure Container Registries.
    acs              : Manage Azure Container Services.
    ad               : Synchronize on-premises directories and manage Azure Active Directory
                       resources.
    advisor          : (PREVIEW) Manage Azure Advisor.
    aks              : Manage Azure Kubernetes Services.
    appservice       : Manage App Service plans.
    backup           : Commands to manage Azure Backups.
    batch            : Manage Azure Batch.
    batchai          : Batch AI.
    billing          : Manage Azure Billing.
    cdn              : Manage Azure Content Delivery Networks (CDNs).
    cloud            : Manage registered Azure clouds.
    cognitiveservices: Manage Azure Cognitive Services accounts.
    configure        : Display and manage the Azure CLI 2.0 configuration. This command is
                       interactive.
    consumption      : Manage consumption of Azure resources.
    container        : (PREVIEW) Manage Azure Container Instances.
    cosmosdb         : Manage Azure Cosmos DB database accounts.
    disk             : Manage Azure Managed Disks.
    dls              : (PREVIEW) Manage Data Lake Store accounts and filesystems.
    eventgrid        : Manage Azure Event Grid topics and subscriptions.
    extension        : Manage and update CLI extensions.
    feature          : Manage resource provider features.
    feedback         : Loving or hating the CLI?  Let us know!
    find             : Find Azure CLI commands.
    functionapp      : Manage function apps.
    group            : Manage resource groups and template deployments.
    identity         : Managed Service Identities.
    image            : Manage custom virtual machine images.
    interactive      : Start interactive mode.
    iot              : (PREVIEW) Manage Internet of Things (IoT) assets.
    keyvault         : Safeguard and maintain control of keys, secrets, and certificates.
    lab              : Manage Azure DevTest Labs.
    lock             : Manage Azure locks.
    login            : Log in to Azure.
    logout           : Log out to remove access to Azure subscriptions.
    managedapp       : Manage template solutions provided and maintained by Independent Software
                       Vendors (ISVs).
    monitor          : Manage the Azure Monitor Service.
    mysql            : Manage Azure Database for MySQL servers.
    network          : Manage Azure Network resources.
    policy           : Manage resource policies.
    postgres         : Manage Azure Database for PostgreSQL servers.
    provider         : Manage resource providers.
    redis            : Access to a secure, dedicated Redis cache for your Azure applications.
    reservations     : Manage Azure Reservations.
    resource         : Manage Azure resources.
    role             : Manage user roles for access control with Azure Active Directory and service
                       principals.
    sf               : Manage and administer Azure Service Fabric clusters.
    snapshot         : Manage point-in-time copies of managed disks, native blobs, or other
                       snapshots.
    sql              : Manage Azure SQL Databases and Data Warehouses.
    storage          : Manage Azure Cloud Storage resources.
    tag              : Manage resource tags.
    vm               : Provision Linux or Windows virtual machines.
    vmss             : Manage groupings of virtual machines in an Azure Virtual Machine Scale Set
                       (VMSS).
    webapp           : Manage web apps.
Daves-MacBook-Pro:~ dave$ az --version
No module named 'pkg_resources'
Traceback (most recent call last):
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/knack/cli.py", line 187, in invoke
    self.show_version()
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/azure/cli/core/__init__.py", line 79, in show_version
    print(get_az_version_string())
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/azure/cli/core/util.py", line 60, in get_az_version_string
    installed_dists = get_installed_cli_distributions()
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/azure/cli/core/util.py", line 51, in get_installed_cli_distributions
    from pkg_resources import working_set
ModuleNotFoundError: No module named 'pkg_resources'
Daves-MacBook-Pro:~ dave$ cd ~/Documents
Daves-MacBook-Pro:Documents dave$ cd AzureIoTWorkshop/
Daves-MacBook-Pro:AzureIoTWorkshop dave$ cd DevKit
Daves-MacBook-Pro:DevKit dave$ ls -la
total 24
drwxrwxrwx  5 dave  staff   160 Jan 27 09:59 .
drwxrwxrwx  6 dave  staff   192 Jan 27 09:59 ..
-rw-r--r--@ 1 dave  staff  8196 Jan 27 09:59 .DS_Store
drwxrwxrwx  8 dave  staff   256 Jan 27 09:28 devkit_install_mac_<IP_ADDRESS>
drwxrwxrwx  8 dave  staff   256 Jan 27 09:28 devkit_install_win_<IP_ADDRESS>
Daves-MacBook-Pro:DevKit dave$ cd devkit_install_mac_<IP_ADDRESS>/
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ ls -la
total 32
drwxrwxrwx   8 dave  staff   256 Jan 27 09:28 .
drwxrwxrwx   5 dave  staff   160 Jan 27 09:59 ..
-rwxrwxrwx   1 dave  staff   150 Jan 27 08:20 .babelrc
-rwxrwxrwx   1 dave  staff  1676 Jan 27 08:20 gulpfile.js
-rwxrwxrwx   1 dave  staff  2990 Jan 27 10:28 install.sh
drwxrwxrwx  14 dave  staff   448 Jan 27 09:28 out
-rwxrwxrwx   1 dave  staff  1657 Jan 27 08:20 package.json
drwxrwxrwx   4 dave  staff   128 Jan 27 09:28 tools
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ az
Error loading command module 'dla'

     /\
    /  \    _____   _ _  ___ _
   / /\ \  |_  / | | | \'__/ _\
  / ____ \  / /| |_| | | |  __/
 /_/    \_\/___|\__,_|_|  \___|

Welcome to the cool new Azure CLI!

Here are the base commands:

    account          : Manage Azure subscription information.
    acr              : Manage Azure Container Registries.
    acs              : Manage Azure Container Services.
    ad               : Synchronize on-premises directories and manage Azure Active Directory
                       resources.
    advisor          : (PREVIEW) Manage Azure Advisor.
    aks              : Manage Azure Kubernetes Services.
    appservice       : Manage App Service plans.
    backup           : Commands to manage Azure Backups.
    batch            : Manage Azure Batch.
    batchai          : Batch AI.
    billing          : Manage Azure Billing.
    cdn              : Manage Azure Content Delivery Networks (CDNs).
    cloud            : Manage registered Azure clouds.
    cognitiveservices: Manage Azure Cognitive Services accounts.
    configure        : Display and manage the Azure CLI 2.0 configuration. This command is
                       interactive.
    consumption      : Manage consumption of Azure resources.
    container        : (PREVIEW) Manage Azure Container Instances.
    cosmosdb         : Manage Azure Cosmos DB database accounts.
    disk             : Manage Azure Managed Disks.
    dls              : (PREVIEW) Manage Data Lake Store accounts and filesystems.
    eventgrid        : Manage Azure Event Grid topics and subscriptions.
    extension        : Manage and update CLI extensions.
    feature          : Manage resource provider features.
    feedback         : Loving or hating the CLI?  Let us know!
    find             : Find Azure CLI commands.
    functionapp      : Manage function apps.
    group            : Manage resource groups and template deployments.
    identity         : Managed Service Identities.
    image            : Manage custom virtual machine images.
    interactive      : Start interactive mode.
    iot              : (PREVIEW) Manage Internet of Things (IoT) assets.
    keyvault         : Safeguard and maintain control of keys, secrets, and certificates.
    lab              : Manage Azure DevTest Labs.
    lock             : Manage Azure locks.
    login            : Log in to Azure.
    logout           : Log out to remove access to Azure subscriptions.
    managedapp       : Manage template solutions provided and maintained by Independent Software
                       Vendors (ISVs).
    monitor          : Manage the Azure Monitor Service.
    mysql            : Manage Azure Database for MySQL servers.
    network          : Manage Azure Network resources.
    policy           : Manage resource policies.
    postgres         : Manage Azure Database for PostgreSQL servers.
    provider         : Manage resource providers.
    redis            : Access to a secure, dedicated Redis cache for your Azure applications.
    reservations     : Manage Azure Reservations.
    resource         : Manage Azure resources.
    role             : Manage user roles for access control with Azure Active Directory and service
                       principals.
    sf               : Manage and administer Azure Service Fabric clusters.
    snapshot         : Manage point-in-time copies of managed disks, native blobs, or other
                       snapshots.
    sql              : Manage Azure SQL Databases and Data Warehouses.
    storage          : Manage Azure Cloud Storage resources.
    tag              : Manage resource tags.
    vm               : Provision Linux or Windows virtual machines.
    vmss             : Manage groupings of virtual machines in an Azure Virtual Machine Scale Set
                       (VMSS).
    webapp           : Manage web apps.
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ az --version
No module named 'pkg_resources'
Traceback (most recent call last):
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/knack/cli.py", line 187, in invoke
    self.show_version()
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/azure/cli/core/__init__.py", line 79, in show_version
    print(get_az_version_string())
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/azure/cli/core/util.py", line 60, in get_az_version_string
    installed_dists = get_installed_cli_distributions()
  File "/usr/local/Cellar/azure-cli/2.0.25/libexec/lib/python3.6/site-packages/azure/cli/core/util.py", line 51, in get_installed_cli_distributions
    from pkg_resources import working_set
ModuleNotFoundError: No module named 'pkg_resources'
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ azure-cli(2.0.20)
-bash: syntax error near unexpected token `2.0.20'
Daves-MacBook-Pro:devkit_install_mac_<IP_ADDRESS> dave$ az login
Error loading command module 'dla'
To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the code F4HS47CN2 to authenticate.

Related issue on Azure CLI: https://github.com/Azure/azure-cli/issues/5503

Close issue because it is a user environment problem. See how to fix at previous comment.


fix: remove rustdoc comments

fixes #720

have searched the Clap docs, but i didn't find a way to let Clap ignore them. So let's replace the trpile slash to two to reserve these rustdoc comments?

I believe we can make them module docs with //!?


Added this line to build on Arch to get latest 1.8.x

As per #nerves convo about building from source on Arch @pressy4pie
Adding this line to documentation that was key thing that prevented me from being able to build from source on Arch yesterday.

Thanks! Running autogen.sh isn't needed if you download the source tar ball. That seems like more of an old school Unix thing these days and that everyone just clones the repository. Seems like the best way is to just show it in the instructions like your PR and let the old school Unix users complain that it is unnecessary (which I highly doubt will happen).


snapshot/process: Use binary encoding instead of printf()

Binary enconding is easier to handle and should be more performant.
While working on https://github.com/inspektor-gadget/inspektor-gadget/pull/1866 I did this conversion. Porting it to the main gadget.
Part of https://github.com/inspektor-gadget/inspektor-gadget/issues/1829

CI is broken because of https://github.com/aquasecurity/btfhub/pull/96. Will investigate more tomorrow.


macos 13.0.1, starts but quietly fails to start daemon in ruby 2.7.5, does work if run in foreground, works in ruby 3.1.2 in daemon mode

Note does work in daemon mode on ruby 3.1.2 after using thin install tip: gem install thin -v 1.5.1 -- --with-cflags="-Wno-error=implicit-function-declaration"
more about my computer:
% sysinfo
Software:

    System Software Overview:

      System Version: macOS 13.0.1 (22A400)
      Kernel Version: Darwin 22.1.0
      Time since boot: 1 day, 11 hours, 17 minutes

Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro18,3
      Model Number: Z15G001X4LL/A
      Chip: Apple M1 Pro
      Total Number of Cores: 10 (8 performance and 2 efficiency)
      Memory: 32 GB
      System Firmware Version: 8419.41.10
      OS Loader Version: 8419.41.10

Start as daemon, console output displays normally but daemon not started.
ruby-2.7.5 rails-2.7.5 % gem info mailcatcher

*** LOCAL GEMS ***

mailcatcher (0.8.2)
    Author: Samuel Cochran
    Homepage: https://mailcatcher.me
    License: MIT
    Installed at: /Users/stephen/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0

    Runs an SMTP server, catches and displays email in a web interface.
zs ruby-2.7.5 rails-2.7.5 % mailcatcher
Starting MailCatcher v0.8.2
==> smtp://<IP_ADDRESS>:1025
==> http://<IP_ADDRESS>:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.
zs ruby-2.7.5 rails-2.7.5 % curl -i http://<IP_ADDRESS>:1080
curl: (7) Failed to connect to <IP_ADDRESS> port 1080 after 5 ms: Connection refused
zs ruby-2.7.5 rails-2.7.5 % psg mailcatcher
zs ruby-2.7.5 rails-2.7.5 % mailcatcher -f
Starting MailCatcher v0.8.2
==> smtp://<IP_ADDRESS>:1025
==> http://<IP_ADDRESS>:1080

Open another terminal and check to see if it is running.
ruby-2.7.5 rails-2.7.5 % curl -I http://<IP_ADDRESS>:1080
HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
Content-Length: 2156
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Connection: keep-alive
Server: thin 1.5.1 codename Straight Razor

ruby-2.7.5 rails-2.7.5 % psg mailcatcher
stephen          41774   0.0  0.1 409136896  49888 s006  S+    1:24PM   0:00.25 /Users/stephen/.rbenv/versions/2.7.5/bin/ruby /Users/stephen/.rbenv/versions/2.7.5/bin/mailcatcher -f

Tested also by sending mail from rails app in dev mode -- works.
Quit from web application.
Try starting mailcatcher in verbose mode to see if there are any additional error messages -- no additional info.
ruby-2.7.5 rails-2.7.5 % mailcatcher -v
Starting MailCatcher v0.8.2
==> smtp://<IP_ADDRESS>:1025
==> http://<IP_ADDRESS>:1080
*** MailCatcher runs as a daemon by default. Go to the web interface to quit.
zs ruby-2.7.5 rails-2.7.5 % curl -I http://<IP_ADDRESS>:1080
curl: (52) Empty reply from server

Related to #521

yeah, this is a duplicate of #521. Please follow up there.


CB-12613 Added temporalStorage field to InstanceTemplate in DataHub post API

This field will controll if only ephemeral storage should be initialized for VMs

one minor thing: in entity, please add a DefaultEnumConverter to the new field, like here: https://github.com/hortonworks/cloudbreak/blob/89411c9e1676344c29ca813407f41694aed95fcf/core-model/src/main/java/com/sequenceiq/cloudbreak/domain/Template.java#L49


fix: typo, change llm_model to llm1_model

Description
Thank you for opening a Pull Request!
Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[x] Follow the CONTRIBUTING Guide.
[ ] You are listed as the author in your notebook or README file.

[ ] Your account is listed in CODEOWNERS for the file(s).

[x] Make your Pull Request title in the https://www.conventionalcommits.org/ specification.
[x] Ensure the tests and linter pass (Run nox -s format from the repository root to format).
[x] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕

Hi @holtskinner @polong-lin @inardini:
Can you help me review my bugfix when you get time? Thank you


Key-sequence and contenteditable issue

It seems that if you have a

aaaa

 and place the cursor at the beginning of the
 element (in front of aaaa) and hit the Simulate key-sequence button, the text is not entered in the correct position.
You would expect to have

foobaraaaa

, instead you get
foobar
aaaa

. Otherwise, if the cursor is anywhere else in the text it works as expected.
I have edited your demo jsfiddle in order for you to be able to test what I'm trying to say: http://jsfiddle.net/Psjhf/721/
Look forward to hearing your opinion on this.

hmm.. unfortunately, I don't know much about the way selections work. So I can't tell if this is a bug or expected behavior, i.e. if clicking in front of the aaaa is supposed to create a selection within the
 element or in front of it.
I wonder if recent versions of bililiteRange handle such situations differently. Then #28 might fix this.

Hi @dianaprajescu @j-ulrich  ,
I don't believe the #28  solved this issue. Did you get a fix or work around for this issue ?
Looking forward to hear from you.

Hi @dianaprajescu  and @j-ulrich ,
I have investigated this issue, leads to billilite rage bounds
Further investigation can be found in the logged issue.
https://github.com/dwachss/bililiteRange/issues/17


Crudsupportoptioncode

This is about Option Code object:
b1_dhcp_option_code_gather: Module to gather information about existing Option codes.
b1_dhcp_option_code: Module to create, update and delete a Option code in a BloxOne platform

@akhilesh-kabade-infoblox please close this PR if it isn't needed anymore


Should be wget -O instead of wget -o

In
https://github.com/xyzforever/BEVT/blob/3fc25e9ac2dd3c9e7cda501aa5bc137dee62e9d4/README.md?plain=1#L67-L68
the flag should be -O which "writes documents to FILE" instead of -o which "logs messages to FILE".

Thanks！


Serialport.list no response

Summary of Problem
(Please answer all 3)

What are you trying to do?
Using serialport on electron app.
What happens?
No response after call Serialport.list
What should have happened?
return all my serial ports like serialport-list.
I try run the command line tool in the doc, it works well:

$ npx @serialport/list
/dev/tty.Bluetooth-Incoming-Port
/dev/tty.usbserial-1420		FTDI
/dev/tty.usbserial-1410		FTDI
Code to Reproduce the Issue
In the electron's main.js
let win;

const SerialPort = require('serialport');
SerialPort.list().then(
  ports => ports.forEach(console.log),
  err => console.error(err)
);
console.log("SerialPort.list");

// Code

All log in the console:

electron .

SerialPort.list
/dist/index.html
/dist/index.bundle.js
/dist/index.html
[5146:0521/141936.015835:ERROR:CONSOLE(24)] "Empty response arrived for script<EMAIL_ADDRESS>source: chrome-devtools://devtools/bundled/shell.js (24)
[5146:0521/141936.094472:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: CmModes.DefaultCodeMirrorMimeMode", source: chrome-devtools://devtools/bundled/shell.js (108)
[5146:0521/141936.094744:ERROR:CONSOLE(108)] "Uncaught (in promise) Error: Could not instantiate: CmModes.DefaultCodeMirrorMimeMode", source: chrome-devtools://devtools/bundled/shell.js (108)
Versions, Operating System and Hardware

<EMAIL_ADDRESS>Node.js v? I use<EMAIL_ADDRESS>and electron-rebuild
Windows? Linux? Mac? Mac High Sierra
Hardware and chipset? (Prolific/FTDI/Other)

I found another interesting thing, if SerialPort.list is called, the electron process can't quit when close the main window. I guess SerialPort.list missing resolve or reject the return promise, and make the process exit hang.

After switch from electron to nw.js, everything works well.  Thanks to @reconbot


Add ability to indicate the group name when adding a user

Can now add a user by specifying either the group name or gid.

#276

LGTM on green


Possible memory leak in v0.13.0 with new  ObjectList class

Describe the bug
I’ve stumbled upon an unusual use case that seems to cause a memory leak. I was initially hesitant to report this, but I believe it’s important to share for the overall robustness of the Neo-code.
This issue might be related to the automatic handling of relationships between objects with the new  ObjectList class. This issue did not occur with Neo 0.12.0.
Some Elephant unit tests run indefinitely and eventually are being canceled as the runners are running out of memory.
When running tests locally memory also fills up quickly.
To Reproduce
The following code will run until the system runs out of memory:
# Test memory Issue
import neo
from neo.test.generate_datasets import generate_one_simple_segment

obj = generate_one_simple_segment(supported_objects=[neo.core.Segment, neo.core.Epoch])
obj.epochs.extend(obj.epochs)

The provided code is likely an edge case that is not typically encountered in the regular usage of Neo.
Expected behavior
A. Behavior of Neo 0.12.0.
or
B. This should raise an error and not pass silently.
Environment:

OS:  Linux (Ubuntu 22.04.3 LTS)
Python version:  3.10.12
Neo version: 0.13.0
NumPy version: 1.26.4

Additional context
This problem occurred in several Elephant unit tests, for an example see:
https://github.com/NeuralEnsemble/elephant/blob/e2df1b96a4d82532f7d29b9e3eb8c1f271afa58b/elephant/test/test_neo_tools.py#L1469-L1472
This Elephant PR aims at fixing this issue: https://github.com/NeuralEnsemble/elephant/pull/617 .
Thank you for your time and consideration.
If you need any more info, feel free to ask!

Howdy @Moritz-Alexander-Kern, thanks for the report. I've been thinking about this a bit. So first off I can definitely get this to replicate on my local machine.
But if you do this:
# Test memory Issue
import neo
from neo.test.generate_datasets import generate_one_simple_segment

obj = generate_one_simple_segment(supported_objects=[neo.core.Segment, neo.core.Epoch])
obj1 = generate_one_simple_segment(supported_objects=[neo.core.Segment, neo.core.Epoch])
obj.epochs.extend(obj1.epochs)

Everything works fine.
I believe this is because the ObjectList class implements its own __iter__ method. So what is happening is that we have a contents list which contains all the epochs in this case. The extend method will iterate through the ObjectList's contents list  and append the Epochs one at a time to the contents. But then the __iter__ object will not hit its StopIteration/IndexError and so will continue indefinitely.
To recreate this simply you could do:
a_list = [1,2]
for item in a_list:
    a_list.append(item)

This would trigger a never ending loop.
This is exactly what is being triggered by the extend method on itself. cpython has some defensive checks in place for if you extend on a list to itself, but since the ObjectList doesn't have the same protections this will continue to fail.
Since the objection relational mapping provided by ObjectList is so beneficial I doubt that would be changed for this case. I'm not quite sure where an error would go to warn the user though. Maybe something like this:
if id(self.contents) == id(objects.contents):
    raise RuntimeError('Trying to extend with the same objects will cause infinite loop')
self.contents.extend(objects)

at this part of the code: https://github.com/NeuralEnsemble/python-neo/blob/0c175b4ece81cc588971a02069af5d87e91f9cb6/neo/core/objectlist.py#L89-L92
But I'll tag @samuelgarcia and @apdavison since they know way more about this model than I do.

Hey @zm711 ,
thanks for validating this and providing an explanation, this helps a lot. :1st_place_medal:
Again, I believe this is a very unusual example, I don't think this needs to be addressed in Neo.
This issue is more about sharing this information with the community.

I fixed the unit tests for now with:
# Test memory issue fix
import neo
from neo.test.generate_datasets import generate_one_simple_segment

obj = generate_one_simple_segment(supported_objects=[neo.core.Segment, neo.core.Epoch])
# obj.epochs.extend(obj.epochs)
# Workaround:
no_epochs = len(obj.epochs)
for epoch_idx in range(no_epochs):
    obj.epochs.append(obj.epochs[epoch_idx])

@Moritz-Alexander-Kern Having looked into this some more, I think both the original example and your fix should raise an exception, because it shouldn't be possible to add the same items twice. This is what #1414 implements.
The alternative would be to silently do nothing (do not add the object, but do not complain), but I think that would be more confusing.

Since we've added an error I'm going to close this for now, but if you want more discussion @Moritz-Alexander-Kern feel free to reopen or open a new issue. We mostly agreed that it just shouldn't be possible to add the same item either with extend or append.


Problems when we use CallTimer in a block of parallelized activities.

In what area(s)?

/area Workflow

What version of Dapr?

1.10.1

Expected Behavior
That context.CallTimer can be used without problems between activities of a parallelized block (Fan i / Fan out Pattern) and the flows execute according to the coded logic.
Actual Behavior
When we use the DAPR Workflow and execute several blocks of activities in parallel (more than 2) and within the sequence of activities there is more than 1 context.CallTimer, the flow stays in the running state and never ends.
Steps to Reproduce the Problem
https://discord.com/channels/778680217417809931/1077980255417012354/1078108030207529011
Execute this code:
using Dapr.Workflow;
class ParallelTaskChaining : Workflow<string, string>
{
public override async Task RunAsync(WorkflowContext context, string input)
{
// Fan-out to 10 parallel task chains
List parallelChains = new();
for (int i = 0; i < 3; i++)
{
// RunSequence encapsulates the task chain as a single task.
Task chainTask = RunSequence(context);
parallelChains.Add(chainTask);
}
    // This Task.WhenAll completes after every task in every chain has completed.
    await Task.WhenAll(parallelChains);
    return "done";
}

private static async Task RunSequence(WorkflowContext context)
{
    // This task chain calls three workflow activities in a row
    //await context.CreateTimer(context.CurrentUtcDateTime.AddSeconds(5), CancellationToken.None);
    await context.CallActivityAsync(nameof(MyActivity), new temporal("jorge", 1, context.CurrentUtcDateTime));
    await context.CreateTimer(context.CurrentUtcDateTime.AddSeconds(5), CancellationToken.None);
    await context.CallActivityAsync(nameof(MyActivity), new temporal("jorge", 2, context.CurrentUtcDateTime));
    await context.CreateTimer(context.CurrentUtcDateTime.AddSeconds(5), CancellationToken.None);
    await context.CallActivityAsync(nameof(MyActivity), new temporal("jorge", 3, context.CurrentUtcDateTime));

}

}
class MyActivity : WorkflowActivity<temporal, string>
{
public override Task RunAsync(WorkflowActivityContext context, temporal input)
{
Console.WriteLine($"{input.input} - {input.fecha_objetivo}/{input.secuencia}");
Task.Delay(1000);
return Task.FromResult(input.input);
}
}
Release Note

RELEASE NOTE:

I've confirmed that this appears to be a bug in the Dapr Workflow backend. It seems like even very simple workflows that schedule multiple durable timers in parallel can unexpectedly halt.
Here's an even simpler example:
public override async Task<string> RunAsync(WorkflowContext context, string input)
{
    // Fan-out to 10 parallel timer tasks
    List<Task> tasks = new();
    for (int i = 0; i < 10; i++)
    {
        tasks.Add(context.CreateTimer(TimeSpan.FromSeconds(3)));
    }

    await Task.WhenAll(tasks);
    return "done";
}

Same thing in Go (via unit testing, since we don't have an official Go SDK yet):
r := task.NewTaskRegistry()
r.AddOrchestratorN("TimerFanOut", func(ctx *task.OrchestrationContext) (any, error) {
	tasks := []task.Task{}
	for i := 0; i < 10; i++ {
		tasks = append(tasks, ctx.CreateTimer(1*time.Second))
	}
	for _, t := range tasks {
		if err := t.Await(nil); err != nil {
			return nil, err
		}
	}
	return nil, nil
})

I do not see this issue when running against durabletask-go directly, which means this is likely an issue with how the underlying workflow actor is implemented.

Actually, the bug appears to be in durabletask-go after all. Specifically, this line of code is wrong (appending to the wrong list).


[Workspace Chats] The Next steps are not showing in plural as they do in OldDot

Problem
Coming from here, there is an inconsistency with OldDot next steps.
In OldDot the expense report shows the next steps in plural language as These expenses are going to be submitted... etc, whereas in NewDot we are showing this message as singular. That is used in the expense megaEdit in OldDot, but it should not be used here
Solution
Update the language to be plural to make it consistent with the OldDot view
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c12e2ada13c1b9c0
Upwork Job ID:<PHONE_NUMBER>520686592
Last Price Increase: 2023-12-13

This can be handled internally as its a simple fix

Merged and nothing to pay

This is done


Truncating of messages. Fixes #84.

Fixes https://github.com/MoodCat/MoodCat.me-Frontend/issues/84

It works so, LGTM

I'm going to think about this one for a sec.

I wouldnot truncate. We should consider this a bad request and throw an exception. And prevent in the frontend that such messages can be typed by setting a limit on the input field.

Changed to exception and a fail-fast approach.

We need this, will merge! :+1:


Programmatic generation

this includes both #4 and #5 as it is based on top of them

@capaj closing this, as https://github.com/helios1138/graphql-typed-client/tree/next will already have this ability. thank you for bringing this up


chore(ci): fix ci

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: