BUG: scipy.stats.pearsonr produces incorrect output for complex arrays

Describe your issue.
I create a numpy array full of complex numbers, and I compute the correlation of the array with itself. Instead of the expected output of R = 1, some other value is produced.
Reproducing Code Example
import numpy as np
import scipy.stats

array = np.array([
    -4.21904583e-03-1.53714478e-03j, -4.24663044e-03-1.12832926e-03j,
    -4.26968892e-03-4.87451439e-04j, -6.99917538e-03+3.07376860e-04j,
    0.00000000e+00+0.00000000e+00j, -2.42585590e-02+1.42052459e-02j,
    -5.53404148e-03+4.60188062e-03j, -4.68829482e-03+4.90179019e-03j,
    -7.02331258e-03+8.75908673e-03j, -1.31233383e-01+1.86572484e-01j,
    -4.05137401e-03+6.59972035e-03j, -4.20701822e-03+7.29813816e-03j,
    -3.56487231e-03+6.51759430e-03j, -3.68077200e-03+7.04388575e-03j,
    -8.16459981e-02+1.70084145e-01j, -5.11737898e-03+1.98164995e-02j,
    6.72772914e-04-7.28110367e-05j,  2.13957504e-03-1.82525995e-03j,
    1.60369835e-03-1.54029189e-03j,  8.77788719e-02-8.45568854e-02j,
    1.04277417e-01-9.38854749e-02j,  7.58465696e-03-6.07906563e-03j,
    8.00776452e-03-5.70470615e-03j,  8.36166252e-03-5.14978313e-03j,
    0.00000000e+00+0.00000000e+00j,  0.00000000e+00+0.00000000e+00j,
    0.00000000e+00+0.00000000e+00j,  7.26422461e-03+4.40382166e-04j,
    4.01364547e-03+1.09269127e-03j, -1.99069471e-01-1.20355081e-01j,
    1.56511579e-01+2.59839758e-01j,  9.14046953e-04+5.42262898e-03j,
    -8.37800782e-04+5.67555708e-03j, -3.36561822e-03+7.50108018e-03j,
    -4.22682090e-03+5.36279242e-03j,  5.95438564e-02-3.48209841e-02j,
    -6.77184281e-03+2.10711488e-03j, -4.84293269e-03+3.78698499e-04j,
    -5.13547723e-03-6.86765713e-04j,  4.48392070e-01+1.54568226e-01j,
    -3.17412047e-01-2.35431216e-01j, -2.95731737e-03-3.39078899e-03j,
    -1.95111443e-03-3.77545168e-03j, -2.82719903e-04-1.61393513e-03j,
    7.20241467e-04-1.73515565e-03j, -1.96675563e-01-4.42259734e-02j,
    0.00000000e+00+0.00000000e+00j,  4.84813452e-03+7.60742077e-03j,
    6.31707602e-03+1.51808252e-02j,  2.99277774e-03+1.18667410e-02j,
    5.64640060e-04+1.58372118e-02j, -1.74137347e-03+1.70383706e-02j,
    -5.91398408e-03+2.30008930e-02j, -7.12027831e-03+1.87732435e-02j,
    9.30919156e-02-1.65255887e-01j, -2.09716130e-01+2.30490479e-01j,
    -1.80115101e-02+1.37248240e-02j, -1.85851718e-02+9.23420957e-03j,
    -1.88459965e-02+5.12854226e-03j,  1.09175874e+00-9.17875627e-02j,
    -1.63766142e-02-5.32431671e-03j, -1.24749963e-02-9.63714407e-03j,
    -7.58657222e-03-1.27728267e-02j, -1.99052439e-03-1.35879033e-02j,
    -5.70595470e-01+2.27742231e+00j,  1.24516564e-02-1.21867738e-02j,
    1.82174257e-02-8.67884733e-03j,  2.27204879e-02-3.77097224e-03j,
    2.66143091e-02+2.68683768e-03j,  1.06983372e+00+3.19301893e-01j,
    -6.86033738e-01-4.72910865e-01j,  3.00291320e-02+3.10297521e-02j,
    2.22880055e-02+3.45332319e-02j,  1.61724440e-02+4.04122368e-02j,
    9.78881043e-03+4.96053678e-02j, -6.51085120e-03+5.27227722e-02j,
    -1.76752380e-02+5.26095806e-02j, -3.81856382e-02+6.41735764e-02j,
    0.00000000e+00+0.00000000e+00j, -4.32481463e-02+3.88706950e-02j
])
r, pval = scipy.stats.pearsonr(array, array)
assert np.isclose(r, 1.0), r

