VGroup and VDict must override str to display the mobjects contained

Consider this example:
class Test(Scene):
    def construct(self):
        sq = Square()
        cir = Circle()
        grp = VGroup(sq, cir)
        print(grp) # --> Just prints: VGroup
        self.play(ShowCreation(grp))
        dct = VDict({'s' : sq, 'c' : cir}).next_to(grp, DOWN)
        print(dct) # --> Just prints: VDict
        self.play(ShowCreation(dct))

When there are a lot of mobjects in the VGroup or VDict, it sometimes helps to know what are those mobjects while debugging.
Something like
[Square, Circle] or even better the full hash name (IDK what it's called) -- manim.mobject....at 0x00....
Let me know how can this be best incorporated.

You have to define the __str__ method of VGriup/VDict. I think some Mobjects already have a __str__ method so it should be enough to do something like return ", ".join(str(m) for m in self.mobjects)

Seems to be an easy PR, if no one object

Would like to know what would be preferred just Square or the full hash name? I can make a quick PR today if no one minds.

I would prefer implementing __repr__ over __str__ (see https://stackoverflow.com/questions/1436703/difference-between-str-and-repr), and would love to see more manim classes having proper __repr__ methods. (Note in particular: if __repr__ is defined and __str__ is not, str(object) will still work.)
For the container, I fully agree that its repr should print a list of its children. But for something concrete like Square I would find it useful to let Square(side_length=5) print something like 'Square with side length 5', or even 'Square with side length 5 and center (0., 0., 0.)'; the more explicit and defining the better. (For your PR it is fine to just take care of VGroup and VDict, improving their representation strings is definitely more important. 👍)

Would like to know what would be preferred just Square or the full hash name? I can make a quick PR today if no one minds.

What hash ?

What hash ?

This
<manim.mobject.geometry.Square object at 0x000001AA9A5E7790>
I am not sure what's the proper name for this - I call this "printing the object"

I don't know the proper name either lol, but the hex thing at the end is the id, I think.
And I think the id in the repr can be sometimes useful, when one wants to check if two objects are different.


Exporting RID generated in tool-script crashes the game without error

Godot version
4.0.3.stable
System information
Linux 5.10.180-1-MANJARO
Issue description
Running this code:
@tool
extends Node2D

@export var foo: RID = RID()

func _ready():
	foo = PhysicsServer2D.area_create()

Will make the game crash immediately upon running it, without providing an error message.
I understand that this is a wrong thing to do, but it seems weird to me that there is no error message in the editor, nor the terminal i opened godot from.
Steps to reproduce

Create script with

@tool
extends Node2D

@export var foo: RID = RID()

func _ready():
	foo = PhysicsServer2D.area_create()

Add script to node in scene
save + reopen scene, note that the node now has an RID displayed in the inspector
run game
game immediately closes upon loading

Minimal reproduction project
N/A

Because the script is a tool script, foo is not RID(), and this value is not fully recorded in the tscn file.
[gd_scene load_steps=2 format=3 uid="uid://dpuj17ur107gx"]

[ext_resource type="Script" path="res://node_2d.gd" id="1_fa10k"]

[node name="Node2D" type="Node2D"]
script = ExtResource("1_fa10k")
foo =

Fixed by: #78517


carriage return

How do we insert a carriage return in UART commands?

You can use \n, but you must edit the command directly in the config file (or the UI config editor) rather than in the plugin settings under Homebridge Config UI X, since the UI does not display the carriage return (and seems to strip it out if editing).

It does look like I told you the wrong escaped character for a carriage return, my device expects a \r rather than a \n.


Fix LightOccluder2D SDF Collision Enable/Disable

SDF collision enabled parameter wasn't being assigned to anything so disabling SDF collisions on LightOccluder2D had no effect.
With this change, unchecking SDF Collisions will actually disable collisions between gpu particles and light occluders.
closes #90882

There should be a hold on this as setting LightOccluderInstance::enabled to false also disables shadow casting, which I would imagine isn't the desired behaviour.
On the other hand, setting LightOccludeInstance::sdf_collision to false has no effect, so the issue probably lies somewhere deeper than in RendererCanvasCull::canvas_light_occluder_set_as_sdf_collision

@reduz I saw that you implemented sdf for 2d shaders.
Was the original idea that LightOccluder2Ds with sdf_collision set to false wouldn't be drawn to the sdf texture? If you could take a look at this that would be awesome

Cool! I just squashed my commits. Thanks for linking the docs.

Thanks! And congrats for your first merged Godot contribution :tada:


Add Global Errors Feature

@andistorm concerning the tests refactoring, this shouldn't belong to Add Global Errors Feature, could you split this off to another PR?


add organization / responsibilities to README.md

updates to include team responsibilities

@zacharyburnettNOAA
Please replace NEMS with ESMF/NUOPC. Thanks.

done with 0a2b6ba


use os.tmpdir() instead of os.tmpDir()

Refs: https://github.com/nodejs/node/pull/6739

Ah, yes. This fails on Node.js 0.8, since os.tmpdir was introduced in 0.9.x.

@gswalden I'm pretty sure that Node.js 0.8 support can and should be dropped.

See https://github.com/felixge/node-formidable/issues/412

@felixge I don't use node-formidable, this issue was found during mass npm package scanning.

This is done


nixos/modules/installer/cd-dvd/iso-image: improved grub and media config

Description of changes
Added capability to add custom grub options and modify contents of the Boot Catalog of the iso images produced by the iso-image installer module. This, for example, allows users to create custom, pre-installation, pre-boot routines, such as hardware tests, BIOS updates, etc.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[X] Extensively tested added functionality
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3764

When you say redundant do you mean it's possible to write to the El Torito boot catalog with just isoImage.contents? How?
Okay, I will look into the bootloader entries, it shouldn't be that difficult to make something like grubEntries and syslinuxEntries. Just a question what to expose so it makes most sense. Any ideas appreciated.

When you say redundant do you mean it's possible to write to the El Torito boot catalog with just isoImage.contents? How?

It's already handled by https://github.com/NixOS/nixpkgs/blob/3ee96dbd19fe1487a6c987b88963081c699e7309/nixos/lib/make-iso9660-image.sh and it's unrelated to the grub/syslinux menu entries so I'm no sure what you mean.

Just a question what to expose so it makes most sense. Any ideas appreciated.

I think it makes sense to be able to change the names of menu entries and kernel command lines without having to deal with the kernel/initrd details needlessly.


Batch processing function

I really like this script, but it can only handle one image at a time. When I generate like 100 large images at once, all faces may need to be repaired. I wish this script can be placed on the txt2img tab and repair faces while generating them, which will be more useful.
Thanks for your outstanding work。

@amytong85  Thanks for your feedback :smiley:
It is now possible to add to txt2img!

I‘m sorry to trouble you,but it still have a problem,using face edit script in t2i reduced the image quality. May be some problem with hiresfix? Those images using all the same settings,but txt2img file size are only 1.3Mb,the original file are 1.8Mb.

Thanks for using it so quickly and giving me feedback :smiley:
As for the hires fix, it was an omission and has been fixed.
And thanks for the very beautiful images :heart:

Hello its me again!
There is a problem with output files,i generated about 1k images,now my output folder is sorted like original 1,fixied 1,original 2,fixed 2 and so on,no way to easily pick out fixed images.
I have two ideas. One is to add options to decide whether or not to keep the original image in t2i, and the other is to add words like original and fixed to the file names, so that I can search to find what i want.
Forgive me for my poor English and thanks again.

you still working for this？

@amytong85
Sorry for the late reply.
In response to your suggestion, I am adding a "save original image" option.
I am now doing final testing and will be able to release it soon.

@amytong85
Sorry for the lack of explanation, the img2img tab had an error and I had to cancel it in a hurry :sweat_smile:
Fixes have been completed!

Hi, it doesn't seem to work with the bulk function in I2I, hope you can fix it

Great, ready to use


Feature: Add titleProvider parameter to views

Hello,
The purpose of this PR is to add the ability to customize the string displayed in the header of DayView/WeekView/MonthView.
This is especially useful when the client application wants to add localization to the way the dates are displayed without having to implement again all the actions supported by the default header components (like jumping to another date).
I only noticed once I made these changes that there is already a PR with the same goal ( #36 ).
There are two main differences between this PR and #36:

this PR also supports WeekView and MonthView;
the signature of the parameter matches the number of dates available to the view (one for day and month, two for week), which seems like a more natural API. The components' states are responsible for wrapping it in an actual StringProvider.

Have a nice day!

Hi @pollputty , Please rebase this brand on develop or master.

Changes are included in PR #107 .


Remove submodule. Add script to pull down c producer and build with add_subdirectory

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #495 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #495   +/-   ##
=======================================
  Coverage   64.35%   64.35%
=======================================
  Files          32       32
  Lines        1397     1397
=======================================
  Hits          899      899
  Misses        498      498

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 f620d3a...47216a9. Read the comment docs.


TestWrapper instantiation/setup/shutdown checks

This PR:

reimplements TestWrapper as a singleton class so that only one object can be instantiated. Any attempts to instantiate a second TestWrapper will return the original test wrapper object.
adds a member variable running to ensure that setup() has no effect when the test is already running and shutdown() has no effect when the test is not running.

Together, these ensure that the user doesn't get into weird states where they have multiple test instances or they try to start tests when the test is already running.

Request review/test from @bitschmidty


Support MySQL 8.0.1 and above

MySQL 8.0.1 and above now supports the SKIP LOCKED directive
Moving of files around to allow the introduction of MySQL SQL
Documentation updates
fixes #24
-=david=-

Hi, just wondering if you have given any consideration to this PR? Happy to address any feedback you may have. Thank you.

Sorry for the delay. I've looked at the changes, and it looks like something we can move forward with. I'll try assign a work slot to kick the tires and give proper feedback later this week.

Hi,
Thanks for the update. I'm using it already (my branch) and it appears to work well - however, that's not to say it can improved upon! :-) I await your feedback.
-=david-=

Thanks for the PR! Works as advertised. Next I'll work on the examples to make them work for both databases.
I'll do a release later, but I want to to include some more planned work there.

Hi!
That's awesome! Looking forward to the next release!
Thank you for the consideration of my PR.
-=david=-


feat(procfile): add support to test dockerfile app with proctype CMD

fixes https://github.com/deis/workflow-e2e/issues/208

This looks great @smothiki. My only concern is that these test specs are part of the default SKIP_TEST regex, so they aren't run in e2e, just manually on-demand. (We still need to implement a nightly job for "all buildpacks|dockerfiles.")
I think covering the dockerfile + buildpack case should be included in CI runs for each PR, because controller changes could break this complicated behavior. Maybe we could move this test to a different go file, or tweak the regex so that this is run by default?

I'm leaving the changes in the dockerfile tests as it is. Modified git push tests

Modified git push tests

That should cover it until we figure out how/when we want to run the skipped specs. Thanks!

Remember to update the deployment_ duplicates with the same changes


Fix claims expired error

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

Current dependencies on/for this PR:

main

PR #79

PR #85

PR #86   👈

This stack of pull requests is managed by Graphite.


Add target_include_directories PRIVATE to Cmake and remove relative paths from includes

As @db-tech pointed out in issue #12, it would be better to just add the private target directory and not use relative paths in includes.

Hi,
I've already started to do some refactoring in #13 but was still waiting on #12 to be closed.
Because we now already have 3 issues for the CMake file (#13,  #37, #38), I would suggest to create one issue for recreating the CMake file completely.
There we could collect all the requirements ( including test integration, static code analyses, better install integration...).
Usually I am all for small tasks, but with the Cmake file, that could be tedious.
I am somewhat experienced with CMake so I could help with that or even create a first draft you can review.

If I understood correctly, #12 needs the uvgrtp folder added to include(which is a great idea!) to be closed. I can do that after I finish my current task with code duplication.
Are you thinking of fixing #37 and this issue (#38) together with other CMake changes? I can also do some work on those if needed.
A separate issue can be created, especially if you need it to keep track of everything that is about to be improved. A better CMake file would be greatly appreciated in any case. A first draft of the file would be marvelous!
For me in PR:s its much more important that the commits are small, than that the PR:s are small. If there are many small changes that need to be made to one section of code, I can certainly see a reason for a bigger pull request.

Merged with #44


Make evaluator threadsafe without mutex

Based on benchmarks, about 50% of CPU time is spent obtaining a read lock on this mutex. Ideally, this can be reworked to be thread-safe while minimizing the need to obtain a lock.
example

Closing on #31 .


Models A and B are pydantic models. One attribute type of model B is model A. I rewrote dict of model A. When I called dict of model B, dict of model A was not triggered.

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Models A and B are pydantic models. One attribute type of model B is model A. I rewrote dict of model A. When I called dict of model B, dict of model A was not triggered.
When I use pydantic v1 version, this scenario will trigger dict of a, but when I switch to v2 version, this function is not available?
Example Code
class A(BaseModel):
        a: int = 1

        def dict(self, *args, **kwargs):
            print("xxxxx")
            return super().dict(*args, **kwargs)

    class B(BaseModel):
        a: Optional[A] = None
        b: int = 2

    model = B(a={"a": 123}, b="111")
    print(model.dict())

Python, Pydantic & OS Version
import pydantic.version; print(pydantic.version.version_info())
             pydantic version: 2.6.0
        pydantic-core version: 2.16.1
          pydantic-core build: profile=release pgo=true
                 install path: /Users/xxxx/xxx/Venv/xxxx/lib/python3.10/site-packages/pydantic
               python version: 3.10.13 (main, Dec 22 2023, 17:45:36) [Clang 15.0.0 (clang-15<IP_ADDRESS>.5)]
                     platform: macOS-14.2.1-arm64-arm-64bit
             related packages: email-validator-1.3.1 typing_extensions-4.9.0
                       commit: unknown

@sydney-runkle

@jaxonister,
Right, as stated in the migration guide, dict() usage has been replaced with model_dump() usage: https://docs.pydantic.dev/latest/migration/#changes-to-pydanticbasemodel.
If you write a custom serializer for A, that should be called when you call model_dump() on some instance of B.
from typing import Any, Dict, Optional

from pydantic import BaseModel, model_serializer

class A(BaseModel):
    a: int = 1

    @model_serializer(mode='wrap')
    def ser_model(self, handler) -> Dict[str, Any]:
        print("xxxxx")
        return handler(self)

class B(BaseModel):
    a: Optional[A] = None
    b: int = 2

model = B(a={"a": 123}, b="111")
print(model.model_dump())
#> xxxxx
#> {'a': {'a': 123}, 'b': 111}

Closing this as resolved.

v1 version will be serialized automatically, will the new version be supported later?

@sydney-runkle

@jaxonister, what do you mean by this?

v1 version will be serialized automatically, will the new version be supported later?


Use with ?preview=true

Describe the feature
Hi @johannschopplich,
I love and regularly use nuxt-prepare. But sometimes it'd be handy to have the chance to update data in preview mode (preview=true). Is there any chance to implement this myself? Or could this be an upcoming feature?
Thanks for your thoughts on this topic!
Tobi
Additional information

[ ] Would you be willing to help implement this feature?
[ ] Can you think of other implementations of this feature?

Final checks

[X] Check existing issues.

Hi @wirsindplural!
Thanks for the flowers. Glad to hear you enjoy the plugin.
I don't understand what you mean by ?preview=true – a query parameter? Since Nuxt Prepare will run before Nuxt builds its server, it has no access to the server instance, query parameters respectively.
If you want to use some kind of local flag for different prepared data, you can use an environment variable. Example:
  "scripts": {
    "dev": "PREVIEW=true nuxi de",
  },

In your prepare script you can then do different actions based on the flag:
export default defineNuxtPrepareHandler(async () => {
  let items = []

  if (process.env.PREVIEW) {
    items.push("preview is enabled")
  }

  return {
    state: {
      items
    }
  }
})

Does this solve your problem?

Hey, please excuse my misleadingly worded question.
What I'd like to do is having a Preview-Link in my CMS for my clients to see their changes without having to trigger a full build of the site. I was thinking that nuxt3 has the same preview feature as nuxt2 (https://v2.nuxt.com/docs/features/live-preview/).
What I'm trying to do now is to use a plugin to hook into page:finish and fetch all data again from there (only when preview=true is set). I'm not really sure how to properly abstract my prepare/ store logic to be able to do this but if I'm successful, I'll let you know!
Best,
Tobi
`export default defineNuxtPlugin((nuxtApp) => {
const route = useRoute();
const preview = route.query.preview && route.query.preview === 'true';
if (preview) {
nuxtApp.hook('page:finish', () => {
  // refresh data
	});
}

return { provide: { preview } };

});`

I see. That's a different feature than what Nuxt Prepare tries to solve. But you can combine it with Nuxt Prepare! When you have preloaded data, you can use it conditionally:
import { todos } from '#nuxt-prepare'

const route = useRoute()
const data = useAsyncData(() => {
  if (route.query.preview) return todos

  return $fetch('/api/todos')
})

Sure, feel free to post your solution here for other users stumbling over this issue. I consider this issue to be resolved and will close it. 🙂


Issue with PHP Logger not found

I am getting this error when running astertrace:

php src/mg/AsterTrace/bin/astertrace.php ./conf
PHP Fatal error:  Class 'Logger' not found in /usr/share/pear/Ding/Container/Impl/ContainerImpl.php on line 507

I did what I think was a fairly normal install of log4php, but to no avail.
Thanks in advance.

Hi, thanks for your feedback!
You just need to have Logger.php (from log4php) in your classpath. Since you dont give any details about how the log4php installation was done, that's all I can say :)
Best,

You are correct.  I did all the installs with pear, but the fix for me was to edit the include_path line in php.ini to
include_path = ".:/usr/share/pear/log4php:/usr/share/pear"
That seemed to resolve that particular issue.

Excellent, glad to know that :) Don't hesitate to send any feedback (if got any) when you can try astertrace.
Regards :)

when executing PAMI in asterisk I am getting the below error...kindly check and give me suggestions
Warning: require_once(var/www/html/pami-1.72/PAMI-1.72/vendor/apache/log4php/src/main/php/Logger.php): failed to open stream: No such file or directory in /var/www/html/pami-1.72/PAMI-1.72/docs/examples/quickstart/test.php on line 20
Fatal error: require_once(): Failed opening required 'var/www/html/pami-1.72/PAMI-1.72/vendor/apache/log4php/src/main/php/Logger.php' (include_path='../../../src/mg:.:/usr/share/php:/usr/share/pear') in /var/www/html/pami-1.72/PAMI-1.72/docs/examples/quickstart/test.php on line 20

I am getting this error when running astertrace using following command:
php src/mg/AsterTrace/bin/astertrace.php ./conf
PHP Fatal error:  Uncaught Error: Class 'Logger' not found in F:\xampp\htdocs\As
terTrace\AsterTrace\src\mg\Ding\Container\Impl\ContainerImpl.php:770
Stack trace:
#0 F:\xampp\htdocs\AsterTrace\AsterTrace\src\mg\AsterTrace\bin\astertrace.php(38
): Ding\Container\Impl\ContainerImpl::getInstance(Array)
#1 {main}
thrown in F:\xampp\htdocs\AsterTrace\AsterTrace\src\mg\Ding\Container\Impl\Con
tainerImpl.php on line 770
Fatal error: Uncaught Error: Class 'Logger' not found in F:\xampp\htdocs\AsterTr
ace\AsterTrace\src\mg\Ding\Container\Impl\ContainerImpl.php:770
Stack trace:
#0 F:\xampp\htdocs\AsterTrace\AsterTrace\src\mg\AsterTrace\bin\astertrace.php(38
): Ding\Container\Impl\ContainerImpl::getInstance(Array)
#1 {main}
thrown in F:\xampp\htdocs\AsterTrace\AsterTrace\src\mg\Ding\Container\Impl\Con
tainerImpl.php on line 770
please guide me what should i do to resolve this error.
Thanks in advance.


