suitable tilesets

Hi,
I have gathered some suitable tilesets from itch.io:

https://pipoya.itch.io/pipoya-rpg-tileset-32x32
https://stealthix.itch.io/rpg-nature-tileset
https://guttykreum.itch.io/field-of-green
https://beast-pixels.itch.io/overworld-tileset-grass-biome (this is 16x16, but I really like it)

There are also some avatars available:

https://pipoya.itch.io/pipoya-free-rpg-character-sprites-32x32

these are enemies, but seems to be usable too:

https://pixel-frog.itch.io/pixel-adventure-1
https://pixel-frog.itch.io/pixel-adventure-2

There is definitely lot of stuff to take from itch.io.
I think I can volunteer to add code which will make these live, but I am not sure how to test it without my own jitsi meet instance. It's possible to test it somehow from localhost?

The current server is still setup to accept connections from local host. You just need a local, static webserver to host the files.

Does anyone know if the CC-0 license is compatible with MIT? Jitsi Meet is Apache 2 license, so I might need to pull jitsihax.js out to a separately licensed project. But the front end code just used the Jitsi iframe API without modification, so I think we can keep MIT for the frontend code.

@severak I just implemented basic tileset support, but haven't touched the tilesets you linked. Are you still interested in doing this?

@capnmidnight I will definitely look into that.

@capnmidnight implemented first of these tilesets in branch custom_tiles. I will look into some tooling as this manual editing of maps and tilesets is really tedious process.
There is Tiled map editor which we should definitely use. But I am not sure how to convert images...

This looks great! I'm going to merge it in now. Agreed on needing a map editor. I'll check out Tiled and see what the output format looks like.

boom 405fd1506d5b4d3672e7a52e173f5ab292a5827e


feat(governance): add new contributors to OpenEBS

Refer: GOVERNANCE.md.
The following community members have been helping with enhancing and testing
of several areas of the OpenEBS project that broadly fall in the purview of the
control plane.
Based on their past contributions and their interest/commitment to contributing
to OpenEBS, we take pride in adding them as reviewers to the OpenEBS project.
The list of community members in alphabetical order are:

Mehran Kholdi for the contributions to the Local PV and control plane in general.
- https://github.com/openebs/openebs/issues/2975
- 40+ commits in https://github.com/openebs/rawfile-localpv

Michael Fornaro for the contributions to the ARM, Multi-arch builds and helm charts that fall under control plane.
- https://github.com/openebs/e2e-tests/issues/405
- https://github.com/openebs/openebs/issues/3038
- https://github.com/openebs/openebs/issues/3023
- https://github.com/openebs/openebs/issues/3037
- https://github.com/openebs/openebs/issues/1295
- https://github.com/openebs/linux-utils/pull/5
- https://github.com/openebs/node-disk-manager/pull/446
- https://github.com/openebs/node-disk-manager/pull/449
- https://github.com/openebs/node-disk-manager/pull/428

Peeyush Gupta for the contributions to the Power builds and control plane in general.
- https://github.com/openebs/charts/pull/127
- https://github.com/openebs/node-disk-manager/pull/448
- https://github.com/openebs/maya/pull/1632
- https://github.com/openebs/jiva/pull/279
- https://github.com/openebs/maya/pull/667
- https://github.com/openebs/istgt/pull/131
- https://github.com/openebs/maya/pull/561
- https://github.com/openebs/maya/pull/750

Signed-off-by: kmova<EMAIL_ADDRESS>

Thanks for your contributors and congrats @SeMeKh @xUnholy @Pensu


[SD-App] please add micutil/M5Stack_RSMSPChanger

https://github.com/micutil/M5Stack_RSMSPChanger

Compilation fails with following message:
In file included from /home/runner/work/M5Stack_RSMSPChanger/Arduino/DispJPFont.cpp:26:0:
DispJPFont.h:13:21: error: sdfonts.h: No such file or directory


Code support

Hello,
I have made some slides with GitPitch and until yesterday I could see my code snippets, today I just get a message instead of them saying ‘Upgrade to pro...’, does that mean that code features have disappeared from the free version?
I understand that some new fancy features can only be accessed by pro version but you should try to avoid backward incompatibility of older slides by changing something that was free into something that requires a pro version.
Looking forward to hearing from you.

Hi Matteo,
Thanks for getting in touch. I have answers to your questions inline.

does that mean that code features have disappeared from the free version?

No. The Pro Code Widget was never part of the free version so it was never a feature for free users. Per the Pro Code Widget Guide:

GitPitch Pro + Lite subscriptions activate powerful Pro syntax shortcuts supported by PITCHME.md markdown that can be used to generate rich visual components - aka. widgets - on any slide. The Code Widget and GitHub GIST Widget support a number of powerful extensions beyond standard code presenting.

The Pro Code Widget as the name implies was-and-is a subscriber-only feature.

I have made some slides with GitPitch and until yesterday I could see my code snippets, today I just get a message instead of them saying ‘Upgrade to pro...

What you describe can be explained by an internal experiment just ended. I have been running some experimental code on gitpitch.com this past month. One consequence of that experiment was that a free user would see code rendered (rather than the pro-only warning) if they used the @code widget. But that was a side-effect of the experiment. Not a change in policy. The Pro Code Widget feature was never documented or publicized as a free feature.

...but you should try to avoid backward incompatibility of older slides by changing something that was free into something that requires a pro version.

I hope it is clear to you now that I have not done this. I do appreciate that you feel inconvenienced by your recent experience. That's unfortunate. That said, if you are a fan of the @code widget feature you can always upgrade from the free to a paid plan to continue enjoying the feature. And if not, GitPitch offers numerous other ways to render code on your slides that are available to everyone, including:

Fenced Code Blocks
Source Code Delimiters
GIST Code Delimiters

All the best,
David

Hi  David,
thanks a lot for quick reply.
I have not used gitpitch for some months and when I started again last week and resigned for the lite version right now, I used the Pro Code Widget and didn't realize it was pro (my fault): things worked fine offline and online (I guess because of your experiment) and so I didn't pay too much attention until this morning things changed.
Will go for Fenced for the moment, thanks a lot for the feedback :)

thanks a lot for quick reply.

You're very welcome.

things worked fine offline and online (I guess because of your experiment)...

Yes, some of what you experienced was partly because of the experiment, but perhaps not all. Let me explain by first summarizing the differences between the GitPitch plans:

The Free Plan lets you use all FREE features in the cloud.

The Lite Plan lets you use all PRO features on the desktop. And all FREE features in the cloud.

The Pro Plan lets you use all PRO features on the desktop. And all PRO feature in the cloud.

 So as a Lite user you can use all of the PRO features - including the @code widget - on your desktop. But if you want to publish and share that deck on gitpitch.com then you would need to upgrade from your Lite plan to a Pro plan in order to activate those Pro features everywhere: desktop and cloud.
Just fyi, you can upgrade from Lite to Pro with just one-click on your GitPitch profile page. Login here.
I hope this helps. If not, please feel free to respond here. Or drop me an email directly and we can discuss further. Thanks, David.

Thanks :)
Yep, I think  I got the plans right, but the fact it worked also online made me think (by mistake) that this was a free feature ;)

