Add percentile support for NEP-35

This PR is a slim version of https://github.com/dask/dask/pull/6738 with two purposes:

Unblock https://github.com/rapidsai/cudf/issues/7289 with NumPy >= 1.20;
Serve as a first push on NEP-35 into Dask, hopefully a much easier review task than the full https://github.com/dask/dask/pull/6738.

Given this is a blocker for RAPIDS 0.18 to be released in two weeks, it would be great if it can make its way into the upcoming Dask release on Friday.

Confirm that this fixes https://github.com/rapidsai/cudf/issues/7289 with both NumPy 1.20 and 1.19. Thanks @pentschev!

Thanks also @jrbourbeau for catching my mistake and fixing it in https://github.com/dask/dask/pull/7162/commits/29ab436a0cfad0f49ebf3b72273e32d702c1f057 .

Went ahead and merged as it sounds like based on James' recent comment we are ok going ahead here 👍
Thanks Peter! Also thanks everyone for the reviews! 😄
Will open an issue about the compute call and we can follow up on that after the release 🙂

Will open an issue about the compute call and we can follow up on that after the release 🙂

Filed as issue ( https://github.com/dask/dask/issues/7181 ). Let's follow up on this point there

Thanks everyone for reviews and @jakirkham for merging! 😄


Add labels to overview form radio questions [LEI-263]

Refs: https://openscience.atlassian.net/browse/LEI-263
Purpose

Add labels to the radio-button questions on the exp-overview form
Add "I prefer not to answer" option to "On a scale from 1-10, how religious are you?"

Changes

Done making changes @abought!


Support k8s 1.18

The 1.18 release cycle is proposed as follows:

Monday, January 06: Week 1 - Release cycle begins
Tuesday, January 28: Week 4 - Enhancements Freeze
Thursday, March 05: Week 9 - Code Freeze
Monday, March 16: Week 11 - Docs must be completed and reviewed
Tuesday, March 24: Week 12 - Kubernetes v1.18.0 released

https://github.com/kubernetes/sig-release/tree/master/releases/release-1.18
~This will also need to include moving from hyperkube to  the separate images as described in https://github.com/kubernetes/kubernetes/pull/83454~ -> This was moved to 1.19

@superseb I assigned this to you since the nodelocal dns changes will need to go along with a new k8s version.

@StrongMonkey to spend the time to add k8s 1.18 into kontainer-driver-metadata, as k8s 1.18 alpha still has the hyperkube release artifact.
@superseb will investigate what's going to happen with the moving hyperkube out of kubernetes/kubernetes and refactor RKE/Rancher to figure out how to handle the breaking out of hyperkube into the separate images.

@superseb Can we not move to https://github.com/kubernetes/kubernetes/pull/84662 instead?

Feel like there isn't too much change we need to do on our side. They will still release hyperkube images and it will just have all the binaries inside container. They are not maintaining hyperkube as a single binary but instead a shell script which just calls other binaries.

The script based one is what we are using today as that is what went in 1.17.
The whole hyperkube discussion in the kubernetes repo is a bit confusing, as the original issue was not really the end solution. After the script solution was introduced, the step to release hyperkube builds was also added back. Also basically why we could use 1.17 as-is (besides the increase of image size because of the script based approach). The changelog for 1.17 indicates that kubeadm deprecates the use of the hyperkube image which apparently led to more distros to move off hyperkube images because "they are deprecated" while they are still being released.
The other confusion is filed as https://github.com/kubernetes/kubernetes/issues/86808, where the per component images are based on Debian Buster (with mostly new binaries that help us with some usecases, and a major drop in size) and the hyperkube ones are not:
$ docker run --entrypoint sh -ti gcr.io/google-containers/kube-apiserver:v1.18.0-alpha.5 -c "cat /etc/os-release"
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
$ docker run --entrypoint sh -ti gcr.io/google-containers/hyperkube:v1.18.0-alpha.5 -c "cat /etc/os-release"
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

So we are not forced to move off hyperkube for 1.18, but we still need to keep an eye on the developments here (and decide if the improvements of the smaller image size and newer tools in the container is worth moving, as this will need code to support more specifying more than 1 image for k8s components)

@aiyengar2 Can you list out the new system image versions that were updated for k8s 1.18?

Also, we should find an API that is new to 1.18 so that we can confirm that these new API fields are being created correctly, which is how we test that the go-client has been updated to 1.18.

@aiyengar2 Can you list out the new system image versions that were updated for k8s 1.18?

Kubernetes (hyperkube) updated from v1.17.5-rancher1 to v1.18.2-rancher1

KubeDNS (k8s-dns-kube-dns), DNSmasq (k8s-dns-dnsmasq-nanny), KubeDNSSidecar (k8s-dns-sidecar) updated from 1.15.0 to 1.15.2

WeaveNode (weave-kube), WeaveCNI (weave-npc) updated from 2.5.2 to 2.6.2

CoreDNS (coredns) updated from 1.6.5 to 1.6.9

The changes for k8s 1.18 are merged to master; can we do a sanity check on master-head to check if anything is immediately broken before backporting to 2.4?

@aiyengar2 "rancher/coredns-coredns:1.6.9" is not  made available yet and coredns fails to start.

rancher/coredns-coredns:1.6.9 has been made available with https://github.com/rancher/rancher/pull/27122/files (not pushed to master but performed locally).

Validated the below scenarios:

deployed clusters using k8s 1.18.3-rancher2-1 across all network providers
upgrade from 2.4.4 to 2.4.5-rc3 - upgrade of k8s from v1.17.6-rancher2-1, v1.16.10-rancher2-1 and v1.15.12-rancher2-2 to 1.18.3-rancher2-1 worked fine. pre upgrade, post upgrade checks worked fine.


HTTPRoute and certresolver

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
I try to move from IngressRoute  to API Gateway with Traefik3.
With Traefik2, I used IngressRoute with a certResolver that point to my LetsEncrypt config in tls section (work fine).
How to manage this scenario with Traefik3 and HTTPRoute and Gateway objects ?
It's seems Gateway only support Secret store for getting certificates... and not certResolver.
What did you see instead?
A support of certResolver in Gateway object, or a documented exemple to explain how to deal with Traefik3 ACME capabilities AND API Gateway.
What version of Traefik are you using?
v3.1.4
What is your environment & configuration?
Traefik3 on Kubernetes
If applicable, please paste the log output in DEBUG level
No response

Hey @BastienVigneron,
Thanks for your suggestion.
We are interested in this issue, but we'd be interested in the traction it will receive. We are going to leave the status as kind/proposal to give the community time to let us know if they would like this idea.
We will reevaluate as people respond.
Conversation is time-boxed to 6 months.

Thank for the proposal Nicolas.Let’s see if someone else is interested.B.Le 26 sept. 2024 à 14:44, Nicolas Mengin @.***> a écrit :
Hey @BastienVigneron,
Thanks for your suggestion.
We are interested in this issue, but we'd be interested in the traction it will receive. We are going to leave the status as kind/proposal to give the community time to let us know if they would like this idea.
We will reevaluate as people respond.
Conversation is time-boxed to 6 months.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Adding Google Events Click Tags to Cookie Conset

Is it possible to add Google Analytics click event tags into the Cookie Consent widget? We'd like to track counts of users who click on one or the other of our options.

See that's the funny thing. EU rules stipulate consent must be obtained prior to collecting personal data like a u, so you'd only ever be able to know how many people opted in.
Furthermore this library makes an ajax call to MaxMind which actually contains PII therefore rendering the geofencing added in v2 in violation of the regs.

See that's the funny thing. Privacy by design stipulates consent must be obtained prior to collecting personal data as GA does.
Furthermore v2 of this library makes an external call to MaxMind which, if you read their Privacy Policy may be used for marketing purposes—therefore rendering users of v2 out of compliance before users even have the chance to consent.

See that's the funny thing. Privacy by design stipulates consent must be obtained prior to collecting personal data as GA does.
Furthermore v3 of this library makes an external call to MaxMind which, if you read their Privacy Policy may be used for marketing purposes—therefore rendering users of v3 out of compliance before users even have the chance to consent. But I get the sense people using this library don't really care much about the privacy of their users otherwise they would've done their homework.

Yes, it's possible @mkeez
Depending on what you mean by "other options", it might be a compliance violation. So be careful. But the "ghost" makes it sound like it's always a Catch-22, and there's never a legitimate use case... It's not.

Check your Google Analytics settings. It doesn't always collect personal info (PII) as defined by GDPR... If you don't, and the banner is only for info, then you could init GA during CC's onInitialize event. But if you do collect PII, then hook into onStatusChange where didConsent == true instead. Then you're tracking only consenting users. Obviously don't track PII on users who click "Deny".
Use location: false and regionalLaw: false . This avoids 3rd party privacy issues w/ the call to MaxMind/other external location services. Besides, EU citizens could be visiting another country. Safer IMO to show it everywhere.

For example, you might init GA virtual pageviews as soon as they click "OK"/"Allow" (not the CC onInitialize/next page load event) in order to gather usability data for Ajax controls.
More info/examples:
https://cookieconsent.insites.com/documentation/disabling-cookies/ (CC onStatusChange)
https://support.google.com/analytics/answer/3123662?hl=en (About User-ID)
https://support.google.com/analytics/answer/2799357?hl=en (About Demographics and Interests)
https://support.google.com/analytics/answer/2763052?hl=en (About IP Anonymization)


Logs volume histogram support

Resolves #182
I cannot create a PR on top of an external branch (see #328), so this one contains both changesets.
To make it simpler for reviewing, here is an identical PR based on my fork where I could use #328 as a base branch: https://github.com/slvrtrn/clickhouse-datasource/pull/1/files
Screenshots:

For obvious reasons, I added two new fields if the format is set to LOGS and the builder mode is Table - timeField and logLevelField. The only thing I could not figure out is how to restrict showing these fields only when the Explore mode is selected.
I used core ElasticSearch implementation as a reference, and there is a fair amount of copy-paste from the base repository (mainly from here).
If we could get

LogLevelColor
getThemeColor
getLogVolumeFieldConfig
getIntervalInfo

as a part of the public API, the amount of copy-pasted code will be significantly reduced.
Of course, some tests are in order, but I wanted to collect some general feedback and maybe some insights considering the TODOs in the code.
It works the following way:

In Explore, if LOGS format is selected and the mode is Table (List), we see two new fields - timeField and logLevelField. If the timeField is set, the supplementary query for logs volumes will be generated and executed.
Assuming that timeField is set to created_at, if logLevelField is set, the generated query looks like this (abbreviations are taken from LogLevel enum):

SELECT toStartOfInterval("created_at", INTERVAL 1 HOUR) AS                                            time,
       sum(multiIf(lower(toString("level")) = 'critical', 1, lower(toString("level")) = 'fatal', 1,
                   lower(toString("level")) = 'crit', 1, lower(toString("level")) = 'alert', 1,
                   lower(toString("level")) = 'emerg', 1, 0))                                         critical,
       sum(multiIf(lower(toString("level")) = 'error', 1, lower(toString("level")) = 'err', 1,
                   lower(toString("level")) = 'eror', 1, 0))                                          error,
       sum(multiIf(lower(toString("level")) = 'warn', 1, lower(toString("level")) = 'warning', 1, 0)) warn,
       sum(multiIf(lower(toString("level")) = 'info', 1, lower(toString("level")) = 'information', 1,
                   lower(toString("level")) = 'informational', 1, 0))                                 info,
       sum(multiIf(lower(toString("level")) = 'debug', 1, lower(toString("level")) = 'dbug', 1, 0))   debug,
       sum(multiIf(lower(toString("level")) = 'trace', 1, 0))                                         trace,
       sum(multiIf(lower(toString("level")) = 'unknown', 1, 0))                                       unknown
FROM default."logs"
GROUP BY toStartOfInterval("created_at", INTERVAL 1 HOUR) AS time
ORDER BY time ASC;

(NB: I still need to check how performant it will be on a huge dataset, so this version of the generated query is subject to change)

If logLevelField is NOT set, the generated query looks like this:

SELECT toStartOfInterval("created_at", INTERVAL 1 MINUTE) AS time, count(*) logs
FROM default."logs"
WHERE (created_at >= $__fromTime AND created_at <= $__toTime)
GROUP BY toStartOfInterval("created_at", INTERVAL 1 MINUTE) AS time
ORDER BY time ASC;

In the end, it gives us a single data frame with time plus all the log-level fields, which are transformed into a data frame per level.

Firstly, this rocks. 👏
Questions:

How will this work in plain SQL view? - this is how i expected most users will interact with Logs.
We added the format to address some challenges with traces and logs. The Format conflicts somewhat with the Show as but i think they are complementary i.e. they let someone build an aggregation but render as logs. Show As should probably thus be Build as. If this work is going into a 3x release (due to SDK update), we should take the opportunity to clean this all up.
If format is to Logs, there is backend code that auto-detects the time field - the first one. Confusingly though also, the front end sets the format if the log_time column is present (it does this for timeseries as well) - the explicit format overrides this detection. I think the intention of this was for the SQL view. If we add the explicit options to set the log time column we should remove any auto-detection IMO in the frontend.
The elasticsearch plugin requires the time field to be set at the datasource for example. Did we consider this? it might help with (1). Users could also set the log level here.

Drone is failing on yarn spellcheck Please add these words to cspell.config.json
 67/82 ./src/data/CHDatasource.ts 57.35ms X
/drone/src/src/data/CHDatasource.ts:71:15 - Unknown word (timespan)
/drone/src/src/data/CHDatasource.ts:72:76 - Unknown word (timespan)
/drone/src/src/data/CHDatasource.ts:89:102 - Unknown word (timespan)
/drone/src/src/data/CHDatasource.ts:119:5 - Unknown word (timespan)
/drone/src/src/data/CHDatasource.ts:134:7 - Unknown word (timespan)

68/82 ./src/data/logs.ts 47.05ms X
/drone/src/src/data/logs.ts:181:57 - Unknown word (timespan)
/drone/src/src/data/logs.ts:186:9 - Unknown word (timespan)
/drone/src/src/data/logs.ts:211:3 - Unknown word (timespan)
/drone/src/src/data/logs.ts:218:9 - Unknown word (timespan)
/drone/src/src/data/logs.ts:241:53 - Unknown word (emerg)
/drone/src/src/data/logs.ts:242:28 - Unknown word (eror)
/drone/src/src/data/logs.ts:245:21 - Unknown word (dbug)

Adding a filter when clicking on the amplifier on Logs view doesn't work. @slvrtrn is it something we're going to add in a follow-up?

In Explore, if LOGS format is selected and the mode is Table (List), we see two new fields - timeField and logLevelField.

Note that Log level field and Time field aren't reset when changing a table name in Query builder

How will this work in plain SQL view? - this is how i expected most users will interact with Logs.

@gingerwizard  We can add Time field and Log level field input elements. But I'm not opposed to (4) aligning with elaticsearch plugin behavior, which might be already well-known among users.

The bucket time width should be dynamic based on the interval - see how the macro $__timeInterval works.

@gingerwizard  Could you elaborate? Don't getIntervalInfo & getTimeFieldRoundingClause implement bucketing?

If we could get
LogLevelColor
getThemeColor
getLogVolumeFieldConfig
getIntervalInfo

@bossinc @asimpson Would Grafana team accept a PR exporting these from https://github.com/grafana/grafana/blob/ab53772416659fa845effe4913051e1f829d47e2/public/app/core/logsModel.ts?
This logic seems to be fundamental for any plugin implementing Logging support

Chiming in here re:

LogLevelColor
getThemeColor
getLogVolumeFieldConfig
getIntervalInfo

Let's move forward as is and if/when those pieces get exported we can refactor.

I've recreated this PR as https://github.com/grafana/clickhouse-datasource/pull/352
Let's continue the review there.


feat: Detect ISP when number is provided

Actions i have taken

Created gitignore file
Implemented the algorithm
Created the prefix dataset
Created a validator in the utils folder

Good job 👍 Well done Lenny!

Thanks Barb, glad we making progress 😄


Base code

Adding more base code for

running simple web
run some simple test, pylint, pep8 using Makefile

closing PR #2

LGTM please merge when ready


Reference paths break if TS declaration files are stored in separate folder

When declaration files are supposed to be stored in a separate output folder, references in those .d.ts files break because gulp-typescript currently doesn't support this.
return merge(ts.js.pipe(pi.sourcemaps.write("."
                                           , { includeContent: false
                                             , sourceRoot: `.${srcRoot}`  // relative to .js output folder
                                             }))
              .pipe(gulp.dest(outputFolder))
            ,  ts.dts.pipe(gulp.dest(`${outputFolder}/headers/`))  // <-- IMPORTANT LINE --!

See SetTrend/TS18N demo project for reference ...

I suggest to provide an option for having declaration files stored in a separate folder, so gulp-typescript may amend the corresponding reference paths in the generated code files.
I propose to replace the boolean declaration option with a declarationPath string option.
The path to be set here is suggested to be the relative path between the generated .js file and its corresponding .d.ts file. This would match the behaviour of gulp-sourcemaps.
.pipe(pi.typescript({ noImplicitAny: true
                    , target: "ES5"
                    , module: "commonjs"
                    , declarationPath: `./headers/`  // relative to .js output folder
                    , removeComments: true
                    , noEmitOnError: true
                    , typescript: require("typescript")
                    }));

declarationPath: null (default value) would not generate .d.ts files.
declarationPath: "." and declarationPath: "" would generate declaration files in the same folder as the generated .js files (standard case).
Any other value amends all references to .d.ts files pointing to (relative) locations within the project.

Your thoughts?

This cannot be implemented in gulp-typescript as TypeScript handles these paths. Can you log an issue there?

I'm sorry - my mistake. I was believing it is the gulp plug-in that's taking care of the paths.
I sure will. Thank you.


Clipboard overview development

Complete development of screen 2 - overview of all the clips available in the clipboard

Completed via #21


New version (1.1.3) doesn't work in Reading mode.

Obsidian Version: 1.4.2
Version 1.1.2 of Obsidian Short Links works fine in Reading mode:

But it doesn't in version 1.1.3 of the plugin:

Weird, is Obsidian 1.4.2 a pre-released version? I can only see 1.3.7 as the latest version that is released.
Anyway, I think this issue should be fixed now. I reverted the changes made in 1.1.3.

Yes, Obsidian 1.4.2 is an insider build version (you need the Catalyst license to access it).


NTR: Vibrio parahaemolyticus

Proposed Term Label
Vibrio parahaemolyticus [NCIT:C86846]
Proposed Associated Field(s)
organism
Definition/Description
A species of facultatively anaerobic, Gram negative, curved rod shaped bacteria assigned to the phylum Proteobacteria. This species is motile, oxidase and lysine decarboxylase positive, hemolytic, halophilic and can use a wide variety of sugars as carbon sources. V. parahaemolyticus is a marine organism and a pathogen that causes gastroenteritis and wound infections.
Definition Source
No response
Guidance
No response
Alternative labels and/or synonyms
No response
Additional Comments (not an annotation)
Definition from the NCIT term definition.
Optional - Contributor Attribution
No response

Thanks for adding @ejurga - I'll prep for a mid June release :)

NCBITaxon:670 used instead but with this definition.

Release 12.2.2


[FLINK-2114] [streaming] Fix null check in PunctuationPolicy.toString()

Added missing parenthesis, and added a call to PunctuationPolicy.toString() in a test.

looks good, merging


[FIX] Added .DS_Store to .gitignore

and deletes de .DS_Store. Is a fix?

This is not the engine, this is a JAM game...
👉 https://github.com/darkaqua/dark-engine

This is not the engine, this is a JAM game...
👉 https://github.com/darkaqua/dark-engine

This is not the engine, this is a JAM game...
👉 https://github.com/darkaqua/dark-engine

I know but my eyes are full of blood seeing that file there

This is not the engine, this is a JAM game...
👉 https://github.com/darkaqua/dark-engine

I know but my eyes are full of blood seeing that file there


Certain replays do not upload

Hi, when I upload certain replays to the website, the site reports it is loading, but then stops. Not sure what is going on. Attached is a replay that doesn't upload .
https://drive.google.com/drive/folders/1gF7uKWCfz3BfFiPYSs1RWdsdXQmjV76g?usp=sharing

This uses a Mixed team, which hasn't been implemented yet, so nothing shows up on the pitch.

Fixed now


Google cast stopping after 10 minutes, option DashCast works?

Hi,
To be honest I have no idea if this is relevant, but if I cast something then I see a screenshot of DashCast now I see this in there issues list, would this be an option for the 10 minute problem with the Google hubs?
I was running into the same issue. In the Google Docs it says you can use disableIdleTimeout. So I am trying this:
window.castReceiverManager.start({statusText: "Application is starting", disableIdleTimeout: true});
Replace line 163 in receiver.html with the above. I am not 100% sure that it works, but according to the docs it should.
https://github.com/stestagg/dashcast/issues/12
If not please forget and close the issue, but hey always nice to test I think?

10 minutes is normal for cast to Google  it on the Google hub side
I use a 10 minute timer to recast

Given that the the root problem is with device firmware, and that a sane workaround would have to be implemented on the chromecast-app side, this is currently out of scope.


Fix button links on welcome page

This PR fixes #https://github.com/microsoft/azuredatastudio/issues/20003.  The safeInnerHtml was rewritten during vscode merge and lost a couple patches we'd made to support the ADS welcome page.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 44.31%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/book/bookTreeView.ts
2
38.71%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
31527

Relevant Lines:
65987

💛  - Coveralls


[FEATURE] Remove-PnPField - Batch Removal Using Array

Is your feature request related to a problem? Please describe.
Would it be possible to add the ability to send an array of site columns to be removed in one command?
Describe the solution you'd like
Remove multiple site columns in one command.
Example 1:
Remove-PnPField -Identity "Speakers","Stereo","Headphones"
Example 2:
$fields = @("Speakers","Stereo","Headphones")
Remove-PnPField -Identity $fields
Describe alternatives you've considered
Using the command as it is and looping over each site column to be removed.
Additional context
N/A.

hi @robertcaretta , have added batch parameter to Remove-PnPField cmdlet. It will be available in tomorrow's nightly as well as next major version when we release it.
Thanks for adding this feature request !


CHNG historical issues are wrong before 2021-02-21

The CHNG signals are based on queries in a private database. Delphi only began to receive the results of these queries in real time starting 2021-02-21. CHNG provided Delphi with a query to estimate historical issues from the database, but this query was wrong. The query filtered historical issues based on the chc_received_date column but should have filtered by the load_id column. The indicator values based on these erroneous queries are available through the API. Instead, the API should produce the load_id-based indicator values.
To solve this issue, we will need to:

Run load_id queries in the CHNG private environment (done).
Transfer the resulting aggregated counts to the SFTP server (done).
Run the CHNG indicator script using the new aggregated counts.
Load the indicator csv files to the server.
Upload the indicator values into the database and overwrite the old ones.

Recommend the following modification:
4. Convert the covidcast-format CSVs to database-format TSVs
5. Drop bad data and insert good data
since we'll be able to load the repaired data way faster that way (hours vs weeks)
a database-format TSV file has the following columns:

source
signal
time_type
geo_type
time_value
geo_value
value
stderr (\N)
sample_size (\N)
issue (compute using eg strptime(sftp_filename[:8], "%Y%m%d") + timedelta(days=1))
lag (compute using eg (issue - time_value) / timedelta(days=1))
is_latest_issue (0 or 1. Tricky to compute but crucial to get right)
is_wip (0)
missing_value (0)
missing_stderr (3 for "censored")
missing_sample_size (3 for "censored")


Build failure: python3Packages.pyside6

Steps To Reproduce
Steps to reproduce the behavior:

build python3Packages.pyside6

Build log
FAILED: PySide6/QtCore/CMakeFiles/QtCore.dir/PySide6/QtCore/qtcore_module_wrapper.cpp.o
/nix/store/18bs92p6yf6w2wwxhbplgx02y6anq092-gcc-wrapper-12.3.0/bin/g++ -DNDEBUG -DPy_LIMITED_API=0x03060000 -DQT_CORE_LIB -DQT_LEAN_HEADERS=1 -DQT_NO_DEBUG -DQtCore_EXPORTS -I/build/py>
In file included from /build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp:58:
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp: In function 'PyObject* SbkQtCoreModule_qCCritical(PyObject*, PyO>
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp:986:13: error: 'category' cannot be used as a function
  986 |             qCCritical(*category, "%s", cppArg1);
      |             ^
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp: In function 'PyObject* SbkQtCoreModule_qCDebug(PyObject*, PyObje>
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp:1046:13: error: 'category' cannot be used as a function
 1046 |             qCDebug(*category, "%s", cppArg1);
      |             ^
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp: In function 'PyObject* SbkQtCoreModule_qCInfo(PyObject*, PyObjec>
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp:1106:13: error: 'category' cannot be used as a function
 1106 |             qCInfo(*category, "%s", cppArg1);
      |             ^
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp: In function 'PyObject* SbkQtCoreModule_qCWarning(PyObject*, PyOb>
/build/pyside-setup-everywhere-src-6.5.2/sources/pyside6/build/PySide6/QtCore/PySide6/QtCore/qtcore_module_wrapper.cpp:1166:13: error: 'category' cannot be used as a function
 1166 |             qCWarning(*category, "%s", cppArg1);
      |             ^
[240/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qdnstextrecord_wrapper.cpp.o
[241/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qabstractsocket_wrapper.cpp.o
[242/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qdnslookup_wrapper.cpp.o
[243/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qhttppart_wrapper.cpp.o
[244/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qhstspolicy_wrapper.cpp.o
[245/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qhttpmultipart_wrapper.cpp.o
[246/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qhostinfo_wrapper.cpp.o
[247/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qhostaddress_wrapper.cpp.o
[248/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qhttp2configuration_wrapper.cpp.o
[249/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qnetworkaddressentry_wrapper.cpp.o
[250/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qlocalserver_wrapper.cpp.o
[251/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qlocalsocket_wrapper.cpp.o
[252/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qnetworkaccessmanager_wrapper.cpp.o
[253/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qipv6address_wrapper.cpp.o
[254/1722] Building CXX object PySide6/QtNetwork/CMakeFiles/QtNetwork.dir/PySide6/QtNetwork/qnetworkcachemetadata_wrapper.cpp.o
ninja: build stopped: subcommand failed.

Additional context
Guessing it is a dependency update as package wasn't touched in a month and building before.
Notify maintainers
@gebner @Enzime
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.5.5, NixOS, 23.11 (Tapir), 23.11.20231004.dirty`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - nixpkgs: `/nix/store/4ck3jdql0k05cx73480gn38ly2miljpn-source`

nix-build --attr pkgs.python3Packages.pyside6 completes successfully on current master (commit 35c640b):
❯ nix-build --attr pkgs.python3Packages.pyside6 --keep-failed --show-trace
[omitted]
/nix/store/hi47jj63va2f4sl27mqi3znkr06av5cz-pyside6-6.5.2
❯ echo $?
0

Thanks, seems to solved itself by unstable getting updated.


model: Fix textual representations of type intersections

Apply the following changes to the type intersections introduced in PR #2397:

Fix full_name and to_s to unambiguously represent multiple levels of nesting.
Implement c_name

Only the last 3 commits are the subject of this PR.

♻ Split test_model in 2 test cases : One for MType and one for the especially forMIntersectionType.
Also, use stub to test textual representations. That way, tests are no longer tightly coupled to MClassType.
Now, the last 5 commits are relevant to this PR.

♻ Rebase on #2397.
Now, only the last 3 commits are relevant to this PR.


typo - "unmodififiedScore" instead of "unmodifiedScore" in multiple files and also in database

Idk how to fix the typo in the database so you do it

nvm, is Scoresaber issue
@Umby


This is a great idea, but is there a way to disable "Want to create a script for _____?"

This is a great idea, but is there a way to disable "Want to create a script for _____?"

Thanks for suggestion, I will make this feature (opt-in) in  next update. I also want to remove all  unnecessary API, Next update will came, Maybe in 2 days...

Sorry for the late patch...
In the latest version 0.2.0, set script.suggestCreateScript: false


Missing key error - Using PromptTemplate and GraphCypherQAChain.

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
from langchain.prompts.prompt import PromptTemplate
from langchain.chains import GraphCypherQAChain

CYPHER_QA_TEMPLATE = """

You're an AI cook formulating Cypher statements to navigate through a recipe database.

Schema: {schema}

Examples: {examples}

Question: {question}

"""

CYPHER_GENERATION_PROMPT = PromptTemplate(
    input_variables=["schema","examples","question"],
    template = CYPHER_QA_TEMPLATE)

model = ChatOpenAI(temperature=0, model_name = "gpt-4-0125-preview")
chain = GraphCypherQAChain.from_llm(graph=graph, llm=model, verbose=True, validate_cypher = True, cypher_prompt = CYPHER_GENERATION_PROMPT)
res = chain.invoke({"schema": graph.schema,"examples" : examples,"question":question})

Error Message and Stack Trace (if applicable)
> Entering new GraphCypherQAChain chain...
Traceback (most recent call last):
  File "/Users/<path_to_my_project>/src/text2cypher_langchain.py", line 129, in <module>
    res = chain.invoke({"schema": graph.schema,"examples" : examples,"question":question})
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/<path_to_my_project>/venv/lib/python3.11/site-packages/langchain/chains/base.py", line 166, in invoke
    raise e
  File "/Users/<path_to_my_project>/venv/lib/python3.11/site-packages/langchain/chains/base.py", line 154, in invoke
    self._validate_inputs(inputs)
  File "/Users/<path_to_my_project>/venv/lib/python3.11/site-packages/langchain/chains/base.py", line 284, in _validate_inputs
    raise ValueError(f"Missing some input keys: {missing_keys}")
ValueError: Missing some input keys: {'query'}

Description
I'm getting a missing key error when passing custom arguments in PromptTemplate and GraphCypherQAChain.
This seems similar to #19560 now closed.
System Info

langchain==0.2.7
MacOS 13.6.7 (Ventura)
python 3.11.4

The problem is that the GraphCypherQAChain class has a field for the input_key, which is "query" by default.
input_key: str = "query"

This field is then used to retrieve the question. See the code in the _call method from the GraphCypherQAChain class:
        question = inputs[self.input_key]

        intermediate_steps: List = []

        generated_cypher = self.cypher_generation_chain.run(
            {"question": question, "schema": self.graph_schema}, callbacks=callbacks
        )

Your code works if you change it to:
res = chain.invoke({"schema": graph.schema, "examples": examples, "query": question})

Thanks @RafaelXokito. Problem persists.
Code
res = chain.invoke({"schema": graph.schema, "examples": examples, "query": question})

Error (similar as above)
...
  File "/Users/pierreoberholzer/code/knowledge_graphs/venv/lib/python3.11/site-packages/langchain/chains/base.py", line 284, in _validate_inputs
    raise ValueError(f"Missing some input keys: {missing_keys}")
ValueError: Missing some input keys: {'examples'}

At the moment the _call method don't handle any "examples" field/input.
        generated_cypher = self.cypher_generation_chain.run(
            {"question": question, "schema": self.graph_schema}, callbacks=callbacks
        )

My suggestion is to override _call method and change the code for the following. Tell me if you want help doing it.
        generated_cypher = self.cypher_generation_chain.run(
            {"question": question, "schema": self.graph_schema, "context": inputs["context"]}, callbacks=callbacks
        )

Thanks @RafaelXokito. Yes, it would be highly appreciated if you could provide a patch.

Hi @pierreoberholzer,
Here's a simple example:
class GraphCypherQAChainAux(GraphCypherQAChain):
    def _call(
        self,
        inputs: Dict[str, Any],
        run_manager: Optional[CallbackManagerForChainRun] = None,
    ) -> Dict[str, Any]:
        """Generate Cypher statement, use it to look up in the database and answer the question."""
        _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
        callbacks = _run_manager.get_child()
        question = inputs[self.input_key]

        intermediate_steps: List = []

        generated_cypher = self.cypher_generation_chain.run(
            {"question": question, "schema": self.graph_schema, "examples": inputs["examples"]}, callbacks=callbacks
        )

        # Extract Cypher code if it is wrapped in backticks
        generated_cypher = extract_cypher(generated_cypher)

        # Correct Cypher query if enabled
        if self.cypher_query_corrector:
            generated_cypher = self.cypher_query_corrector(generated_cypher)

        _run_manager.on_text("Generated Cypher:", end="\n", verbose=self.verbose)
        _run_manager.on_text(
            generated_cypher, color="green", end="\n", verbose=self.verbose
        )

        intermediate_steps.append({"query": generated_cypher})

        # Retrieve and limit the number of results
        # Generated Cypher can be null if query corrector identifies an invalid schema
        if generated_cypher:
            context = self.graph.query(generated_cypher)[: self.top_k]
        else:
            context = []

        if self.return_direct:
            final_result = context
        else:
            _run_manager.on_text("Full Context:", end="\n", verbose=self.verbose)
            _run_manager.on_text(
                str(context), color="green", end="\n", verbose=self.verbose
            )

            intermediate_steps.append({"context": context})

            result = self.qa_chain(
                {"question": question, "context": context},
                callbacks=callbacks,
            )
            final_result = result[self.qa_chain.output_key]

        chain_result: Dict[str, Any] = {self.output_key: final_result}
        if self.return_intermediate_steps:
            chain_result[INTERMEDIATE_STEPS_KEY] = intermediate_steps

        return chain_result

And here is how you can use it:
CYPHER_QA_TEMPLATE = """

        You're an AI cook formulating Cypher statements to navigate through a recipe database.

        Schema: {schema}

        Examples: {examples}

        Question: {question}

        """

CYPHER_GENERATION_PROMPT = PromptTemplate(
    input_variables=["schema", "examples", "question"],
    template=CYPHER_QA_TEMPLATE)

chain = GraphCypherQAChainAux.from_llm(
    graph=graph, llm=model, verbose=True, validate_cypher=True,
    cypher_prompt=CYPHER_GENERATION_PROMPT, input_key="question")

res = chain.invoke({"examples": examples, "question": question})

Take into account that I didn't include the schema because the original _call method already gets it.
Please give me your feedback on this.

Many thanks @RafaelXokito ! Your patched version of the class is working.
But quite a workaround..
Any change in sight in the package ?

Thank you, @pierreoberholzer, for your feedback!
I am considering making changes to how inputs are used in the cypher_generation_chain. Specifically, I aim to concatenate the inputs dynamically to streamline the process:
question = inputs[self.input_key]
args = {
    "question": question,
    "schema": self.graph_schema,
}
args.update(inputs)

intermediate_steps: List = []

generated_cypher = self.cypher_generation_chain.run(
    args, callbacks=callbacks
)

However, I am concerned about the potential impact this change might have on existing users of this method. @ccurme, could you please provide your insights on this proposed modification?
Thank you!

Hi @pierreoberholzer,
Here's a simple example:
class GraphCypherQAChainAux(GraphCypherQAChain):
    def _call(
        self,
        inputs: Dict[str, Any],
        run_manager: Optional[CallbackManagerForChainRun] = None,
    ) -> Dict[str, Any]:
        """Generate Cypher statement, use it to look up in the database and answer the question."""
        _run_manager = run_manager or CallbackManagerForChainRun.get_noop_manager()
        callbacks = _run_manager.get_child()
        question = inputs[self.input_key]

        intermediate_steps: List = []

        generated_cypher = self.cypher_generation_chain.run(
            {"question": question, "schema": self.graph_schema, "examples": inputs["examples"]}, callbacks=callbacks
        )

        # Extract Cypher code if it is wrapped in backticks
        generated_cypher = extract_cypher(generated_cypher)

        # Correct Cypher query if enabled
        if self.cypher_query_corrector:
            generated_cypher = self.cypher_query_corrector(generated_cypher)

        _run_manager.on_text("Generated Cypher:", end="\n", verbose=self.verbose)
        _run_manager.on_text(
            generated_cypher, color="green", end="\n", verbose=self.verbose
        )

        intermediate_steps.append({"query": generated_cypher})

        # Retrieve and limit the number of results
        # Generated Cypher can be null if query corrector identifies an invalid schema
        if generated_cypher:
            context = self.graph.query(generated_cypher)[: self.top_k]
        else:
            context = []

        if self.return_direct:
            final_result = context
        else:
            _run_manager.on_text("Full Context:", end="\n", verbose=self.verbose)
            _run_manager.on_text(
                str(context), color="green", end="\n", verbose=self.verbose
            )

            intermediate_steps.append({"context": context})

            result = self.qa_chain(
                {"question": question, "context": context},
                callbacks=callbacks,
            )
            final_result = result[self.qa_chain.output_key]

        chain_result: Dict[str, Any] = {self.output_key: final_result}
        if self.return_intermediate_steps:
            chain_result[INTERMEDIATE_STEPS_KEY] = intermediate_steps

        return chain_result

And here is how you can use it:
CYPHER_QA_TEMPLATE = """

        You're an AI cook formulating Cypher statements to navigate through a recipe database.

        Schema: {schema}

        Examples: {examples}

        Question: {question}

        """

CYPHER_GENERATION_PROMPT = PromptTemplate(
    input_variables=["schema", "examples", "question"],
    template=CYPHER_QA_TEMPLATE)

chain = GraphCypherQAChainAux.from_llm(
    graph=graph, llm=model, verbose=True, validate_cypher=True,
    cypher_prompt=CYPHER_GENERATION_PROMPT, input_key="question")

res = chain.invoke({"examples": examples, "question": question})

Take into account that I didn't include the schema because the original _call method already gets it.
Please give me your feedback on this.

I ended up doing something similar to get it working to be able to generate sparql. I am also working with TTL file so you would also need to override RdfGraph class.


Always hide running indicator

I used some CSS changes to fix #150. This uses opacity to hide the running indicator: even though it's below the <pre> block, this is more robust against themes' changes.
I'm not sure whether or not this is the same fix that @ZackYJz used. I didn't use their CSS, but I'm definitely willing to give co-author credit for the idea if it is the same. (zackyjz, please feel free to reply to this PR regarding that! :) )
I also fixed an issue with the Minimal Theme where fold padding would move the codeblock sideways, but not the indicator.

Thank you!


subsets in Dataset.get_values (and molecule cache)

Description
This PR adds a subset argument to Dataset.get_values and ReactionDataset.get_values. Caching works with subsets.
This PR also:

Adds a cache for molecules in Dataset.
Adds a voluntary query limit of 100,000 to the client. This is intended to prevent users from accidentally calling get_molecules/values/records on the entirety of ANI-1.
Raises a KeyError if a string subset is requested but more than one value is returned (e.g. s22.get_values(method='b3lyp', subset='Water Dimer').

Status

[ ] Changelog updated
[ ] Ready to go

This is getting quickly out of data, and will need to be mostly redone after HDF5.


fix permission dialog when watching group

Description
Fixes #...
Notes (out of scope, known issues, hints for reviewing code, ...)  (optional)
From my understanding, in this context (watching a group) giverPermissions=item.permissions, can you confirm that @smadbe and @GabrielVidal1 ?
Test cases

[ ] Case 1:

Given I am the usual user
When I go to this group
And I watch group
And I click on first suggestion "Test 2"
And I open collapsible section "Pixal can access this activity"
And I click on "Edit permissions"
Then I see the permissions dialog is displayed
And I edit the first value of the form and save
Then I see permissions are saved (network panel) and the item is reloaded seamlessly

From my understanding, in this context (watching a group) giverPermissions=item.permissions, can you confirm that ?

In general, yes but not always. Not when watching a user for instance. Hum I have to think how we can solve that...

From my understanding, in this context (watching a group) giverPermissions=item.permissions, can you confirm that ?

In general, yes but not always. Not when watching a user for instance. Hum I have to think how we can solve that...

In practice, for quite wrong/bad reason, there is never this "Edit permissions" on user. And for other case, it should also work "by coincidence".
So you can take this assumption for now... maybe just put into comment that it is assumption which is valid for now.


Update data-modeling-collections-database-methods.md

Typo fix

That's an interesting one. Technically, it's not wrong, but the term vocbase is almost exclusively used internally. VOC stands for versatile object container, and "a voc" plus three more letters is avocado - the original name of ArangoDB.
I agree that it should be "database" in the end-user docs, however. To accept your patch, we need you to fill out and sign our Contributor License Agreement (CLA) for legal reasons. We use an Apache 2 CLA for ArangoDB, which can be found here: https://www.arangodb.com/documents/cla.pdf
You can scan and email the CLA PDF file to<EMAIL_ADDRESS>or send it via fax to +49-221-2722999-88.
(Or if this is too much hassle for you, then I can also close this pull request and fix it directly)

Signed and shipped!
I feel like I have insider knowledge (voc). For the record, my family loves avocados!


invalid argument 5: kernel size should be greater than zero, but got kH:

Hi, I'm new to pytorch.
I followed your code and tried to make Korean version sentiment analysis.
But, I got this error.
RuntimeError                              Traceback (most recent call last)
 in
8
9     train_loss, train_acc = train(model, train_iterator, optimizer, criterion,)
---> 10     valid_loss, valid_acc = evaluate(model, valid_iterator, criterion)
11
12     end_time = time.time()
 in evaluate(model, iterator, criterion)
10         for batch in iterator:
11
---> 12             predictions = model(batch.text).squeeze(1)
13
14             loss = criterion(predictions, batch.label)
/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py in call(self, *input, **kwargs)
487             result = self._slow_forward(*input, **kwargs)
488         else:
--> 489             result = self.forward(*input, **kwargs)
490         for hook in self._forward_hooks.values():
491             hook_result = hook(self, input, result)
 in forward(self, text)
21         #embedded = [batch size, sent len, emb dim]
22
---> 23         pooled = F.avg_pool2d(embedded, (embedded.shape[1], 1)).squeeze(1)
24         #pooled = [batch size, embedding_dim]
25
RuntimeError: invalid argument 5: kernel size should be greater than zero, but got kH: 0 kW: 1 at /Users/soumith/mc3build/conda-bld/pytorch_1549312653646/work/aten/src/THNN/generic/SpatialAveragePooling.c:14

I changed the code a little because I'm Korean, so I modified it into Korean version.
Like this:
from soynlp.tokenizer import MaxScoreTokenizer
from soynlp.normalizer import *
from konlpy.tag import Okt
import re
def tokenizer(text): # create a tokenizer function
okt = Okt()
review_text = re.sub("[^가-힣ㄱ-ㅎㅏ-ㅣ\s]", "", text)
x = okt.morphs(review_text , stem= True)
return x
def generate_bigrams(x):
n_grams = set(zip(*[x[i:] for i in range(2)]))
for n_gram in n_grams:
x.append(' '.join(n_gram))
return x
TEXT = data.Field(tokenize = tokenizer, preprocessing = generate_bigrams, stop_words = stop_words)
LABEL = data.LabelField(dtype = torch.float)
I think the problem is in validation...... because when I added #(I mean Annotation processing) in front of code that is related to validation.
And then I run it, it worked well.

I don't think I have seen this error before, but it might be due to the tensors coming into the average pool layer being incorrect.
Can you add print(embedded.shape) before the pooled = F.avg_pool2d(embedded, (embedded.shape[1], 1)).squeeze(1) line and make sure the tensor is the correct size? It should be [batch size, sentence length, embedding dim].

Thank you for comment.
I added the code you said, and this is the result.
train start
torch.Size([64, 95, 300])
torch.Size([64, 75, 300])
torch.Size([64, 101, 300])
torch.Size([64, 75, 300])
torch.Size([64, 87, 300])
train end
Eval start
torch.Size([64, 0, 300]).
And then error happened.
But train and valid are same code.
I don't understand why it happens and how to fix it....?
How to I check valid_iterator?

Thank you!!!!!!!
I sovled it^^


nauty: 26r7 -> 26r10

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/nauty/versions.
These checks were done:

built on NixOS
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/dreadnaut passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/copyg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/listg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/labelg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/dretog passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/amtog passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/geng passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/complg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/showg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/NRswitchg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/biplabg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/addedgeg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/deledgeg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/countg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/pickg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/genrang passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/newedgeg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/catg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/genbg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/directg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/gentreeg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/genquarticg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/ranlabg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/multig passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/planarg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/gentourng passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/linegraphg passed the binary check.
Warning: no invocation of /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/watercluster2 had a zero exit code or showed the expected version
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/dretodot passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/subdivideg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/vcolg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/delptg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/cubhamg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/twohamg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/hamheuristic passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/converseg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/genspecialg passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/genbgL passed the binary check.
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/shortg passed the binary check.
Warning: no invocation of /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/configure had a zero exit code or showed the expected version
38 of 40 passed binary check by having a zero exit code.
0 of 40 passed binary check by having the new version present in output.
directory tree listing: https://gist.github.com/3bca602211d416ba58097f4f8880b6d0
du listing: https://gist.github.com/4ac19efe14e18aae8fece0ec1a500bf1

meta.description for nauty is: '"Programs for computing automorphism groups of graphs and digraphs"'.
cc @7c6f434c for testing.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: nauty
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: nauty
Partial log (click to expand)
shrinking /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/twohamg
shrinking /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/dretodot
shrinking /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/copyg
shrinking /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/hamheuristic
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin
patching script interpreter paths in /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10/bin/configure: interpreter directive changed from " /bin/sh" to "/nix/store/xn5gv3lpfy91yvfy9b0i7klfcxh9xskz-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10...
/nix/store/f2icw60ljw5s4nkj8hlgwxz83szfi1m7-nauty-26r10

Success on aarch64-linux (full log)
Attempted: nauty
Partial log (click to expand)
shrinking /nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10/bin/converseg
shrinking /nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10/bin/genspecialg
shrinking /nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10/bin/genbgL
shrinking /nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10/bin/shortg
strip is /nix/store/jk6j4lh9v5mvjdbdc35sj0zffhhf6s56-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10/bin
patching script interpreter paths in /nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10
/nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10/bin/configure: interpreter directive changed from " /bin/sh" to "/nix/store/l4w7xwjy2nmk31fl5kgyy7gg8z7l9n8z-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10...
/nix/store/x2gv5bm62d84lglg3p3ngahm89hrwcr5-nauty-26r10


Add Solution for the problems present in the leetcode

@SanthoshS20  for any problem?

Can I add C# folder with solution?

@pakosel Sure. Please look one of the solution - I have added the problem link, description and other details too.

@SanthoshS20 what are the contribution guildlines?

Can I add C++ Solution of  ProblemID_1672.cpp .If Yes , Please Assign Issue To Me

@SanthoshS20 could you share the guidelines? I'd like to contribute.


support for webstorm plugins?

Acknowledgements

[X] I read the documentation and searched existing issues to avoid duplicates
[X] I am reporting a confirmed bug (not seek debugging help)
[X] I understand this is a collaborative project and relies on my contributions
[X] I read and understood the Contribution guide

Minimal reproduction URL
https://github.com
Problem & expected behavior (under 200 words)
Skip this section and let your reproduction do the talking...
But if you really need to explain, keep it under 200 words:

What happened
What I expected
Error stack trace
Documentation links
Screenshots

Bugs are expected to be fixed by those affected by it

[ ] I'm interested in working on this issue

Compensating engineering work financially will speed up resolution

[ ] I'm willing to offer financial support

only support vscode? i find that webstorm is incompatible with node22, could you support webstorm too?

Feature requests are limited to sponsors.


BNP priors for random partitions

This PR is a work in progress PR, integrating the existing codes of #370 and #374 for random partitions.
TODO:

[x] Add tests for distributions.
[x] Add SB, SBS, CRP codes for DP, PYP related models.
[x] Modify Turing.Chain to work with missing values.
[x] Add CRP example & test.
[x] Add Stick-Breaking example & test.
[ ] Add SBS example & test.
[x] Check if we sample from correct posterior, see: https://github.com/TuringLang/Turing.jl/blob/project-bnp/test/rpm.jl/pym_posterior.jl

Changes to code base:

Added BNP priors

cc: @mlomeli1 , @emilemathieu

@TuringBot benchmark

No action taken (submission was from an edit or delete).

@TuringBot benchmark

This PR is a work in progress PR, integrating the existing codes of #370 and #374 for random partitions.
Do not merge!
TODO:

Add tests for distributions.
Add missing codes.
Modify Turing.Chain to work with missing values.
Add DP-MM example.

cc: @mlomeli1 , @emilemathieu

That's great @trappmartin . If you want to have a look at https://github.com/mlomeli1/SMC-MPhilproject/tree/master/MFM_for_Turing , there is some code for SMC for DPM as well. I believe you have access to this private repo. I also have my Phd Matlab code for the Q-class, let me know if you would like access to that repo if it is useful :)

Thanks, @emilemathieu and @mlomeli1!
There are still some things breaking but I keep you up to date.
I changed the implementation of BNP priors by separating the representation from the stochastic process. For example, a Pitman-Yor process can now be constructed as follows:
a = 0.5
θ = 0.1
t = 2

# stick-breaking representation
d = StickBreakingProcess(PitmanYorProcess(a, θ, t))

# size-biased sampling representation
surplus = 2.0
d = SizeBiasedSamplingProcess(PitmanYorProcess(a, θ, t), surplus)

# CRP representation
cluster_counts = [2, 1]
d = ChineseRestaurantProcess(PitmanYorProcess(a, θ, t), cluster_counts)

Let me know what you think of the new interface. I hope it's easier to use and allows us to have a more flexible interface for BNP priors.
Cheers,
Martin

I believe such an interface is way better !
The only question is how such processes are represented internally ? Thus how inference can be performed (eg SMC)?

Thanks, I think it should not have much of an influence on the sampling process. I should see soon. :D

Chinese Restaurant Process Example using current implementation:
@model infiniteMM(y; H = Normal(mean(y), std(y) * 2), rpm = DirichletProcess(0.1) ) = begin

    # Latent assignments.
    N = length(y)
    z = tzeros(Int, N)

    # Cluster counts.
    cluster_counts = tzeros(Int, N)

    # Cluster locations.
    x = tzeros(Float64, N)

    for i in 1:N

        # Draw assignments using a CRP.
        z[i] ~ ChineseRestaurantProcess(rpm, cluster_counts)
        if cluster_counts[z[i]] == 0
            # Cluster is new, therefore, draw new location.
            x[z[i]] ~ H
        end
        cluster_counts[z[i]] += 1

        # Draw observation.
        y[i] ~ Normal(x[z[i]], 0.5)
    end
    return z
end

Nice ! Do you think that interface allows to easily extends to NIGP and such ?

Yes, I'm pretty certain this should be possible. For this PR the focus is only on DP and PYP but it totally makes sense to extend the code after merging this PR.

Ups, I think I broke something. o.O

changing data = vcat(rand(Normal(0, 0.5), 10), rand(Normal(8, 0.5), 10)) to data = vcat(rand(Normal(0, 0.5), 10), rand(Normal(1, 0.5), 10)) yields an error.
I was pushing the cluster closer to try to get different value for the particles since they are all equals...

The issue was related to the wrong handling of missing values. This is fixed now and I'll now add test to check if we sample from correct posterior.

I added the test for the stick-breaking representation. However, I'm a bit unsure if my implementation is correct / necessary or if we can use the one by @emilemathieu.
@model sbimm(y, rpm, trunc) = begin
    # Base distribution.
    H = Normal(mu_0, sigma_0)

    # Latent assignments.
    N = length(y)
    z = tzeros(Int, N)

    # Infinite collection of stick pieces and weights.
    v = tzeros(Float64, trunc)
    w = tzeros(Float64, trunc)
    K = 0

    # Cluster locations.
    x = tzeros(Float64, trunc)

    for i in 1:N

        # Draw a slice ∈ [0,1]
        u ~ Beta(1, 1)

        while (sum(w) < u) && (K < trunc)
            K += 1
            v[K] ~ StickBreakingProcess(rpm)
            x[K] ~ H
            w[K] = v[K] * prod(1 .- v[1:(K-1)])
        end

        w_ = w[1:K] / sum(w[1:K])
        z[i] ~ Categorical(w_)

        # Draw observation.
        y[i] ~ Normal(x[z[i]], sigma_1)
    end
end

@emilemathieu and @yebai what are your thoughts?

Hi Martin! This seems to be a valid implementation of a stick breaking process :)
PS: yet it is inefficient as we argue in our workshop paper

@cpfiffer the tests of this PR seem to be broken due to some bug in displaying MCMCChains. Can you have a look?

@cpfiffer the tests of this PR seem to be broken due to some bug in displaying MCMCChains. Can you have a look?

It's solved on the master branch; you need to rebase master into this PR.

@emilemathieu I did some minor adjustment on your code for the SBS. Could you let me know if this is correct for simulation based sampling. I'm still not too familiar with the SBS and probably should read the paper again. :)
Thanks!
@model sbsimm(y,rpm) = begin
    # Base distribution.
    H = Normal(mu_0, sigma_0)

    # Latent assignments.
    N = length(y)
    z = tzeros(Int, N)

    x = tzeros(Float64, N)
    J = tzeros(Float64, N)
    z = tzeros(Int, N)

    k = 0
    surplus = 1

    for i in 1:N
        ps = vcat(J[1:k], surplus)
        z[i] ~ Categorical(ps)
        if z[i] > k
            k = k + 1
            J[k] ~ SizeBiasedSamplingProcess(rpm, surplus)
            x[k] ~ H
            surplus -= J[k]
        end
        y[i] ~ Normal(x[z[i]], sigma_1)
    end
end

@yebai once the SBS sampling example is correct, this PR is ready for review and merging.

This PR is ready to be merged from my side.

It's probably good to have a dedicated folder for customised distributions in Turing, e.g. src/distrs/. If so, we can consider placing the main BNP module in src/distrs/RandomMeasures.jl.

Excellent work - Ready to merge except one minor filename issue (see above).


Server Core ??

Due to AZURE VM Size restraints (2 GB won't update Server) and Windows Server Update Service a question comes up.  Can we run AD FS PROXY in Server Core Mode ???  I don't see anything in the documentations regarding this matter.  This subject matter is very poorly covered in most Microsoft documentation.

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

ID: 68bac2aa-024c-a014-eeaf-f28a44b31c5e
Version Independent ID: 86c83819-91d6-c990-16f1-d05ebdf07b58
Content: AD FS 2016 Requirements
Content Source: WindowsServerDocs/identity/ad-fs/overview/ad-fs-requirements.md
Product: windows-server-threshold
Technology: identity-adfs
GitHub Login: @billmath
Microsoft Alias: billmath

#assign:IngridAtMicrosoft


Version 1.2.5

Landed in https://github.com/metarhia/metavm/commit/611a25ff543da0219b93624616191bb7a6c0e752


Add generic upload file plugin for creating links

Close #739
This is basically just a slightly modified version of the image upload plugin that can be used to upload a generic file and create a link to it.

Any thoughts here?

not work on latest Firefox

I havent tested yet, @anandiamy, but is the image upload broken too? do you have any more information, logs, errors, etc?

Can add this plugin to the plugin documentation section, and create the demo page?
Thank you :)

Hey @Alex-D,
Checkout this PR #1289


Fix insecure flag

TL;DR
It appears my previous attempt at fixing this failed.  I think now everything is actually fixed.
Type

[x] Bug Fix
[ ] Feature
[ ] Plugin

Are all requirements met?

[x] Code completed
[x] Smoke tested
[x] Unit tests added
[x] Code documentation added
[x] Any pending items have an associated Issue

Complete description
it appears that flags operate like toggles. If both the default is true and the flag is passed in the command, they negate each other and it's as if it's not passed.
Tested with:

-i right after flyte-cli
-i after the subcommand
without the -i flag at all,

while the config file had

"insecure=True"
"insecure=False"
insecure not specified.

Also for flags, there is no difference between a required one and a not-required one it seems.
Tracking Issue
NA
Follow-up issue
NA

Codecov Report

Merging #137 into master will decrease coverage by 0.01%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master     #137      +/-   ##
==========================================
- Coverage   81.35%   81.34%   -0.02%
==========================================
  Files         217      217
  Lines       14128    14129       +1
  Branches     1159     1160       +1
==========================================
- Hits        11494    11493       -1
- Misses       2352     2354       +2
  Partials      282      282

Impacted Files
Coverage Δ

flytekit/clis/flyte_cli/main.py
38.14% <33.33%> (-0.16%)
:arrow_down:

flytekit/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


chore: update export for modern environments#669

#669

Just confirming that the current package is broken for TSC today: https://arethetypeswrong.github.io/?p=allotment%401.19.3

any update on this please for types

Hi @pangxiaoli. I appreciate the PR and sorry for not getting around to looking at it sooner.
For everyone experiencing issues I do appreciate that it's frustrating.
I've made similar changes to other packages I maintain and it has not been straightforward. Also, I merged a similar change in the recent past to this package which I chose to revert because it caused issues to existing consumers.
I find the following report from one of the redux org's maintainers instructive:
https://blog.isquaredsoftware.com/2023/08/esm-modernization-lessons/
At the very least I'd like to ensure we pass all the checks on: https://arethetypeswrong.github.io/
We'll get something merged in the near future but I want to build some confidence we're not going to break things for existing consumers of the package. Which is difficult because testing this sort of change is a nightmare 😬

Hi @pangxiaoli. I appreciate the PR and sorry for not getting around to looking at it sooner.
For everyone experiencing issues I do appreciate that it's frustrating.
I've made similar changes to other packages I maintain and it has not been straightforward. Also, I merged a similar change in the recent past to this package which I chose to revert because it caused issues to existing consumers.
I find the following report from one of the redux org's maintainers instructive:
https://blog.isquaredsoftware.com/2023/08/esm-modernization-lessons/
At the very least I'd like to ensure we pass all the checks on: https://arethetypeswrong.github.io/
We'll get something merged in the near future but I want to build some confidence we're not going to break things for existing consumers of the package. Which is difficult because testing this sort of change is a nightmare 😬

Thank you for your response and the valuable insights you've provided. I completely understand the challenges that come with integrating changes, especially when it involves impacting existing consumers.
I've taken note of your suggestions and have ensured that the PR passes all the checks on arethetypeswrong.github.io. Additionally, I've personally tested the changes on the latest version of Vite, and I'm pleased to confirm that everything is functioning as expected.
I appreciate your patience and guidance throughout this process. Your contributions are truly commendable, and I'm grateful for the opportunity to collaborate on improving the package.


routing-key-expression not working in combination with dynamic destination

I've the need of combining the use of a dynamic destination and to specify the routing key used while writing in the specified exchange by the destination.
in the properties I've
...
spring:
  cloud:
    stream:
      defaultBinder: rabbit
      bindings:
        mybinding-out-0:
#          destination: destinationExchange
          binder: rabbit
      rabbit:
        bindings:
          mybinding-out-0:
            producer:
              transacted: true
              routing-key-expression: headers.myRoutingKeyHeader
...

public Message<?> process(Message<?> message) {
        //...
        Message<?> messageToSend = MessageBuilder.fromMessage(message)
                    .setHeader("myRoutingKeyHeader", "myRoutingKey")
                    .setHeader("spring.cloud.stream.sendto.destination", "destinationExchange")
                    .build();
        //...
        return messageToSend;
    }

this writes the message on the exchange destinationExchange  but with the routing key being destinationExchange
the expected behaviour is to have the routing key myRoutingKey
in fact, if I disable the dynamic destination
...
spring:
  cloud:
    stream:
      defaultBinder: rabbit
      bindings:
        mybinding-out-0:
          destination: destinationExchange
          binder: rabbit
      rabbit:
        bindings:
          mybinding-out-0:
            producer:
              transacted: true
              routing-key-expression: headers.myRoutingKeyHeader
...

public Message<?> process(Message<?> message) {
        //...
        Message<?> messageToSend = MessageBuilder.fromMessage(message)
                    .setHeader("myRoutingKeyHeader", "myRoutingKey")
                    //.setHeader("spring.cloud.stream.sendto.destination", "destinationExchange")
                    .build();
        //...
        return messageToSend;
    }

then the routing key works fine but at the cost of loosing dynamic destination

That's because those producer properties are properties of the named destination (which is mybinding-out-0 when no destination is provided.
To apply properties to dynamic destinations, they must be set as defaults:
spring:
  cloud:
    stream:
      defaultBinder: rabbit
      bindings:
        mybinding-out-0:
#          destination: destinationExchange
          binder: rabbit
      rabbit:
        default:
          producer:
            routing-key-expression: headers.myRoutingKeyHeader
            transacted: true

In future, please ask questions if something does not work as expected on Stack Overflow; GitHub issues are for reporting bugs or asking for a new feature.

ok, it seems I was a bit confused with how the dynamic bindings work.
I can confirm that the suggested solution work and I even went further away and removed mybinding-out-0 as it looks to be useless for my use case.
THe final properties I used are as follows:
spring:
  cloud:
    stream:
      defaultBinder: rabbit
      rabbit:
        default:
          producer:
            routing-key-expression: headers.myRoutingKeyHeader
            transacted: true


"Union by position" feature

Regarding

If you choose "union by position", each column value will drop into the original position from each corresponding source, resulting in a new combined stream of data where the data from each source is added to the same stream:

Would it be possible to clarify which columns in the screenshot came from which source?

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

ID: cc31b506-9f97-a8d2-5d70-3e8d45eecc14
Version Independent ID: 8e8707bb-3880-75e3-f205-65e4a7b0c2ae
Content: Mapping data flow union transformation - Azure Data Factory
Content Source: articles/data-factory/data-flow-union.md
Service: data-factory
GitHub Login: @kromerm
Microsoft Alias: makromer

@VitalyMCT Thanks for the feedback! We are currently investigating and will update you shortly.

@kromerm Can you please take a look at this enhancement request?

#Please-close


Include private dependency headers in dependency detection

Fixes an issue where headers from private dependencies are not included in dependency detection. This can cause problems e.g. when a header has a #error that triggers when a dependency's header isn't present (which used to be handled correctly, and is a regression since 0.12).

If I understand what you're saying correctly (I haven't closely analyzed the change), this is intentional behavior. Otherwise builds become inefficient, unnecessarily rebuilding files when a dependency changes even if the headers being used from the dependency haven't changed. If a dependency needs to be used in this way (e.g. to avoid #errors), it can be loaded such that it will be included (a dependency which doesn't provide https://github.com/CACI-International/ergo-cpp/blob/e55853328d8afebbf3a70cd2dafcaa45b835c456/src/Module.ergo#L148 will always be included). In this way, 0.12 knowingly combines the two behaviors that were previously implemented as mutually exclusive options (include-dependencies). I forgot to mention it explicitly in the changelog.
If I'm misinterpreting the change, let me know.

I'm realizing now this was misguided.  The headers were actually missing because they were specified as a private dependency, not public.  The #error prevented dependency detection to report the warning that a private dependency was used in an exported header.

Aha, I see. We can change the logic to improve clarity.


newtab button can not be hidden using the toggle in this theme

hi, this is a very useful theme for me. I wanted to recreate the sidebar look in Edge and this theme is the only way I can do it.
the new update has made a bunch of changes to the buttons in the sidebar. it doesn't look like the theme is working with the changes.

hide newtab button doesn't work.
I think most of the buttons that used to be there have been removed by default
sidepanel button is still on the sidebar and it can be hidden using the theme

I've attached pictures with the theme turned off and on.
I thank you for the effort you put in.

this theme is deprecated for the most part now you can remove and move all of them yourself now by right clicking on tab bar and then clicking on customize toolbar.
this is  not to say this mod was never useful I also used it and liked it but now all the functionality is officially in the browser now, this was a great mod thank you dev for this mod :)


Persistent Menu +  Get started button not supported for Facebook Messenger

Actually, it is not possible to send a Persistent Menu and get started button in Rasa. So I worked on it and implemented it successful. However, I have a small trouble when trying to open a pull request. As I had already forked the repository before for another PR, when trying to fork it sends me back to the state 6 months before. I wonder how I can get the current state of the application in my new repository.
Thanks.
Your sincerely.

Thanks for the question, our Github issue board is for bugs and feature requests only, though 😕
Please ask this question in the forum✨
If you were describing a bug, please create a report and fill out the template.


[ERROR] Dead image in v1.1.1 monitor.md

Note: This repository is ONLY used to solve issues related to DOCS.
For other issues, please move to other repositories.

Where is the error
https://milvus.io/cn/docs/v1.1.1/monitor.md
Screenshots
If applicable, add screenshots to help explain your problem.

Fixed via #702 #703 #704
Closing the issue


Remove display of public tag

Summary
Remove the display of tags on the work show page

Acceptance Criteria

[ ] tags like 'public' should not be rendered to the user

Testing Instructions

[ ] Parity with pre knapsack cut over (ignore the red circle but notice that no tags display)

Notes
ref:

https://github.com/scientist-softserv/adventist-dl/issues/747#issuecomment-2063919386

related?

https://github.com/scientist-softserv/adventist-dl/issues/23
https://gitlab.com/notch8/adventist-dl/-/issues/82 (it looks like this was previously implemented via css changes. We still have this code in the knapsack but perhaps the class names changed)

The public tag is no longer showing on ADL or SDAPI production. Thank you!

QA: Fail ❌
This is hiding more than the title badges


adding CSI blog post

Blog post for K8s 1.10 series on CSI moving to beta.

/approve

/assign @zacharysarah

@zacharysarah ready for you to take a final look

Thanks @zacharysarah
/hold cancel


Multiple transports

Is there a way to have some other transports besides WebSockets? I want to support older clients too that do not support WebSockets at the moment.

I just found this:
http://caniuse.com/#feat=websockets
Turns out that some mandatory browsers, such as Android 4.x, don't support WebSockets. IE usage is small, luckily. But due to the Android version fragmentation, and the fact that most of the phones can't even update to 4.4...is an issue. I'd therefore suggest some alternative transport methods in general.

@IngwiePhoenix if you need to support older browsers, you can use SC1 instead of the default version of SocketCluster (SC2).
SC1 is still receiving regular updates and is in a completely separate branch, to install, use:
npm install -g sc1 then sc1 create someapp
Alternatively (and this is probably better); you can use SC2 with a Flash Socket fallback. In this case, you can add the fallback/polyfill yourself, see: https://github.com/gimite/web-socket-js - I haven't tried it myself so please let me know how it goes if you do go down that path. Note that you will have to include the provided flash socket scripts before your SocketCluster client script.
The reason why SC2 avoids using a polling fallback is because it doesn't scale well. Simulating a single socket using multiple HTTP connections is really bad when you start to scale across multiple processes or machines/instances - You end up with issues where the handshake begins on one process and tries to complete on a different process which knows nothing about the first part of the handshake (which causes rejection).
Because of this, using a polling fallback makes load balancing difficult (requires sticky-session TCP load balancing).
Mechanisms which use polling as a fallback are essentially hacks. See http://12factor.net/processes

https://github.com/sockjs/sockjs-client/wiki/[Article]-SockJS:-WebSocket-emulation-done-right
This looks and sounds interesting. I read through the source code slightly and it actually is

Very lightweight.
Very easy!

The article gives a good image of what this is and how it is ment to be used. I gotta say, this is really interesting.
I will see if the flash-fallback you suggested will work. But SockJS might be a good alternative. It's "emulation" doesn't add up too much code either.


no connection from pi pico to arduino

i have this on the pico
print("Hello World!")
import time
import struct
import board
import busio
import digitalio
from digitalio import *
from circuitpython_nrf24l01.rf24 import RF24
spi = busio.SPI(clock=board.GP2, MOSI=board.GP3, MISO=board.GP4)
    # change these (digital output) pins accordingly
CE_PIN = DigitalInOut(board.GP1)
CSN_PIN = DigitalInOut(board.GP0)
nrf = RF24(spi, CSN_PIN, CE_PIN)
nrf.pa_level = -12
address = [b"\xe1\xf0\xf0\xf0\xf0", b"2Node"]
nrf.open_tx_pipe(address[0])  # always uses pipe 0
nrf.open_rx_pipe(1, address[1])
nrf.data_rate = 250
nrf.channel = 100
nrf.listen = False
while True:
    nrf.send(b"u")

and i have checked the wiring.
and i have this
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7,8);
const byte address[5] = "00001";
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
if(!radio.begin()){
  Serial.print("biggus dookes");
}
Serial.println("ready");
radio.setChannel(100);
  radio.openReadingPipe(1, 0xE1F0F0F0F0);
  radio.openWritingPipe(0xE2F0F0F0F0);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
  radio.setDataRate(RF24_250KBPS);
 // radio.setAutoAck(true);
 // radio.powerUp();
}

void loop() {
  if (radio.available()){
    char text[32] = "";
    radio.read(&text, sizeof(text));
    Serial.print(text);
    Serial.print("\n");

  }
}

on the arduino.
they work fine if i use the c++ version for the pi pico but when i use the circuitpython version i cant get any data to the arduino.

set
nrf.dynamic_payloads = False

There are a few differences between the C++ and CirPy libs outlined at the bottom of the examples' doc.

set
nrf.dynamic_payloads = False

There are a few differences between the C++ and CirPy libs outlined at the bottom of the examples' doc.

set it to
import time
import struct
import board
import busio
import digitalio
from digitalio import *
from circuitpython_nrf24l01.rf24 import RF24
spi = busio.SPI(clock=board.GP2, MOSI=board.GP3, MISO=board.GP4)
    # change these (digital output) pins accordingly
CE_PIN = DigitalInOut(board.GP1)
CSN_PIN = DigitalInOut(board.GP0)
nrf = RF24(spi, CSN_PIN, CE_PIN)
nrf.pa_level = -12
address = [b"\xe1\xf0\xf0\xf0\xf0", b"2Node"]
nrf.open_tx_pipe(address[0])  # always uses pipe 0
nrf.open_rx_pipe(1, address[1])
nrf.data_rate = 250
nrf.channel = 100
nrf.allow_ask_no_ack = False
nrf.dynamic_payloads = False
nrf.listen = False
while True:
    nrf.payload_length = 8
    nrf.send(b"u")

but still no success

   nrf.payload_length = 8

This needs to match whatever you passed to radio.setPayloadSize() on the Arduino side. Based on the code you posted in the OP, you didn't actually call this on the Arduino, so it should be only looking to receive 32-byte payloads.

This needs to match whatever you passed to radio.setPayloadSize() on the Arduino side. Based on the code you posted in the OP, you didn't actually call this on the Arduino, so it should be only looking to receive 32-byte payloads.

changed it to
from circuitpython_nrf24l01.rf24 import RF24
spi = busio.SPI(clock=board.GP2, MOSI=board.GP3, MISO=board.GP4)
    # change these (digital output) pins accordingly
CE_PIN = DigitalInOut(board.GP1)
CSN_PIN = DigitalInOut(board.GP0)
nrf = RF24(spi, CSN_PIN, CE_PIN)
nrf.pa_level = -12
address = [b"\xe1\xf0\xf0\xf0\xf0", b"2Node"]
nrf.open_tx_pipe(address[0])  # always uses pipe 0
nrf.open_rx_pipe(1, address[1])
nrf.data_rate = 250
nrf.channel = 100
nrf.allow_ask_no_ack = False
nrf.dynamic_payloads = False
nrf.listen = False
nrf.payload_length = 32
while True:

    nrf.send(b"u")

and changed the arduino code to
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7,8);
const byte address[5] = "00001";
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
if(!radio.begin()){
  Serial.print("biggus dookes");
}
Serial.println("ready");
radio.setChannel(100);
  radio.openReadingPipe(1, 0xE1F0F0F0F0);
  radio.openWritingPipe(0xE2F0F0F0F0);
  radio.setPALevel(RF24_PA_MIN);
  radio.startListening();
  radio.setDataRate(RF24_250KBPS);
  radio.setPayloadSize(32);
 // radio.setAutoAck(true);
 // radio.powerUp();
}

void loop() {
  if (radio.available()){
    char text[32] = "";
    radio.read(&text, sizeof(text));
    Serial.print(text);
    Serial.print("se\n");

  }

}

well, if that didn't work, then the addresses assigned to the pipe might be using conflicting endianness.
In python:
address = b"\xe1\xf0\xf0\xf0\xf0"  # written in little endian

In C++:
uint8_t address[] = {0xe1, 0xf0, 0xf0, 0xf0, 0xf0}; // little endian (I think)
uint64_t addr = 0xe1f0f0f0f0; // big endian (I think)

Thanks for that kind stranger on the internet. uint8_t in combination with disabling dynamic payload worked


Error: Target class [role] does not exist.

Describe the bug

Just installed the package (ver 7.18.0) in my working laravel 7.29.2 project.
My User model is under \App\Models, so I had to manually update the class with the instruction that 'You will need to update this manually.Change "extends Authenticatable" to "extends \Orchid\Platform\Models\User" in your User model'
updated the 'config\platform.php' file, cleared cache...;
when visiting http://app.url/admin in the browser, I get:

Illuminate\Contracts\Container\BindingResolutionException
Target class [role] does not exist.
Any idea why I got this error?

Hi @sprklinginfo. Version 7. * is no longer supported. Please try more recent versions


sharing html volume between website container, nginx-proxy and acme-companion

Hi,
sorry about this basic question, but reading the docs and fiddling around for a few days and I'm still stuck:
I do have a running nginx-proxy, my website is reachable over http and displays the correct content:
curl http://my.correct.url  <- this works!
however, when I'm trying to add acme-companion it can't access it's .well-known acme-secret:
response='{"type":"http-01","status":"invalid","error":{"type":"urn:ietf:params:acme:error:unauthorized","detail":"Invalid response from http://my.correct.url/.well-known/acme-challenge/BjGpifuu64dNmIASjWyZ0xzG3ngm-JcLLmVgtgeL9AY [xxx.xxx.xxx.xxx]: \"\u003chtml\u003e\\r\\n\u003chead\u003e\u003ctitle\u003e404 Not Found\u003c/title\u003e\u003c/head\u003e\\r\\n\u003cbody\u003e\\r\\n\u003ccenter\u003e\u003ch1\u003e404 Not Found\u003c/h1\u003e\u003c/center\u003e\\r\\n\u003chr\u003e\u003ccenter\u003enginx/1.21.0\u003c/ce\"","status": 403},"url":"https://acme-v02.api.letsencrypt.org/acme/chall-v3/27460844030/xVldLw","token":"BjGpifuu64dNmIASjWyZ0xzG3ngm-JcLLmVgtgeL9AY","validationRecord":[{"url":"http://my.correct.url/.well-known/acme-challenge/BjGpifuu64dNmIASjWyZ0xzG3ngm-JcLLmVgtgeL9AY","hostname":"my.correct.url","port":"80","addressesResolved":["xxx.xxx.xxx.xxx"],"addressUsed":"xxx.xxx.xxx.xxx"}],"validated":"2021-09-02T22:44:48Z"}'

I replaced my ip and url - but I checked, they are correct

then I tried debugging, so I connected to my acme-companion container and tried writing hello-world
docker exec acme-companion bash -c 'echo "Hello world!" > /usr/share/nginx/html/.well-known/acme-challenge/hello-world'

but I can't access it via my domain:
curl http://my.correct.url/.well-known/acme-challenge/hello-world -> 404
on further research I found out, that if I bash into my acme-companion, it indeed has a hello-world file in /usr/share/nginx/html/.well-known/acme-challenge, nginx-proxy has it also (as expected).
And all that makes perfect sense to me, because how should nginx-proxy know, that this specific file should be served from there instead of from my-website container?
I'm sure I'm missing an essential step, but which?
here's my docker-compose.yml:
version: "3.9"

networks:
    internal:
    external:

services:
  my-website:
    container_name: my-website
    ports:
      - '8001:80'
    volumes:
      - '/home/tim/website/:/usr/share/nginx/html'  # this it where my html files are on host
    image: nginx
    restart: always
    depends_on:
      - nginx-proxy
    networks:
      - external
    environment:
      - VIRTUAL_HOST=my.correct.url
      - LETSENCRYPT_HOST=my.correct.url
      -<EMAIL_ADDRESS>
  nginx-proxy:
     image: nginxproxy/nginx-proxy:alpine
     container_name: nginx-proxy
     restart: always
     ports:
       - "80:80"
       - "443:443"
     environment:
       - ENABLE_IPV6=true
       - DHPARAM_GENERATION=false
     volumes:
       - "/var/run/docker.sock:/tmp/docker.sock:ro"
       - "certs:/etc/nginx/certs:ro"
       - "html:/usr/share/nginx/html"
       - "vhosts:/etc/nginx/vhost.d:ro"
     networks:
       - external
     labels:
       - "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"

  acme-companion:
     container_name: acme-companion
     restart: always
     image: nginxproxy/acme-companion:latest
     depends_on:
      - nginx-proxy
     volumes:
       - "/var/run/docker.sock:/var/run/docker.sock:ro"
       - "certs:/etc/nginx/certs:rw"
       - "vhosts:/etc/nginx/vhost.d:rw"
       - "html:/usr/share/nginx/html:rw"
       - "acme:/etc/acme.sh"
     environment:
       - DEBUG=1

volumes:
   certs:
   acme:
   html:
   vhosts:

Hi. What is the issue here exactly ? Are you having failed authorization for certificates ?

oh sorry, should have closed it in the meantime - the real problem was that my (not simplified) example had a custom vhost mount, which interfered with acme-companions functionality


Nits found by various static check tools

$ unconvert ./...
internal/chunkedfile/chunkedfile.go:61:18: unnecessary conversion
starlark/int.go:43:42: unnecessary conversion
starlark/value.go:427:16: unnecessary conversion
$ ineffassign .
starlark/library.go:286:2: ineffectual assignment to ok
$ staticcheck  ./... |grep -v ST1006 # ignore different receiver names
internal/compile/compile.go:1:1: package comment should be of the form "Package compile ..." (ST1000)
repl/repl.go:1:1: package comment should be of the form "Package repl ..." (ST1000)
starlark/hashtable.go:284:22: func (*hashtable).dump is unused (U1000)
starlark/library.go:140:6: func builtinMethodOf is unused (U1000)
starlark/library.go:1809:6: func string_lstrip is unused (U1000)
starlark/library.go:1867:6: func string_rstrip is unused (U1000)
starlark/value.go:1100:7: identical expressions on the left and right side of the '!=' operator (SA4000)
starlark/value.go:1115:7: identical expressions on the left and right side of the '!=' operator (SA4000)
syntax/scan.go:380:2: field triple is unused (U1000)

I can file a PR to fix these.  Just wondering if you had any opinions on them.  For example,  the identical expressions are using y != y directly instead of math.IsNaN().  Will string_lstrip will be used in the future or can it be removed?   The hashtable.dump method is probably for debugging, so I'll leave that.  Package comment tweaks are minor and inoffensive.

Thanks, Damian.  I've sent a PR to fix all of them except y!=y, for which the checker should either suppress the error if the underlying type is a float, or recommend math.IsNaN in this case.


move changelog.html to repo root dir

Changelog is now missing from the plugin page

I've pushed things around a little. Should be good now.


[BUG] ORC test_simple_partitioned_read failed

A recent 0.3 integration test run reported failures in test_simple_partitioned_read.


ci: set up codecov

Closes #117

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@966d118). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #118   +/-   ##
=======================================
  Coverage        ?   97.48%
=======================================
  Files           ?       16
  Lines           ?      159
  Branches        ?       24
=======================================
  Hits            ?      155
  Misses          ?        4
  Partials        ?        0

Continue to review full report at Codecov.

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


Added Song Genre Classifier with changes

About this project

This project aims to identify which genre a song belongs to on the basis of its lyrics.
The dataset contains 62155 songs.
Each song is classified into 5 genres- Country, Rock, Hip-Hop, Pop and Rhythm and Blues.
Two major text classification methods were tested- Logistic Regression and Naïve Bayes.
Under Naïve Bayes, 3 models were tested- Count Vectorizer, TF-IDF, and Text Cleaning.
Upon testing, Multinomial Naïve Bayes with Text Cleaning was found to give the highest accuracy.
Further analysis was also done to find top songs and generate WordClouds.

Aim of this project

For music enthusiasts to have some fun by giving desired lyrics as an input to the classifier and getting the closest matching genre as output.
To find out if there is any direct correlation between lyrics and genres of songs.
To organise songs on the basis of their genre, for example, top hip-hop songs, most hip-hop like rock songs, hip-hop like country songs, hip-hop like RnB songs, hip-hop like pop songs; similarly for rock, country and RnB.
To create WordClouds, a technique to find words that are the most frequent in the given dataset, and to find the most common lyrics used in a particular genre.

Linked to issue: #498

@Rutikab12 Could you please review this PR sir, thank you.

@Rutikab12 Could you please review this PR sir, thank you.

add comments in your code and run the each cell

@Rutikab12 Could you please review this PR sir, thank you.

add comments in your code and run the each cell

Do you mean SongGenreClassifier file? I've run each cell and the comments are added in the text box through the code.


Menus are not blurred, gradient still works

None of the menus/guis are blurred, gradient still works though. I tried resetting to default settings already. I am using verison 5.0.0, I also tried with 4.1.0 and both have the same issue

Duplicate of #110


constants, mapper: type bugfixes

My type table state machine thingy is a little bit wrong, since it doesn't correctly handle forward-referenced types (e.g. if a pointer type has struct foo as its pointee).
Needs fixing.

This is going to be a little annoying with the current implementation, since we fully "unroll" each type as we encounter it. As a result, forward references are prematurely unrolled and we don't have a chance to fix them up.

Braindumping so that I have a better starting point for this later. There are a few annoying aspects of LLVM's type table layout:

Types are uniquely identified by their index in the type table. Types can have subtypes and those subtypes might not be fully declared yet, so LLVM's own implementation assumes that an index that doesn't already contain a type is a forward-declared structure and puts a default struct at that index. These forward indexes can in turn be "sparse", since a type might further reference multiple forward types before each is visited.
In LLVM, the equality of types is defined by their pointer identity: (T1 == T2) <=> (&T1 == &T2). This works because types are uniqued on a global/per-module basis, and are really just references to an internal table where all types are stored. Duplicating this in Rust is a massive headache, since it implicitly depends on mutability while other objects hold immutable references: the type table is visited incrementally to fill in e.g. forward types, and every previous type that contains subtypes gets updated "for free" thanks to the data behind their common pointer being updated.