Error message
AssertionError                            Traceback (most recent call last)
Cell In [77], line 47
      4 array = np.array([
      5     -4.21904583e-03-1.53714478e-03j, -4.24663044e-03-1.12832926e-03j,
      6     -4.26968892e-03-4.87451439e-04j, -6.99917538e-03+3.07376860e-04j,
   (...)
     44     0.00000000e+00+0.00000000e+00j, -4.32481463e-02+3.88706950e-02j
     45 ])
     46 r, pval = scipy.stats.pearsonr(array, array)
---> 47 assert np.isclose(r, 1.0), r

AssertionError: (-0.22625405562215772-0.14080706439966875j)

SciPy/NumPy/Python version information
1.9.1 1.23.3 sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)

I encountered a similar problem in xarray. One of the arrays needs to be conjugated before computing the dot product when computing covariance.

Not much of scipy.stats appears to have been designed with complex data in mind, so I don't think this is a bug. I'll change the title accordingly.

Shouldn't the function at least raise an exception when passed a complex data type instead of giving the wrong answer?

That would be better, yes. Please submit a PR with that fix and a unit test, and I can review and merge it.

@mdhaber Was this addressed in the mentioned pull request or is there still room to submit a PR for this?

This is still waiting on a PR. If you choose to do the complex conjugate approach, please provide a reference for why that is appropriate and demonstrating that the null distribution of the statistic is unchanged (so that p-value and confidence interval are still correct). If we can't show that easily, let's raise a ValueError for now. There's probably still time to backport that to version1.10 before release.

I opted to go for the Value Error for now as this is easy enough to implement and have for the time being. My statistics knowledge  isn't great, and my time spent looking for a reference for the complex conjugate approach was futile. With some help I could assist further in developing the complex conjugate approach, otherwise I would have to leave the issue to someone more knowledgeable on the topic.


Added modMute Event

fingers crossed

Cool! Looking good now. Thanks again for picking these up :D
if you wanna update the plugcommunity docs too that'd be :100:

If you are okay with me posting your userID there, then I can update the plugcommunity docs

Or you could make one up 🤷♀ I don't mind tho


Round materialish buttons are useless and hide important text underneath

First of all thanks @rdoeffinger for keeping this project alive!
I find that the round materialish buttons you recently introduced in the app are useless and actually hinder usability instead of improving it.
Useless because all their actions were already 0 or 1 clicks away in the old interface:

Searching is the default action when you enter a dictionary. The cursor is automatically in the search box and keyboard is opened. Thus we need zero clicks to get to it. Even if we clicked somewhere else, searching again required only 1 click in the search box, which is a big target that you can easily hit with your fingers.
Clearing the current search word took 1 click in the X button to the right of the search box. Again this is a big target that no one misses.
Switching languages also took a single click in the flag, again a big target. This one was somewhat hidden. It is hard for a new user to guess that clicking the flag changes languages. The straightforward solution would be to place (watermark) the two arrows symbol on top of the flag.

Summing up: these new buttons solve no usability issue.
 Checkout what happens in my device:

90% of the time we use Quickdic with the keyboard opened. These new buttons take a lot of the precious little space we have left. With them, I am forced to hit the back button to hide the keyboard in order the read the translations. That's something I didn't had to do before. Thus they actually increased the number of clicks for me.
Taking this into consideration, I would urge you to remove these buttons, or at least add a preference's option to do so.
Tips for future UI improvements
The original UI by Thad Hughes is actually really good. All major actions are easy to do with it. I would exercise caution before adding modifications.
I see that you are in the mood to update it to a full blown Material UI. If so, please consider starting such work in a new branch. Besides avoiding breaking the UI on the production app, a new branch would allow you to start from scratch. It is rarely a good move to work iteratively on top of an old UI design. Better start anew and see whether applying Material solutions to this problem renders a better UI than the original Holo theme.

Thanks for your feedback and I am happy to recruit your help to find a better solution.
But it seems to me you are missing or misunderstanding some things around this change:

I am not changing the UI for fun or to follow some guidelines/themes, but I am reacting to specific user issues and requests
In this specific case, a button on the top left is a pain to use on any large phone (even the search field is problematic to reach), see e.g. issue #48
Personally, I do use smaller devices for testing, but I found it quite unusable with the keyboard open even before. One of the reasons why I changed the enter/"done" button on the keyboard to hide it, which I found more comfortable than pressing "back". Using it that way, it seemed to work fine even with the extra buttons, but if you usually leave the keyboard open that does change things.
It does solve some minor issues like that finding your way back to the dictionary selection was quite a pain, but that is just a minor side-effect.
(I also have to admit I found your criticism a bit harsh, considering that more space is wasted on your screenshot by an oversized action bar - on my phone its relative size is a good bit smaller - and a really useless empty suggestion bar above the keyboard, sorry if it shows a bit in my answer :) )