Notifications Part 1

Just some very basic building bricks for events/notifications

Email mock and SMTP relay setup
Generic Json messages for P2P 'push' notifications with in code effects
Some compose-able interfaces

Most of this module will go through heavy change over the next few weeks so do only base your own code on top of this if you are willing to pay the refactoring price :-). The traits should stabilize quickly after I have added it to context.

Added a primitive Sendgrid mail transport as well


API: Add convert() & tests, and add new commify option to format

Closes #4.
Ports over the conversion mechanism currently used in our apps, adapted to use JSBI instead of BN.js and generalizes it to handle strings, numbers and TokenAmount instances.
Also adds a new commify option for the format options.
Few things before merging:

[x] Update docs

The last 4 commits introduce a new strategy for conversion; the changes came from an online conversation with @bpierre, were we decided we wanted to make the getConvertedAmount more resilient to weird / absurd inputs. While this means that when we introduce this new version of token amount we'll need to change our conversion mechanisms in our repos (they're using the initial implementation on this PR), it should be way more sound.
I'd definitely pay attention to the math being done in the getConvertedAmount function.


all-repos: update actions/upload-artifact to v4

Committed via https://github.com/asottile/all-repos

this won't work, see https://github.com/getsentry/craft/issues/552#issuecomment-2359392607
will f/u with a working version using actions/merge


