[MobyGames Metadata] (Feature Request) Consider platform when importing game data

Hi,
does the MobyGames Metadata Import extension consider the platform on importing release dates?
Some games have a long list of different release dates, depending on the platform, often there IBM-PC ports got later on it than the original release, but the extension does import the most old date regardless of platform.
Perhaps this should be an toggleable option if it should just get the oldest date or the correct one.
Sample games:
https://www.mobygames.com/game/50/zork-the-great-underground-empire/ (released on the PDP-10 in 1980, but on IBM-PC 1984)
https://www.mobygames.com/game/12111/ultima-i/ (released on Apple II in 1986, IBM-PC 1986 or 1987)
https://www.mobygames.com/game/1823/california-games/ (original release in 1987, IBM-PC release 1988)

Is an option in the settings as of 0.5.1


Feature/add sugar

Let me know if you poke around and find a missing spot or case where the remote dataset title doesn't alias. Part of issue #116

Fixing broken tests and a bug.

Fixed and ready for review! Thanks @CloudNiner for the save.

everything else LGTM.


Opaque error when adding SAML Application resource

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Terraform Version
Terraform v1.2.8
Affected Resource(s)

pingfederate_idp_sp_connection

Terraform Configuration Files

resource "pingfederate_idp_sp_connection" "sample_saml" {
  name      = "Sample SAML"
  entity_id = "Sample-SAML"
  active    = true
  credentials {
    signing_settings {
      signing_key_pair_ref {
        id = "signing-cert"
      }
      include_cert_in_signature    = false
      include_raw_key_in_signature = false
      algorithm                    = "SHA256withRSA"
    }
  }
  extended_properties {
    key_name = "authNexp"
    values = [
      "Single_Factor"
    ]
  }
  sp_browser_sso {
    protocol = "SAML20"
    enabled_profiles = [
      "IDP_INITIATED_SSO"
    ]
    sso_service_endpoints {
      binding    = "POST"
      url        = "https://decoder.pingidentity.cloud/saml"
      is_default = true
      index      = 0
    }
    sign_assertions               = false
    sign_response_as_required     = true
    sp_saml_identity_mapping      = "STANDARD"
    require_signed_authn_requests = false
    assertion_lifetime {
      minutes_before = 5
      minutes_after  = 5
    }
    encryption_policy {
      encrypt_assertion             = false
      encrypt_slo_subject_name_id   = false
      slo_subject_name_id_encrypted = false
    }
    attribute_contract {
      extended_attributes {
        name        = "firstname"
        name_format = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
      }
      extended_attributes {
        name        = "ImmutableID"
        name_format = "urn:oasis:names:tc:SAML:2.0:attrname-format:basic"
      }
      extended_attributes {
        name        = "mail"
        name_format = "urn:oasis:names:tc:SAML:2.0:attrname-format:basic"
      }
      extended_attributes {
        name        = "lastname"
        name_format = "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
      }
    }
    authentication_policy_contract_assertion_mappings {
      attribute_contract_fulfillment {
        key_name = "firstname"
        source {
          type = "AUTHENTICATION_POLICY_CONTRACT"
        }
        value = "firstName"
      }
      attribute_contract_fulfillment {
        key_name = "ImmutableID"
        source {
          type = "AUTHENTICATION_POLICY_CONTRACT"
        }
        value = "ImmutableID"
      }
      attribute_contract_fulfillment {
        key_name = "mail"
        source {
          type = "AUTHENTICATION_POLICY_CONTRACT"
        }
        value = "mail"
      }
      attribute_contract_fulfillment {
        key_name = "SAML_SUBJECT"
        source {
          type = "AUTHENTICATION_POLICY_CONTRACT"
        }
        value = "subject"
      }
      attribute_contract_fulfillment {
        key_name = "lastname"
        source {
          type = "AUTHENTICATION_POLICY_CONTRACT"
        }
        value = "lastName"
      }
      authentication_policy_contract_ref {
        id = pingfederate_authentication_policy_contract.facile_default.id
      }
    }
  }
}

Debug Output
https://gist.github.com/cprice-ping/9841e16de0eb62efd34887b86c42fcd1
Panic Output