Now, as to what to do about it, I have come up with the following options, but I like none of them.
If you convince me that something is the perfect solution I'll do my best to do it.

reduce the size of the buttons (and/or margins). Very much a compromise that I suspect leaves nobody happy
add an option. The chicken-out solution. It works as a band-aid, but adds complexity, new users probably will not be aware of it and I'll probably end up testing only one of the settings most of the time...
make it dependent on screen size. I don't much like the idea that someone e.g. switching their phone will suddenly be faced with a different UI though.
hide the buttons when the keyboard is visible. Annoying for people with large screens as the keyboard shows by default and we're back to the original problem. Also, I haven't found a way to do this reliably.
as above, but instead do it as soon as the search field contains text
possible compromise mixture of the above: force the action buttons to always leave a certain minimum area free (i.e. do not allow them to move up all the way). Not sure how to do that, and might look ugly.
remove only the search button. When I tried it, it didn't really improve things much whether just half or all of the text on the right side is obscured...

As to the suggestion of using a different branch, as mentioned I do not plan any such large changes.
Plus a branch would not fix that it would only be me that tries it out (and I concluded that this change should be an overall improvement), and it would just mean that I get the complaints about the changes later. Also in case of serious issues it is possible to get any old version from F-droid or here, though I admit that Google Play does unfortunately not offer that option.

Thanks for the thoughtful explanation. Now I see where this is coming from, I had never used QuickDic in a tablet or any other large screen device.

more space is wasted on your screenshot by an oversized action bar

Agreed. The action bar could be thinner. It probably has to do with the low pixel density of this device, a Samsung GT-i9100. It seems that QuickDic has a fixed height action bar or doesn't adjust it correctly for a hdpi screen. Other apps seem to do that adjustment or have a thinner action bar to start with, e.g. Conversations and FreeOTP.
However, not all that height was taken by the action bar. Some of it was taken by the box surrounding the matched word. Take a look at the screenshot bellow for a clear example. As you can see the box that surrounds each matched word has an oversized top padding, that is much larger that the bottom padding.

and a really useless empty suggestion bar above the keyboard

That one is actually really useful. Unfortunately the previous screenshot doesn't show it in use. Here is what actually happens when I am typing in QuickDic (I was trying to type correction):

Solving the above issues of oversized action bar and word box would help, but wouldn't solve the entire problem.
Going through all your solution proposals leaves me with no perfect candidate. The solution I am most fond of would be to hide the buttons, or even better, make them semi-transparent, when the keyboard is open and the available heigh is smaller than a given value.
This would fulfil your requirements: no button size compromise, no opt-out, same UI across all devices, etc. Though, it might be somewhat hard to implement. As such, I would leave things as they are, and see if anyone else besides me complains about this. Perhaps in the meantime I'll get used to closing the keyboard everytime I type.

Well, I am not entirely giving up on this.
I just had at look at what this looks like on one of the platforms I usually test on, and I confirmed that somehow the UI proportions are completely different, so that must be part of why I saw less of a difference:

So on some phones the action buttons are shown much smaller already. Thus I might as well go for consistency by making them smaller everywhere, it looks fairly good even on the big phones IMHO, even though it is against the material guidelines.
Btw I do of course know about the suggestions bar on the keyboard, but e.g. on that system it at least disappears when it has no suggestions to show...
I also forgot to mention: the reason to have the search button that changes into X (clear) instead of having it disappear is because I'd like to get rid of the "x" in the search field. On smaller devices that text field is rather too small, and the extra space would be nice to have there. Haven't figured out a good way to do it yet though. If you think it's a really bad idea you can say it right now before I do it ;)

So on some phones the action buttons are shown much smaller already. Thus I might as well go for consistency by making them smaller everywhere,

That would help somehow. I think it would let me read the 3rd entry, probably reducing the number of times I have to close the keyboard.
The search button turning into X is quite useful, I have been using it often. If you keep it like that, I see no problem in dropping the X in the search field.
The one I rarely use is the switch language button. When I am reading or writing a text in a given language, I keep searching for words in that language. Only an hour or so later, when I grab a text in some other language, do I need to switch languages in QuickDic.
Thus, with my usage pattern, moving my finger to click the flag is no big deal, even in a large screen, because I do it only once in a while. This seems to be the exact opposite of other users as pointed out by @moshpirit in #48.
For me, in a large screen, it would be more useful to have the navigation buttons (up ▲ and down ▼) down there in round buttons. Of course this would totally spoil the UI in a small screen. Just letting you know so you have some insights into how people use the app.