Expose "Coordinates" as part of Xarray's public API

[x] Closes #7214
[x] Closes #6392
[x] xref #6633
[x] Tests added
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst
[x] New functions/methods are listed in api.rst

This is a rework of #7214. It follows the suggestions made in https://github.com/pydata/xarray/pull/7214#issuecomment-1295283938, https://github.com/pydata/xarray/pull/7214#issuecomment-1297046405 and https://github.com/pydata/xarray/pull/7214#issuecomment-1293774799:

No indexes argument is added to Dataset.__init__, and the indexes argument of DataArray.__init__ is kept private (i.e., valid only if fastpath=True)
When a Coordinates object is passed to a new Dataset or DataArray via the coords argument, both coordinate variables and indexes are copied/extracted and added to the new object
This PR also adds an IndexedCoordinates subclass Coordinates public constructors used to create Xarray coordinates and indexes from non-Xarray objects. For example, the Coordinates.from_pandas_multiindex() class method creates a new set of index and coordinates from an existing pd.MultiIndex.

EDIT: IndexCoordinates has been merged with Coordinates
EDIT2: it ended up as a pretty big refactor with the promotion of Coordinates has a 2nd-class Xarray container that supports alignment like Dataset and DataArray. It is still quite advanced API, useful for passing coordinate variables and indexes around. Internally, Coordinates objects are still "virtual" containers (i.e., proxies for coordinate variables and indexes stored in their corresponding DataArray or Dataset objects). For now, a "stand-alone" Coordinates object created from scratch wraps a Dataset with no data variables.
Some examples of usage:
import pandas as pd
import xarray as xr

midx = pd.MultiIndex.from_product([["a", "b"], [1, 2]], names=("one", "two"))

coords = xr.Coordinates.from_pandas_multiindex(midx, "x")
# Coordinates:
#   * x        (x) object MultiIndex
#   * one      (x) object 'a' 'a' 'b' 'b'
#   * two      (x) int64 1 2 1 2

ds = xr.Dataset(coords=coords)
# <xarray.Dataset>
# Dimensions:  (x: 4)
# Coordinates:
#   * x        (x) object MultiIndex
#   * one      (x) object 'a' 'a' 'b' 'b'
#   * two      (x) int64 1 2 1 2
# Data variables:
#     *empty*

ds_to_be_deprecated = xr.Dataset(coords={"x": midx})
ds_to_be_deprecated.identical(ds)
# True

da = xr.DataArray([1, 2, 3, 4], dims="x", coords=ds.coords)
# <xarray.DataArray (x: 4)>
# array([1, 2, 3, 4])
# Coordinates:
#   * x        (x) object MultiIndex
#   * one      (x) object 'a' 'a' 'b' 'b'
#   * two      (x) int64 1 2 1 2

TODO:

[x] update assign_coords too so it has the same behavior if a Coordinates object is passed?
[x] How to avoid building any default index? It seems silly to add or use the indexes argument just for that purpose? We could address that later. Solution: wrap the coordinates dict in a Coordinates objects, e.g., ds = xr.Dataset(coords=xr.Coordinates(coords_dict)).

@shoyer, @dcherian, anyone -- what do you think about the approach proposed here? I'd like to check that with you before going further with tests, docs, etc.

IndexedCoordinates and Indexes have a lot of overlap. At some point we might consider merging the two classes, like @shoyer suggests in https://github.com/pydata/xarray/pull/7214#issuecomment-1295283938. The main difference is that one is a mapping of coordinates and the other is a mapping of indexes. IndexedCoordinates is mostly reusing Indexes and Dataset under the hood, it is only a facade.
Alternatively to an IndexedCoordinates subclasses I was wondering if we could reuse the Coordinates base class? There's some benefit of providing a subclass:

besides specific constructors like .from_pandas_multiindex() it has a generic __init__ for advanced use cases. Not sure it is a good idea to add this constructor to the base class?
unlike Coordinates, IndexedCoordinates is immutable.

What if the Indexes class was a facade based on IndexedCoordinates instead of the other way around? It would probably make more sense but it would also be a bigger refactor. I've chosen the easy way :).

I added IndexedCoordinates.merge_coords so that it is easier to combine different coordinates to pass to a new Dataset / DataArray, e.g.,
midx = pd.MultiIndex.from_product([["a", "b"], [1, 2]], names=("one", "two"))

coords = xr.IndexedCoordinates.from_pandas_multiindex(midx, "x")

coords = coords.merge_coords({"y": [0, 1, 2]})
# Coordinates:
#   * x        (x) object MultiIndex
#   * one      (x) object 'a' 'a' 'b' 'b'
#   * two      (x) int64 1 2 1 2
#   * y        (y) int64 0 1 2

ds = xr.Dataset(coords=coords)
# <xarray.Dataset>
# Dimensions:  (x: 4)
# Coordinates:
#   * x        (x) object MultiIndex
#   * one      (x) object 'a' 'a' 'b' 'b'
#   * two      (x) int64 1 2 1 2
#   * y        (y) int64 0 1 2
# Data variables:
#     *empty*

IndexedCoordinates.merge_coords is very much like Coordinates.merge except that it returns a new Coordinates object instead of a Dataset.
Or should we just use merge? It would require that:

Coordinates.merge accepts Mapping[Any, Any] for its other argument. Only changing the type hint is enough here since the implementation already accepts any input passed to Dataset.
When a Dataset is passed as coords argument to a new Dataset and DataArray, both variables and indexes should be extracted. It is already the case for Dataset but only for pandas indexes (default indexes & backwards compatibility).

what do you think about the approach proposed here? I'd like to check that with you before going further with tests, docs, etc.

Generally this looks great to me!

How to avoid building any default index? It seems silly to add or use the indexes argument just for that purpose? We could address that later.

My suggestion would be:

coords passed as a dict: create default indexes
coords passed as IndexedCoordinates: do not create defaults

Alternatively to an IndexedCoordinates subclass I was wondering if we could reuse the Coordinates base class?

Yes, this makes more sense to me!

What if the Indexes class was a facade based on IndexedCoordinates instead of the other way around?

Yes, I also agree! This makes more sense.

Long term, do you think it would make sense to merge together Indexes, Coordinates and IndexedCoordinates? They are sort of all containers for the same thing.

Long term, do you think it would make sense to merge together Indexes, Coordinates and IndexedCoordinates? They are sort of all containers for the same thing.

Yes I think so.
I'm actually trying to merge IndexedCoordinates with Coordinates but I'm stuck: the latter is abstract and I don't really see how I could refactor it together with DatasetCoordinates and DataArrayCoordinates. Do you have any idea on how best to proceed?
Ideally, I'd see Coordinates be exposed in Xarray's main namespace with at least the two following constructors:
class Coordinates:

    def __init__(
        self,
        coords: Mapping[Any, Any] | None = None,
        indexes: Mapping[Any, Index] | None = None,
    ):
        # Similar to Dataset.__init__ but without the need
        # to merge coords and data vars...
        # Probably ok to allow more flexibility / less safety here?
        ...

    @classmethod
    from_pandas_multiindex(cls, index: pd.MultiIndex, dim: str):
        ...

I'm actually trying to merge IndexedCoordinates with Coordinates but I'm stuck: the latter is abstract and I don't really see how I could refactor it together with DatasetCoordinates and DataArrayCoordinates

Coordinates is abstract because in the (current) Xarray data model, it doesn't actually store any data -- coordinates are stored in private attributes of the original Dataset (._variables and ._coord_names) or DataArray (._coords). So Coordinates needs to serve as a proxy for the data.
In the long term, I think we should refactor Dataset/DataArray to actually store data (coordinate variables, indexes and dimension sizes) on Coordinates, but that's a bigger refactor.
For now, it's worth noting that the current Coordinates class isn't actually exposed in Xarray's public API, just the DatasetCoordinates and DataArrayCoordinates classes (and not even their constructors). So the intermdiate step I would try is:

Rename the current Coordinates baseclass to AbstractCoordinates.
Rename your IndexedCoordinates class to Coordinates. Expose it in the public API. Make sure it can handle DatasetCoordinates and DataArrayCoordinates in the constructor.
Maybe: use some Python magic to make DatasetCorodinates/DataArrayCoordinates subclasses of the new Coordinates. Or maybe make them actual subclassses, overriding many of the methods (including the constructor).

Thanks @shoyer, I've been thinking about similar short/long term plans although so far I haven't figured out how to implement your point 3. I'll give it another try.

My suggestion would be:
coords passed as a dict: create default indexes
coords passed as IndexedCoordinates: do not create defaults

So if we already have some coordinate data as a dict but don't want any default index, we would need to do this:
ds = xr.Dataset(coords=xr.Coordinates(my_coord_dict))

instead of this:
ds = xr.Dataset(coords=my_coord_dict)

I think this is ready for review!