One last, slightly related question:
can i have a fenced code block inside a snap e.g.:
@snap[south span-60 text-08]
\```
some code
\```
@snapend

(without \ inside the code snippet).
It worked fine with @code inside but I don't seem to get it work with the fenced code block

can i have a fenced code block inside a snap...

No, you can not. But you can try using HTML tags like this:
@snap[south span-60 text-08]

...your code goes here...

@snapend


Bugfix/type error short answer question edit component

Checklist

[x] Client: I followed the coding and design guidelines.
[x] Client: I documented the TypeScript code using JSDoc style.

Motivation and Context

The short answer question component used to throw a TypeError when previewing the exercise text
Description

Steps for Testing

Log in to Artemis
Navigate to Course Administration
Navigate to Quiz exercises
Create a Short Answer Question
Inspect the page -> go to the console tab
Click on Visual (below the question editor) and check if a TypeError gets thrown

Test Coverage

Screenshots

@sebastiantpeter no matter how much i try i can not reproduce the issue on ts1 or ts2. It does however happen everytime on the live server. Can you maybe share you course with the quiz ?

@sebastiantpeter no matter how much i try i can not reproduce the issue on ts1 or ts2. It does however happen everytime on the live server. Can you maybe share you course with the quiz ?

@sebastiantpeter no matter how much i try i can not reproduce the issue on ts1 or ts2. It does however happen everytime on the live server. Can you maybe share you course with the quiz ?

In case you are interested: I do not have the issue anymore in the quiz of yesterday... I guess it was something with caching.

@sebastiantpeter no matter how much i try i can not reproduce the issue on ts1 or ts2. It does however happen everytime on the live server. Can you maybe share you course with the quiz ?

In case you are interested: I do not have the issue anymore in the quiz of yesterday... I guess it was something with caching.


Begin implementation of spee.ch redesign

As a developer, I want to implement the current design direction so that I can see how it looks and functions in a working environment.
Action: implement one page fully based on current design.

see redesign-1 branch: https://github.com/lbryio/spee.ch/tree/redesign-1  live @ staging.spee.ch


Add Scala 2.13-RC1 support?

Would be helpful :)

Or even 2.13.1 support now.

Here is a solid start on Scala 2.13 support: https://github.com/mslinn/schwatcher

Thanks Mike.
I'll study that.
On Tue, 29 Oct 2019 at 21:07, Mike Slinn<EMAIL_ADDRESS>wrote:

Here is a solid start on Scala 2.13 support:
https://github.com/mslinn/schwatcher
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lloydmeta/schwatcher/issues/76?email_source=notifications&email_token=ANLU3NRBG363Y2WFIWKANRDQRCJXFA5CNFSM4HHSYNEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECR46LA#issuecomment-547606316,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANLU3NTHFVMJH4W326VZZWTQRCJXFANCNFSM4HHSYNEA
.

Here is a solid start on Scala 2.13 support: https://github.com/mslinn/schwatcher

@mslinn Hi, have you released a version for Scala 2.13 to Sonatype/Maven?

@ngocdaothanh No and I doubt that I will have any more time for this issue.
@alexander-bunkenburg-chartboost have you had a chance to look at the code I provided?

Hi,
Well, in our company I still have the ticket, but its priority went down.
I am not working on it but we will need this at some point, so I may get
back to it.
Sorry,
Alex
On Sat, 16 Nov 2019 at 02:01, Mike Slinn<EMAIL_ADDRESS>wrote:

@ngocdaothanh https://github.com/ngocdaothanh No and I doubt that I
will have any more time for this issue.
@alexander-bunkenburg-chartboost
https://github.com/alexander-bunkenburg-chartboost have you had a
chance to look at the code I provided?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lloydmeta/schwatcher/issues/76?email_source=notifications&email_token=ANLU3NS3Y6QNVOHZVB4FX53QT5BAJA5CNFSM4HHSYNEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEHFC6A#issuecomment-554586488,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANLU3NXUZZTYX2IP6USRI53QT5BAJANCNFSM4HHSYNEA
.

There's this library with similar feature, and it's actively developed:
https://github.com/pathikrit/better-files#file-monitoring

👍 to using better-files. In truth, I haven't touched this lib in years.


Ability to manually specify reported hostname

Is your feature request related to a problem? Please describe.
With complicated networking setups the current method of using InetAddress.getLocalHost() dosnt always return the expected value.  There is no way to be able to specify your own hostname or trigger the alternative lookups unless that call throws an exception
Describe the solution you'd like
add a java_opt elastic.apm.hostname.  Plan would simply be to update SystemInfo#getNameOfLocalHost() to first check if System.getProperty("elastic.apm.hostname") is set,  if yes then use that, else use current behavior.
lmk if this solution is acceptable and ill throw together a quick PR.

+1 on adding that functionality. Our other agents support that too. For some reason we forgot to implement it for the Java agent. In terms of implementation, the option should be added to CoreConfiguration. A PR would be highly appreciated!

Closing as it has been merged with PR #815


Cannot find module './deps/node_modules/imports-loader/index.js'

Upgraded the webpack recently, now webpack fails with the following exception when loading the configuration.
$ webpack -v

module.js:340
    throw err;
    ^
Error: Cannot find module './deps/node_modules/imports-loader/index.js'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at DependenciesBlock.loadPitch (/usr/local/lib/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:190:16)
    at DependenciesBlock.doBuild (/usr/local/lib/node_modules/webpack/node_modules/webpack-core/lib/NormalModuleMixin.js:224:4)
    at DependenciesBlock.build (/usr/local/lib/node_modules/webpack/lib/NormalModule.js:66:14)
    at Tapable.Compilation.buildModule (/usr/local/lib/node_modules/webpack/lib/Compilation.js:120:9)
    at Tapable.<anonymous> (/usr/local/lib/node_modules/webpack/lib/Compilation.js:292:9)
    at /usr/local/lib/node_modules/webpack/lib/NormalModuleFactory.js:104:13

I narrowed this down to output.filename config option, when I comment it out, the exception disappears.
output: {
    path:     path.join(configuration.rootDir, '/public/js'),
    pathinfo: true,
    filename: '[name].js'
},

This might be related to aliased node_modules, which sits a few levels up, but this never was an issue before.

Pass an absolute path to module.loaders[x].loader.

Not sure if I got you right, trying this doesn't work:
module: {
    loaders: [
        {test: /\.hbs$/, loader: path.join(configuration.rootDir, 'node_modules/handlebars-loader'), query: {helperDirs: path.join(configuration.rootDir, '/src/hbs')}}
    ]
},

There are a lot of similar issues, I don't think this is webpack-related, but it used to work just fine a few hours ago. I'll update once research more.

path.join doesn't make sure it's absolute... maybe rootDir is relative. Try path.resolve instead.

project
    build
        js
            webpack.config
    node_modules -> ./deps/node_modules/

This is roughly what I have. When I turn the node_modules in the root into the symlink, everything works again, but that's a no-goer as that symlink is in git, changing it every time I checkout the project invalidates the whole point of the alias…
configuration.rootDir is an absolute path, I tried wrapping path.join(configuration.rootDir, 'node_modules/handlebars-loader') with path.resolve – that doesn't do anything.

Basically it seems that it understands that it's dealing with the symlink, located at /foo/bar/project/node_modules but uses that symlink's value './deps/node_modules/' out of the context of the absolute path.

Ah OK. It's a bug in symlink handling... I'll check tomorrow...

Thanks Tobias. Sleep time…

Should work now... Could you try again with updated enhanced-resolve version?

Works. Thanks for the fast fix, as always!

This is how i solved my issue https://webpack.github.io/docs/configuration.html#resolve-modulesdirectories


Fix weekday position

Fixes #408

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


'gitops' output on non-existing branch

Command gitte gitops misleading output when origin branch does not exist
Misleading outputs:

example-branch-name conflicts with origin/example-branch-name in ~/path/to/clone
example-branch-name is 2 commits behind master in ~/path/to/clone

Expected output:

example-branch-name upstream origin/example-branch-name doesn't exist in ~/path/to/clone
example-branch-name is 2 commits behind master in ~/path/to/clone

My machine: macOS Monterey 12.6 (Intel CPU)
git --version

git version 2.37.0 (Apple Git-136)

src/gitops.ts:29 uses .startsWith(). This might not always work.
git pull --ff-only some times outputs:

There is no tracking information for the current branch.
Please specify which branch …

git pull --ff-only some other times it outputs:

remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (13/13), 5.66 KiB | 579.00 KiB/s, done.
From server:repo/redacted
4c7c4c150d8..415e6393908  master     -> origin/master
There is no tracking information for the current branch.
Please specify which branch you want to merge with.

Should be solved as recent gitte version


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative/operations-wg-leads
/assign knative/operations-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps

/test eventing-upgrade-tests

/lgtm
/approve


Drop manual ixgbevf installation

The ixgbevf manual driver installation was anyway not executed when
building on Ubuntu Jammy so drop this code from the
ubuntu-jammy/master branch to remove unused code.

Merging since this change was already approved by @ramonskie here: https://github.com/cloudfoundry/bosh-linux-stemcell-builder/pull/204/files

Thanks! @toabctl


Use Nop write closer from stdlib

You might want to use this io.WriteCloser wrapper: https://golang.org/pkg/io/ioutil/#NopCloser
It seems to do the same as yours nopWriteCloser structure, except it's part of the standard library.

Oops. Sorry, my bad. I thought the standard one wraps io.Writer like yours, not io.Reader.


Reduce num_samples in uniform non-mock test to 1000

Reduce the number of samples we draw a fit a uniform distribution using from 10,000 to 1,000 in the non-mock uniform sampling test. When its set to 10,000 the test doesn't successfully run on my laptop and just hangs eternally. I tested it a bunch of times with this 1,000 samples and checked the numerical accuracy and it looked close enough that it shouldn't be a flaky test.
If it ends up being an issue I'm in favor of removing the test or having a separate suite of "validity" tests, since I can't run the tests locally otherwise.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #142 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           develop    #142   +/-   ##
=======================================
  Coverage     85.1%   85.1%
=======================================
  Files           77      77
  Lines         3814    3814
  Branches       653     653
=======================================
  Hits          3246    3246
  Misses         375     375
  Partials       193     193

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 32b3c3b...f92ed40. Read the comment docs.


fix(live-preview): avoids unnecessary requests for polymorphic hasMany relationships

Description
Properly handles polymorphic hasOne relationships so that they are not unnecessarily re-populated every time fields are traversed, regardless of whether they has been modified. Their values were not being properly compared and were being treated as a new value in the next recursion. There's not good way to test for this afaik. The data returned from the hook is unchanged.

[x] I have read and understand the CONTRIBUTING.md document in this repository.

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] Existing test suite passes locally with my changes

This PR has been absorbed into #4045


Admin option to add and delete listings

admin should be able to add and delete all posts no matter who posted them

Same principle, as view all, except admin role has access to the the delete and post routes.


[master] Flashing bar on game with RTSS running

Release Type: Official Release/GitHub (please choose appropriate option)
Git Master
Version: Version number and/or git branch
Current Master  - 47a8ef2
Platform(s): Does the problem occur on Windows, Android...?
Windows
Describe the bug
A flashing bar on the side of the screen at runtime anytime RTSS is running.
I'm fairly sure this is caused by the recent texture changes,  as that's the only significant change since the last time i pulled master and it wasn't happening before.
To Reproduce
Steps to reproduce the behavior:

Have RTSS installed and running,
Have something overlaying stats.  (CapFrameX,  HWINFO64  etc?)
Launch a project (Game mode)

Expected behavior
No flashing bar
Screenshots
This is what RTSS does for those that don't know

Here is what it's causing..
https://github.com/stride3d/stride/assets/1302391/eebb7d8a-0d6b-4734-bb07-8a30158713ae
Log and callstacks
N/A - None
Additional context
Add any other context about the problem here.

Update:  Please sand by
This is happening in other 3D applications,  though i'm not sure why i haven't changed anything  some update has caused it  tracking it down now.

Solved: This is caused by a RTSS setting  though, i'm  unsure how it got set i never change settings in RTSS
I'm closing this becasue it isn't a Stride issue,   but here is the setting that needs to be turned off for anyone that happens across the issue.

Uncheck this.


Mark all process VIs as reentrant

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?

Mark all process VIs (Read from Hardware, Write to Hardware) as shared clone reentrant
Mark all sub VIs as reentrant and inlined

Why should this Pull Request be merged?
Increase performance of the custom device when using multiple instances on the same system.
What testing has been done?
TBD (waiting on access to a system with multiple modules)

I have access to 2x of the 16-channel modules in one PXI system to finally test these changes. The story is anything but clear, so posting here for a discussion later.
My test uses 8x Tx and 8x Rx channels on each card, loaded up with a lot of discrete and numeric parameters. These parameters are then sent unique data (toggled Booleans and sinewave analog values) to ensure that the transmitted values change each iteration of the PCL (to maximally stress the custom device engine logic).
16Ch with Discretes and Numerics.zip

Build from main with Rx inline

Build from main with Rx async

Build from PR 106 with Rx inline

Build from PR 106 with Rx async

I did re-implement the reentrancy changes from main without all of the inlining of sub VIs to see if this was the problem. The results from that dev build were the same as from this PR.
My two largest concerns are the jitter spikes in the Tx execution time after these changes, as well as the ~50% longer baseline execution time for Tx even when Rx is inlined. I have been kicking off dev builds to identify the cause of those jitter spikes, and it does not come from the AIM driver (as disabling all of the driver calls in Tx's Write to Hardware VI shows reduced execution time, but still with jitter spikes). Instead, it seems to come from the AIM ARINC 429 Hardware API.lvlib:Get Transfer Identifier.vi, which notably is non-reentrant.

I essentially rebased these changes from main after @papowerNI modified the Hardware API for Tx transfer ID lookup in #109. I also more selectively inlined sub VIs to avoid concerns that @rtzoeller had about over-inlining large portions of the RT engine for the custom device (probably founded given how large these VIs are). The latest build's testing shows that Tx jitter spikes are gone now that the non-reentrant hardware API VI is gone.

Build from commit 98ad283c67e159333f96aaa7977815a043e2a1ef with Rx inline

Build from commit 98ad283c67e159333f96aaa7977815a043e2a1ef with Rx async


Add support for Python 3.10

Summary
Following Qiskit/qiskit-terra#7102
Details and comments
There isn't torch for python 3.10 yet. Since the tutorials use torch, I am keeping them running in the CI under python 3.7 and python 3.8 as before.
IMPORTANT:
Terra is backporting this. Once they release it to pypi, I will backport it as well. Do not backport before they release otherwise it will fail. The stable CI gets Terra from Pypi.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 82.239%

Totals

Change from base Build<PHONE_NUMBER>:
0.09%

Covered Lines:
2769

Relevant Lines:
3367

💛  - Coveralls


VS2019 build compatibility

This PR closes #193.
I had to publish an update for the custom SDK we use to build WPF stuff with the .NET Core build system.

CI had troubles finding the package I've published, but currently everything is okay.

Thanks for your review!


Not making the transcript

Tried to generate a transcript using this, but for some reason nothing is happening.
This is the error I am getting btw:

did you first click the get informsation button before generating transcript, checkout the readme for proper method.

Working now, thanks!


fix: Add tags support to aws_appautoscaling_target

Description
added tags attribute to aws_appautoscaling_target resource for consistent tagging across resources
Motivation and Context
this change adds tags to the autoscaling target, aligning with standardized tagging practices. enhances visibility and management of resources within AWS
Breaking Changes
no breaking changes; this addition is backward-compatible with the existing configuration
How Has This Been Tested?

[x] I have tested and validated these changes using one or more of the provided examples/* projects

the org that I'm part of has an explicit deny in the service control policy for IAM, causing resources to fail creation without proper tagging in place

@antonbabenko , could you kindly take a moment to check this out?

This PR is included in version 2.10.0 :tada:


httpx: 1.0.9 -> 1.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/projectdiscovery/httpx/releases.
meta.description for httpx is: "Fast and multi-purpose HTTP toolkit"
meta.homepage for httpx is: "https://github.com/projectdiscovery/httpx"
meta.changelog for httpx is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/4p343nasrcr584x3rfdcxx3y10r2m1r3-httpx-1.1.0/bin/httpx passed the binary check.

1 of 1 passed binary check by having a zero exit code.

1 of 1 passed binary check by having the new version present in output.

found 1.1.0 with grep in /nix/store/4p343nasrcr584x3rfdcxx3y10r2m1r3-httpx-1.1.0

found 1.1.0 in filename of file in /nix/store/4p343nasrcr584x3rfdcxx3y10r2m1r3-httpx-1.1.0

directory tree listing: https://gist.github.com/61a0098859ba5f35241954ffe47f91d8

du listing: https://gist.github.com/ca880589d1b5bf03dc80af2d0deb024f

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
httpx

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4p343nasrcr584x3rfdcxx3y10r2m1r3-httpx-1.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A httpx https://github.com/r-ryantm/nixpkgs/archive/8fbf1e927f8113f9a4705b77eca5dfb800bc4326.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4p343nasrcr584x3rfdcxx3y10r2m1r3-httpx-1.1.0
ls -la /nix/store/4p343nasrcr584x3rfdcxx3y10r2m1r3-httpx-1.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

httpx

Maintainer pings
cc @fabaff @kalbasit for testing.

Result of nixpkgs-review pr 128093 run on x86_64-linux 1

1 package built:

httpx


RFC: Removing CommonJS support

Hi people,
I and @jahands were thinking about simplifying the build toolchain of the library. Without going too much into the details of how it works, essentially the current setup creates an entirely different version for esm and cjs.
With most workers these days written using the Module Worker syntax, and with esbuild, I believe that the added package size and build complexity it not worth keeping in the lib. If you're currently using Service Worker syntax, I highly recommend following [https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/#migrate-from-service-workers-to-es-modules](Cloudflare's guide) to migrate - you're losing out on features like JSRPC, Durable Objects, D1 and probably more.
The question to anyone watching the repo, or finding this issue randomly, do you actually use cjs in your workers and need continued support?

I am curious what came of this, not because I am using cjs, but I very much would like to use this with module worker formatted CF workers of my own.
When I called instrument(app.fetch, config) where app is a class that extends WorkerEntrypoint, I noticed that the SDK never ever called config to initialize the config and the Otel stuff just silently fails. It doesn't fail when I convert my Module Worker based worker to Service Worker based.
I see that all the instrumentation is accomplished through Proxies mostly, and that there are two different instrument functions, one for ExportedHandler and one for DOclass (and one for DurableObject). Why isn't there an instrumentRpc for an Rpc style class that implements WorkerEntrypoint?
I could write one myself, but setConfig is private and not exported: https://github.com/evanderkoogh/otel-cf-workers/blob/main/src/instrumentation/do.ts#L211 - so how does one provide a custom instrument function, perhaps based on the already defined instrument functions in the library?
Looked up https://github.com/evanderkoogh/otel-cf-workers/pull/182 in the hopes that it will capture this use-case of Rpc based classes (Module Worker format), but don't see that there either.
What am I missing?


HBase Shell Interpreter

Support for Hbase Shell. All the commands documented here https://wiki.apache.org/hadoop/Hbase/Shell is supported.
Requirements:
Hbase Shell should be installed on the same machine. To be more specific, the following dir. should be available: https://github.com/apache/hbase/tree/master/hbase-shell/src/main/ruby
Hbase Shell should be able to connect to the Hbase cluster from terminal. This makes sure that the client is configured properly.
The interpreter takes 3 config parameters:
hbase.home: Root dir. where hbase is installed. Default is /usr/lib/hbase/
hbase.ruby.sources: Dir where shell ruby code is installed. Path is relative to hbase.home. Default: lib/ruby
hbase.irb.load: (Testing only) Default is true. Whether to load irb in the interpreter.

Unit tests passed.

Could you elaborate on what this does?
hbase.irb.load: (Testing only) Default is true. Whether to load irb in the interpreter.

@felixcheung I have addressed your comments. Please take a look

The failure is a false positive. I made only cosmetic changes. Looks like it failed in downloading npm stuff.

@vrajat do you plan to update this PR\add some docs for new interpreter?
Or shall we consider closing it as it diverged from master and CI fails, so no way to merge it in the current state.

I'll put some effort into clean up the PR.
On Tue, 5 Jan 2016 at 15:34, Alexander<EMAIL_ADDRESS>wrote:

@vrajat https://github.com/vrajat do you plan to update this PR\add
some docs for new interpreter?
Or shall we consider closing it as it diverged from master and CI fails,
so no way to merge it in the current state.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/278#issuecomment-168959651
.

@bzz Please check. I have replied to or addressed outstanding comments.

looks good to me.

Cool! What are the next steps ?
On Mon, Jan 11, 2016 at 10:28 AM Felix Cheung<EMAIL_ADDRESS>wrote:

looks good to me.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/278#issuecomment-170431120
.

Great!
I think a good next step is to update the docs, adding the details about a new interpreter.

Can you guide me more ? Where should I change and a good example?
On Mon, 11 Jan 2016 at 14:50, Alexander<EMAIL_ADDRESS>wrote:

Great!
I think a good next step is to update the docs, adding the details about a
new interpreter.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/278#issuecomment-170480597
.

Sure! The best place to look at is some example of recently merged interpreters - i.e #520
Passing CI, docs and update to the LICENCE file with new dependencies added - usually thats all you need.

You can also read more about how to update the docs here http://zeppelin.incubator.apache.org/docs/0.6.0-incubating-SNAPSHOT/development/howtocontributewebsite.html

@bzz I have added a doc. Its quite simple. HBase docs are really awesome. So I have pointed to their docs for the bulk of information. I've only focused on the options of the interpreter itself.

@vrajat could you check the licenses then?

License of HBase ?
On Thu, 21 Jan 2016 at 05:31, Felix Cheung<EMAIL_ADDRESS>wrote:

@vrajat https://github.com/vrajat could you check the licenses then?
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/278#issuecomment-173407376
.

For these new dependencies in the pom file
     <groupId>org.apache.hbase</groupId>
 +      <artifactId>hbase-client</artifactId>
 +      <version>${hbase.hbase.version}</version>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.hbase</groupId>
 +      <artifactId>hbase-annotations</artifactId>
 +      <version>${hbase.hbase.version}</version>
 +    </dependency>
 +    <dependency>
 +      <groupId>com.google.protobuf</groupId>
 +      <artifactId>protobuf-java</artifactId>
 +      <version>${protobuf.version}</version>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.hbase</groupId>
 +      <artifactId>hbase-server</artifactId>
 +      <version>${hbase.hbase.version}</version>
 +    </dependency>

I think the practice is to list them in the license file. again please see PR #520 for an example.

@felixcheung Done

thanks, trying to test this now.
btw, this doc style update has just been committed - it would be great if you could check and conform to that, if not we could come back to that shortly.

also, I realize when testing this, you should add to the list in ZeppelinConfiguration.java  as documented in here

@vrajat I am having problem getting this to work. It's like this is my setup but I wonder if you have any idea to fix this

HBase bin release from Apache Mirror hbase/hbase-1.0.2/
HBase running, hbase shell working
Built distribution for Zeppelin
set JAVA_HOME, start Zeppelin, enable hbase, set hbase.home in property

When I ran this
%hbase
help

I got this
(NameError) undefined local variable or method `help' for main:Object