Thanks everyone for the comments. I'll close this for now, on the assumption that current behaviour is a reasonable compromise with no obvious ways to improve, and thus expect no further work on it.

current behaviour is a reasonable compromise with no obvious ways to improve

You're right.
Still, could you make the buttons smaller everywhere like you proposed above? That would help, at least in my case.

Hm, I did that already for 5.3.1 (ID 78). Are they not smaller on your device?

That version still didn't make it into F-Droid. That's why I missed it, sorry.
I'll report back as soon as it enters into F-Droid.

I've just tried the new version with the smaller buttons. It does help a lot. Now I can read the 3rd entry and sometimes the 4th one. Thanks!


Update PF react-core

https://issues.redhat.com/browse/RHSTOR-2148

/hold
needs to be reviewed.

/hold cancel

/override ci/prow/odf-console-e2e-aws

/test lint

/test lint

/test odf-console-e2e-aws

/test odf-console-e2e-aws


Bug: PacketItemNBTToServer can be used to change NBT for non-RFTools items

PacketItemNBTToServer should have some validation on the server side to make sure that the item is actually an RFTools item.  Without that, it creates a lot of vulnerabilities with other modded items.

How can it create vulnerabilities? You need a mod to use this packet and if you have a mod then you can do it yourselves

I created an example Proof of Concept exploit for the combination of Storage Drawers and RFToolsControl which allows spawning any item in the game, even Creative Mode items.  It will work without privileges on the server, and the exploit I created is client-side only.  Basically, some mods like Storage Drawers put tile entity data into the tag that PacketItemNBTToServer allows changing.  In the case of Storage Drawers, the NBT data can contain ItemStacks in the inventory.  This effects modded items that don't use RFToolsControl.  There can also be problems with RFTools and any other mod that stores important data in the NBT compound tag.  Since there isn't any normal way to edit NBT data on a server using the client, this mod/packet can cause serious problems if it is misused.

I will fix this

Fixed next release


A few questions

Hello.
Is it possible to automatically have the option to switch between "Favourites" or other already existing album types? How can I do this?
Also, when I run the example, there is no option to switch albums in the navigation bar. How can I add this option? Do I have to update PFFetchResult ? Thanks!

I'm not sure I understand your first question. Isn't it the same as the second one?
As for your second question. Yes you can set the fetch options in settings to include the albums you want.
In the comment above it there are examples of commonly used 'albums'.

Yes, I think you understood correctly. I want to have navigationItem.titleView a drop down menu in which I can select "favourites". What's the general approach to this. Do I have to figure out what assets go into the "favourite" category myself, then pass it as the PFFetchResult ? Thanks

I think the question @josharnoldjosh is asking is: Why does he never see albums at the top of the ImagePickerController?  I'm having the same issue.  As far as I can tell, https://github.com/mikaoj/BSImagePicker/blob/master/Sources/Controller/ImagePickerController.swift#L50 albums is always size 1 and is the album Recent.  This of course means that albumButton is hidden.  Unsure why the fetching of albums isn't working.. attempting to look into it.

Ah, I see.  Adding to https://github.com/mikaoj/BSImagePicker/blob/master/Sources/Model/Settings.swift#L118 seems to have produced my desired results.

Yeah I've experimenting with having the default to only use one asset collection that simply contains all images.
Maybe I'll revert that experiment and enable them all as default again. But as you've discovered you can set whichever you want and if there are more than 1 the button will show up.


Remove GIF Support

[ ] remove @nsfw-filter/gif-frames
[ ] remove classifyGif

^ add update DOCs and NSFWJS.com to exist without this support.

why?

Great question - the GIF library that was broken out was effective but unmaintained.  It also added a good bit of size and functionality that was specific to one technology.  If we support GIF why not support Video?  etc.  The rabbit hole was widening so we just clamped back down to the core of the service and left the door open for someone else to build ON TOP of this library to support a variety of media.
There's a LOT of options I can think of adding, but at last I decided against it - unless we get funding to support a wider array of features.

makes sense, it did seem like an odd inclusion tbf. thanks for replying!


Exception raised when using sys.exit(0)

Problem
When having sys.exit(0) to indicate a program's termination, Legate seems to catch the SystemExit raised by sys.exit(0) and treat it as an error.
To reproduce

step 1: prepare two Python test1.py and test2.py with these contents:

test1.pyimport sys
from legate import numpy
sys.exit(0)

test2.pyimport sys
from legate import numpy

step 2: run both scripts with legate, for example:$ legate --cpus 1 test1.py

and$ legate --cpus 1 test2.py

Expected and actual outputs
Both scripts are supposed to output nothing. However, test1.py returns this message
[0 - 7f34317b87c0]    0.807057 {6}{python}: python exception occurred within task:

I guess Legate catches the SystemExit from sys.exit and treat it as a normal exception, i.e., en error.

sys.exit raises SystemExit exception. For now, Realm, the underlying system that runs Python tasks for Legate, cannot really deal with exceptions and it treats them all the same. I admit that having sys.exit just work could be nice. We will investigate if this can be fixed easily or not. Also, looking at the error message it is confusing that there is nothing after the colon.


add addon search

This pr adds a generic search function that should work for every addon that has a search function.
The current behavior of the search buttons in the addons view is nothing but a socket timeout and a not responding app during everlasting reconnections when using tcp connection.
The problem with the addon search is that it is actualy a GetDirectory request. But to obtain search results a text input have to be done. To do so you have to send the search string to the backend. But because of Socket.getOutputStream() blocks a request for sending until the response of the previous request is received the search string is sent via http as workaround (to overcome this nio channels could be used in the future).
There is also a fallback implementation to prevent socket timeouts and possible reconnection difficulties. This fallback sends a dummy string to the backend to force the response of the search request. The ugly thing is that this dummy string shows up in the addon history.

Thanks for this. I will only be able to look into it the next week, but it's not forgotten.

Once again, thanks and sorry for the delay. Some comments on this PR:

Can you please separate this PR in 2, where one only fixes the repositories in gradle (as you previously suggested).

I'm not a fan of the shouldForceHttp in HostConnection, which results in always sending Input.SendText through HTTP. You can specify which protocol to use on each method execution, so you don't really need this. Take a look at
https://github.com/xbmc/Kore/blob/7ae217652c9c211d5abe1e3aa6de4a997754371e/app/src/main/java/org/xbmc/kore/ui/sections/remote/NowPlayingFragment.java#L527
for an example, but basically, in your PR, you can change the sendTextInput function to

    private void sendTextInput(String text, boolean done, boolean isDummy) {
        HostManager hostManager = HostManager.getInstance(this);
        hostManager.getConnection().setIgnoreTcpResponse(isDummy);

        HostConnection httpHostConnection = new HostConnection(hostManager.getHostInfo());
        httpHostConnection.setProtocol(HostConnection.PROTOCOL_HTTP);

        Input.SendText action = new Input.SendText(text, done);
        action.execute(httpHostConnection, null, null);
    }

I also don't like that this is implemented in BaseMediaActivity. That's a base class for a lot of others, and given that this is kind of an hack it should be as localized as possible, not applied on such a broad class. I suggest that you instead implement inputOnInputRequested on AddonsActivity, exactly with the code you used (some imports need fixing, but nothing much).

(i'm also not a big fan of including ignoreTCPResponse on HostConnection, but i understand its usefulness and i don't have an alternative, so it stays)

Thanks for your suggestions
I will do so in the next days.

Hey there
All changes are done. After the google repo pr https://github.com/xbmc/Kore/pull/603 is merged and rebased this should also finish successfully.
Regards
Erik


To reproduce:
from sectionproperties.pre.library.primitive_sections import circular_section
from sectionproperties.analysis.section import Section

circ1 = circular_section(d=100, n=64)
circ2 = circular_section(d=100, n=64).shift_section(x_offset=35)
geom = circ1 ^ circ2
geom.create_mesh(mesh_sizes=5)
Section(geometry=geom).plot_mesh()

Generates the following:

Expected behaviour:
There should be a hole in the centre region - note the coarser mesh indicating the lack of a control point here.
Discussion:
If this is too difficult I wouldn't be against removing this functionality. I am having a hard time trying to come up with a real-life use case for this operation, but perhaps more creative minds can find a use!

See also newly documented example.

Ok, I have spent a bit of time with this today and it might be a bit shifty of a fix.
The general strategy that I have been relying on in the pre-processing is that, when a hole is created, it is fully enclosed in a shapely Polygon and the hole is present in the .holes attribute of the shapely Polygon. This strategy is not robust enough because it does not handle the case where even shapely does not recognized a hole.
Example where symmetric difference is "manually" performed:
int_geom = circ1 & circ2
geom = (circ1 | circ2) - int_geom
geom.plot_geometry()

Shapely does not recognize a hole here because the resulting MultiPolygons are valid shapely Polygons that only touch at points. Therefore, when I perform the unary_union during the hole-finding algorithm on the MultiPolygon, I don't get a Polygon with a hole, I get the same original MultiPolygon.
To come up with a more robust algorithm, I would need to have some way of getting this MultiPolygon "converted" to a Polygon.
One possibility
I can change line no. 2387 to add a .buffer:
        unionized_poly = unary_union([geom.geom for geom in self.geoms]).buffer(1e-6)