I did some profiling to find the cause of the decrease in performance reported in the benchmarks (dataset creation). In summary, this is explained by a Coordinates object (built from the coords mapping) that is now included in objects to align when merging data vars and coordinates. Previously all non DataArray objects in the coords mapping were excluded from alignment (in deep_align). The introduced overhead comes from a call to Coordinates._reindex_callback(), which (I think?) should do no more than shallow copies and/or xarray wrapping stuff. In the benchmark report this is only marked as significant when creating small datasets (1.5-2x slower), and it becomes insignificant for datasets with more data variables.
Maybe there's some way to optimize that? I don't know if we can completely avoid it with the solution implemented in this PR, though. Promoting Coordinates is pretty clean and future proof IMO (assuming that we'll further refactor Coordinates to actually store variables and indexes, i.e., not as a proxy anymore). Is the (minor? temporary?) regression in performance acceptable and can we just leave like that?
More details about the new workflow implemented in this PR when creating a new Dataset:

if Dataset's coords argument is a "simple" mapping, it is first internally converted into a Coordinates object, with the creation of default indexes for dimension coordinates

if one or more DataArray objects are given in coords, their coordinates (variables + indexes) are extracted and merged with the other input coordinates
see the implementation in xarray.core.coordinates.create_coords_with_default_indexes

otherwise, just reuse the Coordinates object passed as coords
coordinates are then merged with data variables

the Coordinates object is aligned with every other "alignable" object found in data_vars
coordinate indexes (if any) are passed explicitly to align so they are used in priority
explicitly using a Coordinates object skips the creation of default indexes during merging (in collect_variables_and_indexes())

Maybe there's some way to optimize that? I don't know if we can completely avoid it with the solution implemented in this PR, though. Promoting Coordinates is pretty clean and future proof IMO (assuming that we'll further refactor Coordinates to actually store variables and indexes, i.e., not as a proxy anymore). Is the (minor? temporary?) regression in performance acceptable and can we just leave it like that for now?

Fixed in 193dad3 (with some reasonable special case added in merge_core).

Thanks for the review @shoyer. I addressed your comments.
Everything seems OK except a rather annoying mypy error that I'm struggling with:
The DataAlignable type variable should now encompass both DataWithCoords and Coordinates, since in this PR we add alignment support for the latter. I somewhat naively tried the options below without success:

DataAlignable = TypeVar("DataAlignable", bound=DataWithCoords | Coordinates) -> doesn't work since we cannot mix DataWithCoords and Coordinates when aligning each object (input type = output type)
DataAlignable = TypeVar("DataAlignable", bound=DataWithCoords, Coordinates) -> doesn't work with subclasses
DataAlignable = TypeVar("DataAlignable", Dataset, DataArray, Coordinates) -> doesn't work with generic types T_Dataset, etc.?
I even tried using a Protocol

@headtr1ck @Illviljan any idea?

DataAlignable = TypeVar("DataAlignable", bound=DataWithCoords | Coordinates) -> doesn't work since we cannot mix DataWithCoords and Coordinates when aligning each object (input type = output type)

I think thats exactly correct.
The whold idea of using a TypeVar for the inputs means that all inputs must have the same type.
Consider the following example:
class A: ...
class B(A): ...
class C: ...

T = TypeVar("T", bound=Union[A, C])
def f(*x: T) -> T: ...

f(A(), A())  # OK
f(A(), B())  # OK
f(C(), C())  # OK
f(A(), C())  # not ok, because the common type of A and C is object

Is this just stuck on a mypy error?

@headtr1ck / @Illviljan Do you have any ideas for how to type this?

The DataAlignable type variable should now encompass both DataWithCoords and Coordinates, since in this PR we add alignment support for the latter.

xarray/tests/test_coordinates.py:139: error: Value of type variable "DataAlignable" of "align" cannot be "Coordinates"  [type-var]
xarray/tests/test_coordinates.py:144: error: Value of type variable "DataAlignable" of "align" cannot be "Coordinates"  [type-var]

Found 2 errors in 1 file (checked 142 source files)

@headtr1ck / @Illviljan Do you have any ideas for how to type this?

The DataAlignable type variable should now encompass both DataWithCoords and Coordinates, since in this PR we add alignment support for the latter.

I don't think we need to keep the generalization of DataWithCoords. We could just keep it at a typevar that is either DataArray, Dataset or Coords.
The only problem is that when you have functions like f(*args) the args type becomes the common ancestor of all Inputs, which for DataArray and Dataset was DataWithCoords. But if you now add a Coordinates object it will default to a python object type (or maybe some common mixin class).
I dont think there is any way around that.
We could try adding a few overloads for 1-3 arguments which is the most common usecase, but then you'll always have this problem with >3 args.

It seems that it is not that easy sadly.
Alignment uses a lot of methods that are defined only at DataArray, Dataset and Coordinate level.
So DataWithCoords is actually not allowed. I have to see if I can resolve these conflicts...

@benbovy Seems like we need to add a coords argument to open_dataset to finally fix #2233. Is that right?

Thanks for your feedback @headtr1ck, your previous comments have been helpful. Yeah I gave it another try using Protocol, I've been struggling with it until trying with Self. This should be good now, hopefully. Another advantage is that the Alignable protocol class makes it pretty clear what is the required interface for an Xarray object to support alignment, i.e., it provides some self-documentation of the internals.

RTD failure is real:
home/docs/checkouts/readthedocs.org/user_builds/xray/checkouts/7368/doc/api-hidden.rst:9: WARNING: autosummary: failed to import Coordinates.merge_coords.
Possible hints:
* ModuleNotFoundError: No module named 'xarray.Coordinates'
* PycodeError: no source found for module 'builtins'
* AttributeError: type object 'Coordinates' has no attribute 'merge_coords'
* ModuleNotFoundError: No module named 'Coordinates'
* KeyError: 'Coordinates'
/home/docs/checkouts/readthedocs.org/user_builds/xray/checkouts/7368/doc/api-hidden.rst:9: WARNING: autosummary: failed to import core.coordinates.DatasetCoordinates.merge_coords.
Possible hints:
* ModuleNotFoundError: No module named 'xarray.core.coordinates.DatasetCoordinates'; 'xarray.core.coordinates' is not a package
* PycodeError: no source found for module 'builtins'
* AttributeError: type object 'DatasetCoordinates' has no attribute 'merge_coords'
* KeyError: 'core'
* ModuleNotFoundError: No module named 'core'
/home/docs/checkouts/readthedocs.org/user_builds/xray/checkouts/7368/doc/api-hidden.rst:9: WARNING: autosummary: failed to import core.coordinates.DataArrayCoordinates.merge_coords.
Possible hints:
* PycodeError: no source found for module 'builtins'
* KeyError: 'core'
* AttributeError: type object 'DataArrayCoordinates' has no attribute 'merge_coords'
* ModuleNotFoundError: No module named 'xarray.core.coordinates.DataArrayCoordinates'; 'xarray.core.coordinates' is not a package
* ModuleNotFoundError: No module named 'core'

@dcherian yes this PR would enable #6633 by passing a Coordinates object to the Dataset constructor in the backend code. It coud be done in another PR indeed.

This doesn't create a default index for "x" (since no index is passed explicitly to the Coordinates object):

import xarray as xr

ds = xr.Dataset(
    data_vars={"foo": ("x", [0.0, 1.0])},
    coords=xr.Coordinates({"x": ("x", [1, 2])}),
)

Note that if "x" is passed  as a data variable it will still be promoted as a coordinate with a default index, even when a Coordinates object is passed explicitly:

xr.Dataset(
    data_vars={"foo": ("x", [1.0, 2.0]), "x": [1, 2]},
    coords=xr.Coordinates(),
)

This might be slightly confusing but I don't know if it is really worth handling this special case (i.e., coordinate variables in data_vars + empty Coordinates). I think we should keep promoting data variables as coordinates since data_vars is often used as a unique positional argument of Dataset.__init__().

I updated the docstrings of Dataset.__init__ and DataArray.__init__ to clarify that we can pass a Coordinates object to bypass the creation of default indexes for dimension coordinates.
I took this opportunity to improve the glossary in the documentation and make the concepts of (non)-dimension / (non)-indexed coordinate more in line with the current state of Xarray since the index refactor. I'm sure there are still other inconsistent parts in the documentation, though. I'll review and address that in a follow-up PR.

I just want to say this is another amazing piece of work @benbovy :clap: :clap:

@benbovy shall we merge?

@dcherian yes!


bug: website: able to navigate to obsolete page

Describe the bug
I was able to navigate to https://docs.kubestellar.io/main/Contribution guidelines/operations/release-management/ , which is obsolete and can not be reached through any links from our current documentation root (that page is not referenced by the navigation tree in docs/mkdocs.yml nor from any page reachable from that tree). I was able to do this navigation only by going through a page for a legacy release (see next section).
Steps To Reproduce

Go to https://docs.kubestellar.io/release-0.14/Contribution guidelines/operations/release-management/
In the version navigator at the top, pick "main".

Expected Behavior
Clicking on links on our website should not lead to pages that say they are in "main" or a recent release but have outdated (legacy) content.
Additional Context
No response

Here is a comparison of some pages that should exist vs. do exist.
mspreitz@mjs13 kubestellar % git status
On branch main
Your branch is up to date with 'upstream/main'.

nothing to commit, working tree clean

mspreitz@mjs13 kubestellar % grep 'Contribution guidelines/operations' docs/mkdocs.yml
      - Website: Contribution guidelines/operations/document-management.md

mspreitz@mjs13 kubestellar % git checkout --track origin/gh-pages
fatal: 'origin/gh-pages' is not a commit and a branch 'gh-pages' cannot be created from it
mspreitz@mjs13 kubestellar % git checkout --track upstream/gh-pages
Updating files: 100% (5478/5478), done.
branch 'gh-pages' set up to track 'upstream/gh-pages'.
Switched to a new branch 'gh-pages'

mspreitz@mjs13 kubestellar % find main/Contribution\ guidelines/operations -name "*.html"
main/Contribution guidelines/operations/code-management/index.html
main/Contribution guidelines/operations/all-macros/index.html
main/Contribution guidelines/operations/release-management/index.html
main/Contribution guidelines/operations/testing-doc-prs/index.html
main/Contribution guidelines/operations/document-management/index.html
main/Contribution guidelines/operations/packaging-and-versioning/index.html

/cc @KPRoche
@clubanderson

@MikeSpreitzer why https://docs.kubestellar.io/main/Contribution guidelines/operations/release-management/  shouldn't exist ?

@ezrasilvera: actually, since we have not deleted outdated content, the clear offense here is not that the page exists but only that following links in our website can reach it. I have updated the title and opening comment accordingly.
We should probably also prune documents that are not reachable except by navigating through a legacy release. That is a deliberately narrower statement than "documents that we do not intend to publish" because that could be confusing, opening the bigger can of worms regarding revising or retracting documents.


compiled image target cant be detected

compiled image target cant be detected, working on PR #58
need help to fix this issue

close as the compiler fixed in mentioned PR


Changing theme crashes page

Looks like the issue mentioned in this ticket: https://github.com/tsparticles/react/issues/21 is still an issue in the current release 2.11.0.
When I change the theme by either explicitly calling loadTheme OR switching the browser's prefers-color-scheme with auto: true enabled in the theme, the whole page freezes.
The react demo app included in this repo also freezes when clicking one of the theme buttons.
Here is my code in case it helps at all. And I am running this on Windows 11 in both Chrome and Firefox with the issue.
import type { ISourceOptions } from "tsparticles-engine";
import { useCallback, useEffect, useRef } from "react";
import type { Container, Engine } from "tsparticles-engine";
import ReactParticles from "react-tsparticles";
import { loadSlim } from "tsparticles-slim";
import { useTheme } from "~/utils/theme-provider";

const options: ISourceOptions = {
  name: "Link Triangles",
  themes: [
    {
      name: "light",
      default: {
        auto: true,
        value: true,
        mode: "light",
      },
      options: {
        background: {
          color: "#ffffff",
        },
        particles: {
          color: {
            value: "#5b21b6",
          },
          links: {
            color: {
              value: "#a78bfa",
            },
            triangles: {
              color: "#6d28d9",
            },
          },
        },
      },
    },
    {
      name: "dark",
      default: {
        auto: true,
        value: true,
        mode: "dark",
      },
      options: {
        background: {
          color: "#000000",
        },
        particles: {
          color: {
            value: "#8b5cf6",
          },
          links: {
            color: {
              value: "#a78bfa",
            },
            triangles: {
              color: "#a78bfa",
            },
          },
        },
      },
    },
  ],
  particles: {
    ...
  },
};

const Particles = () => {
  const [theme] = useTheme(); // This returns "light" or "dark"

  const containerRef = useRef<Container>();

  const particlesInit = useCallback(async (engine: Engine) => {
    await loadSlim(engine);
  }, []);

  const particlesLoaded = useCallback(
    async (container: Container | undefined) => {
      containerRef.current = container;
    },
    []
  );

  useEffect(() => {
    if (!containerRef.current) return;
    containerRef.current?.loadTheme(theme!);
  }, [theme]);

  return (
    <ReactParticles
      id="tsparticles"
      init={particlesInit}
      loaded={particlesLoaded}
      options={options}
    />
  );
};

I just noticed you have swapped out the deep equal package again since the last release. Apologies if I have jumped the gun on this issue if it will be solved with that change. If so, any ETA on a release including that?

I've tried changing that again, but it's not related to that. The code hangs at the setTimeout inside the play code of the Container class, without entering there.
I don't know why, since it's something that was already executed on the first load. It's something that I can't debug on the engine library since the code there works without issues.
I don't have an ETA about this, since it's a strange bug and I haven't figured out a way to search for similar issues.
I thought it was the compare library for the options changing, since there are recursive object that need to be ignored during the compare, but the component is never triggered by changes.

I attempted some debugging of my own and it appears to be getting into an infinite loop on the tsparticles Canvas mutationObserver here: https://github.com/matteobruni/tsparticles/blob/main/engine/src/Core/Canvas.ts#L82
I can look a bit deeper later on tonight and see if I get any further.

Thanks, that was enough for me. I didn't notice the infinite loop there. I don't understand why the MutationObserver object didn't disconnect correctly, but I've changed its management and now it resets at every refresh or stop/start cycle. A fix will be released soon.

Awesome! Glad I could help. Looking forward to the release.

https://github.com/matteobruni/tsparticles/pull/5071 this is the PR that will fix this issue

Updating the engine (2.12.0) should fix this.


MarkDown artifacts in Neumes Chapter

@fujinaga has spotted a number of MarkDown remnants like the following:
https://github.com/music-encoding/music-encoding/blob/96166b37a2911d2a97911ede87e1ad20c581875f/source/docs/06-neumes.xml#L180
There are some more things to be italicized in this chapter.

Fixed in  #1014


env_prefix prevents env_file from working

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Assuming this is a bug because I found nothing in the docs explaining this behavior.
Spent forever trying to understand why env_file wasn't working. Commenting out env_prefix cause env_file to start working. This can't be by design right? I should be able to define both.
Example Code
model_config = SettingsConfigDict(
        env_file=[
            "my.env",
        ],
        # When uncommented pydantic does not attempt to load any files defined in env_file
        # env_prefix="my_app_",
    )

Python, Pydantic & OS Version
pydantic version: 2.5.3
        pydantic-core version: 2.14.6
          pydantic-core build: profile=release pgo=true
                 install path: /usr/local/lib/python3.12/site-packages/pydantic
               python version: 3.12.1 (main, Dec 19 2023, 20:23:36) [GCC 10.2.1 20210110]
                     platform: Linux-6.5.11-linuxkit-x86_64-with-glibc2.31
             related packages: pydantic-settings-2.1.0 mypy-1.8.0 typing_extensions-4.9.0

Edit
I found the issue. The issue is that setting env_prefix causes pydantic to ignore non-prefixed env vars defined in you dotenv files.
I was expecting it to fail because I had un-prefixed vars defined in mysettings.env for example:
MY_SETTING_ONE=ksjdlksjd
MY_SETTING_TWO=zzzzzzz

Changing those to this worked:
MY_APP_MY_SETTING_ONE=ksjdlksjd
MY_APP_MY_SETTING_TWO=zzzzzzz

So I think the bug is pydantic should not be ignoring un-prefixed fields in dotenv files.
Because while this correctly throws Extra inputs are not permitted:
MY_APP_SETTING_THAT_DOESNT_EXIST=ksjdlksjd

This throws no errors at all:
SETTING_THAT_DOESNT_EXIST=ksjdlksjd

Thanks @red8888 for reporting this.
It is an intended behavior. dotenv source settings inherited from env source settings and it only loads env variables from file.
it has to be consistent with env source settings. pydantic-settings has the same behavior in env variables.

Thanks @red8888 for reporting this.
Agree, that is probably a bug.

Hi @hramezani ,
I would like to work on this issue.

Thanks @kjithin, I've assigned it to you!

Thanks @hramezani. I've submitted a pull request addressing this issue. Kindly review and share your feedback.


feat: Add device names for iPhone 14 family,  add check for dynamic island

Description

Added device names for new iPhone 14 family and updated hasNotch device list
Added hasDynamicIsland() that allows to check if device has a Dynamic Island

Compatibility

OS
Implemented

iOS
✅

Android
✅

Windows
✅

Checklist

[x] I have tested this on a device/simulator for each compatible OS
[x] I added the documentation in README.md
[x] I updated the typings files (privateTypes.ts, types.ts)
[x] I added a sample use of the API (example/App.js)

+1, thanks @wzs 🙏


importing dask.dataframe changes pandas behaviour in 2024.3.0

Describe the issue:
Since the latest update, importing dask.dataframe changes pandas settings so arrays retrieved from a dataframe are no longer writable.
Ideally, importing dask.dataframe would not change the behaviour of pandas.
Minimal Complete Verifiable Example:
In [1]: import pandas as pd

In [2]: pd.DataFrame({"a": [1,2,3, None]})["a"].to_numpy().flags
Out[2]:
  C_CONTIGUOUS : True
  F_CONTIGUOUS : True
  OWNDATA : False
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False

In [3]: import dask.dataframe as ddf

In [4]: pd.DataFrame({"a": [1,2,3, None]})["a"].to_numpy().flags
Out[4]:
  C_CONTIGUOUS : True
  F_CONTIGUOUS : True
  OWNDATA : False
  WRITEABLE : False
  ALIGNED : True
  WRITEBACKIFCOPY : False

Anything else we need to know?:
It looks like this is caused by dask-expr doing:

https://github.com/dask/dask-expr/blob/db20d4b88e1d736bdf099844e73e48c2c1127dbd/dask_expr/__init__.py#L22

Currently the cause of:

https://github.com/scverse/scanpy/issues/2902

Environment:

Dask version: 2024.3.0
Python version: 3.12.2
Operating System: Linux-5.15.0-100-generic-x86_64-with-glibc2.35
Install method (conda, pip, source): pip

 session-info
-----
IPython             8.22.2
dask                2024.3.0
pandas              2.2.1
session_info        1.0.0
-----
asttokens           NA
cloudpickle         3.0.0
cython_runtime      NA
dask_expr           1.0
dateutil            2.9.0.post0
decorator           5.1.1
executing           2.0.1
fsspec              2024.2.0
jedi                0.19.1
numpy               1.26.4
packaging           24.0
parso               0.8.3
pickleshare         0.7.5
prompt_toolkit      3.0.42
pure_eval           0.2.2
pyarrow             15.0.1
pygments            2.17.2
pytz                2024.1
six                 1.16.0
stack_data          0.6.2
tlz                 0.12.1
toolz               0.12.1
traitlets           5.14.1
wcwidth             0.2.13
yaml                6.0.1
-----
Python 3.12.2 | packaged by conda-forge | (main, Feb 16 2024, 20:50:58) [GCC 12.3.0]
Linux-5.15.0-100-generic-x86_64-with-glibc2.35
-----
Session information updated at 2024-03-12 12:45

This is https://github.com/dask/dask-expr/pull/932
@phofl is this expected when enabling copy on write?

FWIW The setting we're enabling here is something that will be enabled by default (if not enforced) in pandas 3.0 which is soon to be released. I suspect that this is desired behavior and you'll need to create a copy with to_numpy(copy=True)

I agree that we're going to eventually need to support pandas with copy on write.
But:

I expect we're going to have to support pandas 2 for a while longer (we have optional dependencies and dependents pinning pandas pretty low)
I think this is an unintuitive side effect of importing dask.dataframe.

Ran into a deeper issue where numcodecs doesn't like being passed a read-only buffer, so I think we'll end up needing to pin dask for a bit on our end.

https://github.com/zarr-developers/numcodecs/issues/514

I understand the problem. We'll likely want to continue using COW in dask but I can offer that we put in a toggle to control this, e.g.

import dask
dask.config.set({"dataframe.copy-on-write": False})
import dask.dataframe

Would this be a feasible workaround for you?

dask.config.set({"dataframe.copy-on-write": False})

Would that do something much different than me using pd.set_option?

I do think it makes sense that you want to opt-in to this. I was just hoping to be able to address this during the pandas 3.0 release candidate period when our canary would pick it up.
I also don't think we'll need to do any configuration if we can figure out the numcodecs issue, but unfortunately I don't know enough cython to figure out what incantation it wants.

Would that do something much different than me using pd.set_option?

We want to enable this by default for dask users. The config option would be a way to opt-out of this opinionated choice.

@phofl, thank you for the pointer! https://github.com/zarr-developers/numcodecs/pull/515

No worries, pr looks good and should address those issues.

We want to enable this by default for dask users. The config option would be a way to opt-out of this opinionated choice.

Please reconsider that philosophy. Package-wide settings are intended for users and applications, not for libraries. import in Python should be free of side effects.


[v1.23] Testing the new iter package with gh-iter

The incoming v1.23 Go version will introduce the iter package, and tried to implement a generic wrapper around the client.
It support pagination in a transparent way, with generics:
// init your Github client
client := github.NewClient(nil)

// create an iterator, and start looping! 🎉
users := ghiter.NewFromFn(client.Users.ListAll)
for u := range users.All() {
	fmt.Println(*u.Login)
}

https://github.com/enrichman/gh-iter
Maybe it can provides some hints about embedding this new feature into the official client, or if you are more about keeping the two separates then you are probably aware about some edge cases  I'm not aware of.
For example I've read about some annoyance about the setting of the query parameters of the link headers in some issues. I tried to use the reflect package to dynamically set those in the provided options, checking the url tag of the option fields.
Looking for feedbacks!

That looks very cool, @enrichman ! Thank you for putting that together!
Let's do this... how about you create a PR that updates the README.md in this repo to point to your repo as a new way to iterate over endpoint pagination with maybe a small example, and let's see how users of this repo pick it up.
I'm honestly thinking that if it becomes hugely popular, that there may not be any real need to pull it into this repo... at least I can't think of any benefit off-hand.
How does that sound to you?
We can also leave this issue open for others to comment on this idea while you think about updating this repo's README.

That would be great, thanks @gmlewis for the opportunity!

This repo has historically officially supported the most recent two minor versions of the Go compiler, so in this case, we need to continue to support Go 1.22.x and Go 1.23.x.
So we have some options:

Make v63.0.0, v64.0.0 v65.0.0 releases of gh-iter that match the same version of go-github (this is the easiest solution by far)
Wait until Go 1.24.0 is released, then create a PR to incorporate gh-iter directly into go-github (without any extra dependencies other than the Go standard library of course)
Remove the dependency upon Go 1.23 from gh-iter and incorporate it into go-github now with a new PR.

Thoughts?  (I vote for option 1 in case it wasn't obvious.)

Thanks for your opinion. I think that at the moment option 1 is the easiest.
It will be nice to incorporate the package into the library when 1.24 will be out, if that's possible.

Sounds good. Closing issue for now and we can revisit when Go 1.24 is released.

I vote for option 2 once Go 1.24 is released.


Updated blogs.md and Useful_links.md

Added more blogs and links for Android Developers.

Thank you Dhruv for the contribution. Appreciate it!

Thanks. (y)


Enable logout endpoint

Had a quick test of this, seems to log you out as expected the first time you hit sign out, but if you log back in again it goes back to not logging out and simply refreshes the home page. Will try and debug more tomorrow

Ah, forgot to pull the changes in lpg-services. Never mind - all good!


Rustup does not tell users where the toolchains will be installed

Problem
When using the installer to install rustup, it is installed to RUSTUP_HOME.
Last time I tried the installer it did not mention anything about this. That is, a user executes the script, the toolchain gets installed, then the user needs to figure out where things got installed, decide whether those directories are ok, and if not, then google whether that can be changed, and then, uninstall the toolchain, and then set RUSTUP_HOME to an appropriate location and reinstall Rust again.
Steps

Execute rustup installation script and press Y for everything. Nothing about where things are installed is mentioned, much less a way to change that is offered.

Possible Solution(s)
It's an installer. It should tell you where it is going to install the thing, ask you if its ok, and let you change it if it isn't.
Something like:

The Rust toolchain will be installed to ${RUSTUP_HOME}. Is this location ok?
User input: Y/n
[on n]: Please set the RUSTUP_HOME environment variable to an appropriate location before running the installer (process exit with error).

would probably be enough to fix this bug, but allowing the user to choose an appropriate path would be nice and give a much better impression IMO.

At which path should the Rust toolchain be installed?
User input:

Installing things to an non-disclosed directory and not even suggesting where to change it always gave me a pretty bad impression. Sure, I was able to search for it online, but I don't think users should be required to do that for something as basic as setting an installation path in an installer.

This issue was raised as part of #618 , people have been running into this for years. That issue was closed because it is technically possible to change the installation path by setting the RUSTUP_HOME environment variable already. This issue is not about enabling a way to do that, but just about implementing basic installer functionality so that people don't have to do uninstall/reinstall dances or reading the whole README to figure out how to do the most fundamental thing an installer does (installing something somewhere).

This should be quite straight forward, and I'm happy to mentor an interested person.

I'd like to work on this one.  I could use some help figuring out the codebase, though.

Nvm, figured it out.  The current behavior of CARGO_HOME is to display the path, but not allow the user to change it as part of the install process.  Instead, the user must cancel the installation, set the environment variable, and then restart the installer.  So I copied that functionality for RUSTUP_HOME instead, and pointed the installer text to the CARGO_HOME and RUSTUP_HOME variables.
If there is a real desire to move CARGO_HOME or RUSTUP_HOME functionality to the interactive installer, then that would be a bit of a larger change, since those variables may need to be added permanently to the OS.  Currently, seems like we assume that if they're set during install, they'll be set during execution.
Submitting PR soon, could discuss this further, if need be.


Fix compiler crash when using resource access actions in query expressions/actions

Purpose
$title
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/38757
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

@lasinicl As we discuss offline, Shall we move this next patch and cherry pick this to master.


Fix issues with node which contains one child with the same name as parent

Fix issue with removing node which contains one child with the same name as parent
Prevent expanding node which contains one child with the same name as parent

@sashahonchar this is a pretty tricky bug. Can you add a test case to d3-appmap?


Mesos 1.6 HTTPS Vhost getting 502 bade gateway

I am able to add a Vhost to Marathonlb and access it via marathonlb when the backend service is http. But when the backend service is https, I am always getting 502 Bad Gateway when accessed via marathonlb. I did n't provide any certs since doc [1] says it generate a self signed certificate.
Do we have to configure anything other than HAPROXY_0_VHOST when the backend service is an https one?
[1] https://mesosphere.com/blog/2015/12/13/service-discovery-and-load-balancing-with-dcos-and-marathon-lb-part-2/

If it works via HTTP, it'll work through HTTPS. Try reading this: http://mesosphere.com/blog/2016/04/06/lets-encrypt-dcos/

Hi Udara, could you share the solution you found?


Missing explanation or formulas of results in docs / README / web page

I can't find any other explanation or formulas for results like median, average, min/max, req/sec in documentation, readme or web page. On the documentation page I tried basic scenario to search result/s and get no relevant page.
I found this question on stackoverflow, so I'm not only one who didn't understand it
https://stackoverflow.com/questions/39665250/locust-result-summary-how-to-understand-avg-min-and-max
the code is documented well but these informations and formulas are missing in the docs and web page.
Expected behavior
I will be happy with some chapter about results in docs + some small info button on the web page to each result metric.
Actual behavior
Documentation of results is written just in code.

documentation updates can be submitted via Pull Request.

Doesnt look like there is a huge interest in this...

I think we can leave it open, since it would be nice to have this covered by the documentation.

Greetings,
I am interested in contributing, so as to resolve this issue. Is it still relevant though?

There were some issues, e.g. #1430 or #1406, during the last days about the calculation of some values. Maybe those questions could be prevented in the future if there is a documentation about the calculation.

There were some issues, e.g. #1430 or #1406, during the last days about the calculation of some values. Maybe those questions could be prevented in the future if there is a documentation about the calculation.

So, basically we need to provide the formulas of median, min/max, etc. in the documentation which will will also reflect in the web page? ?

I would say yes. But I don't have a list of all values which are calculated during a test run. Most of the calculations can be found inside the locust/stats.py. But all interesting values should be found on the web UI and in the different CSV files. What do you think @heyman ?

I’d prefer not bloating the manual with explaining general mathematic concepts such as mean & median, but if it can be explained using tooltips or a help button in the UI, that would be nice!

I’d prefer not bloating the manual with explaining general mathematic concepts such as mean & median, but if it can be explained using tooltips or a help button in the UI, that would be nice!

Ok, explaining general concepts is indeed too much. But this information could help understanding some values:
The 50 percentile (as well as the other columns without the "Total " prefix) shows the median response for a ~10 second sliding window at that (Timestamp) point in time, while the Total Median Response shows the total median response time for the whole test run.

I’d prefer not bloating the manual with explaining general mathematic concepts such as mean & median, but if it can be explained using tooltips or a help button in the UI, that would be nice!

Ok, explaining general concepts is indeed too much. But this information could help understanding some values:

The 50 percentile (as well as the other columns without the "Total " prefix) shows the median response for a ~10 second sliding window at that (Timestamp) point in time, while the Total Median Response shows the total median response time for the whole test run.

Perfect!

I’d prefer not bloating the manual with explaining general mathematic concepts such as mean & median, but if it can be explained using tooltips or a help button in the UI, that would be nice!

Agreed, @cyberw that explaining general mathematical concepts is a bit too much.
So, what should ideally be the next step?


Flutter 3.27 Banner Ad MaxAdView not responding to Opacity

MAX Plugin Version
4.0.2
Flutter Version
3.27.0-0.1.pre
Device/Platform Info
iPhone 16 Pro iOS 18.1 (and every other iOS device/version [many] we tested)
Current Behavior
Banner ad does not disappear when opacity is applied to it.
https://github.com/user-attachments/assets/68b96abd-98c3-4e44-ae1f-f1327fda5684
Expected Behavior
Banner ad to disappear when opacity 0 is applied to it.
https://github.com/user-attachments/assets/154d532e-c661-47a7-b9ed-e5a85dad0c06
How to Reproduce
https://github.com/LegendAF/applovin_max_flutter_broken
Reproducible in the demo app?
Yes
Additional Info
For what it's worth, it is also broken at the root level if you just put it outside the overlay. I included the way it is in the example because that's how we are utilizing it.
Broken on:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 3.27.0-0.1.pre, on macOS 15.0 24A335 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.94.2)
[✓] Connected device (5 available)
[✓] Network resources

Working on:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.4, on macOS 15.0 24A335 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.94.2)
[✓] Connected device (5 available)
[✓] Network resources

@LegendAF, thank you for raising the issue with the test app. I ran the test app using the default AppLovin network, as your Podfile includes several ad networks. The banner toggles and appears to be working fine. Could you clarify if the issue is reproducible with a specific ad network?

@alhiwatan I started the app and enabled Test Mode from AppLovinMAX.showMediationDebugger(); and I am seeing the initial issue I reported still.
What is considered the "default AppLovin network"?
What version of Flutter are you on?
I have also noticed if you apply the Opacity value directly and save (hot reload), it works. The issue seems to be around setState not refreshing the MaxAdView or something. I am not 100% sure.
I did a test of using Visibility instead of Opacity and it works as expected. The issue with that is Visibility removes the banner ad from the tree and when you toggle it back the entire ad needs to re waterfall. We are currently trying to avoid that due to other issues,

https://github.com/user-attachments/assets/fed0c79f-1bda-4f42-8f51-73322fd01ee8

Yes. It works fine in 3.24.5 of Flutter.
It is broken on the beta branch which is Flutter 3.27. You can try it out by doing flutter channel beta or finding version 3.27.0-0.2.pre on whatever manager you use.

After testing on these new versions it seems like the issue has been resolved.
Flutter  3.27.0-0.2.pre
Applovin Max 4.1.1
Flutter Doctor
[✓] Flutter (Channel beta, 3.27.0-0.2.pre, on macOS 15.1.1 24B2091 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.95.3)
[✓] Connected device (4 available)
[✓] Network resources


better interactive allowedArea limits

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Notification handler open generic doesn't work

Hi!
I was testing the notification handlers and found a problem.
When I use a notification handler open generic it doesn't work. Another notification handler is called twice instead.
Example code https://github.com/rignatev/MediatorSandbox.
Did I miss something?

Hmm this is a weird one...
code:
var svc = app.Services.GetServices<global::Mediator.INotificationHandler<global::MediatorSandbox.App.TestNotification>>().ToArray();

.NET 7:

.NET 8 preview 7:

Is there a bug in DI for .NET 7 that I've missed? The DI registration code looks correct as far as I can tell


The training process

Hi,
Thanks for your excellent work.
Since you haven't provided any multi-card training codes,
I want to know how long time do I need if I want to train the Patch-NetVLAD from scratch? with a 3090.
It seems for the 30 epochs(Default Settings) it will need more than 2 weeks, is that correct?
Thanks for any help

Yes, as far as I remember, this is correct.
Please feel free to add a PR to add multi-card training, it should not be too hard to add.
Best, Tobi
/cc @StephenHausler


fix: missing bracket in related images check

Before you complete this pull request ...
Look for any open pull requests in the repository with the title "e2e-tests update" and
see if there are recent e2e-tests updates that will be applicable to your change.

/retest


Brute-Force OpenVR-FSR support.

literally followed the instructions from the repo. All the checks passed on my fork, but i would like if someone on windows would check it for themselves. This partially solves #1238.

I don't really like this solution its better to wait till we have are own compositor as I'm pretty sure vrc does not like this(easy-anticheat)

i agree that this is a little primitive, but it does implement FSR

How do I enable FSR from using this? I've built it on windows and it runs, but it does not look upscaled....

manually edit the .cfg file

files here: https://github.com/alvr-org/ALVR/pull/1245/commits/dbf0918791509b647b1eac8471342157c9614a4e

I've checked the config, and I've enable the debug mode inside the config file. Upscaling is not happening nor does debug mode appear inside the HMD. It is not working on Windows. Am I failing to enable something?

i believe that there is a far better solution to all of this, that runs on the client and therefore supports linux. I'm closing this for now.


Create hooks that are called when a provider is activated/deactivated

The use case here is that builds and deployments sometimes use providers for their side-effects (e.g. setting up credentials, a VPN connection, ...). At the moment that works if you run everything on the same machine, but not across machines/containers/functions. We need a way to tell a provider to activate and deactivate; these hooks should be called before and after builds and deployments. One option is to rerun the deployment step, but that doesn't solve the deactivation.
Proposing to add to new fields to the release:
activate_provider
deactivate_provider
Same structure as other scripts. Not set by default.
Some questions though: how is this tested if it's not part of the regular release process - should it be part of the regular escape run release process? What if it fails? What if the build/deployment fails?

Current implementation:

The optional activate_provider script is run on a provider package when a build, deployment, errand or destruction is started from a package that consumes it.
The optional deactivate_provider script is run on a provider package when a build, deployment, errand or destruction finished on a package that consumes it.
The script has access to the deployment inputs and outputs.
Templates are not compiled, downloads are not performed.
The scripts are also run for each provider's providers.
The scripts are also run when a dependency is reused as a provider (see #9)
Currently the scripts aren't run when doing an escape run release, but this will be addressed in a separate ticket.

Closing this, but see #42 and #43 for remaining enhancements.


maintainers/scripts: test for haskell configuration overlays

The added nix expression allows maintainers to check for regressions in
the configuration overlays employed by haskellPackages and friends. The
reasoning behind this is that, if we add an override for something, it
should also build. To test this fact, we extract all attributes touched
by a configuration and obtain all relevant derivations corresponding to
it which can then be thrown into nix-build --keep-going.
I've been using this expression to verify configuration-ghc-9.2.x.nix
for a week or so which works quite well. The amount of stale overrides
in other configuration makes it a bit more painful for other use cases
at the moment.

Motivation for this change
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

That’s pretty cool. But it’s mostly only useful after hydra has built the current package set, right? Otherwise this sounds like a lot of builds?

That’s pretty cool. But it’s mostly only useful after hydra has built the current package set, right? Otherwise this sounds like a lot of builds?

Yes probably. The default mode yields 700-800 derivations at the moment. For e. g. GHC 9.2.1 it is much less (about 100) which is kind of feasible to build.
The main idea anyways is to look for regressions and potentials for cleanups, so it's okay to wait for Hydra (results are probably also kinda useful if executed on master).


Standstill message causing car not to continue anymore

Describe the bug
RAV4 with a SDSU never had this issue of hitting the gas or resume to accelerate after stopped. Now the standstill message shows up and car does not continue when the lead car goes. Running master ci but someone in discord still said to report issue here.
Which car does this affect?
2018 Toyota rav4 hybrid
Provide a route where the issue occurs
0fd770798a15a939|2022-12-07--13-30-43--0
openpilot version
0.9.1/master-ci/c5a0289/dec 06
Additional info
Experimental mode and disengage on gas were off.

@sshane is this due to your recent standstill logging?

Yes, this broke auto start for this user. I assumed that NO_STOP_TIMER cars don't ever go into standstill since we don't request it (via the ACC_CONTROL), however that's not the case as seen here:

These cars actually do go into a full "standstill" state where the car holds it in place. The difference is that all we need to do is request positive acceleration (or enough to get moving based on hill pitch) and it leaves standstill. Would like to keep logging standstill since it technically is in a special state (albeit one that we can exit ourselves), but I'll revert for now and properly fix in our Prius.

Should be fixed on master! https://github.com/commaai/openpilot/pull/26733


viorng: implement rng using CNG instead of CryptoAPI

Microsoft recently took down the CPDK download link. I am consulting with Microsoft on this, but I suspect it is because CryptoAPI is deprecated and superseded by CNG, see https://docs.microsoft.com/en-us/windows/win32/seccng/cng-portal.
Building win8/8.1/10 using EWDK fails because of this, since bcrypt_provider.h is not included in EWDK, only bcrypt.h (CNG) is. We need to implement a new rng using the CNG API, likely using BCryptGenRandom(), https://docs.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom.
cc: @hammerg

@rob-scheepens The CPDK is not related to CryptoAPI, this is provider part of CNG. The point of virio-rng device and driver is that it installs itself as a provider of cryptographic services, we can't use BCryptGenRandom, we implement it. I've attached the installer files (got from cache of packages on the machine where it is installed).
CPDK.zip

@ybendito thanks for the insights. Do we have an alternative to remove the dependency on bcrypt_provider.h?

Got confirmation from Microsoft that CPDK download will be up in a few days. Once confirmed, I'll close this issue.

Microsoft confirmed that https://www.microsoft.com/en-us/download/details.aspx?id=30688 is up again. Checked it, and all is ok now. Closing now.


dEchorate_rir_database.csv not found

Hello,
The dEchorate_database.csv file used in the "[Control] check RIRs in dEchorate_rirs.hdf5.ipynb" notebook is not available in the provided zenodo dataset link.
Only the "dEchorate_database.csv" is available, which does not contain the rir column.
Thank you for this great work!

Sorry, the data has been moved temporarily here:
https://drive.google.com/drive/folders/1yGTh_BjnVNwDgBsn5mkuW3i4rJIgZwlS
I will soon upload whole the files on Zenodo.
Do not hesitate to contact me for further explanation

I remember I modified the code. Please refer to the script.
https://github.com/Chutlhu/dEchorate/blob/master/[Control%2CHDF5] check HDF5 contents.ipynb
You can find all the files in the drive folder

感谢您对我们的数据集感兴趣。我记得我修改了代码。请参考剧本。 https://github.com/Chutlhu/dEchorate/blob/master/[Control%2CHDF5] check HDF5 contents.ipynb
您可以在驱动器文件夹中找到所有文件

Thank you very much for your sharing and response。


rhyoids senpai

please update this beautiful plugin thank you

What would you have updated?

uhm.. well i am think its not working last time but let me try again

Yes it’s currently not working. I have a big fix pending review from the
Runelite developers. It should be fixed in a few hours after approval.
Thank you for letting me know
On Tue, Apr 6, 2021 at 10:25 AM yurixoxo @.***> wrote:

uhm.. well i am think its not working last time but let me try again
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rhoiyds/osrs-streamers/issues/11#issuecomment-813756864,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRDRIGPAI4WGU76YYJSKU3THJPJVANCNFSM4ZHCOL7A
.

oh thank you so much! met lots of cool underground streamers from this so its really underrated imo

oh thank you so much! met lots of cool underground streamers from this so its really underrated imo

oh i meant to ask if the files are ok to be compiled already or like do you need to wait for runelite to give the ok

Hello! I can confirm that just now the developers approved the bug fix, so
the plugin should now be functional again :)
On Tue, Apr 6, 2021 at 10:40 AM yurixoxo @.***> wrote:

oh thank you so much! met lots of cool underground streamers from this so
its really underrated imo
oh i meant to ask if the files are ok to be compiled already or like do
you need to wait for runelite to give the ok
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rhoiyds/osrs-streamers/issues/11#issuecomment-813761505,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABRDRICLKFTEZBJBNCVNFNLTHJQ7PANCNFSM4ZHCOL7A
.

woo! thank you <3


Bad line number margin in diff editor

The line number gutter seems to have been squeezed out of any padding it had. IMO the line number gutter shouldn't look any different than from a regular editor.

Same root cause as #15704 (glyph margin was disabled in the diff editor)


misaligned text in floating window

FAQ

[X] I have checked the FAQ and it didn't resolve my problem.

Announcement

[X] I have checked Breaking change announcement.

Minimal reproducible full config
local cmp = require('cmp')

cmp.setup({
    snippet = {
        expand = function(args)
            vim.fn["UltiSnips#Anon"](args.body)
        end,
    },

    sources = {
        {name = 'nvim_lsp', keyword_length = 1},
        { name = 'ultisnips', keyword_length = 1},
    },
})

Description
Text is misaligned in the floating window.

Steps to reproduce
Use Clangd(15.0.6) installed through Mason.
Nvim v0.8.3
Expected behavior
aligned and flawless text.
Actual behavior
text is misaligned in floating window suggestions.
Additional context
No response

Seems like your 'key' icon is double width maybe?

I guess it was a clangd side problem.
The nvim-cmp's help describe it. Could you read it?
I'm using clangd. The menu items are mis-indented.

  It's caused by clangd. You can specify `--header-insertion-decorators` for
  clangd's command-line arguments. See #999.


Add OS X target

This adds a shared OS X scheme and a sample project.

Great work, thanks for the PR!
Cheers
Ash


Getting dataclass_transform() got an unexpected keyword argument 'field_specifiers' when using v1.1.04

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
Getting
dataclass_transform() got an unexpected keyword argument 'field_specifiers'

When starting a FastAPI app (v0.89.1).
Example Code
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

app = FastAPI()

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=Service.CORS_METHODS,
    allow_headers=["*"],
)