and in the log
 INFO [2016-01-21 05:40:07,314] ({pool-2-thread-2} SchedulerFactory.java[jobStarted]:129) - Job remoteInterpretJob_1453354807312 started by scheduler org.apache.zeppelin.hbase.HbaseInterpreter599771689
 INFO [2016-01-21 05:40:07,494] ({pool-2-thread-2} HbaseInterpreter.java[open]:86) - Home:/opt/hbase-1.0.2
 INFO [2016-01-21 05:40:07,494] ({pool-2-thread-2} HbaseInterpreter.java[open]:87) - Ruby Src:lib/ruby
 INFO [2016-01-21 05:40:07,495] ({pool-2-thread-2} HbaseInterpreter.java[interpret]:110) - help
ERROR [2016-01-21 05:40:11,026] ({pool-2-thread-2} HbaseInterpreter.java[interpret]:117) - Can not run 'help'
org.jruby.embed.EvalFailedException: (NameError) undefined local variable or method `help' for main:Object
	at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:136)
	at org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1263)
	at org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1256)
	at org.apache.zeppelin.hbase.HbaseInterpreter.interpret(HbaseInterpreter.java:112)
	at org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret(ClassloaderInterpreter.java:57)
	at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)
	at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:305)
	at org.apache.zeppelin.scheduler.Job.run(Job.java:172)
	at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.jruby.exceptions.RaiseException: (NameError) undefined local variable or method `help' for main:Object