This succeeds in converting the MultiPolygon into a Polygon and the hole is then recognized:

This could work because I am only performing the unary_union and .buffer to find holes. The result from these operations is not used in any way for the actual analysis geometry. But, this raises two questions:

What is an appropriate buffer amount to be a very, very small quantity that would work at geometry at any scale?
Will this cause unintended behaviour in other operations? I.e. the creation of holes that should not exist.

For the first question: Perhaps the scale could be based on the resulting area of the unary union: say, if the area was in the 1000 scale, then the buffer would be performed at the scale of 1000 * 1e-9 where 1e-9 is an arbitrary constant that we choose to find a buffer amount that is sufficiently small from the scale of the original geometry that it can be considered inconsequential.
For the second question: Well, all the tests pass ¯_(ツ)_/¯ So, without thinking of a specific scenario where the buffer could cause unwanted holes, then maybe that is good enough? I tested this 1e-9 constant to see at what (small) scale, this breaks down. It seems to work down to geometries at scales of 1e-7, after which the holes are not recognized.

FYI: At scales of 1e-11, shapely geometries themselves start to break down.

Conclusion
I think this could work well as a solution to this problem. However, @robbievanleeuwen brings up a good point that this kind of operation may be moot anyway since it leaves the modeller with a model with singularities and is not actually useful. I see this symmetric difference as possibly being an operation on the way to a final geometry but not necessarily the final geometry. Additionally, the result of the symmetric difference can be achieved with intersection and difference so I don't think that removing the functionality of symmetric difference will solve this problem.
So, I have included this proposed fix in #297 for review!


[Errno 95] Operation not supported

This looks like more a me issue, but I was hoping you could help to diagnose.
I just ran the pypgx create-input-vcf and it worked fine, but I am getting similar errors when trying to compute control statistics and depth-of-coverage.
pypgx compute-control-statistics chr12:47841537-47943048 CES_CS.zip --assembly GRCh38 "bam_ces.txt" --bed "/hg38.bed"
Traceback (most recent call last):

File "/home/ec2-user/anaconda3/envs/pypgx/bin/pypgx", line 10, in
sys.exit(main())
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/site-packages/pypgx/main.py", line 33, in main
commands[args.command].main(args)
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/site-packages/pypgx/cli/compute_control_statistics.py", line 84, in main
result.to_file(args.control_statistics)
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/site-packages/pypgx/sdk/utils.py", line 93, in to_file
os.path.join(t, '..')))
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/zipfile.py", line 1764, in write
shutil.copyfileobj(src, dest, 1024*8)
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/zipfile.py", line 1172, in close
self._fileobj.seek(self._zipfile.start_dir)
OSError: [Errno 95] Operation not supported
Exception ignored in: <function ZipFile.del at 0x7f5bd95ad7a0>
Traceback (most recent call last):
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/zipfile.py", line 1809, in del
self.close()
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/zipfile.py", line 1831, in close
self._fpclose(fp)
File "/home/ec2-user/anaconda3/envs/pypgx/lib/python3.7/zipfile.py", line 1939, in _fpclose
fp.close()
OSError: [Errno 95] Operation not supported

This was a me issue, I was trying to write the files to a server directory I did not have write access to.


All topology graphs need to specify how many functional groups are required on building blocks.

Notably cage topology graphs are missing this information.

Mostly addressed by #256 but COF topology graphs still need this information.

Finished by https://github.com/lukasturcani/stk/pull/264


after the new windows update i'm getting this error..!!