Python, Pydantic & OS Version
pydantic version: 1.10.4
 pydantic compiled: True
 install path: D:\ProgramData\Anaconda3\envs\event-engine\Lib\site-packages\pydantic
 python version: 3.9.12 (main, Apr  4 2022, 05:22:27) [MSC v.1916 64 bit (AMD64)]
 platform: Windows-10-10.0.19045-SP0
 optional deps. installed: ['dotenv', 'email-validator', 'typing-extensions']

Affected Components

[X] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[X] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

You are using pydantic 1.10.1

No I actually got this error in 1.10.4

Then you have an outdated version of typing-extensions.


[FEATURE] Support Lookup Command in PPL.

@vamsi-amazon please add context, description, example and functionality needs in the issue
thanks


Add warm_start option / possibility to restore state of optimizer to BayesSearchCV

I am using BayesSearchCV to optimize a sklearn Pipeline. But from time to time and for reasons I cannot control, the process crashes and the results get lost. Is there any option to restore a BayesSearchCV-instance to resume the search instead of starting anew? I considered using the skopt.callbacks.CheckpointSaver but I have no idea on how to use the CheckpointSaver-Result to reset the state of BayessearchCV.
Another use case for making the optmizer state setteable would be, if I successfully ran a promising search and want to resume/continue the search using a DeltaYStopper with a lower tolerance. In this case, it would be great if BayesSearchCV.fit took a boolean argument warm_start that would prevent the optimizer from being reset.