Surprising. It seems like the hbase ruby scripts arent loaded. I used the
interpreter two days back. I'll try to reproduce the problem.
On Thu, Jan 21, 2016 at 11:32 AM Felix Cheung<EMAIL_ADDRESS>wrote:

@vrajat https://github.com/vrajat I am having problem getting this to
work. It's like this is my setup but I wonder if you have any idea to fix
this

HBase bin release from Apache Mirror hbase/hbase-1.0.2/
HBase running, hbase shell working
Built distribution for Zeppelin
set JAVA_HOME, start Zeppelin, enable hbase, set hbase.home in
property

When I ran this
%hbase
help
I got this
(NameError) undefined local variable or method `help' for main:Object
and in the log
INFO [2016-01-21 05:40:07,314] ({pool-2-thread-2} SchedulerFactory.java[jobStarted]:129) - Job remoteInterpretJob_1453354807312 started by scheduler org.apache.zeppelin.hbase.HbaseInterpreter599771689
INFO [2016-01-21 05:40:07,494] ({pool-2-thread-2} HbaseInterpreter.java[open]:86) - Home:/opt/hbase-1.0.2
INFO [2016-01-21 05:40:07,494] ({pool-2-thread-2} HbaseInterpreter.java[open]:87) - Ruby Src:lib/ruby
INFO [2016-01-21 05:40:07,495] ({pool-2-thread-2} HbaseInterpreter.java[interpret]:110) - help
ERROR [2016-01-21 05:40:11,026] ({pool-2-thread-2} HbaseInterpreter.java[interpret]:117) - Can not run 'help'
org.jruby.embed.EvalFailedException: (NameError) undefined local variable or method help' for main:Object     at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:136)     at org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1263)     at org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1256)     at org.apache.zeppelin.hbase.HbaseInterpreter.interpret(HbaseInterpreter.java:112)     at org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret(ClassloaderInterpreter.java:57)     at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)     at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:305)     at org.apache.zeppelin.scheduler.Job.run(Job.java:172)     at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139)     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)     at java.util.concurrent.FutureTask.run(FutureTask.java:266)     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)     at java.lang.Thread.run(Thread.java:745) Caused by: org.jruby.exceptions.RaiseException: (NameError) undefined local variable or method help' for main:Object
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/278#issuecomment-173465856
.

hbase shell is calling ${HBASE_HOME}/bin/hirb.rb - maybe this needs to do the same?

@vrajat
Hi! It's really good to add HBase interpreter!!
I saw a documentation hbase.mdyou added. But currently, there is no link for this page. So you have to add a link to below this line. Then you can see your documentation page in the navigation tab : )

Plus, a few days ago, there is a PR #648 related to fixing documentation styles. This PR was working on deleting a numbering in the each sections. So why don't you remove a numbering?
Thank You ! : )

@vrajat ?

Sorry. I've been busy with work. I'll try to get it next week. I'll look at
the bug. It must have been caused by one of the clean up commits.
With respect to docs, I will appreciate it if it's taken up later. This PR
has been going on for a year. I really want to get this done and move on.
On Sat, 30 Jan 2016 at 01:11, Felix Cheung<EMAIL_ADDRESS>wrote:

@vrajat https://github.com/vrajat ?
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/278#issuecomment-176933999
.

Sure - let's get it working, and here. I can help with updating doc if necessary.

Ah ha! Now I remember why I had my own copy of hirb.rb. I couldnt get this piece of code in the original hirb.rb to work. So I had deleted it and it had no bad consequences.
35a36,41
> require 'pathname'
>
> # Add the directory names in hbase.jruby.sources commandline option
> # to the ruby load path so I can load up my HBase ruby modules
> sources = java.lang.System.getProperty('hbase.ruby.sources')
> $LOAD_PATH.unshift Pathname.new(sources)

@vrajat I see this error when I run it
 INFO [2016-02-01 06:55:28,887] ({pool-1-thread-3} HbaseInterpreter.java[open]:88) - Home:/opt/hbase-1.0.2/
 INFO [2016-02-01 06:55:28,887] ({pool-1-thread-3} HbaseInterpreter.java[open]:89) - Ruby Src:lib/ruby
 INFO [2016-02-01 06:55:28,887] ({pool-1-thread-3} HbaseInterpreter.java[open]:100) - Absolute Ruby Source:/opt/hbase-1.0.2/lib/ruby
ERROR [2016-02-01 06:55:28,904] ({pool-2-thread-2} Job.java[run]:184) - Job failed
org.apache.zeppelin.interpreter.InterpreterException: org.jruby.embed.EvalFailedException: (TypeError) can't convert Pathname into String
	at org.apache.zeppelin.interpreter.ClassloaderInterpreter.open(ClassloaderInterpreter.java:76)
	at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:68)
	at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:92)
	at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:299)

But the path seems correct:
 ls /opt/hbase-1.0.2/lib/ruby
hbase  hbase.rb  irb  shell  shell.rb

Also there is a typo in zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java

@felixcheung I've got past that error. I am hitting
java.lang.VerifyError: class org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$ColumnFamilySchema overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
	at java.lang.ClassLoader.defineClass1(Native Method)

This usually implies a mismatch between the jars used in the hbase client and the hbase server. I am looking into it. The same code & dependencies works in the Qubole fork. So I am eliminating what could be different about this branch.

cool, let me know when I should try again.

@felixcheung Please take a look now. I have fixed all bugs and I can use it on my HBase setup (HBase 1.0.0 and Hadoop 2.6.0)

Great! It works (tested with hbase-1.0.2).
Merging if no more discussion (I will help fix the doc format).

w00t!
On Tue, Feb 2, 2016 at 11:25 AM Felix Cheung<EMAIL_ADDRESS>wrote:

Great! It works (tested with hbase-1.0.2).
Merging if no more discussion (I will help fix the doc format).
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-zeppelin/pull/278#issuecomment-178390124
.

Cool!

@felixcheung  hello, i saw you using hbase-1.0.2 works fine, but i using hbase 2.4.12 got the same error:


Networking rpc broken when using separate server side and client side scripts

Godot version
4.1
System information
Windows 10 Forward+
Issue description
I have Network script that is diffrent on both server side and client side.
It is separated so server would need less maintaining.
Server is used only to connecting players, whenever new player joins server only updates player order list.
Theory is
After setting player order/sending new one function is the same on both sides - it runs set_player_order, where on server it just is pass, on server the current "host/master client" synces world data to newly connected client so that client can sync vehicles...
In Practice
I get

I have checked and seen proposal(https://github.com/godotengine/godot-proposals/issues/7065) talking about it, but I think this is a bug cause the function meant to be called is the same on both sides...
Steps to reproduce
Have 2 scripts/2 projects
Both have some functions shared and one or both have some that are unique
Make Sure node path is the same on both
Try calling RPC for example from server to client.
(I think code from (https://github.com/godotengine/godot-proposals/issues/7065) should work to get this error)
Minimal reproduction project
N/A

I have checked and seen proposal(https://github.com/godotengine/godot-proposals/issues/7065) talking about it, but I think this is a bug cause the function meant to be called is the same on both sides...

As mentioned in the proposal, all RPC methods must be implemented on both client and server, even if they're empty on one side.
Closing, as this is not a bug but a design decision (which https://github.com/godotengine/godot-proposals/issues/7065 is debating).


OCR0037: Deploy the existing in-house trained models

Description:
Use Existing OCR model trained for woodblock, deploy it for use on monlam web app and libaray web app.
to do so we first need to run the models locally, which is done in ticket OCR0029.
Completion Criteria:
Models deployed and ready for use on the web app.
Subtasks:

[x] Get the latest model from eric for line segmentation and OCR
[x] Run it locally, refer OCR0029
[x] API developments

[x] Discussion with colleagues over it.

[x] Dockerization
[x] Deployment

Overall the plan sounds good to me. We should focus on creating a scalable API that can handle different models and inputs we might add later. The output format should be consistent, we can maybe follow the JSON schema as used by Google OCR. We can use FastAPI to build the backend application in a modular way, allowing us to easily add new models and endpoints as needed.

worked on prodigy tool launching a new instance commit url

have created a branch called local-run where I have put the code directory in the src directory and then added a new module called pipeline.py which has the pipeline to run the models for inference.

having issues with the dockerization

I have deployed the first version of the API
first version of the API, it is using the line segmentation model BDRC/PhotiLines and woodblock OCR model BDRC/Woodblock
I have made the API using the fastAPI and then made an image for linux/amd64 and then uploaded the image to the docker hub https://hub.docker.com/repository/docker/ta4tsering/fastapi-ocr-app/general and then use that image to run the docker image on awas ubuntu server. you can use other image from by chaning the image URL and I have also given some example images in that script. https://github.com/OpenPecha/OCR-Deployment/blob/API/src/MonlamOCR/API_test.py/#L14


Transform.scale animation Weird problem

Problem Description
The second animation, the text component cannot appear

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.3.10, on Mac OS X 10.13.6 17G5019, locale
    zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.2)
[✓] VS Code (version 1.32.1)
[✓] Connected device (1 available)

• No issues found!

Sample code
class TopicPage extends StatefulWidget {
  final String name;

  TopicPage({Key key, this.name}) : super(key: key);

  @override
  TopicPageState createState() => new TopicPageState();
}

class TopicPageState extends State<TopicPage> with TickerProviderStateMixin {
  AnimationController _container;
  Animation _animation;
  @override
  void initState() {
    super.initState();
    _container = AnimationController(vsync: this, duration: Duration(seconds: 1));
    _animation = Tween(begin: 0.0, end: 1.0).animate(_container)
    ..addListener((){
      setState(() {});
    })
    ..addStatusListener((status){
      if (status == AnimationStatus.completed) {
        _container.reverse(from: 1.0);
      }else if (status == AnimationStatus.dismissed) {
        _container.forward(from: 0.0);
      }
    });
    _container.forward(from: 0.0);
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.name),
      ),
      body: Center(
        child: Container(
          width: 50,
          height: 50,
          alignment: Alignment.center,
          child: Stack(
            children: <Widget>[
              Container(
                width: 50,
                height: 50,
              ),
              Transform.scale(
                scale: _animation.value,
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.center,
                  children: <Widget>[
                    Image.asset(
                      "assets/images/icon_min_jinbi.png",
                      width: 16,
                      height: 16,
                      fit: BoxFit.contain,
                    ),
                    SizedBox(
                      width: 2,
                    ),
                    Text(
                      "+32",
                      style: TextStyle(color: MyColors.tred, fontWeight: FontWeight.bold, fontSize: 13),
                    )
                  ],
                ),
              ),
              Positioned(
                child: Container(
                  width: 60,
                  height: 60,
                  alignment: Alignment.center,
                  child: Image.asset(
                    "assets/images/my_red.png",
                    width: 40,
                    height: 40,
                    fit: BoxFit.contain,
                  ),
                ),
                top: (1 - _animation.value) * 50,
              ),
            ],
          ),
        ),
      ),
    );
  }

  @override
  void dispose() {
    _container.dispose();
    super.dispose();
  }

}

Duplicate of #30522
This was a bug in Skia that has been fixed.  If it's not on master yet it should be very soon.


Issue2645 Fix poor barb performance with large datasets

Fixes the problem by caching the generated barbs.
Fix #2645

@stasj could we please remove the commented code in BarbRenderer::_isCacheDirty()?


Log Level

Hi,
I want to stop receiving the default debug logs in my tomcat logs, how do I change the log level?
Sorry for the noob question, thanks in advance!
Regards,
Balaji B R

Figured out. Thank you


License?

Non explicit licensing is protected by copyright law and is considered All Rights Reserved. as described here.
Please add a license file in the repo so we can reuse this awesome work of yours :)

I edited the readme to reflect the various licenses of the filter implementations. Later, I'll add a licenses file with the full text of each.


Faceting bug for categorical columns

What happened?
Faceting by pl.Categorical columns results in wrong facets
alt.Chart(
    pl.from_pandas(vega_datasets.data.cars()).with_columns(
        pl.col("Origin").cast(pl.Categorical),
        pl.col("Cylinders").cast(pl.String).cast(pl.Categorical),
    )
).mark_point().properties(width=150, height=150).encode(
    x="Horsepower",
    y="Miles_per_Gallon",
    shape="Cylinders",
    color=alt.Color("Origin").scale(scheme="category10"),
).facet(row="Origin", column="Cylinders")

I am not exactly sure what is going wrong, but suddenly all American cars are in the Europe facet, some European cars are in the Japan facet, the Japanese cars are in the correct facet, the 4-Cylinder cars are in the 5 and 6-Cylinder facets, etc. (There is probably some obvious pattern here which I am missing)
I checked the Vega-Lite output and I think the issue is the sort parameter of the resulting spec file.
What would you like to happen instead?
The same code with pl.String columns works as expected:
alt.Chart(
    pl.from_pandas(vega_datasets.data.cars()).with_columns(
        pl.col("Origin"),
        pl.col("Cylinders").cast(pl.String)
    )
).mark_point().properties(width=150, height=150).encode(
    x="Horsepower",
    y="Miles_per_Gallon",
    shape="Cylinders",
    color=alt.Color("Origin").scale(scheme="category10"),
).facet(row="Origin", column="Cylinders")

Which version of Altair are you using?
5.4.1

I am not exactly sure what is going wrong, but suddenly all American cars are in the Europe facet, some European cars are in the Japan facet, the Japanese cars are in the correct facet, the 4-Cylinder cars are in the 5 and 6-Cylinder facets, etc. (There is probably some obvious pattern here which I am missing)
I checked the Vega-Lite output and I think the issue is the sort parameter of the resulting spec file.
What would you like to happen instead?
The same code with pl.String columns works as expected

https://docs.pola.rs/api/python/stable/reference/api/polars.datatypes.Categorical.html
@wirhabenzeit you'll need to use pl.Categorical("lexical") for this behavior:
import altair as alt
import polars as pl
from vega_datasets import data

df = pl.DataFrame(data.cars()).with_columns(
    pl.col("Origin", "Cylinders").cast(pl.String).cast(pl.Categorical("lexical"))
)

alt.Chart(df).mark_point().properties(width=150, height=150).encode(
    x="Horsepower",
    y="Miles_per_Gallon",
    shape="Cylinders",
    color=alt.Color("Origin").scale(scheme="category10"),
).facet(row="Origin", column="Cylinders")

Output

@dangotbanned Hmmm I think you misunderstood the issue. The issue is not that the order of facets is not lexicographical. The issue is that for categorical columns the resulting plot simply puts data points in wrong facets. If you look at the example above, then the blue points all should be in the USA facet, irrespective of the ordering of the rows.
In fact when I encountered this issue I used categorical encoding precisely to be able to specify an order, but then the plot just becomes erratic.

@dangotbanned Hmmm I think you misunderstood the issue. The issue is not that the order of facets is not lexicographical. The issue is that for categorical columns the resulting plot simply puts data points in wrong facets. If you look at the example above, then the blue points all should be in the USA facet, irrespective of the ordering of the rows.
In fact when I encountered this issue I used categorical encoding precisely to be able to specify an order, but then the plot just becomes erratic.

@wirhabenzeit Could you explain the difference between these two?
I'm more than happy to reopen the issue if I've misunderstood, but they look the same to me?
What you would like to happen

Output in https://github.com/vega/altair/issues/3588#issuecomment-2344322657

Thanks for raising this issue @wirhabenzeit! This is a very interesting issue you are raising. I can reproduce the issue you are describing, but I'm not sure exactly what is going on. Will investigate a bit more what changed with the categorical definition. The usage that you describe sounds solid to me. Maybe this is a regression with 5.4? Anyway, it is reproducible! Thanks again for your time to raise this issue!

@dangotbanned There is no difference. Maybe I explained it poorly. My bug report is that faceting with categorical columns which are not lexical results in data points appearing in wrong facets. Above I used the lexical ordering with string-columns only to show the bug. The output I would like is the output which respects the categorical order and does not put points in wrong facets.

@mattijn I have looked around more and I think this goes back to https://github.com/vega/vega-lite/issues/5937
Basically there is a long-standing bug in Vega-Lite with facet-sorting whenever there are missing data points in some of the facets. I did not find it initially because I was focused on pl.Categorical and did not suspect it was a problem with the sorting.

@wirhabenzeit

@dangotbanned There is no difference. Maybe I explained it poorly. My bug report is that faceting with categorical columns which are not lexical results in data points appearing in wrong facets. Above I used the lexical ordering with string-columns only to show the bug. The output I would like is the output which respects the categorical order and does not put points in wrong facets.

@mattijn

Thanks for raising this issue @wirhabenzeit! This is a very interesting issue you are raising. I can reproduce the issue you are describing, but I'm not sure exactly what is going on. Will investigate a bit more what changed with the categorical definition. The usage that you describe sounds solid to me. Maybe this is a regression with 5.4? Anyway, it is reproducible! Thanks again for your time to raise this issue!

I'm still unsure how this isn't explained by the nondeterministic ordering in polars, but reopened since @mattijn seems to get it

Might also be related to https://github.com/vega/vega-lite/issues/8675 which was reported in Altair here https://github.com/vega/altair/issues/3481.

Yeah, The referenced VL issues are relevant here.
But just to be complete, what is happening. Altair tries to sort the fields in your column ascending when defined as type str on an encoding channel.
So when having this data:
import polars as pl
import altair as alt

df = pl.DataFrame({"value": [2, 5, 3], "month": ["jan", "feb", "mar"]})

And visualising it with the month on the x-axis channel and the values on the color channel using a rect-mark
chart = alt.Chart(df).mark_rect().encode(
    x='month',
    color='value'
)
chart

It can be seen that the x-axis is ordered by feb, jan, mar, since the f becomes for j in the alphabet.
So by casting the month column in the dataframe as being a categorical in order of appearance (default of polars). We get the following:
df_catg = df.with_columns(pl.col("month").cast(pl.Categorical))
chart_catg = alt.Chart(df_catg).mark_rect().encode(
    x='month',
    color='value'
)
chart_catg

The x-axis is now ordered by jan, feb, mar, like the order as is defined in the dataframe.
By comparing the Vega-Lite specification of both charts we notice that the categorical column is serialised differently.
Top chart, column is of type str and it becomes:
chart.to_dict()['encoding']['x']

{'field': 'month', 'type': 'nominal'}

With categorical column defined, it becomes:
chart_catg.to_dict()['encoding']['x']

{'field': 'month', 'sort': ['jan', 'feb', 'mar'], 'type': 'ordinal'}

The sort order is serlialized from the categorical definition of the month column in the DataFrame.
All good so far!

Sidenote
Observe that the type is also different, ordinal for the dataframe with month column defined as categorical and nominal for the month column just defined as str.
The effect of this is that when you use the month column for the color encoding channel it is treated as an ordered categorical and therefor adding a sequential color scheme, versus the default which provides distinct color values for str values:
alt.vconcat(
    chart.encode(color="month"),
    chart_catg.encode(color="month")
).resolve_scale(
    color="independent"
)

But upon adding encoding channels such as row and column this logic for sorting categorical columns in the DataFrame is breaking the rendering when there are combinations that contains no data.
The following goes well, but the order of the column may be seen as not right.
import polars as pl
import altair as alt

df = pl.DataFrame(
    {
        "time": [0, 1, 0, 1, 0, 1, 0, 1],
        "value": [0, 5, 0, 5, 0, 5, 0, 5],
        "choice": ["A", "A", "B", "B", "A", "A", "B", "B"],
        "month": ["jan", "jan", "feb", "feb", "feb", "feb", "mar", "mar"],
    }
)

chart = alt.Chart(df, height=100, width=100).mark_line().encode(
    x='time',
    y='value',
    color='choice',
    row='choice',
    column='month'
)
chart

So upon defining the column month as categorical, the order of the months in the column encoding is correctly sorted, but the data within the plots are incorrect.
df_catg = df.with_columns(pl.col("month").cast(pl.Categorical))
chart_catg = alt.Chart(df_catg, height=100, width=100).mark_line().encode(
    x='time',
    y='value',
    color='choice',
    row='choice',
    column='month'
)
chart_catg

Leading indeed to data being drawn within the wrong subplot!
So, indeed, be very careful here!
One can use the following workaround when having a polars DataFrame as in OP:
df_complete = (
    df.select(pl.col(["choice", "month"]).unique().implode())
    .explode("choice")
    .explode("month")
    .join(df, how="left", on=["choice", "month"])
)

df_complete_sorted = df_complete.sort(pl.col("month").cast(pl.Enum(["jan", "feb", "mar"])))
df_complete_catg = df_complete_sorted.with_columns(pl.col("month").cast(pl.Categorical))
df_complete_catg

chart_complete_catg = alt.Chart(df_complete_catg, height=100, width=100).mark_line().encode(
    x='time',
    y='value',
    color='choice',
    row='choice',
    column='month'
)
chart_complete_catg

This workaround basically makes sure that all combinations that are possible to make with the row/column channel encoding, are actually existing in the DataFrame, albeit filled with a null value.

@mattijn Thanks for investigating! As far as I can see the issue arises on a group level, e.g. when grouping by facet, but also specifying encodings such as color or shape, then data gets misplaced as soon as any group (like row a, column b, color c, shape d) contains no data points. Could there be an automatic way of detecting this on the Altair side, and issuing a warning? Probably that’s difficult in case categories are derived using transformations etc?

Thanks for your response. You mean you can introduce this behavior without a row/column encoding channel included? Do you have an example of this. That seems more troublesome and indeed require more feedback to the user. A warning at best or at least a note in the documentation.

No, I think without rows/columns the issue is not there. What I meant is that problems arises as soon as in some facet some color/shape group has no data points. So for the workaround one would need to fill in nulls not only for empty facets but also empty groups within a facet. In my original example above the two plots are not just different in the sense that some entire facets are in the wrong place, but the individual facets are also different. I can try to produce a more minimal example showing this.

There seems something going on with polars too. First, if I do
import polars as pl
import vega_datasets
df = pl.DataFrame(vega_datasets.data.cars()).with_columns(
    pl.col("Origin", "Cylinders").cast(pl.String).cast(pl.Categorical("lexical"))
)

The order is correct in the chart, but when doing:
df['Cylinders'].cat.get_categories().to_list()

I get
['8', '4', '6', '3', '5']

So it is not really clear to me, why the chart specification should know the right order.
But if I try to force the categorical order using an Enum:
import vega_datasets
import polars as pl

df = pl.from_pandas(vega_datasets.data.cars()).with_columns(
    pl.col("Origin"),
    pl.col("Cylinders").cast(pl.String).cast(pl.Categorical),
)
uniq_cylinders = df['Cylinders'].unique().to_list()
print('cast Enum', sorted(uniq_cylinders))

df_sort = df.sort(pl.col('Cylinders').cast(pl.Enum(sorted(uniq_cylinders))))  # ['3', '4', '5', '6', '8']
df_catg = df_sort.with_columns(pl.col('Cylinders').cast(pl.Categorical))

df_catg['Cylinders'].cat.get_categories().to_list()

It returns
cast Enum ['3', '4', '5', '6', '8']
['8', '4', '6', '3', '5']

And a wrongly ordered chart.
@dangotbanned, do you know more about this behaviour of polars?

And a wrongly sorted chart. @dangotbanned, do you know more about this behaviour of polars?

@mattijn I can help but could you add some comments - explaining the intention behind each action you've taken please?

But if I try to force the categorical order using an Enum:

Code block
import vega_datasets
import polars as pl

df = pl.from_pandas(vega_datasets.data.cars()).with_columns(
    pl.col("Origin"),
    pl.col("Cylinders").cast(pl.String).cast(pl.Categorical),
)
uniq_cylinders = df['Cylinders'].unique().to_list()
print('cast Enum', sorted(uniq_cylinders))

df_sort = df.sort(pl.col('Cylinders').cast(pl.Enum(sorted(uniq_cylinders))))  # ['3', '4', '5', '6', '8']
df_catg = df_sort.with_columns(pl.col('Cylinders').cast(pl.Categorical))

df_catg['Cylinders'].cat.get_categories().to_list()

I'm having trouble understanding as this reads more like pandas than polars code
My immediate thoughts are:

Passing maintain_order=True when using unique https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.unique.html#polars-expr-unique
Using sorting/defining an order with:

https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.sort.html
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.sort_by.html
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.set_sorted.html#polars.Expr.set_sorted

I should have elaborated in https://github.com/vega/altair/issues/3588#issuecomment-2344444054 but to me the issue seems to be wanting some explicit behavior - without using any of the explicit features of polars.
So one way to look at this, is if you tell polars to do something it will try to optimize for the fastest query to get there.
However if you have some constraint that hasn't been defined - then you may be surprised when that gets optimized out.
Maybe this section of their user guide would be helpful?

I notice one thing what is different.
If I define the dataframe as you suggested using a lexical option within the pl.Categorical() it is not persisted or included when compiling to Vega-Lite:
df = pl.DataFrame(vega_datasets.data.cars()).with_columns(
    pl.col("Origin", "Cylinders").cast(pl.String).cast(pl.Categorical("lexical"))
)

chart = alt.Chart(df).mark_point().properties(width=100, height=100).encode(
    x="Horsepower",
    y="Miles_per_Gallon",
    shape="Cylinders",
    color="Origin",
).facet(row="Origin", column="Cylinders")

print(df.get_column("Cylinders").cat.get_categories())
print(chart.to_dict()['facet'])

shape: (5,)
Series: 'Cylinders' [str]
[
	"8"
	"4"
	"6"
	"3"
	"5"
]
{'column': {'field': 'Cylinders', 'type': 'nominal'}, 'row': {'field': 'Origin', 'type': 'nominal'}}

As you can see, there is no sort defined for the column encoding channel. Therefor the order is correct in this case, but as a false-positive.
Where in my ugly (no fun indeed!) defined DataFrame it actually includes the sort for the column encoding channel.
{'column': {'field': 'Cylinders', 'sort': ['8', '4', '6', '3', '5'], 'type': 'ordinal'}, 'row': {'field': 'Origin', 'type': 'nominal'}}

Long story short, how does the inference works of a polars column casted as a lexical categorical? Is it correct that there is no sort definition in the corresponding Vega-Lite specification?

Long story short, how does the inference works of a polars column casted as a lexical categorical? Is it correct that there is no sort definition in the corresponding Vega-Lite specification?

Thanks @mattijn for the detail!
So this part can be answered (I think) with narwhals.is_ordered_categorical and alt.utils.core.infer_vegalite_type_for_narwhals:
https://github.com/vega/altair/blob/a171ce8cb2f0b0cb0c944ddbd0c0623282570c0c/altair/utils/core.py#L712-L729
From what I'm understanding of https://github.com/narwhals-dev/narwhals/blob/aed2d515a2e26465a6edecf8d7aa560353cbdfa2/narwhals/utils.py#L401-L407
The type will be

"ordinal" for pl.Categorical("physical")
"nominal" for pl.Categorical("lexical"), pl.String, pl.Enum

Thanks for adding more info on the table! But I'm not sure if I can read an answer in this already.
Or can I understand from here that a categorical with dtype.ordering == "lexical" is intentionaly not ordered? And therefor casting to pl.Categorical('lexcial') is correctly not adding a sort argument to the Vega-Lite specification?

Thanks for adding more info on the table! But I'm not sure if I can read an answer in this already. Or can I understand from here that a categorical with dtype.ordering == "lexical" is intentionaly not ordered? And therefor casting to pl.Categorical('lexcial') is correctly not adding a sort argument to the Vega-Lite specification?

@mattijn no worries, yeah you've understood that correctly

Thanks for the ping!

Misunderstood that nw.Enum != pl.Enum

I think they should be the same? As in, pl.Enum should be recognised as nw.Enum:
In [21]: nw.from_native(pl.Series(['a', 'b', 'c'], dtype=pl.Enum(['b', 'a', 'c', 'd'])), allow_series=True).dtype == nw.Enum
Out[21]: True

Regarding physical vs lexical, I don't think that get_categories reflects the order - but maybe it should? The difference can be seen if you compare the categories, e.g. in a sort:
In [22]: pl.Series(['b', 'a', 'c'], dtype=pl.Categorical('lexical')).sort()
Out[22]:
shape: (3,)
Series: '' [cat]
[
        "a"
        "b"
        "c"
]

In [23]: pl.Series(['b', 'a', 'c'], dtype=pl.Categorical('physical')).sort()
Out[23]:
shape: (3,)
Series: '' [cat]
[
        "b"
        "a"
        "c"
]

but they both return the same output for .cat.get_categories(). Do you need the output of .cat.get_categories to reflect the category ordering?

nw.is_ordered_categorical just does what Polars does in its dataframe interchange protocol definition:
https://github.com/pola-rs/polars/blob/501988ea1c2a114e4c28619727157354211af93a/py-polars/polars/interchange/column.py#L60-L78
        if dtype == Categorical:
            categories = self._col.cat.get_categories()
            is_ordered = dtype.ordering == "physical"  # type: ignore[attr-defined]
        elif dtype == Enum:
            categories = dtype.categories  # type: ignore[attr-defined]
            is_ordered = True
        else:
            msg = "`describe_categorical` only works on categorical columns"
            raise TypeError(msg)

the interchange protocol definition is a bit vague here, it just says "whether the ordering of dictionary indices is semantically meaningful"

Thanks @MarcoGorelli

Thanks for the ping!

Misunderstood that nw.Enum != pl.Enum

I think they should be the same? As in, pl.Enum should be recognised as nw.Enum:
In [21]: nw.from_native(pl.Series(['a', 'b', 'c'], dtype=pl.Enum(['b', 'a', 'c', 'd'])), allow_series=True).dtype == nw.Enum
Out[21]: True

So I goofed on this one 🤦♂
In https://github.com/vega/altair/issues/3588#issuecomment-2346275689 I was trying to explain this bit where nw.Enum is representing non-polars Enums.
AFAIK pl.Enum wouldn't reach that branch:
https://github.com/vega/altair/blob/a171ce8cb2f0b0cb0c944ddbd0c0623282570c0c/altair/utils/core.py#L712-L722
Maybe I should've wrote nw.Enum >= pl.Enum - or skipped the operators entirely

Regarding the original post, I can reproduce it with Altair 5.3.0, but not with Altair 5.4.1

I can still reproduce it in Altair 5.4.1 however, if I use pl.Categorical('lexical') instead of pl.Categorical

I think the issue reproduces with pandas ordered categoricals too, both on Altair 5.3.0 and Altair 5.4.1

code:
import altair as alt
import pandas as pd

df_catg2 = pd.DataFrame(
    {
        "time": [0, 1, 0, 1, 0, 1, 0, 1],
        "value": [0, 5, 0, 5, 0, 5, 0, 5],
        "choice": ["A", "A", "B", "B", "A", "A", "B", "B"],
        "month": ["jan", "jan", "feb", "feb", "feb", "feb", "mar", "mar"],
    }
)

df_catg2["month"] = df_catg2["month"].astype(pd.CategoricalDtype(ordered=True))
chart_catg2 = (
    alt.Chart(df_catg2, height=100, width=100)
    .mark_line()
    .encode(x="time", y="value", color="choice", row="choice", column="month")
)
chart_catg2

Pff, complicated. Altair assumes that the returned categories are in sorted order, but this is an assumption that does not always hold.

Custom order with Enums is going OK in Altair.
The column is seen as an ordered categorical. get_categories() returns the custom order as is defined. Result is that the custom order list from get_categories() is used to sort the y-encoding channel in the following chart.

my_order = ["k", "z", "b", "a"]

df = pl.from_dict({"cats": ['z', 'z', 'k', 'a', 'b'], "vals": [3, 1, 2, 2, 3]})
df = df.with_columns(pl.col("cats").cast(pl.Enum(my_order)))

nw_s = nw.from_native(df.get_column("cats"), allow_series=True)
print('ordered according to narwhals:', nw.is_ordered_categorical(nw_s))
print('sort order of get categories:', df.get_column("cats").cat.get_categories().to_list())

chart = alt.Chart(df, title='pl.Enum(my_order)').mark_bar().encode(
    x='vals',
    y='cats'
)
print('y-encoding sort definition:', chart.to_dict()['encoding']['y'])
chart

Physical categorical is going OK in Altair.
The column is seen as an ordered categorical. get_categories() returns physical categorical sorted in physical order. Result is that the physical ordered list from get_categories() is used to sort the y-encoding channel in the following chart.

df = pl.from_dict({"cats": ['12', '4', '2'], "vals": [3, 1, 2]})
df = df.with_columns(pl.col("cats").cast(pl.Categorical()))  # 'physical'

nw_s = nw.from_native(df.get_column("cats"), allow_series=True)
print('ordered according to narwhals:', nw.is_ordered_categorical(nw_s))
print('sort order of get categories:', df.get_column("cats").cat.get_categories().to_list())

chart = alt.Chart(df, title='pl.Categorical()').mark_bar().encode(
    x='vals',
    y='cats'
)
print('y-encoding sort definition:', chart.to_dict()['encoding']['y'])
chart

Lexical categorical is ignored in Altair.
The column is not seen as an ordered categorical. get_categories() does not return lexical categorical sorted in lexical order. Result is that the list from get_categories() is not used for the y-encoding channel. Since there is no sort defined it applies ascending sorting within Vega, make it look like that the lexical categorical has impact.

df = pl.from_dict({"cats": ['12', '4', '2'], "vals": [3, 1, 2]})
df = df.with_columns(pl.col("cats").cast(pl.Categorical('lexical')))

nw_s = nw.from_native(df.get_column("cats"), allow_series=True)
print('ordered according to narwhals:', nw.is_ordered_categorical(nw_s))
print('sort order of get categories:', df.get_column("cats").cat.get_categories().to_list())

chart = alt.Chart(df, title="pl.Categorical('lexical')").mark_bar().encode(
    x='vals',
    y='cats'
)
print('y-encoding sort definition:', chart.to_dict()['encoding']['y'])
chart

To support lexical categorical, it should

Be considered as ordered by narwhals.
The sort order of the get_categories() should be reflecting the lexical order.

Current implemention of nw.is_ordered_categorical only allows order to be defined based on numeric values and not on alphabet (lexical).
Apparently the situation is different for pandas ordered categorical. Since it does not return the sorted physical ordered categorical.

Btw. When trying OP as you did in https://github.com/vega/altair/issues/3588#issuecomment-2347221524. I get this:
import polars as pl
import vega_datasets
import altair as alt
alt.Chart(
    pl.from_pandas(vega_datasets.data.cars()).with_columns(
        pl.col("Origin").cast(pl.Categorical),
        pl.col("Cylinders").cast(pl.String).cast(pl.Categorical),
    )
).mark_point().properties(width=150, height=150).encode(
    x="Horsepower",
    y="Miles_per_Gallon",
    shape="Cylinders",
    color=alt.Color("Origin").scale(scheme="category10"),
).facet(row="Origin", column="Cylinders").to_dict()['facet']

{'column': {'field': 'Cylinders',
  'sort': ['8', '4', '6', '3', '5'],
  'type': 'ordinal'},
 'row': {'field': 'Origin',
  'sort': ['USA', 'Europe', 'Japan'],
  'type': 'ordinal'}}

With ('5.5.0dev', '1.6.2') for alt.__version__, nw.__version__. Reflecting the behaviour you have when using Altair version 5.3.0...

Reflecting the behaviour you have when using Altair version 5.3.0...

Right, sorry about that, I just did uv cache clean, reinstalled everything, and indeed I can reproduce the original post - I've marked my previous comment as outdated

Physical categorical is going OK in Altair.

Are you sure about this? It seems to me that anything which is auto-inferred to be "ordinal" (as opposed to "nominal") is subject to issues
For example, if we start with
import altair as alt
import pandas as pd
import polars as pl

df_cat = pd.DataFrame(
    {
        "time": [0, 1, 0, 1, 0, 1, 0, 1],
        "value": [0, 5, 0, 5, 0, 5, 0, 5],
        "choice": ["A", "A", "B", "B", "A", "A", "B", "B"],
        "month": ["jan", "jan", "feb", "feb", "feb", "feb", "mar", "mar"],
    }
)

then:
pandas ordered categorical: 'ordinal', incorrect data
df_cat["month"] = df_cat["month"].astype(pd.CategoricalDtype(ordered=True))
chart_cat = (
    alt.Chart(df_cat, height=100, width=100)
    .mark_line()
    .encode(x="time", y="value", color="choice", row="choice", column="month")
)
chart_cat

pandas unordered categorical: 'nominal', correct data (but wrong ordering)
df_cat["month"] = df_cat["month"].astype(pd.CategoricalDtype(ordered=False))
chart_cat = (
    alt.Chart(df_cat, height=100, width=100)
    .mark_line()
    .encode(x="time", y="value", color="choice", row="choice", column="month")
)
chart_cat

Polars physical categorical: 'ordinal', incorrect data
df_cat = pl.from_pandas(df_cat).with_columns(
    pl.col('month').cast(pl.Categorical('physical'))
)
chart_cat = (
    alt.Chart(df_cat, height=100, width=100)
    .mark_line()
    .encode(x="time", y="value", color="choice", row="choice", column="month")
)
chart_cat

Polars lexical categorical: 'nominal', correct data (but wrong ordering)
df_cat = pl.from_pandas(df_cat).with_columns(
    pl.col('month').cast(pl.Categorical('lexical'))
)
chart_cat = (
    alt.Chart(df_cat, height=100, width=100)
    .mark_line()
    .encode(x="time", y="value", color="choice", row="choice", column="month")
)
chart_cat

To support lexical categorical, it should

Be considered as ordered by narwhals.
The sort order of the get_categories() should be reflecting the lexical order.

I've tried doing this, but then the output from the example above becomes incorrect for both physical and lexical

Not sure about anything anymore, but I think we have identified at least four issues by now:

When using row/column encoding channel in combination with a sort parameter it will place your data in incorrect subplots if some of the panels has no any defined data. Related issue defined in VL https://github.com/vega/vega-lite/issues/5937
A pandas ordered categorical returns its categories lexicaly sorted, instead of physical:

pd.Series(["4", "2", "12", ], dtype=pd.CategoricalDtype(ordered=True)).cat.categories.to_list()

['12', '2', '4']

A polars lexical categorical returns its categories physicaly sorted, instead of lexical

pl.Series(['4', '2', '12']).cast(pl.Categorical('lexical')).cat.get_categories().to_list()

['4', '2', '12']

A pre-cached lexical sorted categorical remains lexical sorted upon casting to physical categorical in polars (pl_s1)

s1 = pd.Series(["4", "2", "12", ], dtype='category')
s2 = pd.Series(["4", "2", "12", ])

pl_s1 = pl.from_pandas(s1).cast(pl.Categorical('physical')).cat.get_categories().to_list()
pl_s2 = pl.from_pandas(s2).cast(pl.Categorical('physical')).cat.get_categories().to_list()
pl_s1, pl_s2

(['12', '2', '4'], ['4', '2', '12'])

For clarity, data without defined categorical is returning its categories sorted in physical order when casted to physical categorical in polars (pl_s2)

Regarding my comment, a few clarification notes in italic:

To support [inference of columns with its type casted as] lexical categorical, [the column] should

Be considered as ordered by narwhals.
The sort order of the get_categories() should be reflecting the lexical order.

So basically, for proper dataframe inference of ordered categoricals then:

A lexical categorical should return its categories sorted in lexical order.
A physical categorical should return its categories sorted in physical order.

Also meaning, that this will currently lead to data being placed in wrong subplots for panels without data for both lexical and pysical ordered categoricals, since there will be a sort defined for the row / column encodings, as is described in point 1 in this comment.

Pinging @c-peters for additional context, as they may have the best understanding of pl.Categorical:

https://github.com/pola-rs/polars/blame/main/crates/polars-core/src/datatypes/dtype.rs
https://github.com/pola-rs/polars/blame/main/docs/user-guide/concepts/data-types/categoricals.md

Forgive me if there is something I am misunderstanding, but it seems like all the issues reported here could stem from VegaLite not handling the sort keyword correctly when faceting into rows and columns as per https://github.com/vega/vega-lite/issues/5937. I think it is difficult to properly troubleshoot what is happening with the categorical field sorting in row and colun facets until this is fixed in VegaLite.
Outside row and column faceting, all the scenarios with pd and pl categories work as expected as far as I can see (i.e. the order of the color scale match the order of the categories in each of these examples):
pd ordered
Identified as ordinal as expected:

Changing the categorical order changes the color scale order:

pd unordered
Identified as nominal as expected:

pl physical
Identified as ordinal as expected:

pl lexical
As already pointed out above, it seems that identification of lexical categories as ordinal data is not yet supported since it is not indicated as categorical data by narwhals and thus we get back unsorted nominal data:

Which would be the same as if we used the pl physical data frame and explicitly encoded the data type as nominal:

I'm not too familiar with what happens in Altair / Narwhals, but indeed the call to get_categories does not return the categories in sorted order.
Would it be possible to call .sort() for the lexical ordered case: pl.col("category_column").cat.get_categories().sort()

Related

https://github.com/pola-rs/polars/issues/19050
https://github.com/pola-rs/polars/pull/19055


Converting from PES to VP3, only the first few stitches carried across

See attached files...
Original: http://upfile.mobi/675600
Saved: http://upfile.mobi/675603
If this could be fixed I'd be very greatful :)

The PR solves the original issue, i.e. missing stitches. They happened because the logic for counting number of colors did not issue a new color when encountering a STOP/END-Stitch but the main stitch-data logic did.
It is debatable what is the correct thing to do here. I know of no way to make the machine cut the thread withouth issuing a new color. The proposed solution will create a new color (which is in fact identical to the old color) when encountering a STOP.


How to start?

It seems that is not working to me.
Any help?
sudo rails server -b xx.xx.xx.xx -e production
=> Booting WEBrick
=> Rails 4.1.6 application starting in production on http://xx.xx.xx.xx:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting
/usr/lib/ruby/1.9.1/uri/generic.rb:213:in `initialize': the scheme http does not accept registry part: :@ (or bad hostname?) (URI::InvalidURIError)
	from /usr/lib/ruby/1.9.1/uri/http.rb:84:in `initialize'
	from /usr/lib/ruby/1.9.1/uri/common.rb:214:in `new'
	from /usr/lib/ruby/1.9.1/uri/common.rb:214:in `parse'
	from /usr/lib/ruby/1.9.1/uri/common.rb:747:in `parse'
	from /var/lib/gems/1.9.1/gems/pusher-0.14.1/lib/pusher/client.rb:53:in `url='
	from /home/ubuntu/poll/config/initializers/pusher.rb:3:in `<top (required)>'
	from /var/lib/gems/1.9.1/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `load'
	from /var/lib/gems/1.9.1/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `block in load'
	from /var/lib/gems/1.9.1/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
	from /var/lib/gems/1.9.1/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:241:in `load'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/engine.rb:648:in `block in load_config_initializer'
	from /var/lib/gems/1.9.1/gems/activesupport-4.1.6/lib/active_support/notifications.rb:161:in `instrument'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/engine.rb:647:in `load_config_initializer'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/engine.rb:611:in `each'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/engine.rb:611:in `block in <class:Engine>'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/initializable.rb:30:in `instance_exec'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/initializable.rb:30:in `run'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/initializable.rb:55:in `block in run_initializers'
	from /usr/lib/ruby/1.9.1/tsort.rb:150:in `block in tsort_each'
	from /usr/lib/ruby/1.9.1/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
	from /usr/lib/ruby/1.9.1/tsort.rb:210:in `block (2 levels) in each_strongly_connected_component_from'
	from /usr/lib/ruby/1.9.1/tsort.rb:219:in `each_strongly_connected_component_from'
	from /usr/lib/ruby/1.9.1/tsort.rb:209:in `block in each_strongly_connected_component_from'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/initializable.rb:44:in `each'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/initializable.rb:44:in `tsort_each_child'
	from /usr/lib/ruby/1.9.1/tsort.rb:203:in `each_strongly_connected_component_from'
	from /usr/lib/ruby/1.9.1/tsort.rb:182:in `block in each_strongly_connected_component'
	from /usr/lib/ruby/1.9.1/tsort.rb:180:in `each'
	from /usr/lib/ruby/1.9.1/tsort.rb:180:in `each_strongly_connected_component'
	from /usr/lib/ruby/1.9.1/tsort.rb:148:in `tsort_each'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/initializable.rb:54:in `run_initializers'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/application.rb:300:in `initialize!'
	from /home/ubuntu/poll/config/environment.rb:5:in `<top (required)>'
	from /home/ubuntu/poll/config.ru:3:in `require'
	from /home/ubuntu/poll/config.ru:3:in `block in <main>'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
	from /home/ubuntu/poll/config.ru:in `new'
	from /home/ubuntu/poll/config.ru:in `<main>'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:40:in `parse_file'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:277:in `build_app_and_options_from_config'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:199:in `app'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/commands/server.rb:50:in `app'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:314:in `wrapped_app'
	from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:250:in `start'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/commands/server.rb:69:in `start'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:81:in `block in server'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:76:in `tap'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:76:in `server'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/commands/commands_tasks.rb:40:in `run_command!'
	from /var/lib/gems/1.9.1/gems/railties-4.1.6/lib/rails/commands.rb:17:in `<top (required)>'
	from /home/ubuntu/poll/bin/rails:8:in `require'
	from /home/ubuntu/poll/bin/rails:8:in `<top (required)>'
	from /var/lib/gems/1.9.1/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load'
	from /var/lib/gems/1.9.1/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call'
	from /var/lib/gems/1.9.1/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
	from /var/lib/gems/1.9.1/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
	from /var/lib/gems/1.9.1/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
	from /var/lib/gems/1.9.1/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
	from /var/lib/gems/1.9.1/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
	from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /home/ubuntu/poll/bin/spring:16:in `<top (required)>'
	from bin/rails:3:in `load'
	from bin/rails:3:in `<main>'