$docker-compose up
time="2021-07-29T23:02:21+05:30" level=warning msg="The TAG variable is not set. Defaulting to a blank string."
time="2021-07-29T23:02:21+05:30" level=warning msg="The INSTALL_DEV variable is not set. Defaulting to a blank string."
time="2021-07-29T23:02:21+05:30" level=warning msg="The TAG variable is not set. Defaulting to a blank string."
time="2021-07-29T23:02:21+05:30" level=warning msg="The INSTALL_DEV variable is not set. Defaulting to a blank string."
time="2021-07-29T23:02:21+05:30" level=warning msg="The TAG variable is not set. Defaulting to a blank string."
time="2021-07-29T23:02:21+05:30" level=warning msg="The FRONTEND_ENV variable is not set. Defaulting to a blank string."
time="2021-07-29T23:02:21+05:30" level=warning msg="The TRAEFIK_PUBLIC_NETWORK_IS_EXTERNAL variable is not set. Defaulting to a blank string."
services.backend.build.args.INSTALL_DEV must be a string, number or null
Getting this error after creating application using cookiecutter.
Also my existing working project also getting same error. i have updated my windows recently not sure it's because of that.
my existing project was working fine before updating windows, after the update it's stop working and getting this error.
so i try to create new project by using the same cookiecutter. there also i got the same error.
i had reinstalled docker and tried still getting same error.
time="2021-07-29T22:42:01+05:30" level=warning msg="The TAG variable is not set. Defaulting to a blank string."
time="2021-07-29T22:42:01+05:30" level=warning msg="The INSTALL_DEV variable is not set. Defaulting to a blank string."
time="2021-07-29T22:42:01+05:30" level=warning msg="The TAG variable is not set. Defaulting to a blank string."
time="2021-07-29T22:42:01+05:30" level=warning msg="The INSTALL_DEV variable is not set. Defaulting to a blank string."
time="2021-07-29T22:42:01+05:30" level=warning msg="The TAG variable is not set. Defaulting to a blank string."
time="2021-07-29T22:42:01+05:30" level=warning msg="The FRONTEND_ENV variable is not set. Defaulting to a blank string."time="2021-07-29T22:42:01+05:30" level=warning msg="The TRAEFIK_PUBLIC_NETWORK_IS_EXTERNAL variable is not set. Defaulting to a blank string."
cloud you someone please help me on this. my project got stopped, due to this issue. The same code is working fine in linux and MAC OS.

Open Docker Desktop
Go to Settings
Go to Experimental Features
Uncheck Use Docker Compose V2

As of now I don't know how to modify this project to make it compatible with docker-compose V2, but it works ok with V1.

yes it's working now Thank you so much..!

It seems the new compose v2 uses a more strict yaml parser. I found that if I wrapped the boolean defaults in quotes so they are interpreted as strings then it worked correctly. e.g.:
      args:
        INSTALL_DEV: ${INSTALL_DEV-"false"}


Command line install failed

I don't know what this means. Installing via the plugin manager worked just fine.
pi@pi3:~ $ pip install "https://github.com/BrokenFire/OctoPrint-SimpleEmergencyStop/archive/master.zip"
Collecting https://github.com/BrokenFire/OctoPrint-SimpleEmergencyStop/archive/master.zip
Downloading https://github.com/BrokenFire/OctoPrint-SimpleEmergencyStop/archive/master.zip
- 10kB 2.6MB/s
Complete output from command python setup.py egg_info:
Could not import OctoPrint's setuptools, are you sure you are running that under the same python installation that OctoPrint is installed under?
----------------------------------------

Command "python setup.py egg_info" failed with error code 255 in /tmp/pip-AZiJ2y-build/
pi@pi3:~ $

Hum, very strange...
May be somme dependencies, the most strange is install work whit plugin manager....

Are you sure you are under the venv?
Sent from my Lge LG-D855 using FastHub

Are you sure you are under the venv?

Hi,
Sorry, I have no idea. What's a venv? How can I tell if I'm under it?
I logged into my Pi via ssh as 'pi', then pasted the command.
Does it matter what directory you're in when you run the command? Do you
maybe have to be in superuser mode?
Frank
On Wed, Jul 26, 2017 at 11:03 AM, BrokenFire<EMAIL_ADDRESS>wrote:

Are you sure you are under the venv?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BrokenFire/OctoPrint-SimpleEmergencyStop/issues/2#issuecomment-317898229,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGSKYE9S4Po3dSkTa1kpJFt27ombrXhoks5sRnQ2gaJpZM4OiHmv
.

Ah ok,
Well a venv (virtual environment) is an environment where all dependences of octoprint is installed, to activate it, when you're on pi home :
source Octoprint/venv/bin/activate
And now you can normally see (venv) before you're user name.

Ah OK. :)
Not sure why I'd want a venv. Seems to me that another layer of abstraction
is going to cost something for no benefit (except for command-line
installation of plugins :) )
Happy to leave it at this; really just wanted to document something that
didn't work in case someone else encountered it.
Thanks for your work on this plugin.
Frank
On Wed, Jul 26, 2017 at 7:39 PM, BrokenFire<EMAIL_ADDRESS>wrote:

Ah ok,
Well a venv (virtual environment) is an environment where all dependences
of octoprint is installed, to activate it, when you're on pi home :
source Octoprint/venv/bin/activate
And now you can normally see (venv) before you're user name.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BrokenFire/OctoPrint-SimpleEmergencyStop/issues/2#issuecomment-317974530,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGSKYHWIX7iXWYCNSuIZB7ohV2Ty7DOeks5sRu1BgaJpZM4OiHmv
.

Ah ok, thank for reporting 😉


Multiple option for radio-buttonset