Expected Behavior
Error would indicate where in the HCL the problem is
Actual Behavior
│ Error: unable to create IdpSpConnections: Validation error(s) occurred. Please review the error(s) and address accordingly.
│ This list cannot contain empty entries.
│
│   with pingfederate_idp_sp_connection.sample_saml,
│   on facile-pingfed-apps.tf line 1, in resource "pingfederate_idp_sp_connection" "sample_saml":
│    1: resource "pingfederate_idp_sp_connection" "sample_saml" {

Steps to Reproduce

terraform apply

Important Factoids

References

#0000

hey @cprice-ping it looks like the provider is swallowing part of the error, if you run this with TF_LOG=DEBUG env var you will also get the request/response json logged, the response will have the full error.

DEBUG is quite chatty -- here's the full error from PF
{"resultId":"validation_error","message":"Validation error(s) occurred. Please review the error(s) and address accordingly.","validationErrors":[{"message":"This list cannot contain empty entries.","fieldPath":"spBrowserSso.attributeContract.coreAttributes","errorId":"list_cannot_contain_empty_entries"}]}

I can fix this in the HCL -- and these logs will be useful as I'm troubleshooting my config

This switches the problem to be the docs -- you have sp_browser_sso as optional, and within that block, attribute _mapping as optional


minelp textures

these are textures that aren't present in the pack right now. i don't know if we intend to add them, so I'm just going to list all of them here. if we arent going to add it, mark it as complete. and unmark it if we are adding it to the pack
entity:

[ ] enderman
[ ] illager
[X] pony (doesn't look like it)
[ ] zombie villager
[X] Alex pony
[X] seapony
[X] steve pony
[X] wandering trader
[X] witch pony

gui:

[X] pony (the only thing that's there

mob:

[X] noskin alex
[X] noskin steve
[X] noskin seapony

models:

[X] antlers
[X] muffin
[X] saddlebags
[X] stetson

all files in minelp armor folder are present in l&t
these files present in armor, but not in minelp 4.0.9-1.15.2 (might want to remove them)

[ ] chainmail_layer_1_pony
[ ] chainmail_layer_2_pony
[ ] diamond_layer_1_pony
[ ] diamond_layer_2_pony
[ ] gold_layer_1_pony
[ ] gold_layer_2_pony
[ ] iron_layer_1
[ ] iron_layer_1_pony
[ ] iron_layer_2
[ ] iron_layer_2_pony
[ ] iron_layer_inner
[ ] iron_layer_outer
[ ] leather_layer_1_overlay_pony
[ ] leather_layer_1_pony
[ ] leather_layer_2_overlay_pony
[ ] leather_layer_2_pony

took this list from minelp 4.0.9-1.15.2

Duplicate of #26

this is not a duplicate of #26, there are things in here that aren’t present in #26

The scope of #26 covers all of the MineLP textures, listed or no. This one will be listed under there for the mentions.
Please do not open it again.


fix(sharepoint): pinned files break selection

Fix #544

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

GitHub release
v6.35.1

Your semantic-release bot :package::rocket:


Add tek it speed up by cafune

Song Name
tek it speed up
Artist Name
cafune
Source
Youtube
Youtube Link
xpugamBSeeVFzQyt
Direct File Link
No response
Song ID
100
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: 86871436

reject
invalid YouTube link


Setup validate-vet

Add a validate-vet target (and script/validate-vet that does the
job)
Added package version and cli/app that are vetted for now.

λ make validate-vet
# […]
---> Making bundle: validate-vet (in .)
warning: no common commits
cli/app/app.go:181: unrecognized printf verb 'i'
exit status 1
Makefile:41: recipe for target 'validate-vet' failed
make: *** [validate-vet] Error 1

and then
λ make validate-vet
# […]
---> Making bundle: validate-vet (in .)
warning: no common commits
Congratulations!  All Go source files have been vetted.

Related to #14. 🐸
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

ping @jfrazelle, same as #21 :smile_cat:

oh ill make it run default bundles

@jfrazelle yay :heart_eyes:

/ping @ibuildthecloud

LGTM

LGTM


Show progress of installation

Installing YCM per Vundle shows a message:
"Processing 'Valloric/YouCompleteMe'"
and it seams that the installation hangs / fails here.
Actually, the repo is very big (>200MB) and this takes some time to download.
Please add a progress indicator for the installation process.

I've just hit the same issue - the VIM UI stops responding and seeming nothing is happening in the background, which could be pretty confusing to users.
Only careful observation of running tasks or the bundle directory reveals a git clone is going on in the background. So some for of progress reporting (even just a log filer for now) would be really appreciated! :)


Make pool size parameters configurable

Including number of nodes to allocate and the size of each node.

commit e3c6343ce20f38b0cde1cb730583c0858b43a6e0
Author: Frank Quinn<EMAIL_ADDRESS>Date:   Thu Jun 2 21:41:48 2016 +0100
Added new configuration parameters for message pool and node sizes

I provided sample usage in the configuration:

mama.zmq.transport.sub.msg_pool_size=1024
mama.zmq.transport.sub.msg_node_size=4096

Pool size is in number of nodes and node size is in bytes. A larger
initial pool will mean fewer allocations if the subscriber is likely
to be placed under pressure.


podme.com

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running youtube-dl version 2021.06.06
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that none of provided URLs violate any copyrights
[X] I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Single podcast: https://podme.com/no/papaya/550167
podcast: https://podme.com/no/papaya

Description

Requires "premium" account, 14 day trial.

JSON for streaming mp4a:
https://api.podme.com/web/api/v2/episode/slug/papaya?pageSize=10&page=0&getbyOldest=false


Discussion: Usage statistics and metrics

As a developer I would like to be able to easily see a number of things about my plans, plan stubs and devices:

When was the last time this was used
Which beamline was it used on - maybe even who used it if we have good granularity on this
How long did it take

Acceptance Criteria

We compile a list of requirements
We come up with a plan of where we will implement these requirements and how
We write relevant issues for them

Note:

As discussed we may not get perfect statistics all the time e.g. my_plan on i03 may not be the same as my_plan on i04 or my_plan today may be very different from my_plan yesterday. This is fine, we shouldn't let perfect be the enemy of good

Additional metrics I would be interested in, some raised by in-person discussion:

Plan error/success rate
How often plan is run with the same set of parameters vs. different set
Unique identifier to ensure all plans tracked uniquely. Two plans can have the same name
Ideally also distinguish between different versions of the same plan

Which device(s) were injected into the plan by blueapi (maybe just log name/class/prefix)?

e.g. the plan might be theoretically shared between two beamlines, but if only one beamline uses it in practice we should be able to tell from the prefixes of the injected devices.

connected to #363 .


refactor: use scroll

Moves the scrolling logic from PivotTable component to a custom hook.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix polyring_feeds reloading

make it possible for polyring_feeds tuples to be updated (instead of ignoring anything that's not entirely new)

should be fixed as of<PHONE_NUMBER>2764f2c70df1b98f528d0e400470be


systemd timer for video cache?

Maybe it will be nice to have a systemd.timer (legacy cronjob) to clean the cache automatically.
https://docs.bigbluebutton.org/2.2/customize.html#delete-recordings-older-than-n-days

@genofire could you check out the PR #96 there is an option which could add what you suggested.

Solved by merging of #96


laravel 8 can't run using this, because laravel only runs on php version 7.4

laravel 8 can't run using this, because laravel only runs on php version 7.4 and above, can you develop with different php version releases

what if you upgrade your local php to version 8? cause electron will use local php

Its upgraded to php 8.2 now.


Tdr 37 tag uploaded s3 objects with file path

Looks good. Are there any other changes required in other repos to get this to work?

No, I don't think so, when I run this locally, it tags the file on S3 with the path. There's a task in this sprint (TDR-1946) which is going to update the lambda code to use this information.


Update request dependency

Currently this project relies on<EMAIL_ADDRESS>In that packages dependency tree there is a (package with a vulnerability)[https://nodesecurity.io/advisories?search=is-my-json-valid&version=2.17.1]. This dependency has been fixed in more recent versions of request. Please update the dependency of request to the newest version 2.86, if possible (I haven't checked yet whether there have been breaking changes).

Search before opening new issues.


[DO NOT MERGE] Enable / disable CD due to RFC 128 consequences

https://trello.com/c/epNWudCR/176-write-an-rfc-for-continuous-deployment-and-seek-review
Please see the commits for more details.

Added "DNM" as this depends on the outcome of RFC 128.


fix emerald route data pt1

WIP of fixing emerald route data by adding missing level data and fixing incorrect stuff
so far i've stopped after cave of origin, so most of the maps are done but still some left to do

Hi Cyan, would you be able to comment more on what this PR is about? For what purpose is it needed, what issue (if any) does it solve?
I noticed that it does add some useful wild encounter level data to RouteData.lua, which is great.
I'd be happy to work with you to understand more about the purpose of this PR and any questions with resolving conflicts.
Unrelated to this, we're fixing some of the Emerald encounter data in an upcoming Tracker release later today.


A consfusion on logos assets

Hi Felix,
I am now trying to generate inv3d dataset; I found you mentioned the logos can be downloaded from here
But I found there are many big files in this link, like the image following:
I need clarification on which files I should download.

You can use any logos you want when generating your own dataset.
We used "LLD-logo FILES-PNG" for Inv3D.
If you are interested in Inv3D, you can dowload it here.


Need a new version of gyp to deal with duplicate basenames

So, MSVS does this beautiful thing where it flattens basenames, such that a/b/myfile.c and d/e/f/myfile.c both just become myfile.c. Gyp only recently (not quite 2 months ago) added a flag for dealing with this here: 25ed9ac4ac2a4d2a08909225fbb6d56e89ad38a6.
This is blocking us updating nodegit to use the latest version of libgit2. We've been using a fork of pangyp updated to the latest gyp,
but it doesnt work with any sort of rebuild process then (e.g. the standard setup used by electron projects, where it installs under standard node then uses apm to shell out to npm/node-gyp with global vars set), without forking the whole tree from apm->npm->node-gyp.
It appears that this has been brought in already in the latest iojs (here), if that makes it any easier to pull in. Everything seems ot work locally if i just update the folder. There is one newer commit in iojs with a fix thats already been submitted to gyp but isnt in yet here. I haven't tested with those changes.
Additionally, code needs to be added for either a commandline flag or (preferably) gypfile config or something to enable the flag to be passed. Currently our fork just always adds it to the args always (see here)
Let me know if I can be of any assistance. Would a pr be welcome or is there more you like to do?

I made a commit bringing that in https://github.com/nodegit/node-gyp/commit/0d8ded7e5dbce630c42da54aa60d67e677a0eb3e

Further inspection yields that this is a holdover from a few libs in chromium, which have duplicate basenames, but you cant have duplicate basenames if compiling with vs2008 or using make on osx. GYP already dropped support for vs2k8 (https://code.google.com/p/gyp/issues/detail?id=384). Is the later case (osx make) still supported in node-gyp, or is it all xcode? If it's ok to drop support for that, its super easy to resolve the config issue (just always pass the flag to gyp). Otherwise, we need a way to specify that flag for our project, as the default behavior is now to fail to configure if duplicate basenames exist, even when using a platform that allows them to function. I realize the argument for this being a compile time option and not a project setting, but I think now expecting users to pass --no-duplicate-basename-check in addition to other common names like --msvs_version is going to make node-gyp (and by extension npm) start feeling exceptionally verbose for windows again. Perhaps an environment variable?

Any update on this? I'm having the same problem to compile libblkid from util-linux as a npm package...

I have reviewed the code and in fact it would just be to pass the argument. Probably it would be checked and called inconditionally for Linux, so there's no problems there... I could be able to do a pull-request for that.

This is available here via cc8b2fa83e8cf02beb27c390b4dcfb7564becac0. Going to close for now since the change has landed.


add name and description for cloud credential

https://github.com/rancher/rancher/issues/17912

LGTM


Smarter Transition From Syncing To Steady State PoS Consensus

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1088  👈
#1087
feature/pos-networking-and-syncing

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tholonious and the rest of your teammates on  Graphite

Merge activity

Mar 6, 10:34 AM EST: @tholonious started a stack merge that includes this pull request via Graphite.


Mounting configuration in registry.xml causes slowness in XACML policy loading from filesystem when the number of policies is high.

Describe the issue:
In the XACML code there are places where the entire resource collections(PAP and PDP) are retrieved from the registry when adding a single policy from the filesystem. (this is ok if the registry is not mounted its only a single JDBC call).
However if the registry is mounted, when retrieving these collections, the mounting handler, after getting the collection checks whether each resource in the collection exists in the registry[1]. a single resource exists check takes two additional JDBC calls.
When policies are added, they are added to both PAP and PDP collections. With the build up of policies in these collections, retrieving the collections to add a new policy triggers the individual resource checks for already existing resources in the collections.
For example if there are 500 policies already added to the PAP and PDP collections.
loading the 501st policy would trigger, resource checks on the existing resources in the collections which is 2 x 500 jdbc calls for loading collection PAP + 2 x 500 jdbc calls for loading collection PDP = 1000 jdbc calls
loading 502nd policy - 2 x 501 + 2 x 501 = 1004 jdbc calls
loading 503rd polcy -  1008 jdbc calls
loading nth policy - 4(n-1) jdbc calls ~ 4n
when the registry is not mounted its just constant number of JDBC calls each time.
How to reproduce:
Load 500 XACML polcies from the filesystem with registry mounting, note the time taken.
<currentDBConfig>wso2registry</currentDBConfig>
    <readOnly>false</readOnly>
    <enableCache>true</enableCache>
    <registryRoot>/</registryRoot>
    <dbConfig name="wso2registry">
        <dataSource>jdbc/SHARED_DB</dataSource>
    </dbConfig>
    <!--<handler class="org.wso2.carbon.registry.extensions.handlers.SynapseRepositoryHandler">
        <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
            <property name="mediaType">application/vnd.apache.synapse</property>
        </filter>
    </handler>

Clear the db and Try load 500 policies from the file system with registry mount present
<currentDBConfig>wso2registry</currentDBConfig>
    <readOnly>false</readOnly>
    <enableCache>true</enableCache>
    <registryRoot>/</registryRoot>
    <dbConfig name="wso2registry">
        <dataSource>jdbc/WSO2CarbonDB</dataSource>
    </dbConfig>
    <dbConfig name="govregistry">
        <dataSource>jdbc/SHARED_DB</dataSource>
    </dbConfig>
    <dbConfig name="configregistry">
        <dataSource>jdbc/SHARED_DB</dataSource>
    </dbConfig>
    <remoteInstance url="https://localhost">
        <id>gov</id>
        <cacheId>postgres@jdbc:postgresql://localhost:5432/wso2db</cacheId>
        <dbConfig>govregistry</dbConfig>
        <readOnly>false</readOnly>
        <enableCache>true</enableCache>
        <registryRoot>/</registryRoot>
    </remoteInstance>
    <remoteInstance url="https://localhost">
        <id>conf</id>
        <cacheId>postgres@jdbc:postgresql://localhost:5432/wso2db</cacheId>
        <dbConfig>configregistry</dbConfig>
        <readOnly>false</readOnly>
        <enableCache>true</enableCache>
        <registryRoot>/</registryRoot>
    </remoteInstance>
    <mount overwrite="true" path="/_system/governance">
        <instanceId>gov</instanceId>
        <targetPath>/_system/governance</targetPath>
    </mount>
    <mount overwrite="true" path="/_system/config">
        <instanceId>conf</instanceId>
        <targetPath>/_system/config</targetPath>
    </mount>
    <!--<handler class="org.wso2.carbon.registry.extensions.handlers.SynapseRepositoryHandler">
        <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
            <property name="mediaType">application/vnd.apache.synapse</property>
        </filter>
    </handler>

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0]
Database: [Posgress]

[1]https://github.com/yasassri/carbon4-kernel/blob/master/core/org.wso2.carbon.registry.core/src/main/java/org/wso2/carbon/registry/core/jdbc/handlers/builtin/MountHandler.java#L429

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


It is impossible to continue a task

💻 Environment
Platform: macOS
OS Version: macOS 10.14.6
Toggl Version: 7.4.1012
🐞 Actual behavior
An attempt to continue a task log a 0 sec length entry and stops a timer.
I tried to use context menu from menubar, green arrow in the app on the right of the task I want to continue. Also a Discard idle time and continue button from a popup does the same.
💯 Expected behavior
I should be able to continue a task I logged before.
🔨 Steps to reproduce

Log a task
Stop it
Try to continue in any way the app offers

📦 Additional info
I tried to downgrade the app down to 7.4.484, but the issue persists. It seems that the bug occurs ever since I upgraded OS from 10.14.5 to 10.14.6.
The chrome extension, the iOS app, and a timer on the site all work as expected.

Thank @kapooostin I would investigate this issue in this milestone 👍

@kapooostin
It sounds like you have manual mode turned on. Please check the menubar icon menu and disable manual mode by clicking Use timer.

Oh, that's hellarious! Thanks, it worked. I must've turned it on from keyboard while Toggl was in focus. Is there a way to disable all shortcuts for the app?

No, we don't have a functionality to disable shortcut. Sorry. Good to hear it's solved.


Dashboard not working when server under other URL

I have the following setup:
Webserver 1 : dev.myapp.com
Socketserver 1 : ws-dev.myapp.com
When i now try to connect to the Sockerserver from the dashboard it tries to connect to dev.myapp.com instead of ws-dev.myapp.com. Looks like it doesn't now that is should connect to ws-dev.myapp.com, because it is not specified :) An App Option for specifying the URL would be good.
I'll submit a pr shortly :)

We'll continue this in #14


Can I connect to my RDBMS?

Can I connect to my RDBMS?
Suggestion:
No response

Hello, Chainlit does not provide direct integration with RDBMS but you can use any other python package that provides that in your python code

Generated by a 🤖
Answer
Yes, you can connect to your RDBMS by setting up the appropriate connection string, creating an instance of the SQLDatabase class, and using a language model with SQLDatabaseChain. Make sure to replace the connection string and database-specific details with the ones relevant to your RDBMS.
Sources
Files

docs/integrations/databricks.ipynb
docs/modules/agents/toolkits/examples/sql_database.ipynb
docs/use_cases/evaluation/sql_qa_benchmarking_chinook.ipynb
docs/modules/chains/examples/sqlite.ipynb

PRs

#35

Explanations
Files
docs/integrations/databricks.ipynb
The content is relevant to the question because it provides information on how to connect to a Databricks RDBMS using the SQLDatabase wrapper of LangChain. The example demonstrates the installation of the required package, the method to connect to Databricks, and the required parameters for the connection.
docs/modules/agents/toolkits/examples/sql_database.ipynb
The content is relevant to the question because it provides an example of how to connect to an RDBMS (in this case, SQLite) using the SQLDatabase module. The example demonstrates how to initialize the connection, create an SQL agent, and execute queries on the database. This information can be helpful for someone looking to connect to their RDBMS.
docs/use_cases/evaluation/sql_qa_benchmarking_chinook.ipynb
Yes, you can connect to your RDBMS using the SQLDatabaseChain in the provided example. The example demonstrates how to set up a connection to an SQLite database, create a chain using a language model, and make predictions using the chain. You can follow these steps to connect to your RDBMS:

Set up your database connection using the appropriate connection string for your RDBMS.
Create an instance of the SQLDatabase class with the connection string.
Create an instance of the OpenAI class for the language model.
Create a SQLDatabaseChain using the instances of SQLDatabase and OpenAI.
Use the chain to make predictions and interact with your RDBMS.

Make sure to replace the connection string and database-specific details with the ones relevant to your RDBMS.
docs/modules/chains/examples/sqlite.ipynb
The content is relevant to the question because it provides information on how to connect to various SQL databases using the SQLDatabaseChain in the LangChain library. It also demonstrates how to use SQLAlchemy to connect to different SQL dialects, such as MS SQL, MySQL, MariaDB, PostgreSQL, Oracle SQL, Databricks, and SQLite. The example provided uses SQLite and the Chinook database to demonstrate the connection process.
PRs
#35
Yes, the PR description indicates that an SQL database has been added to the repository. This means you should be able to connect to your RDBMS. However, you will need to provide more information about the specific RDBMS you are using and the connection details to give a more accurate answer.

This response is meant to be helpful and save users time. It is not meant to be a precise solution.
Please leave a 👍 if this is helpful and 👎  if it is irrelevant

I mean, my own RDBMS. Not supported by SQLAlchemy, not MS SQL, MySQL, MariaDB, PostgreSQL, Oracle SQL, Databricks and SQLite and other popular databases.

Probably not, because the first thing the agent does is queries the names of the tables on the database, then gets the schema (column names etc) of the most relevant tables.   Without SQL Alchemy or more information about the database engine, it wouldn't know how to do this, since getting a list of the tables on the database is implementation dependent.   SQL Alchemy hides that complexity.


Unnecessary usage of sorters in this function causes error in SQL

https://github.com/SAP/openui5/blob/216f75ca49ef549b7586e1fea5f7b4e8329e513c/src/sap.ui.core/src/sap/ui/model/odata/v2/ODataTreeBinding.js#L884
Usage of sorters is wrong at this point:
When using sorters on a treetable, this results in an error.
As sorters are unnecessarily used in count, an SQL error is thrown, as the query would need the column in a GROUP BY.
(I bypassed this by using countMode: 'Inline')

Hi @guti2k,
Can you give us an example  in http://plnkr.co/edit/VQIgkJzyUkg69cgvhmoA?p=preview so we can investigate?
Best Regards,
Gergana

@guti2k
The method you refer to has the following comment:
/**
* Issues a $count request for the given node-id/odata-key.
* Only used when running in CountMode.Request. Inlinecounts are appended directly when issuing a loading request.
* @private
*/
ODataTreeBinding.prototype._getCountForNodeId = function(sNodeId, iStartIndex, iLength, iThreshold, mParameters) {
We will appreciate it if you share an example that illustrates the issue.

Please open a new issue if you suspect a problem in the functionality.
Closed due to inactivity


docs: add documentation for xapi concepts

Description
This PR adds documentation for xAPI concepts

Thanks for the pull request, @Ian2012!  Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@bmtcril ready for review

@Ian2012 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


[BugFix] Fix parquet writer being closed when there is still unfinished task

Why I'm doing:
rowgroup_writer will be invalid to access after writer is closed. Therefore, we should add a dependency that writer will only be closed after all async io tasks are finished.
For example, 2 tasks

task1 (flush rowgroup 1)
task2 (close writer)

We have to make sure task2 is executed after task1 is done.
What I'm doing:
Introduce ExecutionState, which records if any task is unfinished. The commit io task will only be executed when other tasks are all finished.
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[ ] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

@mergify backport branch-3.3


sqlite3-binding.c is built even when dynamic linking is requested

Commit 3a5555302e9b06eb5461016462900f1412ae3f7c added a +build !libsqlite3 constraint to sqlite3-binding.c. Commit 5505c7c92e7621c80224ae7f11b480d6d5d6b415 replaced sqlite3-binding.c with an unaltered copy of upstream's amalgamation, accidentally removing the build constraint.
Without this constraint, libsqlite3-binding.c is built even when --tags=libsqlite3 is used (requesting dynamically linking to libsqlite3). This unnecessarily increases build times.
I'd send a pull request that just adds the constraint back, but it's very easy to reintroduce this problem the next time the embedded copy of SQLite is upgraded. Some kind of test is required, and I haven't thought of how to write one yet.

:+1: to this issue.  I ran into it using the gorm sqlite3 dialect, which just imports this repo.  Just importing the sqlite3 library is enough to cause 25+ second run times on my computer.
Repoing is easy:
package main

import (
	"fmt"

	//_ "github.com/jinzhu/gorm/dialects/sqlite"
	_ "github.com/mattn/go-sqlite3"
)

func main() {
	fmt.Println("Hi!")
}

~ time go run main.go
Hi!
go run main.go  24.37s user 0.38s system 100% cpu 24.634 total

It takes nearly 25 seconds for each run!

Nevermind, running go install github.com/mattn/go-sqlite3 fixed my issue.  Sorry about the trouble!

#339 mostly fixed this.


Avoid installing something not from conda

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Pending and non-news notebooks shouldn't appear in news

Spam accounts are making discussion notebooks like these and they're appearing in news. No discussion notebooks should appear in news.

On the news page, only show notebooks that are in a "news category" type project

Done

Only show pending notebooks to mods and admins

This should be done on BE side as we fetch the data with pagination. @hlbmtc could you please handle that? Assigning you to this ticket.

I'm not sure what's left. Are there still pending notebooks displayed to non staff?

Spam in news is fixed.
Minor improvements still: don't filter news feed for only notebooks of type news
Unsure about status of pending notebooks in feed, so unless it is seen again it might not be worth investigating.
Thus moving down to Low Priority.


Remaining compilers for the third-party-compiler-container

Migrating from stopify repo (Issue #296)

[ ] scheme2js
[ ] JSweet

https://github.com/plasma-umass/Stopify/issues/296


Normalize Quoted-Printable line endings for text content

If a string has binary content, leave \r\n characters as-is.

What is the status of this PR? Will it be merged for a 2.7.2 release at some point?

when we can merge this?

One year later...is there a status on this?

For reference, from RFC 2045, section 6.7:

An "=" followed by a character that is neither a hexadecimal digit (including "abcdef") nor the CR character of a CRLF pair is illegal.

So, having an = followed by a \n (linefeed, also known as LF) is not legal in quoted-printable content. It looks like this gem currently encodes content such that it may result in an illegal =\n character sequence. This PR looks like it does fix that.

Hi guys, any update for 2.7.2, please?


Compiler: global variables

Our current milestone, #61, targets a project which have several global variable declarations.
For example, this one:
static const unsigned char sha1_padding[64] =
{
	0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

Cesium should support them.

[ ] See also (and eliminate!) TODO[#75] in the code.

Some tests to consider:
    [Fact]
    public Task GlobalVariableOfNamedType() => DoTest(@"typedef int foo;
foo x;");

    [Fact]
    public Task GlobalStructVariable() => DoTest(@"typedef struct { int x; } foo;
foo x;");


Non-localhost IP causes wrong redirection

In an attempt to host it on a remote instance the authentication layer causes a wrong redirection to a localhost IP
http://remote-ip-here:8080/ will cause a redirection to
http://localhost:8080/auth/realms/vinlab/protocol/openid-connect/auth?client_id=vinlab-frontend&response_type=code&state=qi7ouyugysi&scope=profile&redirect_uri=http://localhost:8080/dashboard
What am I missing in the keycloak setup?

Nope, I think there is nothing wrong here. Maybe I will publish the direction of the tool in the next commit.

I've updated the Note/README in the commit a056252. Please check it.

As I see it the redirection is done incorrectly, no? It should redirect to the base URL and not by default 'localhost'. In this case it cannot resolve localhost since the user only is able to access the remote-ip and does not have anything at his/hers 'localhost'. The redirection done by the dashboard does not resolve the correct URL to the keycloak login page in this case.

It seems like when you do anything, It will redirect to localhost:8080, right?

It seems like when you do anything, It will redirect to localhost:8080, right?

Yeah exactly.

Oh I got it, so sorry for this inconvenient. To change the address to your remote IP, You should find and replace all of the localhost:8080 to your_ip:your_port.

Ok! Makes sense. I'll create a script to make this adaptive. Thanks! Will reopen if there's further questions.


Macro test failures

There are new test failures on [cfe] Make kernel AST and CompilerOptions use strong mode by default...DAS: Refactor the logic determining the location of a new ignore-comment.
The tests
language/macros/augment/class_declarations_macro_test DartkCrash (expected Pass)
language/macros/augment/class_types_macro_test DartkCrash (expected Pass)
language/macros/introspect/class_test DartkCrash (expected Pass)
language/macros/introspect/declaration_introspect_cycle_failure_test DartkCrash (expected Pass)
language/macros/json/json_serializable_test DartkCrash (expected Pass)
language/macros/nesting/macro_impl_uses_macro1_test DartkCrash (expected Pass)
language/macros/nesting/macro_impl_uses_macro2_test DartkCrash (expected Pass)

are failing on configurations
vm-aot-android-release-arm64c
vm-aot-android-release-arm_x64
vm-aot-linux-debug-simarm_x64
vm-aot-linux-release-simarm_x64
vm-aot-linux-release-x64
vm-aot-mac-release-arm64
vm-aot-mac-release-x64
vm-aot-win-release-x64
vm-linux-debug-simriscv64
vm-linux-release-simarm

This might be a duplicate of https://github.com/dart-lang/sdk/issues/55374

Similar issue on the DDC hostasserts bot:
(ddc-hostasserts-linux-d8):
    language/macros/augment/class_declarations_macro_test   (flaky -> Crash, expected Pass)
    language/macros/introspect/declaration_introspect_cycle_failure_test   (flaky -> Crash, expected Pass)
    language/macros/json/json_serializable_test   (flaky -> Crash, expected Pass)
    language/macros/augment/class_types_macro_test   (flaky -> Crash, expected Pass)
    language/macros/introspect/class_test   (flaky -> Crash, expected Pass)
    language/macros/nesting/macro_impl_uses_macro2_test   (flaky -> Crash, expected Pass)
    language/macros/nesting/macro_impl_uses_macro1_test   (flaky -> Crash, expected Pass)

On https://github.com/dart-lang/sdk/commit/defd81e31d25ea4a9683ea08da3d64dc2148cac9 tests outcomes changed:
DartkCrash -> CompileTimeError (expected Pass) language/macros/introspect/declaration_introspect_cycle_failure_test
DartkCrash -> RuntimeError (expected Pass) language/macros/json/json_serializable_test


A 404 from raise event is inaccurately described as instance not found

The python implementation has a hardcoded error message for a 404 on context.raise_event(...) that says that the instance ID could not be found. Today I noticed however that I'm getting the same error message when using an event name that contains (presumably) illegal characters. My guess is that the python implementation constructs an invalid URL when the event name contains characters such as slashes and/or asterixes and therefore the API returns a 404. The resulting error message is very confusing though.
From looking through the DurableOrchestrationClient code, no sanitizing of input is being performed. That looks to me like a good place to fix this issue, because why wouldn't an event name with special characters be permitted? The HTTP API docs say nothing about what is and isn't a valid event name.

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

ID: cf8501a6-e09a-0054-36dc-9d958d1b56aa
Version Independent ID: 534b19ae-7621-de54-d615-77af7fa16f36
Content: azure.durable_functions.DurableOrchestrationClient class
Content Source: docs-ref-autogen/azure-functions-durable/azure.durable_functions.DurableOrchestrationClient.yml
GitHub Login: @lmazuel
Microsoft Alias: lmazuel

After thinking it over a little, I guess there are two seperate issues:

DurableOrchestrationClient.raise_event() is a bit naive in the way that it handles HTTP errors. A 404 obviously has more error cases than just "No instance with ID {instance_id} found." It would be better if such methods used the actual HTTP reason phrase (which is available from aiohttp)
Where allowed, functions preparing URLs should quote URL parts. One example being DurableOrchestrationClient._get_raise_event_url()

@waltervos Thanks for the feedback! I see that you are already working with the team concerned here. So, routing as such.

Thanks, @lmazuel. This looks like a azure-functions-durable-python specific issue. @davidmrdavid - could you please take a look?


pull request for e2e test at 12/04/2016 03:26:03

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


value_ only returns a reference to an Object instead of Extracting its value

The following line varA=_(varB).value() is only a new reference to varB.
When I change something in varB or vice versa, it does change as well in varA. This leads me to say that value does not extract the value of an object as the one expects.
It acts exactly the same as the following expression condensedData=tempArray.

Yeah, this is the intended behavior. Underscore does not do a deep copy of objects you give to it. That would be both prohibitively expensive and unexpected for most users.

Thanks for the swift reply. Yeah the name is a bit misleading. I have a question if you don't mind: what is the point of this function then if it acts exactly as an assignment? some thing like varA=varB.

@idrissou The underscore function wraps the given value in an object to give you the ability to call underscore functions on the object as if they were methods of the given value. After the operations have been performed, the resulting value may be extracted from this object. If no operations are performed, there's no reason the extracted value must not be the input value.

Ah okey. Makes sense. Thanks


Docs/quick start

Quick start guide suggested enhancements:

consolidates the requirements in one place (some of it was in the next step)
adds a couple of heading tags for readability
adds a "what next" suggestion for the readers discovering Keystone

Haven't fixed the broken image yet as this PR focuses on the copy. There is an open issue https://github.com/keystonejs/keystone-5/issues/1581 for broken images.


Try to preserve newlines (--newline option)

Converts
require 'test_helper'

class BananaTest < ActiveSupport::TestCase
  include Monkeys

  def setup
    fend_off_the_monkeys
  end

  test "is very delicious" do
    Banana.deliciousness *= 100

    assert Banana.new.delicious?
  end

  def teardown
    appologize_to_the_monkeys
  end
end

to
require("spec_helper")

RSpec.describe(Banana) do
  include(Monkeys)

  before { fend_off_the_monkeys }

  it("is very delicious") do
    Banana.deliciousness *= 100

    expect(Banana.new.delicious?).to(eq(true))
  end

  after { appologize_to_the_monkeys }
end

Nice! How does this work? Is __NEWLINE__ a special ruby_parser thing?
I don't think this needs to be a CLI option, everyone will want it on.

From ruby_parser perspective, __NEWLINE__ is just a function call. But it seemed to work good enough for my specs. :)

in other words, __NEWLINE__ is just random stuff that "protects" the empty line from being omitted. it is parsed like any other expression and handed its own line by ruby2ruby.
the problem is that expressions are not valid everywhere.
one case I can think of is comma-separated notation (arg lists, Arrays, Hashes, ...).
def test_array
  assert [
    # good
    Banana,
                # <-- inserting stuff here is BAD
    # ok
    Kiwi
  ]
end

with the code from this PR we'll get a cryptic error like

/racc/parser.rb:528:in `on_error': my_test.rb:4 :: parse error on value nil (tNL) (Racc::ParseError)

so if merged it should definitely be optional.
i guess the only clean way to implement this is a major redesign of the project using parser and unparser? that would allow inserting the placeholder as a comment, which is valid (almost?) everywhere. conserving peoples comments would be another benefit.
require 'parser/current'
require 'unparser'
ast, comments = Parser::CurrentRuby.parse_with_comments("foo # comment")
Unparser.unparse(ast, comments) # => "foo # comment"

also, if merged,
input.gsub("\n\n", "\n#{NEWLINE}\n")`

should be replaced by
input.gsub(/(?:[ \t]*\n){2}/, "\n#{NEWLINE}\n")`

to catch left-padded newlines.

@dabroz can you address Janosch's concerns, please?

i've actually looked into the parser/unparser solution, but it might be a little too much work for me.
as far as the approach in this PR goes, this is even better:
input.gsub(/(?<=[^,:\s])(?:[ \t]*\n){2,}/, "\n#{NEWLINE}\n")

this won't match if the last line with content ends with , or : - reducing the error count from 10 to 2 in my suite of 1500 tests.

Given the concerns Janosch has raised about the potential ParseError, I will close this, but if that's the wrong decision, we can re-open and continue the discussion. I'm also open to other solutions to preserve blank lines, but as the readme says:

The only goal is correctness. Code style is not a consideration.

If using a different parser could preserve blank lines and comments in the AST, that would be worth investigating, but it's not something I want to undertake.


QnAMaker Exception when multiple Services are provided and at least 1 with no answer and 1 with an answer

I noticed a crash in QnAMakerDialog in a specific case:

several QnAMaker KB are declared (called service1 and service2 after in this issue)
for a given question, one of the services has an answer and the other does not have an answer

In that case, the code breaks on this line:
var maxValue = tasks.Max(x => x.Result.Answers[0].Score);
Because the service with no reply is an item of tasks with a Result that has an empty Answers
StackOverflow issue where I pointed that: https://stackoverflow.com/questions/50132206/multiple-qna-service-in-one-bot-using-c-sharp/50133978
How to reproduce:
Create 2 KB with different questions and try one of the questions in a dialog pointing to those 2 KBs
[Serializable]
[QnAMaker("QnaSubscriptionKey1", "QnaKnowledgebaseId1", "Hmm, I wasn't able to find an article about that. Can you try asking in a different way?", 0.50, 3)]
[QnAMaker("QnaSubscriptionKey2", "QnaKnowledgebaseId2", "Hmm, I wasn't able to find an article about that. Can you try asking in a different way?", 0.5, 3)]
public class RootDialog : QnAMakerDialog
{
}

Got a fix, I will make a Pull Request soon

@nrobert I have made the appropriate people aware of your pull request, thank you for the contribution 👍

Great @JasonSowers , thanks

Thank you for opening an issue against the Bot Framework Cognitive Services repo. As part of the Bot Framework v4 release, we’ve moved all the Luis and QnA work to platform SDK repo. We will continue to support and offer maintenance updates via this repo.
From now on, https://github.com/Microsoft/botframework-sdk repo will be used as hub, with pointers to all the different SDK languages, tools and samples repos.
As part of this restructuring, we are closing all tickets in this repo.
For defects or feature requests, please create a new issue in the Bot Framework repo found here:
https://github.com/Microsoft/botframework-sdk/issues
For product behavior, how-to, or general understanding questions, please use Stackoverflow.
https://stackoverflow.com/search?q=bot+framework
Thank you.
The Bot Framework Team


chore: impl report telemetry to greptime

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?

impl telemetry reporter to statistic

Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)
close #1587

@paomian Please rebase the branch and trigger the CI again, there are some errors.

I will close this pr, and create new one later.


Fix ZWave light brightness

Description:
The brightness should always be an integer
Related issue (if applicable): fixes #14189
Checklist:

[ ] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

Reported by @spacesuitdiver

I can confirm this PR works IRL 👍 Thanks @cdce8p


fix: Well-Known Annotations/Labels/Taints examples

Fixes https://github.com/kubernetes/website/issues/32989

Example page: https://deploy-preview-32991--kubernetes-io-main-staging.netlify.app/docs/reference/labels-annotations-taints/

/lgtm
/approve


Reduce Metaflow overhead by optimizing content addressable store

I started to profile why Metaflow runs trivial flows so slowly, at least when S3 storage is used. Turns out that metaflow stores a lot of trivial objects in S3, like None, True, and False and empty list. These arise when artifacts are stored via the "content_addressable_store" which stores the objects in paths derived from their hash. This is slow because for each object, it needs to query S3 to see if the file exits (it usually does for these trivial objects), and this takes ~250ms on my laptop.
In addition, the caching is disabled by default. I added a simple cache for small objects with bounded size. Also, we should check for the cache when putting values (they are immutable anyway). This helps when Metaflow stores small objects like step names and other metadata, which is queried twice during the task (when loading the task and when storing the task).
In addition, one small optimization to prevent loading all attempts: we shoudl stop loading attempts when attemp N does not exist anymore. N+1 won't either. This hits S3 again.
With the local parallal test:
python test/parallel/parallel_test_flow.py run

This reduced on my laptop the running time from 50s to 30s.   So still pretty slow, but an improvement.
(We should probably actually do something different for small objects and for htem just store the value instead of the hash... I might propose solution for this in a different PR.)

Given #939 seems even better, are you OK closing this one in favor of that one or do you see a benefit to having both?


Some angular and webcomponent tests started failing on dart2js-drt

From the error messages it looks like applyAuthorStyles is no longer supported and these tests use it.
Failing tests:
 third_party/angular_tests/browser_test/core_dom/compiler
 third_party/angular_tests/browser_test/core_dom/shadow_root_options
 third_party/angular_tests/browser_test/core/templateurl
 web_components/test/interop2_test
Logs:
http://chromegw.corp.google.com/i/client.dart/builders/dart2js-drt-linux-csp-be/builds/1352/steps/annotated_steps/logs/stdio
http://chromegw.corp.google.com/i/client.dart/builders/dart2js-drt-linux-1-2-be/builds/2532/steps/annotated_steps/logs/stdio

I'm guessing we no longer care about this.


Brand compliance

Please reach out and let's have a dialogue about the remainder of this repository :)

It would be cool if the underlying access to hardware was opened more, and documented more; for the community to have more ability to extend the playability of the hardware, as well as open the life beyond typical support life.
As an customer/creator/educator, And parent, this is a friendly stm32 chip for us all and it would be Wonderfull if we had less of a sandbox, or more sand! :)

If you want the README to be brand compliant you're still missing a few trademarks


Issue with bash script for configuring a DNS name for the ingress controller IP address

Using bash script for configuring DNS name for the ingress controller IP address I got the output:
az network public-ip update: error: argument --ids: expected at least one argument
usage: az network public-ip update [-h] [--verbose] [--debug]
[--output {json,jsonc,table,tsv,yaml}]
[--query JMESPATH]
[--resource-group RESOURCE_GROUP_NAME]
[--name NAME] [--dns-name DNS_NAME]
[--allocation-method {Static,Dynamic}]
[--version {IPv4,IPv6}]
[--idle-timeout IDLE_TIMEOUT]
[--reverse-fqdn REVERSE_FQDN]
[--tags [TAGS [TAGS ...]]]
[--sku {Basic,Standard}]
[--ip-tags IP_TAGS [IP_TAGS ...]]
[--set KEY=VALUE [KEY=VALUE ...]]
[--add LIST KEY=VALUE [LIST KEY=VALUE ...]]
[--remove LIST INDEX [LIST INDEX ...]]
[--force-string]
[--ids RESOURCE_ID [RESOURCE_ID ...]]
[--subscription _SUBSCRIPTION]
I noticed that this part of script PUBLICIPID=$(az network public-ip list --query "[?ipAddress!=null]|[?contains(ipAddress, '$IP')].[id]" --output tsv) gives an empty string and seems that it invokes the output mentioned above.

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

ID: ada58160-dc50-b977-d3bc-65f92406e16d
Version Independent ID: 5c596e04-fddb-effe-3b72-575f4df42d4e
Content: Configure ingress with Azure Kubernetes Service (AKS) cluster
Content Source: articles/aks/ingress.md
Service: container-service
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@akoval-jsp Thanks for the feedback. We are actively investigating and will get back to you soon.

@akoval-jsp I tested this and it seemed to go through without errors for me
Input:
micah@Azure:~$ #!/bin/bash
micah@Azure:~$ # Public IP address of your ingress controller
micah@Azure:~$ IP="XXX.XXX.XXX.231"
micah@Azure:~$ # Name to associate with public IP address
micah@Azure:~$ DNSNAME="micah1-demo-aks-ingress"
micah@Azure:~$ # Get the resource-id of the public ip
micah@Azure:~$ PUBLICIPID=$(az network public-ip list --query "[?ipAddress!=null]|[?contains(ipAddress, '$IP')].[id]" --output tsv)
micah@Azure:~$ # Update public ip address with DNS name
micah@Azure:~$ az network public-ip update --ids $PUBLICIPID --dns-name $DNSNAME

Output:
{
  "dnsSettings": {
    "domainNameLabel": "micah1-demo-aks-ingress",
    "fqdn": "micah1-demo-aks-ingress.eastus2.cloudapp.azure.com",
    "reverseFqdn": null
  },
  "etag": "W/\"XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"",
  "id": "/subscriptions/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MC_myAKSCluster_myAKSCluster_eastus2/providers/Microsoft.Network/publicIPAddresses/kubernetes-XXXXXXXXXXXXXXXXXXXXXXXXX",
  "idleTimeoutInMinutes": 4,
  "ipAddress": "XXX.XXX.XXX.231",
  "ipConfiguration": {
    "etag": null,
    "id": "/subscriptions/XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MC_myAKSCluster_myAKSCluster_eastus2/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/XXXXXXXXXXXXXXXXXXXXXXXXX",
    "name": null,
    "privateIpAddress": null,
    "privateIpAllocationMethod": null,
    "provisioningState": null,
    "publicIpAddress": null,
    "resourceGroup": "MC_myAKSCluster_myAKSCluster_eastus2",
    "subnet": null
  },
  "ipTags": [],
  "location": "eastus2",
  "name": "kubernetes-XXXXXXXXXXXXXXXXXXXXXXXXX",
  "provisioningState": "Succeeded",
  "publicIpAddressVersion": "IPv4",
  "publicIpAllocationMethod": "Static",
  "resourceGroup": "MC_myAKSCluster_myAKSCluster_eastus2",
  "resourceGuid": "XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
  "sku": {
    "name": "Basic",
    "tier": "Regional"
  },
  "tags": {
    "service": "kube-system/jumpy-quokka-nginx-ingress-controller"
  },
  "type": "Microsoft.Network/publicIPAddresses",
  "zones": null
}

I ran the bash script in Azure Cloud Shell
I would suggest running through the doc again using Cloud Shell and see if you get the error again.

I am running into same issue. What permissions are needed to execute?

@akoval-jsp   May we know what the permissions needed to solve this issue?


Provide official Docker image

Is your feature request related to a problem? Please describe.
After the problem with the certificates (See #2114), it has become clear that many people rely on the service in prod environments. Personally I believe this is due to the simplicity of the service (send the markup, get the perfect HTML back), but the impact that such an outage can have is quite large.
Currently, there are a couple of images out there (See this, this, and a Google search produces a lot more), but none are 100% compatible with the API, and some of them require special payloads or setting to make it work.
Describe the solution you'd like
An official Docker image, which bundles the API to be 100% compliant with the currently hosted version. This would allow developers to self host the service on their own machine, and not rely on the external service.
Describe alternatives you've considered
I have built the image myself, but this means that I need to keep up with possible updates, changes, etc. Also, I have made a very simple MVP so there are a lot of features I am missing (errors, correct version, etc). See the first paragraph for other alternatives.
Additional context
None

Thanks for the feedback @pennal, there is no plan for us to provide an official Docker image at the time.
Feel free to create a repo to act as the community Docker image. There are example of community packages that we took over as the main maintainers as the adoption justified it (example: https://github.com/mjmlio/vscode-mjml).


build fails if MLEM is installed with pip install -e .

(btw, these warnings are too noisy I think)
Reproducing:
$ git clone https://github.com/iterative/mlem
$ cd mlem
$ pip install -e .

$ mlem --tb build docker -m ../mlem/emoji/lyrics2emoji --image.name lyrics2emoji --image.tag v1
⏳ Loading model from ../mlem/emoji/lyrics2emoji.mlem
2022-12-28 16:37:30,328 [WARNING] mlem.utils.module: Fail to determine package name for module 'spacy', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:30,440 [WARNING] mlem.utils.module: Fail to determine package name for module 'transformers', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:30,744 [WARNING] mlem.utils.module: Fail to determine package name for module 'torch', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:31,649 [WARNING] mlem.utils.module: Fail to determine package name for module 'click<8.2', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:31,853 [WARNING] mlem.utils.module: Fail to determine package name for module 'aiohttp<4', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:31,960 [WARNING] mlem.utils.module: Fail to determine package name for module 'aiohttp_swagger<2', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:32,063 [WARNING] mlem.utils.module: Fail to determine package name for module 'Jinja2', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:32,300 [WARNING] mlem.utils.module: Fail to determine package name for module 'pyparsing<4', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:32,404 [WARNING] mlem.utils.module: Fail to determine package name for module 'cached-property', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:32,616 [WARNING] mlem.utils.module: Fail to determine package name for module 'gitpython', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:32,721 [WARNING] mlem.utils.module: Fail to determine package name for module 'python-gitlab', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:32,927 [WARNING] mlem.utils.module: Fail to determine package name for module 'iterative-telemetry', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:33,031 [WARNING] mlem.utils.module: Fail to determine package name for module 'python-multipart', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:33,134 [WARNING] mlem.utils.module: Fail to determine package name for module 'importlib-metadata', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
🛠 Building MLEM wheel file...
💼 Adding model files...
2022-12-28 16:37:49,316 [WARNING] mlem.utils.module: Fail to determine package name for module 'spacy', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:49,479 [WARNING] mlem.utils.module: Fail to determine package name for module 'transformers', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 16:37:49,811 [WARNING] mlem.utils.module: Fail to determine package name for module 'torch', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
🛠 Generating dockerfile...
💼 Adding sources...
💼 Generating requirements file...
🛠 Building docker image lyrics2emoji:v1...
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: Step 1/12 : FROM python:3.9.5-slim
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: ---> c71955050276
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: Step 2/12 : WORKDIR /app
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: ---> Using cache
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: ---> cc67e297a6e5
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: Step 3/12 : COPY requirements.txt .
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: ---> Using cache
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: ---> 658275b32126
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: Step 4/12 : RUN pip install -r requirements.txt && pip cache purge
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,631 [ERROR] mlem.contrib.docker.utils: ---> Using cache
2022-12-28 16:38:01,632 [ERROR] mlem.contrib.docker.utils: ---> 47818fcd0d20
2022-12-28 16:38:01,632 [ERROR] mlem.contrib.docker.utils: Step 5/12 : COPY mlem_requirements.txt .
2022-12-28 16:38:01,632 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,632 [ERROR] mlem.contrib.docker.utils: ---> Using cache
2022-12-28 16:38:01,632 [ERROR] mlem.contrib.docker.utils: ---> f227852042d5
2022-12-28 16:38:01,632 [ERROR] mlem.contrib.docker.utils: Step 6/12 : RUN pip install -r mlem_requirements.txt && pip cache purge
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: ---> Using cache
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: ---> c11db71e6f7e
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: Step 7/12 : COPY mlem-0.4.1.dev2+gd4e0ddb-py3-none-any.whl .
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: ---> a20710eec288
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: Step 8/12 : RUN pip install mlem-0.4.1.dev2+gd4e0ddb-py3-none-any.whl && pip cache purge
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils:
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: ---> Running in c61ce4ef859d
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: Processing ./mlem-0.4.1.dev2+gd4e0ddb-py3-none-any.whl
2022-12-28 16:38:01,641 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: pyparsing<4 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (3.0.9)
2022-12-28 16:38:01,642 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: flatdict in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (4.0.1)
2022-12-28 16:38:01,642 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: typer in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (0.7.0)
2022-12-28 16:38:01,642 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: aiohttp<4 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (3.8.3)
2022-12-28 16:38:01,642 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: cached-property in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (1.5.2)
2022-12-28 16:38:01,642 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: fsspec>=2021.7.0 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (2021.7.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (5.2.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: pydantic<2,>=1.9.0 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (1.9.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: python-multipart in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (0.0.5)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: rich in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (12.6.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: requests in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (2.28.1)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: isort>=5.10 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (5.10.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: dill in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (0.3.6)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: gitpython in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (3.1.29)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: python-gitlab in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (3.12.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: cloudpickle in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (2.2.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: Jinja2>=3 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (3.0.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: click<8.2 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (8.1.3)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: entrypoints in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (0.4)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: aiohttp-swagger<2 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (1.0.16)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: iterative-telemetry>=0.0.6 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev2+gd4e0ddb) (0.0.6)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (1.3.1)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (6.0.4)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (4.0.2)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (1.3.3)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (2.1.1)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (22.2.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (1.8.2)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: pyYAML>=5.1 in /usr/local/lib/python3.9/site-packages (from aiohttp-swagger<2->mlem==0.4.1.dev2+gd4e0ddb) (6.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: appdirs in /usr/local/lib/python3.9/site-packages (from iterative-telemetry>=0.0.6->mlem==0.4.1.dev2+gd4e0ddb) (1.4.4)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: distro in /usr/local/lib/python3.9/site-packages (from iterative-telemetry>=0.0.6->mlem==0.4.1.dev2+gd4e0ddb) (1.8.0)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: filelock in /usr/local/lib/python3.9/site-packages (from iterative-telemetry>=0.0.6->mlem==0.4.1.dev2+gd4e0ddb) (3.8.2)
2022-12-28 16:38:01,643 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: MarkupSafe>=2.0.0rc2 in /usr/local/lib/python3.9/site-packages (from Jinja2>=3->mlem==0.4.1.dev2+gd4e0ddb) (2.1.1)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: typing-extensions>=<IP_ADDRESS> in /usr/local/lib/python3.9/site-packages (from pydantic<2,>=1.9.0->mlem==0.4.1.dev2+gd4e0ddb) (4.4.0)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.9/site-packages (from yarl<2.0,>=1.0->aiohttp<4->mlem==0.4.1.dev2+gd4e0ddb) (3.4)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.9/site-packages (from gitpython->mlem==0.4.1.dev2+gd4e0ddb) (4.0.10)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->gitpython->mlem==0.4.1.dev2+gd4e0ddb) (5.0.0)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.9/site-packages (from importlib-metadata->mlem==0.4.1.dev2+gd4e0ddb) (3.11.0)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: requests-toolbelt>=0.9.1 in /usr/local/lib/python3.9/site-packages (from python-gitlab->mlem==0.4.1.dev2+gd4e0ddb) (0.10.1)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.9/site-packages (from requests->mlem==0.4.1.dev2+gd4e0ddb) (1.26.13)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/site-packages (from requests->mlem==0.4.1.dev2+gd4e0ddb) (2022.12.7)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.9/site-packages (from python-multipart->mlem==0.4.1.dev2+gd4e0ddb) (1.16.0)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in /usr/local/lib/python3.9/site-packages (from rich->mlem==0.4.1.dev2+gd4e0ddb) (0.9.1)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Requirement already satisfied: pygments<3.0.0,>=2.6.0 in /usr/local/lib/python3.9/site-packages (from rich->mlem==0.4.1.dev2+gd4e0ddb) (2.13.0)
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Installing collected packages: mlem
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: Successfully installed mlem-0.4.1.dev2+gd4e0ddb
2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: WARNING: You are using pip version 21.1.3; however, version 22.3.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.

2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: ERROR: No matching packages

2022-12-28 16:38:01,644 [ERROR] mlem.contrib.docker.utils: {'errorDetail': {'code': 1, 'message': "The command '/bin/sh -c pip install mlem-0.4.1.dev2+gd4e0ddb-py3-none-any.whl && pip cache purge' returned a non-zero code: 1"}, 'error': "The command '/bin/sh -c pip install mlem-0.4.1.dev2+gd4e0ddb-py3-none-any.whl && pip cache purge' returned a non-zero code: 1"}
Traceback (most recent call last):
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/contrib/docker/utils.py", line 146, in inner
    return f(*args, **kwargs)
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/contrib/docker/base.py", line 584, in build_image
    image, _ = build_image_with_logs(
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/contrib/docker/utils.py", line 44, in build_image_with_logs
    raise BuildError(chunk["error"], result_stream)
docker.errors.BuildError: The command '/bin/sh -c pip install mlem-0.4.1.dev2+gd4e0ddb-py3-none-any.whl && pip cache purge' returned a non-zero code: 1

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/bin/mlem", line 8, in <module>
    sys.exit(app())
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/main.py", line 328, in __call__
    raise e
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/core.py", line 778, in main
    return _main(
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/core.py", line 216, in _main
    rv = self.invoke(ctx)
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/cli/main.py", line 174, in invoke
    return super().invoke(ctx)
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/Users/aguschin/Git/iterative/mlem-fly/.venv/lib/python3.9/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/cli/main.py", line 475, in inner
    f(*iargs, **ikwargs)
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/cli/build.py", line 88, in build_type
    build(
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/telemetry.py", line 50, in inner
    return f(*args, **kwargs)
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/api/commands.py", line 333, in build
    return builder.build(model)
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/contrib/docker/base.py", line 564, in build
    return self.build_image(tempdir)
  File "/Users/aguschin/Git/iterative/mlem-fly/mlem/contrib/docker/utils.py", line 148, in inner
    raise MlemError(f"Error calling docker: {e}") from e
mlem.core.errors.MlemError: Error calling docker: The command '/bin/sh -c pip install mlem-0.4.1.dev2+gd4e0ddb-py3-none-any.whl && pip cache purge' returned a non-zero code: 1

same happens if I try to deploy to fly:
$ mlem deploy run --load fly.mlem -m lyrics2emoji

⏳ Loading model from lyrics2emoji.mlem
⏳ Loading deployment from fly.mlem
2022-12-28 14:16:00,598 [WARNING] mlem.utils.module: Fail to determine package name for module 'click<8.2', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:01,031 [WARNING] mlem.utils.module: Fail to determine package name for module 'aiohttp<4', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:01,257 [WARNING] mlem.utils.module: Fail to determine package name for module 'aiohttp_swagger<2', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:01,475 [WARNING] mlem.utils.module: Fail to determine package name for module 'Jinja2', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:01,889 [WARNING] mlem.utils.module: Fail to determine package name for module 'pyparsing<4', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:02,116 [WARNING] mlem.utils.module: Fail to determine package name for module 'cached-property', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:02,555 [WARNING] mlem.utils.module: Fail to determine package name for module 'gitpython', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:02,781 [WARNING] mlem.utils.module: Fail to determine package name for module 'python-gitlab', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:03,209 [WARNING] mlem.utils.module: Fail to determine package name for module 'iterative-telemetry', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:03,427 [WARNING] mlem.utils.module: Fail to determine package name for module 'python-multipart', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
2022-12-28 14:16:03,649 [WARNING] mlem.utils.module: Fail to determine package name for module 'importlib-metadata', using module name instead. If that's incorrect, fix metadata manually, either in `.mlem` file or in your MLEM Python object.
🛠 Building MLEM wheel file...
💼 Adding model files...
🛠 Generating dockerfile...
💼 Adding sources...
💼 Generating requirements file...
==> Verifying app config
--> Verified app config
==> Building image
Waiting for remote builder fly-builder-hidden-water-9995...
Remote builder fly-builder-hidden-water-9995 ready
==> Creating build context
--> Creating build context done
==> Building image with Docker
--> docker host: 20.10.12 linux x86_64
#1 [internal] load remote build context
#1 DONE 0.0s

#2 copy /context /
#2 DONE 4.6s

#3 [internal] load metadata for docker.io/library/python:3.9.5-slim
#3 DONE 0.3s

#4 [1/9] FROM docker.io/library/python:3.9.5-slim@sha256:9828573e6a0b02b6d0ff0bae0716b027aa21cf8e59ac18a76724d216bab7ef04
#4 DONE 0.0s

#5 [2/9] WORKDIR /app
#5 CACHED

#6 [3/9] COPY requirements.txt .
#6 CACHED

#7 [4/9] RUN pip install -r requirements.txt && pip cache purge
#7 CACHED

#8 [5/9] COPY mlem_requirements.txt .
#8 CACHED

#9 [6/9] RUN pip install -r mlem_requirements.txt && pip cache purge
#9 CACHED

#10 [7/9] COPY mlem-0.4.1.dev8+gab2e394-py3-none-any.whl .
#10 DONE 0.0s

#11 [8/9] RUN pip install mlem-0.4.1.dev8+gab2e394-py3-none-any.whl && pip cache purge
#11 1.075 Processing ./mlem-0.4.1.dev8+gab2e394-py3-none-any.whl
#11 1.441 Requirement already satisfied: python-gitlab in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (3.12.0)
#11 1.442 Requirement already satisfied: pyparsing<4 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (3.0.9)
#11 1.442 Requirement already satisfied: cloudpickle in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (2.2.0)
#11 1.443 Requirement already satisfied: dill in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (0.3.6)
#11 1.445 Requirement already satisfied: pydantic<2,>=1.9.0 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (1.9.0)
#11 1.446 Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (5.2.0)
#11 1.447 Requirement already satisfied: fsspec>=2021.7.0 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (2021.7.0)
#11 1.448 Requirement already satisfied: iterative-telemetry>=0.0.6 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (0.0.6)
#11 1.449 Requirement already satisfied: cached-property in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (1.5.2)
#11 1.449 Requirement already satisfied: entrypoints in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (0.4)
#11 1.451 Requirement already satisfied: aiohttp<4 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (3.8.3)
#11 1.451 Requirement already satisfied: python-multipart in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (0.0.5)
#11 1.452 Requirement already satisfied: requests in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (2.28.1)
#11 1.453 Requirement already satisfied: typer in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (0.7.0)
#11 1.454 Requirement already satisfied: isort>=5.10 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (5.10.0)
#11 1.455 Requirement already satisfied: click<8.2 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (8.1.3)
#11 1.456 Requirement already satisfied: Jinja2>=3 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (3.0.0)
#11 1.457 Requirement already satisfied: rich in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (12.6.0)
#11 1.458 Requirement already satisfied: gitpython in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (3.1.29)
#11 1.459 Requirement already satisfied: flatdict in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (4.0.1)
#11 1.460 Requirement already satisfied: aiohttp-swagger<2 in /usr/local/lib/python3.9/site-packages (from mlem==0.4.1.dev8+gab2e394) (1.0.16)
#11 1.478 Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev8+gab2e394) (2.1.1)
#11 1.480 Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev8+gab2e394) (4.0.2)
#11 1.481 Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev8+gab2e394) (22.2.0)
#11 1.482 Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev8+gab2e394) (1.3.1)
#11 1.483 Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev8+gab2e394) (1.3.3)
#11 1.485 Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev8+gab2e394) (1.8.2)
#11 1.486 Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.9/site-packages (from aiohttp<4->mlem==0.4.1.dev8+gab2e394) (6.0.4)
#11 1.494 Requirement already satisfied: pyYAML>=5.1 in /usr/local/lib/python3.9/site-packages (from aiohttp-swagger<2->mlem==0.4.1.dev8+gab2e394) (6.0)
#11 1.614 Requirement already satisfied: filelock in /usr/local/lib/python3.9/site-packages (from iterative-telemetry>=0.0.6->mlem==0.4.1.dev8+gab2e394) (3.8.2)
#11 1.615 Requirement already satisfied: appdirs in /usr/local/lib/python3.9/site-packages (from iterative-telemetry>=0.0.6->mlem==0.4.1.dev8+gab2e394) (1.4.4)
#11 1.616 Requirement already satisfied: distro in /usr/local/lib/python3.9/site-packages (from iterative-telemetry>=0.0.6->mlem==0.4.1.dev8+gab2e394) (1.8.0)
#11 1.623 Requirement already satisfied: MarkupSafe>=2.0.0rc2 in /usr/local/lib/python3.9/site-packages (from Jinja2>=3->mlem==0.4.1.dev8+gab2e394) (2.1.1)
#11 1.642 Requirement already satisfied: typing-extensions>=<IP_ADDRESS> in /usr/local/lib/python3.9/site-packages (from pydantic<2,>=1.9.0->mlem==0.4.1.dev8+gab2e394) (4.4.0)
#11 1.658 Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.9/site-packages (from yarl<2.0,>=1.0->aiohttp<4->mlem==0.4.1.dev8+gab2e394) (3.4)
#11 1.698 Requirement already satisfied: gitdb<5,>=4.0.1 in /usr/local/lib/python3.9/site-packages (from gitpython->mlem==0.4.1.dev8+gab2e394) (4.0.10)
#11 1.703 Requirement already satisfied: smmap<6,>=3.0.1 in /usr/local/lib/python3.9/site-packages (from gitdb<5,>=4.0.1->gitpython->mlem==0.4.1.dev8+gab2e394) (5.0.0)
#11 1.741 Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.9/site-packages (from importlib-metadata->mlem==0.4.1.dev8+gab2e394) (3.11.0)
#11 1.781 Requirement already satisfied: requests-toolbelt>=0.9.1 in /usr/local/lib/python3.9/site-packages (from python-gitlab->mlem==0.4.1.dev8+gab2e394) (0.10.1)
#11 1.794 Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/site-packages (from requests->mlem==0.4.1.dev8+gab2e394) (2022.12.7)
#11 1.796 Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.9/site-packages (from requests->mlem==0.4.1.dev8+gab2e394) (1.26.13)
#11 1.830 Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.9/site-packages (from python-multipart->mlem==0.4.1.dev8+gab2e394) (1.16.0)
#11 1.848 Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in /usr/local/lib/python3.9/site-packages (from rich->mlem==0.4.1.dev8+gab2e394) (0.9.1)
#11 1.849 Requirement already satisfied: pygments<3.0.0,>=2.6.0 in /usr/local/lib/python3.9/site-packages (from rich->mlem==0.4.1.dev8+gab2e394) (2.13.0)
#11 3.323 Installing collected packages: mlem
#11 3.630 Successfully installed mlem-0.4.1.dev8+gab2e394
#11 3.630 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#11 3.636 WARNING: You are using pip version 21.1.3; however, version 22.3.1 is available.
#11 3.636 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
#11 4.240 ERROR: No matching packages
#11 ERROR: executor failed running [/bin/sh -c pip install mlem-0.4.1.dev8+gab2e394-py3-none-any.whl && pip cache purge]: exit code: 1
------
 > [8/9] RUN pip install mlem-0.4.1.dev8+gab2e394-py3-none-any.whl && pip cache purge:
#11 1.796 Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.9/site-packages (from requests->mlem==0.4.1.dev8+gab2e394) (1.26.13)
#11 1.830 Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.9/site-packages (from python-multipart->mlem==0.4.1.dev8+gab2e394) (1.16.0)
#11 1.848 Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in /usr/local/lib/python3.9/site-packages (from rich->mlem==0.4.1.dev8+gab2e394) (0.9.1)
#11 1.849 Requirement already satisfied: pygments<3.0.0,>=2.6.0 in /usr/local/lib/python3.9/site-packages (from rich->mlem==0.4.1.dev8+gab2e394) (2.13.0)
#11 3.323 Installing collected packages: mlem
#11 3.630 Successfully installed mlem-0.4.1.dev8+gab2e394
#11 3.630 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#11 3.636 WARNING: You are using pip version 21.1.3; however, version 22.3.1 is available.
#11 3.636 You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
#11 4.240 ERROR: No matching packages
------
Error failed to fetch an image or build from source: error building: executor failed running [/bin/sh -c pip install mlem-0.4.1.dev8+gab2e394-py3-none-any.whl && pip cache purge]: exit code: 1


Found a fix for the error "The reference assemblies for framework [nameofframework] were not found"

Hello, i'm posting this issue since it could help people who get this error, i got this error for a long time and finding a fix was really a pain but i've finally be able to fix it, it's not that hard
You must set an environment variable named "ReferenceAssemblyRoot" and set it to the path where you have installed your .NET Framework, in my case it was "D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework"
after doing that, xenko ended up finding the references and building correctly my project
I wasn't sure if posting it here was the right way but i feel like maybe adding a kind of Q&A with fixes to this kind of errors could help a lot of people

This should not happen, if you have a repro please create a new issue with it ! Closing this one off until then.

This should not happen, if you have a repro please create a new issue with it ! Closing this one off until then.


Missing case in exception handling

We are experimenting with a static analysis tool and it suggested this change to make the exception handling more robust.
The problem it reports is that f[0] is accessed in line 75, but in line 84 you actually check if f is empty and raise an exception.

Coverage remained the same at 90.173% when pulling 9c045cc9d54425a8acea7ca124568b2673a724ea on martinschaef:patch-1 into 657b1b49da5ea1593dd7f950eae99a88a8ada87a on apache:master.


Add nests JSON and schema

What information do we want for nests? At least a name, art image, and what bees use the nest, right?
Are we going to have information cards about the nests? If so, I think I might include a photographic image (with the corresponding file name, attribution, caption, and image link) and a description. But do we really need those if the nests are just going to serve as "home base"?
What do you think @floogulinc and @kklamberty ?

I think it makes sense to have photos. I think there may be times that a bee is inactive and a learner may wish to explore their nest a little bit.

I don't think we need which bees use each nest since that is already part of each bee in the bees json


Make LoadBalancing feature language-independent

Issue:
The LoadBalancing report feature does not work on non-English OS.
Performance counters are language dependent. This update tries to address this problem by introducing the Get-LocalizedPerformanceCounterNames helper function which can map the English performance counter names to the localized name by using performance counter ids.
Resolve #581
Fix:
We query the performance counter id and then mapping the id to the localized counter name which we finally use to run the Get-Counter cmdlet
Validation:
Validated on non-English lab system.
Validated also that the script works as expected on a pure English OS.

Need to think about this some more and see if there is a better way to handle this

Not sure if there is a better way to do this via PowerShell as this is the documented way to retrieve these data via Registry Function (https://docs.microsoft.com/en-us/windows/win32/perfctrs/using-the-registry-functions-to-consume-counter-data).
Performance Data Helper (PDH) functions also use this method: https://docs.microsoft.com/en-us/windows/win32/perfctrs/using-the-pdh-functions-to-consume-counter-data

closing PR


Improvements to the segmentation tutorial

gentler introduction to napari, including an exercise
Use Farid filter
Better explanation of why we use morphology
Remove advanced examples (move to later optional lessons)
comment out points setting

also feel free to ignore but L146 i think imshow is more confusing than using view_image and getting the layers from viewer.layers

@kne42 view_* is getting deprecated so... LOL

oopsies 😅


[BEAM-818] Deprecate Pipeline.getOptions

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Configuration should be explicit pre-execution, and after the call to
Run a PipelineRunner controls the PipelineOptions of the executions.
Runtime access to options is unaffected by this change.

Coverage remained the same at 69.886% when pulling 4f3c5bd24eb0d34b1b176c7248973400c3e8dfea on tgroh:deprecate_pipeline_getOptions into b322a5d4036b94ce87ea1eb29a9eb8f646a53b77 on apache:master.

R: @kennknowles

LGTM


Add a wrapper bloq to help plug bloqs into each other whose registers don't quite match

Sometimes we want to use bloqs whose signatures don't quite match up with the signature of a bigger bloq we want to build (for example the bloq might have a flat list of qubits but we have a big register or vice versa). Normally we can just split / join / partition during the decompostion and go on our way, but this leads to unsightly diagrams like this:

Wouldn't it be better if this looked like this:

(the example is a little contrived but I recently hit a case where I wanted to batch HWP rotations for a bloq with a flat list of qubits and didn't want to split/join)
Another use case is we often would like to build up nice diagrams we see in the literature (like QPE / block encoding etc). Currently we have BlackBoxSelect and BlackBoxPrepare which appropriately partition and match registers according to the Select/Prepare Oracle spec. But we may want to plug in some other bloq, (like a walk operator), or something else which requires further black boxes whose construction is a little opaque. It should be simpler if this wrapping was handled automatically.
Here is a prototype for a "Wrap" bloq takes a bloq as an argument and appropriately does the partitions however the user specifies (through a mapping from "outer_registers" to "inner_registers"). It's a bit rough but I think something like this could be useful. It's inspired by BlackBoxPrepare etc and would replace those bloqs like so:
from qualtran.bloqs.hubbard_model import SelectHubbard, PrepareHubbard
from qualtran.bloqs.block_encoding import BlackBoxPrepare, BlackBoxSelect, BlackBoxBlockEncoding
dim = 4
# select = BlackBoxSelect(SelectHubbard(x_dim=dim, y_dim=dim))
sel_hubb = SelectHubbard(x_dim=dim, y_dim=dim)
sel = Register('selection', QAny(sum(r.bitsize for r in sel_hubb.selection_registers)))
sys = Register('system', QAny(sum(r.bitsize for r in sel_hubb.target_registers)))
select = Wrap(sel_hubb, outer_registers=(sel, sys), inner_registers=(sel_hubb.selection_registers, sel_hubb.target_registers))
prepare = BlackBoxPrepare(PrepareHubbard(x_dim=dim, y_dim=dim, t=1, mu=4))
black_box_block_bloq = BlackBoxBlockEncoding(select=select, prepare=prepare)
draw_musical_score(get_musical_score_data(black_box_block_bloq.decompose_bloq()))

The interface / name etc is a little rough so I think perhaps a factory method could replace some of the register mapping, but I think it's sort of helpful.
cc @mpharrigan / @tanujkhattar

it's also possible that this could be added to bloq builder as a utility which would handle some of the boilerplate

sweeeeet.
Since you brought it up: would you be able to come up with meaningful register (soquet) labels so we wouldn't need the short_name title?

Since you brought it up: would you be able to come up with meaningful register (soquet) labels so we wouldn't need the short_name title?

Sure, this is a separate thing though right? I need to look at the drawing code again.