thans

You need to have the environment variables set


Customize the Excel reports - Charts, Pivots, Fonts

I'm not familiar enough with how this excel reporting works.
Any direction to implement some "standard" features into reports. Such as take data written to sheet1 and create a pivot chart?
Or change default font?
I'm very comfortable with Python and openpyxl but this is completely new.
Thanks,
Zach

I am interested to know also how we can customize the reports. I know Serenity it uses EPPlus but is ExcelReportGenerator the right place to add the custom code, and if yes, is there any suggested way to only modify specific reports?


fix ImportError from Sanic, Websockets

Proposed changes:

Use websockets<11.0 until Sanic addresses it. Or consider upgrading Sanic

Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

This branch should have been created from 3.5.x


Add RPi ARM Docker image

Piriscope can also run as a Docker image
Built on top of Alpine ARM or Raspbian? (can use dpkg if Raspbian)
e.g. docker run --restart always -d schmich/piriscope
Easy way to bundle dependencies? (ffmpeg, x264, ...)

This project is a bit dilapidated, so there are some rough edges.
There are layers needed to build the final piriscope docker image. If you have Ruby installed, most of these steps are easy. If you don't have Ruby, you can open the .rb files and follow along:
1. Build the piriscope executable
ruby -I. build-go-docker.rb
This uses Dockerfile-go to build a docker image that compiles the piriscope executable from the source in piriscope.go. The output is the piriscope executable binary and the piriscope-go image that can be deleted.
2. Build the piriscope Debian package
ruby -I. build-deb-docker.rb
This uses Dockerfile-deb to build an image that creates the Debian package using the output from step 1. The output is the piriscope_0.0.1-1_armhf.deb Debian package and the piriscope-deb image that can be deleted.
3. Finally, build the piriscope docker image
docker build -t "piriscope:v1" .
This uses Dockerfile to build the final Raspbian-based piriscope docker image using the output from step 2. The output is the piriscope:v1 docker image.
Let me know if you hit any other issues.