Same here. It would be great if BayesSearchCV can support warm_start in order to be able to train large datasets.


Generate query DSL types

Description
Generate Query DSL types.
There are some edge case query types that are excluded for now, and will be handled in a follow up PR as their schemas are a bit more complex to handle.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Huge if true :)

Huge if true :)

It is but went through all, seems to be "easy" changes


fix(ci): use new --start argument for offset

Uses --start over -o for setting consumer offset on CI tests.

Currently when running Smoke tests the CI workflow fails due to the specification
of a deprecated argument.
Here is an example: https://github.com/infinyon/fluvio-client-node/actions/runs/3518395317/jobs/5897260836#step:4:1

bors r+


Button placement/icon to start/stop server

Decide on the recommended way to start/stop the Evidence preview and which icon/text to show.
Current places:

"Status bar" at bottom of VS Code window (play button)
Top right of VS Code window

Some options for the top right placement:

Preview Icon

Play Icon

Preview Text


⚠ CIOOS Pacific ERDDAP dataset DFO_MEDS_BUOYS has degraded performance

In 6385659, CIOOS Pacific ERDDAP dataset DFO_MEDS_BUOYS (https://data.cioospacific.ca/erddap/tabledap/DFO_MEDS_BUOYS.htmlTable?STN_ID&time>=now-1week&distinct()) experienced degraded performance:

HTTP code: 503
Response time: 11113 ms

Resolved: CIOOS Pacific ERDDAP dataset DFO_MEDS_BUOYS performance has improved in e49fb8c after 5 minutes.


iox-#2007 Update developer meetup info

Pre-Review Checklist for the PR Author

[x] Add a second reviewer for complex new features or larger refactorings
[x] Code follows the coding style of CONTRIBUTING.md
[x] Tests follow the best practice for testing
[x] Changelog updated in the unreleased section including API breaking changes
[x] Branch follows the naming format (iox-123-this-is-a-branch)
[x] Commits messages are according to this guideline

[x] Commit messages have the issue ID (iox-#123 commit text)
[x] Commit author matches Eclipse Contributor Agreement (and ECA is signed)

[x] Update the PR title

Follow the same conventions as for commit messages
Link to the relevant issue

[x] Relevant issues are linked
[x] Add sensible notes for the reviewer
[ ] All checks have passed (except task-list-completed)
[x] All touched (C/C++) source code files from iceoryx_hoofs are added to ./clang-tidy-diff-scans.txt
[ ] Assign PR to reviewer

Notes for Reviewer

As decided on the last meetup, the date is changed to the first Tuesday in the month and the link to the video meeting is updated.
Checklist for the PR Reviewer

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code according to our coding style and naming conventions
[ ] Unit tests have been written for new behavior
[ ] Public API changes are documented via doxygen
[ ] Copyright owner are updated in the changed files
[ ] All touched (C/C++) source code files from iceoryx_hoofs have been added to ./clang-tidy-diff-scans.txt
[ ] PR title describes the changes

Post-review Checklist for the PR Author

[ ] All open points are addressed and tracked via issues

References

Closes #2007

@FerdinandSpitzschnueffler @mossmaurice @dkroenke @MatthiasKillat @elfenpiff @budrus feel free to add yourself as reviewer


Drop GIL while generating crypto keys

Not tested; let's see what CI says :-)

Well, it almost passed. The one failure is in test_recv_json_cancelled on py34 on win-64, which looks like a flaky test to me?

Indeed. Running all the Windows tests is a new thing, and probably has some fiddling to do.


Negative eletrical costs

Some country have economic mechanism associated with the energy crisis that allow prices of electricity to became negative in some periods.
It's not easy to implement them in Fibaro energy panel but I think it's not impossible... I just don't have the coding skills to do it (for now).
My idea is to consider that, when the rated price is negative, that we are producing energy and not consuming it and that we are producing it at the inverse negative cost. So if I get a -0,10 €/kWh and a given hour period, I need to convert all my kWh consumed in that period in the same value but "tagged" as produced at a given price of 0,10 €/kWh.
How can we do that on the Fibaro Energy panel? Where can I get some documentation that allow me to study how Fibaro manages the energy panel to know what variables should we "mess up"?

I fixed the negative rates with a local table in QA and don't use FIBARO Tariff table which can't handle it.
But I can't see that we actually produce any energy if the price is negative? The only way I can think of is if we have some kind of solar panels, wind turbines or something like that.


Update loki.md

Change Loki gateway name
I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=ru
Description of changes:
In reality Loki gateway name is different
https://server-yfm.website.yandexcloud.net/server-yfm-ef16797e-49c7-400d-a15f-b0c32b6b02a6/ru/managed-kubernetes/operations/applications/loki.html

Все готово!
Commit: b7bd3b9d51f69fb7dbdd4a0cd77a6190d5160098
Проверьте результат: RU.
Check the result: EN.

Все готово!
Commit: 0f9155f19323d3f88fb4f932244788fd08d218fd
Проверьте результат: RU.
Check the result: EN.

Все готово!
Commit: 72a2582b065d9cc164dcacb49c4499bd897d02e3
Проверьте результат: RU.
Check the result: EN.

@kuPyxa, hello. Thank you for making our documentation better. The name of the Loki gateway service has indeed changed. I edited the PR, offered a more universal instruction, in case the developer changes the name of the service again.
I also corrected the instructions for helm chart in accordance with the new version in the Marketplace.
Please write here billing account ID in Yandex Cloud so that we can award you a grant as part of the content program.

Hello. My billing account id is dn2t3j8b2nvea7hflttf. Thank you!

@kuPyxa The grant has been issued.


White editor tab background in dark mode

First of all, thanks a lot for porting this fantastic theme to jetbrains ides!
It looks like something is fishy with the dark themes as I get a white background to the tab labels. I tried adding a few parameters to the json file, but I can't seem to find the right setting. Any pointer would be great!
Here is a screenshot of what I mean

You can fix this by changing the color manually. Go to Settings -> Editor -> Color Scheme -> General. Find Editor -> Tabs and change the background color of "Selected Tab".