I don't see anything in your example file or docs about a multiple option for radio-buttonset, is this a thing or can you add this functionality?
I know there is a multicheck field but that is visually unappealing.
E.g. for radio-buttonset multi: http://nimb.ws/sq1uo5

That's a great idea! Basically it will be a clone of the multicheck field with just different CSS, so pretty easy to do.
Adding as a feature request and assigning it to the 3.0.26 milestone since I'll probably make this one in time 👍

Awesome, looking forward to this as well!

I just pushed a commit that makes styling the multicheck control the way you want it.
If you use the development branch you can now add something like this to style the control to look the way you want it:
/**
 * This function adds some styles to the WordPress Customizer
 */
function my_customizer_styles() { ?>
	<style>
	.customize-control-kirki-multicheck ul {
	  display: flex;
	}

	.customize-control-kirki-multicheck ul li {
	  width: 100%;
	}

	.customize-control-kirki-multicheck ul li label {
	  background: rgba(0, 0, 0, 0.1);
	  border: 1px rgba(0, 0, 0, 0.1);
	  color: #555d66;
	  margin: 0;
	  text-align: center;
	  padding: 0.5em 1em;
	  display: block;
	}

	.customize-control-kirki-multicheck ul li label.checked {
	  background-color: #00a0d2;
	  color: rgba(255, 255, 255, 0.8);
	}

	.customize-control-kirki-multicheck ul li input {
	  display: none;
	}
	</style>
	<?php
}
add_action( 'customize_controls_print_styles', 'my_customizer_styles', 999 );

Of course you can tweak the CSS above to your liking and make the control look exactly the way you want it to.

There is an issue with comparing arrays with required, I have attached two files I had to modify to fix the issue. Can you implement this fix or a similar one please.
The changes that were made have "//Added" by them in each file.
class-kirki-helper.php - https://ufile.io/fhkrm
field-dependencies.js - https://ufile.io/5vmly

@aristath Any feedback on this?

@anthonyryanrusso can you please check the latest develop branch? Some changes were pushed today from https://github.com/aristath/kirki/issues/1825 that should fix this

I don't see any issues with this anymore.


Autoreconnecting on failure

Is this supported out of the box? What is the default behavior?

The default signalr connection behavior is fully explained here:
http://www.asp.net/signalr/overview/guide-to-the-api/handling-connection-lifetime-events
The angular-signalr-hub does not automatically reconnect after a disconnect. There is however the possibility to provide a function yourself which handles the disconnected event. If you look at the readme, you'll see an example of automatically reconnecting when the connection got disconnected with an error. You could provide any code you like there. (hubDisconnected: function(){})

I knew that signalr reconnected but it seems that sometimes it doesn't try to hard to reconnect. Thanks, I'll look into that method.


Do not use cmake for compiling

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

import: 'pyscal'
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/pyscal_1631988659771/test_tmp/run_test.py", line 2, in <module>
    import pyscal
  File "/home/conda/feedstock_root/build_artifacts/pyscal_1631988659771/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.6/site-packages/pyscal/__init__.py", line 1, in <module>
    from pyscal.core import Atom, System
  File "/home/conda/feedstock_root/build_artifacts/pyscal_1631988659771/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.6/site-packages/pyscal/core.py", line 7, in <module>
    import pyscal.traj_process as ptp
  File "/home/conda/feedstock_root/build_artifacts/pyscal_1631988659771/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.6/site-packages/pyscal/traj_process.py", line 14, in <module>
    import pyscal.catom as pca
ImportError: dynamic module does not define module export function (PyInit_catom)

2021-09-18T19:07:32.8292409Z import: 'pyscal'
2021-09-18T19:07:32.9548705Z Traceback (most recent call last):
2021-09-18T19:07:32.9550575Z   File "/home/conda/feedstock_root/build_artifacts/pyscal_1631991753877/test_tmp/run_test.py", line 2, in <module>
2021-09-18T19:07:32.9551430Z     import pyscal
2021-09-18T19:07:32.9553529Z   File "/home/conda/feedstock_root/build_artifacts/pyscal_1631991753877/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/pyscal/__init__.py", line 1, in <module>
2021-09-18T19:07:32.9554781Z     from pyscal.core import Atom, System
2021-09-18T19:07:32.9556441Z   File "/home/conda/feedstock_root/build_artifacts/pyscal_1631991753877/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/pyscal/core.py", line 13, in <module>
2021-09-18T19:07:32.9557621Z     import pyscal.csystem as pc
2021-09-18T19:07:32.9559390Z ImportError: /home/conda/feedstock_root/build_artifacts/pyscal_1631991753877/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.8/site-packages/pyscal/csystem.cpython-38-x86_64-linux-gnu.so: undefined symbol: _ZTI4Atom