I had to do the following before step 1:
git clone https://github.com/schmich/piriscope.git

When I run I am getting the following errors in periscope and stream doesn't work: Couldn't find H.264 parameter set(s) and Audio codec must be AAC-LC.

managed to make it work using the below command. you need to update some config settings in your code:
raspivid -n -o - -t 0  -fps 30 -b 4000000 -w 1280 -h 720 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://or.pscp.tv:80/x/{{KEY}}


sszSliderInput

Include sliderInput() also in zuericssstyle.
At the moment its missing.

The widget sliderInput() has been added to zuericssstyle (package version <IP_ADDRESS>). The function called 'sszSliderInput()' wraps around shiny's sliderInput. Currently there is no DESI component for the styling and functionality of the sliderInput. A ticket to create a DESI component for this widget has been made and it will be adapted in the zuericsssytle package when completed. Therefore the styling for the sliderInput might vary slightly at a later point in time (2023-07-12).


HTML Changes, Script.js Changes

Logo Path Update , Dropdown Structure Fix , Hamburger Menu Toggle Button , Alt Tags for Images , Linking the JavaScript File , Dropdown Functionality , Hamburger Menu Toggle , Optimized Navbar Toggle for Small Screens #59
More Responsive: The hamburger menu works well for mobile screens.
Cleaner Dropdowns: Dropdown menus are only displayed when hovering over their parent items.
More User-Friendly: Improved usability for both mobile and larger screens.

Please add lables Gssoc extd24 and hacktoberfest


void magma_queue_create_internal(magma_device_t, magma_queue**, const char*, const char*, int): Assertion `queue->dCarray__ != __null’ failed.

python: /opt/conda/conda-bld/magma-cuda111_1605822518874/work/interface_cuda/interface.cpp:901: void magma_queue_create_internal(magma_device_t, cudaStream_t, cublasHandle_t, cusparseHandle_t, magma_queue**, const char*, const char*, int): Assertion `queue->dCarray__ != __null’ failed.

Has anyone encountered this problem? The problem occurs more randomly at different epochs. When it occurs, the training stops, but the memory is not automatically released.
My Environment:
CUDA 11.2
cudatoolkit 11.1
torch 1.9.1+cu111
pytorch-lightning 1.6.0
python 3.7.13
mmdet3d 1.0.0rc4
mmcv 1.6.0
mmcv-full 1.6.1
mmsegmentation 0.27.0

I too had the same problem.
From what I've found, this is a memory issue. (https://github.com/kcosta42/VQGAN-CLIP-Docker/issues/2)
Try reducing the input batch size or reducing the model network depth.


Fix setup.py build failure

Without this change, the setup.py build will result in
Traceback (most recent call last):
File "setup.py", line 19, in
LONG_DESCRIPTION = open(readme).read()
IOError: [Errno 2] No such file or directory: 'README'

Thank you for the pull request.  I merged it.
Sorry for the late response.  It turns out that I was not watching my own project!