text:
FIX/DOC: Documentation

Dear all. I feel over the next release cycle we should chose improving our documentation as a main goal. I know most of us including myself find it more rewarding to add new code. But we must bite that bullet, I feel. If we distribute efforts a bit and get well organized it might be less of a pain.
And importantly, as a project, we'll be making more progress if newcomers find it easy to get started.
This includes at least the following points:

make more explicit that small examples are actually API examples and shall not be taken too literally (e.g. prevent users from adding random noise-arrays to threir data when doing using spatio-temporal clustering, etc.) #6694 adds a warning to the top of the examples gallery
disseminate slide shows, screen casts
send a user poll to the mailing list
reorganize examples (e.g. order by intent and processing-step) #2101
add real tutorials with stronger commitment to the wording / the recommendations #3101
merge MNE manual with MNE-Python docs

Help users with pitfalls:

Starting with Python (#3265): #6694 adds an updated "getting started with python" page.
the use of Montage
working with a template brain this exists now
n_jobs=1 to save memory
freesurfer + source space API, vertex indices, vertex numbers (#3465)
morphing and missing vertices (#4034)
basic Python issues (e.g., paths #2052)
+/- in Evoked
integrate IPython notebooks?
coversion between float32 and float64 data on read/write (https://github.com/mne-tools/mne-python/issues/2720)

"Migrating to / working with" section:

Xfit / Xplotter (@Eric89GXL)
FieldTrip (#3362)
EEGLAB (@jona-sassenhagen?): explaining the distinction in channel types etc.

Bug reports (from @dengemann):
Set up list of things to check + rule out before filing a bug report, inspired by https://github.com/mxcl/homebrew/wiki/Troubleshooting
Extended tutorials:

epochs selection and event handling (see #1963)
artefact removal These have been expanded / overhauled by @drammock
group statistics (make explicit 2 (spatial / no spatial prior) X 2 (F/T-test) API, clarify TFCE (it's not another test, but an enhancement method)), clarify that despite t-test inputs, spatio-temporal permutation clustering is not parametric and alos it does not give a multiple comparison corrected t-map, which means it's not just a thresholding to a parametric stat. Also add recent insights on decoding stats. Discuss repeated measure designs and options (hierarchial subtraction with t-test, rANOVA, etc.)
coreg (#3358)

Manual:

time-frequency module: tfr functions vs. psd functions
saving objects to disk (we discuss reading but not saving/writing ...) many tutorials now include this
transformations (#3465)
decoding section explaining how the API follows the sklearn convention. Subsections for spatial pattern methods & time gen + time decoding

For devs:

cookbook like this with common idioms, one liners

cc @teonlamont @christianbrodbeck @mainakjas @rgoj @dgwakeman @adykstra @legitta @deep-introspection @olaf @mshamalainen @mluessi  @Eric89GXL  @agramfort ... and and and ...

Moving this to 0.10 unless @agramfort can convince someone to dedicate the hours

@Eric89GXL let's keep this for rainy summer days in Seattle or so.

I had to look at the EEGLAB documentation while I was working on my PR https://github.com/mne-tools/mne-python/pull/2676. If I can have @agramfort 's blessing at some point, I could revamp the documentation a bit. I think it needs some love. More text, less code, more screenshots, and walking through everything step-by-step. I also see missing pages on the manual: http://martinos.org/mne/stable/manual/preprocessing/filter.html and http://martinos.org/mne/stable/manual/preprocessing/bads.html. If I was a user, I would see this as a bad sign and wouldn't use the software just seeing this.

It would be great if you had time to work on it, there's quite a list at the top to work with. Feel free to add items.

+1e4 !

@dengemann what format do you mean wrt. EEGLAB conversion? A wiki or something like that? iPython notebook, wiki style, ...?
One thing (different thing) I would like to see, and would be willing to write, is a more extended example of how to get from raw files to a simple full analysis, including group statistics, for the most simple thing EEG/ERP guys will think of: just two conditions, import, data cleaning, ERP plotting, stats. Preferably just an iPython notebook.

what have now tutorials in mne using block execution of sphinx-gallery
see for example:
https://github.com/mne-tools/mne-python/blob/master/tutorials/plot_creating_data_structures.py
but it can be a notebook / blog post to start.

+1 for the notebook format!

FYI sphinx-gallery will offer a notebook download link even if the file you
write is a plain py file in the version control system.

I'll write a sphinx example for group-level traditional ERP analysis okay?
For the caveats-when-migrating-from-EEGLAB thing, wiki format seems more appropriate ...

I'll write a sphinx example for group-level traditional ERP analysis okay?

yes but what data do you plan to use? it must be available as a dataset.

For the caveats-when-migrating-from-EEGLAB thing, wiki format seems more
appropriate ...

rst + github offers almost the same as a wiki. You can directly edit on
github.

@jona-sassenhagen : what would be really cool is to have a table like this: http://mathesaurus.sourceforge.net/matlab-numpy.html with roughly equivalent functions in the same row along with cross-refs. It should be easy to do and would be super-useful for anyone migrating. Wdyt? +1 for  a simple tutorial .. please don't make it too complicated.

I could share 3 or 5 or so downsampled files from my brain and language paper, which was a very simple experiment, and show how to basically reproduce the analysis up to the plots (too lazy to do the single-trial stats). I'll also think about an eeglab-to-mne table, although, while this a cool idea in principle, a lot of this is not about stuff with clearly equivalent functions due to the object oriented nature of mne vs eeglab's matlab style.
Won't come around to the files before xmas though.

@jona-sassenhagen I actually edited the post to tag you. The idea I had in mind was to include whatever you think would be useful to help EEGLAB users transition to or work with mne-python. A table could work, or just a few paragraphs about major things to think about (object oriented vs not, channel types vs all EEG, etc.). More work on a complete pipeline also sounds cool as a complementary bit in another section.

Yup, I've already written up a lot of this.

@jona-sassenhagen : don't hesitate to make a PR early

FYI I am thinking of revamping the installation page to look more like this:
http://nilearn.github.io/introduction.html#installing-nilearn

yeah !

I'm getting a bit confused where I should find info between the manual, examples, tutorials & faq. How about we restrict the FAQ to non-scientific questions (i.e. not covariance, or inverse modeling), and focus on classic setup, i/o, memory, speed & bugs issues?

Hey all - just FYI we decided to host a "docathon" at BIDS this coming January. It'll be a weeklong (ish) event that is hackathon-style, but focused on improving documentation and tools for documentation. We'll have folks meeting at Berkeley, but we'll hopefully have a good remote contingent as well (at the very least there are folks at the data science centers of UW and NYU interested).
Just putting this here in case we can come up with a todo list for that event and get some interest from the MNE community.
https://github.com/BIDS/docathon

Let me / us know when you have some dates and times finalized and I'll try to block off some time to work remotely

Cool - it'll be roughly January 27th, planned to last about a week. We'll probably have one joint meeting at the start to assign projects / get people up to speed (maybe have some tutorials and demos, etc), and then some short checkups throughout (or at the end of) the week. So plenty of time for independent working...

@dengemann please update this issue and eventually close it

Closing for #6794

authors: Eric89GXL agramfort choldgraf deep-introspection dengemann jasmainak jona-sassenhagen kingjr larsoner


text:
reject trials based on head movements

we should have an option to reject epochs based on head motion tracking. If too strong movement -> reject.
SPM has something like this. See spm_eeg_megheadloc.m

With #1876 we can even do it on non-Maxfiltered data if cHPI is used. Although I doubt there are many people using cHPI without using Maxfilter...

is this PR ready for merge?
would it make sense to be able to plot motion params over time? it's quite
common for fMRI.
Also there is this old issue to reproduce mne_map_data to correct head
motions between runs without using maxfiler. Could it be part of GSOC?

Nope, not ready. I have only tested it with simulated (infinite SNR) data, and haven't checked the params. I'm not even sure if the rotation matrices are correct, I only checked the positions so far...
I plan to work on it in early April, I'd project it'll be ready for merge by the end of April. But in any case, the functionality mentioned here should be able to be implemented using the existing get_chpi_positions for any MaxFiltered file, since MaxFilter records and stores the extracted head positions in the output _raw_sss.fif file. #1876 will just extend it work with files that have not been processed with MaxFilter but have been recorded with cHPI on.

ok. Let's not forget.

See #3979 for suitable solution

source: gharchive/issue

repo: mne-tools/mne-python

license_type: permissive

license_source: github-api


text:
Bug mne.cov.compute_covariance + multiprocessing

Hi,
I just want to mention that I used the mne.cov.compute_covariance function and it works with n_jobs =1 (as in the example) but if I put more jobs, I have the following error message:
File "/usr/lib/python2.7/multiprocessing/pool.py", line 558, in get
raise self._value
PicklingError: Can't pickle <class 'mne.cov._ShrunkCovariance'>: it's not found as mne.cov._ShrunkCovariance

Ah that's annoying. We did not have that before. Cannot take a look right
now. We should bisect and see when this came up. Laetita btw. you can use
MKL + Anaconda. In my experience it will be faster than using joblib here.
On Tue, Sep 29, 2015 at 11:59 AM, LaetitiaG notifications@github.com
wrote:

Hi,
I just want to mention that I used the mne.cov.compute_covariance function
and it works with n_jobs =1 (as in the example) but if I put more jobs, I
have the following error message:
File "/usr/lib/python2.7/multiprocessing/pool.py", line 558, in get
raise self._value
PicklingError: Can't pickle : it's not found as mne.cov._ShrunkCovariance
—
Reply to this email directly or view it on GitHub
https://github.com/mne-tools/mne-python/issues/2497.

denis can you reproduce?

I'm going to go ahead and close this as an isolated upstream bug (probably multiprocessing), but if it comes back up or is still happening, let's reopen

authors: Eric89GXL LaetitiaG agramfort dengemann


text:
problems installing mne on win10 64bit, py3.6(anaconda).

when I am trying to install mne using anaconda3, I have the following problem (seems the problem installing mayavi)

I have VC2015 installed and using the MSBuild Command Prompt for VS2015 command line tool;

looks like some of the dependencies has been updated since the enviorenment.yml created, what can I do, I really want to try mne as soon as possible. By the way, I am in OHBM Sigapore and has been to the hackathon just few days ago, my name is Qing Wang, hope to see you in OHBM！
B. R.
Vincet

can you explain what you did?
conda env create -f environment.yml
?

Yes, just follow the instructions here: https://www.martinos.org/mne/stable/install_mne_python.html#get-mne-and-its-dependencies,
When I am trying to create the env for mne using
conda env create -f environment.yml
thanks!
发件人: Alexandre Gramfort notifications@github.com
发送时间: 2018年6月18日 10:01
收件人: mne-tools/mne-python mne-python@noreply.github.com
抄送: Wang Qing vincent.w.qing@gmail.com; Author author@noreply.github.com
主题: Re: [mne-tools/mne-python] problems installing mne on win10 64bit, py3.6(anaconda). (#5288)
can you explain what you did?
conda env create -f environment.yml
?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/mne-tools/mne-python/issues/5288#issuecomment-397924341 , or mute the thread https://github.com/notifications/unsubscribe-auth/AKffsLgk7ztGp3m0DPP8w0WC5aiPJEGAks5t9wndgaJpZM4UrC7z .  https://github.com/notifications/beacon/AKffsLwWwV-zH2I-ISk6f_0unwwxCGW2ks5t9wndgaJpZM4UrC7z.gif

ok let's try together.
if you have the pb when doing:
pip install mayavi
you can ask the question on the mayavi forum / mailing list.

I also had a similar issue with Anaconda and Windows 10.  Try to install the MNE without creating an environment and by directly installing dependencies one by one. This worked for me.
For instance,
pip:

mne
mayavi
"https://api.github.com/repos/nipy/PySurfer/zipball/master"
nitime
nibabel
nilearn
neo
pytest-sugar
pytest-faulthandler
pydocstyle
sphinx_bootstrap_theme
"https://api.github.com/repos/sphinx-gallery/sphinx-gallery/zipball/master"
python-picard
sphinx_fontawesome

Now I have fixed this problem, and here are my experiences:

intall python3.6 with anaconda (https://www.anaconda.com/download/);
intall visual studio2017 community(free), and check the following items and install: (https://visualstudio.microsoft.com)
2.1 VC++ 2015.3 v14.00 (v140) toolset for desktop
2.2 Windows 10 SDK (10.0.17134.0)
2.3 Windows 8.1 SDK
following the official guidance of mne (run command in the VS2015x64 Native Tools, not Power Shell or CMD, run as administrator incase),
3.1 curl -O https://raw.githubusercontent.com/mne-tools/mne-python/master/environment.yml
3.2 conda env create -f environment.yml
3.3 now it will give errors in building mayavi, and mkl needs for cython,
3.3 activate mne
3.4 pip install msgpack
3.5 pip install PyQt5
3.6 conda install cython
3.6 copy rc.exe and rcdll.dll from "C:\Program Files (x86)\Windows Kits\8.1\bin\x64" to "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64" (where the VS Native tool is)
3.6 pip install mayavi
for me, problems solved at this step.
So I guess problems are from the changes of the organization of visual c++ 14.0 complier and linker.
continue installing other packages listed in the environment.yml:
5.1 cd c:\Anaconda3\envs\mne\Scripts
5.2 pip install "https://api.github.com/repos/nipy/PySurfer/zipball/master"
5.3 pip install nitime
5.4 pip install nilearn
5.5 pip install neo
5.6 pip install pytest-sugar
5.7 pip install  pytest-faulthandler
5.8 pip install pydocstyle
5.9 pip install sphinx_bootstrap_theme
5.10 pip install "https://api.github.com/repos/sphinx-gallery/sphinx-gallery/zipball/master"
5.11 pip install python-picard
5.12 pip install sphinx_fontawesome
now your brand new mne  and other NIPY tools are ready, enjoy!

thanks for all the details.
I am thinking that these details on how to make the mayavi install work on Windows should be on the mayavi documentation page.
What I don't fully understand is why it works fine on Appveyor via a conda env out of the box.
@prabhuramachandran any idea? Short story is: We tell MNE users do install with: http://martinos.org/mne/stable/install_mne_python.html#get-mne-and-its-dependencies
but it fails apparently on Windows due to mayavi.

Hmm our appveyor tests seem to be running fine!  https://ci.appveyor.com/project/EnthoughtOSS/mayavi
Of course, I am using edm and not conda here.
https://github.com/enthought/mayavi/blob/master/appveyor.yml

I've uploaded VTK wheels on pypi but not Mayavi wheels. Mayavi has a tiny extension module but that apart is pure Python.  It does need to compile a single extension (which was made using Pyrex!). That should work on appveyor.  How do you install traits?
I can see about making the extension module optional (for a performance hit) in mayavi if it will make things easier.

we install

traits>=4.6.0
pyface>=6
traitsui>=6

with conda. See:
https://github.com/mne-tools/mne-python/blob/master/environment.yml#L29
it's working on our CIs. Is it the cause of our issue? thanks so much for
being so reactive.

OK, so the rest are from conda.
I've filed a ticket https://github.com/enthought/mayavi/issues/658 to remind me to try and remove the array_ext extension at some point.  It should be easy to do I imagine but I'll need to test it carefully.
It should be possible to install a suitable MSVC compiler relatively easily though,  https://wiki.python.org/moin/WindowsCompilers
this is useful in itself for things like Cython etc. so I would advise the OP to perhaps do this.

Now I see new problems, when I try to test mayavi with qt5 and qt4 for my installation, they works well. But when I am trying the example (http://martinos.org/mne/stable/auto_examples/connectivity/plot_mne_inverse_psi_visual.html#sphx-glr-auto-examples-connectivity-plot-mne-inverse-psi-visual-py), I got errors, no idea what happens, it seems that the vis engine and dependencies are not well maintained:
with qt4, I have the following error:
File "C:\Users\Administrator\Desktop\01_2d_signals.py", line 96, in
clim=dict(kind='percent', pos_lims=(95, 97.5, 100)))
File "c:\Anaconda3\envs\mne\Lib\site-packages\mne\source_estimate.py", line 1463, in plot
spacing=spacing)
File "c:\Anaconda3\envs\mne\Lib\site-packages\mne\viz_3d.py", line 1635, in plot_source_estimates
from surfer import Brain, TimeViewer
File "c:\Anaconda3\envs\mne\Lib\site-packages\surfer_init_.py", line 1, in
from .viz import Brain, TimeViewer # noqa
File "c:\Anaconda3\envs\mne\Lib\site-packages\surfer\viz.py", line 13, in
from mayavi import mlab
File "c:\Anaconda3\envs\mne\Lib\site-packages\mayavi\mlab.py", line 15, in
from mayavi.tools.camera import view, roll, yaw, pitch, move
File "c:\Anaconda3\envs\mne\Lib\site-packages\mayavi\tools\camera.py", line 24, in
from .engine_manager import get_engine
File "c:\Anaconda3\envs\mne\Lib\site-packages\mayavi\tools\engine_manager.py", line 12, in
from mayavi.preferences.api import preference_manager
File "c:\Anaconda3\envs\mne\Lib\site-packages\mayavi\preferences\api.py", line 4, in
from .preference_manager import preference_manager
File "c:\Anaconda3\envs\mne\Lib\site-packages\mayavi\preferences\preference_manager.py", line 29, in
from traitsui.api import View, Group, Item
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\api.py", line 36, in
from .editors.api import ArrayEditor
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\editors_init_.py", line 23, in
from .api import ArrayEditor
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\editors\api.py", line 24, in
from .code_editor import CodeEditor
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\editors\code_editor.py", line 37, in
class ToolkitEditorFactory(EditorFactory):
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\editors\code_editor.py", line 49, in ToolkitEditorFactory
mark_color = Color(0xECE9D8)
File "c:\Anaconda3\envs\mne\Lib\site-packages\traits\traits.py", line 522, in call
return self.maker_function( *args, **metadata )
File "c:\Anaconda3\envs\mne\Lib\site-packages\traits\traits.py", line 1236, in Color
return ColorTrait( *args, **metadata )
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\toolkit_traits.py", line 8, in ColorTrait
return toolkit().color_trait(*args, **traits)
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\toolkit.py", line 109, in toolkit
toolkit = find_toolkit('traitsui.toolkits')
File "c:\Anaconda3\envs\mne\Lib\site-packages\pyface\base_toolkit.py", line 263, in find_toolkit
return import_toolkit(ETSConfig.toolkit, entry_point)
File "c:\Anaconda3\envs\mne\Lib\site-packages\pyface\base_toolkit.py", line 217, in import_toolkit
toolkit_object = plugin.load()
File "c:\Anaconda3\envs\mne\Lib\site-packages\pkg_resources_init.py", line 2341, in load
return self.resolve()
File "c:\Anaconda3\envs\mne\Lib\site-packages\pkg_resources_init_.py", line 2347, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\qt4_init_.py", line 25, in
from . import toolkit
File "c:\Anaconda3\envs\mne\Lib\site-packages\traitsui\qt4\toolkit.py", line 25, in
from pyface.toolkit import toolkit_object as pyface_toolkit
File "c:\Anaconda3\envs\mne\Lib\site-packages\pyface\toolkit.py", line 27, in
toolkit = toolkit_object = find_toolkit('pyface.toolkits')
File "c:\Anaconda3\envs\mne\Lib\site-packages\pyface\base_toolkit.py", line 263, in find_toolkit
return import_toolkit(ETSConfig.toolkit, entry_point)
File "c:\Anaconda3\envs\mne\Lib\site-packages\pyface\base_toolkit.py", line 227, in import_toolkit
raise RuntimeError(msg)
builtins.RuntimeError: No pyface.toolkits plugin could be loaded for qt4
with qt5, I have the following error:
File "C:\Users\Administrator\Desktop\01_2d_signals.py", line 96, in
clim=dict(kind='percent', pos_lims=(95, 97.5, 100)))
File "c:\Anaconda3\envs\mne\Lib\site-packages\mne\source_estimate.py", line 1463, in plot
spacing=spacing)
File "c:\Anaconda3\envs\mne\Lib\site-packages\mne\viz_3d.py", line 1669, in plot_source_estimates
views=views)
builtins.TypeError: init() got an unexpected keyword argument 'curv'

I have found another problem with the jupyter notebook, it starts very slow, takes more than 5 mins on a i7, 16G DDR4 machine, it looks strange....

@Vincent-wq use qt5
the error you see is due to a recent non-cautious API change in PySurfer. We need to cut a new PySurfer release. In the mean time you can edit the file c:\Anaconda3\envs\mne\Lib\site-packages\mne\viz_3d.py and remove the curv parameter. Sorry about this.

No need for new PySurfer release, it should be fixed by the next maintenance release of MNE

Thanks for Gramfort, the problem is solved now. But the problem is, when I am testing mayavi using nosetests, it passed, I have tried several examples from mayavi, it works well with all the interations, but when runing the examples from mne, it can render successfully, then just stop responding, no idea what happen.

maybe a memory usage on your machine. It's really hard to tell.
can someone around you replicate the pb on his machine?

I have tried on 2 different win 10 machines, the problems are the same, quit strange, maybe I need to read more blogs on mayavi

@prabhuramachandran your quote from last scipy still resonates in my end. "I am also know for having produced the python package which is the hardest to install" .... I will just add "among the very useful pacakges" :)

@agramfort -- thank you for the kind comment!  Glad it is still useful.  The dependencies and options make it tough.  Making VTK pip installable is a big help already and makes things much easier.  I'm working on the https://github.com/enthought/mayavi/issues/658 issue to try and make the extension module optional.  However, building a module optionally is yet another of those silly things that takes time to figure out and get right.

I've just merged a PR to only optionally add the extension module.  @Vincent-wq -- can you please try with pip installing the git master version of Mayavi like so on your machine where you had the issue:
pip install git+https://github.com/enthought/mayavi.git#egg=mayavi
Hopefully this should make Mayavi pip installable even when a compiler is not available, albeit at the expense of one slower function which may not be used heavily by an average user.

Took the ~2x slowdown to ~25%, views are wonderful :)

@larsoner shall we update our environment.yml file?
@prabhuramachandran can you make a minor release?

@larsoner -- yes they are along with the ability to add an axis.  Without changing the shape, this is much harder.  Thanks for the extra pair of eyes.  On my machine I still get close to 50% slowdown and with smaller arrays even 2x.
@agramfort -- I will do so after a few other improvements that I want to squeeze in.  Also it would be nice if this can be tested to actually work without a compiler.

@agramfort -- just FYI, I will push a point release by the next weekend.

great
please let us know when you do
thanks

@prabhuramachandran Great thanks, I just did as follows (uninstall mayavi and pip install git+https://github.com/enthought/mayavi.git#egg=mayavi
), but the vis problems is still there (it stops responding), now I think the compiler is OK, and it looks more like the problem when using mayavi in the ploting. when I am trying to run independent code using mayavi, it looks ok. run the nosetests tests, and it looks like follows:

then vtkgui jump out and give an error:
ERROR: In C:\VPP\standalone-build\VTK-source\Interaction\Widgets\vtkSphereWidget.cxx, line 138
vtkSphereWidget (00000210A91D3F10): The interactor must be set prior to enabling/disabling widget

@Vincent-wq -- Thank you! That is excellent.  I suspect the screenshot you sent first is just to show that the right version of mayavi is installed.  As regards the vis problem, this is not a Mayavi installation issue but perhaps something to do with mne-tools, I don't know.  The test error popping up is an annoyance more than an actual error.  I will investigate that issue and see if anything can be done about that.  Thanks for testing the installation out though.  Just to reconfirm, on this setup, if you uninstall mayavi and do a normal pip install it still fails right?

@agramfort -- I just pushed Mayavi-4.6.1 to pypi.  Enjoy.

great !
@Vincent-wq can you give a try to the new release?

@prabhuramachandran @agramfort , sorry for the long delay, just came back from vocation.
I have tried the follows:

update mne to 0.16.2 version
update Mayavi to 4.6.1 version
but the same visualization problem still exists, the computation works perfect all the time, the rendering of the results is fine, but once I put my cursor on the windows of mayavi, it stops responding, maybe it is the problem of the interactions in the visualization? I think mayavi can work well independently
no idea what the problems is...

Or even simpler before that, can you interact with this window:
from mayavi import mlab
mlab.test_plot3d()

But after you run %gui qt right?

@Vincent-wq can I close this?

@agramfort -- this is also relevant: https://github.com/enthought/mayavi/pull/683 , it is possible that the earlier release did not implement the compiler check correctly.  Should be fixed in master.

@Vincent-wq , I'm following your steps above up to 3.6.  I don't have C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64 because you said to install Visual Studio 2017 (v. 15).  Should I install v.14 instead?

You should no longer need MSVC (or any complier) to install Mayavi

Or even simpler before that, can you interact with this window:
from mayavi import mlab
mlab.test_plot3d()

for this part, it works well.

Sorry for the year long delay, I have spend some time debugging this problems again, here are my observations:

install with the most recent version of environment.yml will only install the conda install pkgs (not including the pip install pkgs);
Then, I pip install all the rest pkgs according to the list in environment.yml, and then success;
The only way I can run the example is that:
3.1 in spider: force ipython console in spider to use Qt5 or Qt4 or auto, it works well, but sometimes not that stable, qt4 is more stable, and I have tries some mayavi examples, it only runs with qt4;
3.2 in spider: with or without the following lines (hoping to tell mayavi to use qt5 as backend), it works well for mne example and mayavi example;
#os.environ['ETS_TOOLKIT'] = 'qt'
The biggest problem is when I am using other IDE (or directly in system cmd), and set python interpreter as the one in mne environment, none of the above methods work.
The good news is that, at least I can work with it, but I really want to know how to tame mayavi to work better, I may spend some time doing a visualization project, also I really do not how ipython and spider made it work, why it does not work in the system cmd console, even I am trying to tell mayavi which backend to use.
Great thanks!

@Vincent-wq , I'm following your steps above up to 3.6. I don't have C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64 because you said to install Visual Studio 2017 (v. 15). Should I install v.14 instead?

the new version of document suppose to have all problems settled, at least it works for me now, please refer to my last reply.

You should no longer need MSVC (or any complier) to install Mayavi

yet, I think you already put the wheel file in the server.

The biggest problem is when I am using other IDE (or directly in system cmd), and set python interpreter as the one in mne environment, none of the above methods work.

You can probably get matplotlib to make things interactive in vanilla Python (assuming it and Mayavi are both set to use PyQt5) with:
import matplotlib.pyplot as plt
plt.ion()

Not sure if I am doing the right thing, I have tried  to set qt5 as backend for both mayavi and matplotlib as follows:
import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
plt.ion()
import os
os.environ['ETS_TOOLKIT'] = 'qt'
os.environ['QT_API'] = 'pyqt5'
it is still not responding (guessing the interaction has problems)
and if I put qt4 for both, then TVTK Scene apears and stoped responding...
And I realize if I am not using  plt.ion(), TVTK will always be prefered....

The biggest problem is when I am using other IDE (or directly in system cmd), and set python interpreter as the one in mne environment, none of the above methods work.

You can probably get matplotlib to make things interactive in vanilla Python (assuming it and Mayavi are both set to use PyQt5) with:
import matplotlib.pyplot as plt
plt.ion()

authors: Vincent-wq agramfort larsoner mlearnx prabhuramachandran schelian


text:
DOC: EEG eye-tracking alignment tutorial

Closes #11759

I updated the current eye-tracking tutorial to include a section on aligning and combining simultaneously collected EEG and eye-tracking data

This required updating the eyelink sample dataset, including a companion EEG file ( ~ 100mb).

UPDATE: here is the tutorial

EDIT: Hmmm... I can see that all my commits from PR #11725 are showing up below.. This branch was branched off from my interpolate_blinks branch before #11725 was merged to main. These prior commits aren't actually reflected in the "files changed" of this PR, but If this is an issue, I can re-implement my documentation updates in a new fresh branch..
For clarification- only e86c335 and thereafter are unique to this branch and not on main..

EDIT: Hmmm... I can see that all my commits from PR #11725 are showing up below.. This branch was branched off from my interpolate_blinks branch before #11725 was merged to main. These prior commits aren't actually reflected in the "files changed" of this PR, but If this is an issue, I can re-implement my documentation updates in a new fresh branch..

No this won't be an issue because we squash+merge nowadays
Let me know when you're happy and things are green so I should look again!

Let me know when you're happy and things are green so I should look again!

All green, whenever you're ready.
Also cc @britta-wstnr !

LGTM, example:

https://output.circle-artifacts.com/output/job/6d048d78-ba13-425f-ac13-bf4c216ba5fa/artifacts/0/html/auto_tutorials/preprocessing/90_eyetracking_data.html#plot-the-evoked-response

@britta-wstnr feel free to merge if you're happy (or if you won't have time to look for a bit I'll merge)!

Alright @britta-wstnr just made the changes:
https://output.circle-artifacts.com/output/job/e9c96414-689b-4199-8742-faddffc8349d/artifacts/0/html/auto_tutorials/preprocessing/90_eyetracking_data.html#sphx-glr-auto-tutorials-preprocessing-90-eyetracking-data-py
Assuming the CIs pass, should be good to go!

Note: incorporated @britta-wstnr 's suggestion in 0067585

heads-up that I'm reviewing the tutorial, please don't merge just yet.

Thanks @drammock for the edits, I implemented everything except for adding another plot in the ocular annotations section (I agree that it could be nice, but we do have a plot of the data in one of the following sections, so hopefully that will suffice?).

Thanks @drammock for the edits, I implemented everything except for adding another plot in the ocular annotations section (I agree that it could be nice, but we do have a plot of the data in one of the following sections, so hopefully that will suffice?).

Sounds good I'll look first thing tomorrow and then merge

Thanks!
The failed tests look unrelated, but feel free to re-trigger those CI's if you'd like to

I'll fix them in #11781, thanks @scott-huberty !

Nice work @scott-huberty !

source: gharchive/pull-request

authors: britta-wstnr drammock larsoner scott-huberty


text:
Added plot_image method in epoch, calling plot_epochs_image from viz

This closes #2809. I did not add tests as they are already taken care at viz.tests.
@teonlamont @jona-sassenhagen please review when you have time.

for the test update the tests so it does epochs.plot_image
by doing so the coverage will not go down

Can you propagate any changes to mne.viz.plot_epochs_images?

@jona-sassenhagen do you mean to update the docstring changes made here to mne.viz.plot_epochs_images in a separate PR?
@agramfort I simply made a call to epochs.plot_image, without really testing anything. Is that what should be done?

@jona-sassenhagen do you mean to update the docstring changes made here to mne.viz.plot_epochs_images in a separate PR?

No, in this.

@agramfort I simply made a call to epochs.plot_image, without really testing anything. Is that what should be done?

No, you should make a dedicated test - look up where mne.viz.plot_epochs_images is tested, and either convert one of the tests to using the method, or add a new test. This is important for coverage.

Looks good to me!

@kaichogami you should update all the tests that use plot_epochs_images and call the epochs.plot_image function. It avoids wasting test time due to addition of redundant tests.

@agramfort I changed the tests as you suggested. Let me know if its alright now.

I am not sure why tests are failing. I can see the issue being related to doc formatting, although I have no idea where. Any help would be appreciated.
Thank you!

perfect. thanks @kaichogami

@agramfort Why was it merged when the tests are failing?

@agramfort Why was it merged when the tests are failing?

@kaichogami sometimes the tests fail because travis has some unrelated issues.

@dengemann Alright. Thank you for letting me know! :)

authors: agramfort dengemann jona-sassenhagen kaichogami


text:
MRG: Add copy param to iter_evoked

closes #6250
cc @jona-sassenhagen

I think this could be set to copy=False for a speed boost: https://github.com/mne-tools/mne-python/blob/1325c1abffa0db8cf57c9cd6410a4c92fcb0586c/mne/viz/epochs.py#L547

I am sure you've thought about this, but the iteration over the data array returns views, correct - and if the evoked objects' data are modified in-place, the original data does not change, right?

the iteration over the data array returns views, correct - and if the evoked objects' data are modified in-place, the original data does not change, right?

It will change. So if copy then we should probably also copy the data.

maybe :)

well it was only a view if you have preloaded data :(
I just switch default to copy=False and we're good?

Yeah I think so

thx @larsoner @jona-sassenhagen for the reviews !

authors: agramfort jona-sassenhagen larsoner


text:
Adding Unit Test Cases using Jest Testing Library

Subject: Request for Jest integration in ReactJS projects on GitHub
Hi there !!
I am writing to request the integration of Jest, a popular JavaScript testing library, into your project that uses ReactJS. This would allow developers to write and run unit tests for their React components directly on the platform. Jest's simplicity and power would greatly improve the development experience and increase the reliability of code.
And the good thing is Jest testing files wouldn't add any memory consumption to the project when we make a build or it is on production.
Please add hard level label under JWoC to this or you can decide it while merging or reviewing PR request.
Thank you for considering this request. I look forward to your response.
Best regards,
Jagroop

@Jagroop2000 i have never used jest first let me gain knowledge about jest and try it
then after that i can assign this issue to you till then you can work on other issues

I want to work on this under JWOC

@mnnkhndlwl Can I build an overall test suite using Cypress for client? And if yes then, you can assign it to me. Under JWOC

license: MIT


text:
Component list

Status: Ready for Review
Reviewers: @jeffkamo @ry5n @avelinet @kpeatt @yourpalsonja @cole-sanderson @mlworks
Changes

List component - basic list styles

Todos:

[ ] Designer +1
[ ] Designer +1

Can you describe what problem this component is solving? It seems to me that we have the %ul and %ol placeholder classes for restoring the default look for lists. The dust template we have here is more difficult and also more limited than just writing out the markup manually.

By default we have list-style-type and margins/padding being nulled. We also have %ul to extend in Vellum. But we don't always have page styles to extend to. In this case we could create a list component in the project and extend Vellum there, or use this component.
It looks complicated only because of the opportunity of nested list. But if there is no nested lists it also works fine.

But honestly speaking I didn't know we have %ul to extend and usually created c-list component in the project

OK, yeah. I think there’s an argument to be made for a c-list component (or a c-ul and c-ol). It’s actually a good one to think about because it’s probably the most trivial component we could make. I’m not sure it even makes sense to have a dust file, or a schema, or anything other than the stylesheet.
@jeffkamo what’s your take?

We can ask developers if they find dust for list valuable or no

I'd be fine with having a component like this available.
Altough if it's just a matter of making more default bullet lists and ordered lists available, there are other options we can consider too, such as opt-in typography, in which case we'd need no classes and therefore no dust templates (as html would be enough).
Thoughts on that?

I like this idea, and I've been thinking about the approach of not having default styles applied to the tags but instead have default classes to style default elements. We could definitely think about it.

But if we do this it will be a big change in Vellum. Probably we can continue with c-list component and then (maybe by that time Stencil 2.0 is live) and we simply won't move it further?

Thanks for starting this @nastiatikk. A list styled component would definitely be useful for those places where we do want list styles, while keeping the global list styles neutral. I actually ran into that on my last project. I think c-ul and c-ol would be good.
I'm not convinced we need a dust template for this however.
And while I'm intrigued by the opt-in typography approach, I think a list component will be more flexible for our use case. For example when we are mostly pulling in a large block of desktop markup and just want to apply some list styles interspersed in it.

If we have dust file it won't hurt. I've asked engineers and though just 2 of them answered (@bendvc and @ericmuyser) but they told that they'd prefer to have dust file. But I'd collect more feedback on this questions.
Speaking about classnames, c-ul and c-ol sound more then valid. But in this case we'll need to have 2 components with the same content, or 1 component with a filename not matching component selector.
We could have c-list c--ul and c-list c--ol. Or just c-list with bullet styles (as it's the most popular list) and modifiers for ordered list, for example c--ordered.

...I think a list component will be more flexible for our use case. For example when we are mostly pulling in a large block of desktop markup and just want to apply some list styles interspersed in it.

I don't think I agree. What flexibility does that give you? It just sounds like more heavy lifting to me, because in this case you have to...

Select all the lists
Identify and capture the list data
Insert that data into the list template
Inject the compiled template back into the content

...as opposed to just inserting a single class on the content container.
In my mind, a dust template is most useful when we know lists are going to be present for specifically formatted content. The example I'm thinking of is something like a feature list on a PDP page.

@jeffkamo I was talking about a list component without the dust template.

@avelinet ah, I see, that's fair.
Okay where are we with this component? Sounds like overall we like the idea? For @avelinet it sounds like your use case is still valid whether there is a dust file available or not, so I don't see much issue with this being created. Thoughts?

I’m still iffy on the dust template to begin with. The best argument I heard when we canvassed other folks was the ability to easily style several list types, including something like a visual checklist (checkmark icons as bullets). One could implement that with just CSS and generated content, except if you’re using inline SVG.
Overall I don’t want to move on this right now.

I wouldn't mind to remove dust template if nobody finds it useful. Imagine there is no dust (I'll clear later today) and continue your thoughts =)

Don’t take it away yet. I think we need more time to come to some consensus on this.

Is there a down side to having the dust templates? I see them as still being useful: They are available if you want to compose with them, they can be used to add components to Almanac, or you can ignore them and just use the CSS classes in your own markup. Not using them adds no weight to a project.

This was my point originally - that if we have dust template it won't hurt anything and anybody. But if dust template is a blocker of c-list component, I'd rather prefer not to have it then wait for another 6 months until we find a solution on this question.

The downside to having a dust template that we don’t really need is that we need to maintain it, and people might think they need to use it. If we don’t need it, we shouldn’t have it.

hmm, maybe that's true. But for me, if a dust template is missing, I'm just going to make it anyway. Make it for Almanac. So not having a dust file isn't going to save me any time.
But maybe that's just me? Or maybe at that point the dust template would just be a bunch of static html that acts as example markup.
Regardless, something's going to be made (either example html or a dust template with mock data) one way or another. Having a dust file (and some mock data) pre-built removes that time sink.

Hmmm… the Almanac use case does make some sense. But then are we going to make templates for every html structure? tables, headings, paragraph.dust? What is our solution for those?

Good question. I guess that depends if those become stencil components. At the moment, those are only styled in Vellum. I doubt the practicallity in being so granular with components. We don't need to rebuild all html elements as Stencil components.

We often create a .c-heading, and I doubt that needs a dust template. I feel the same about lists. However, I am feeling increasingly weird about the notion of a component that is only css. Could this kind of thing be a util as well? I feel a bit nuts contemplating it, but mayyyyyyybe??

If we want our definition of utility to be something that is CSS only then that works for me.

Cool. Let’s contemplate that.

Hm... all our components are css only. I wouldn't use this as a utility definition. And I know that some engineers would build list as a dust component, depending on the project though. And in this case it's not utility anymore, though have u-prefix?

@nastiatikk that's not true, all of our components have dust partials and schemas attached to them.

So in this case button, alert, badge, icon, probably spinner - are also utilities? They have dust templates, but those templates are never used in the projects.

I could forsee those using templates quite easily.
{>"component/icon" name="hamburger" /}
{>"component/alert" text="alert message" /}
{>"components/badge" value="30" /}
{>"components/button" type="button" text="I'm a button" /}
{>"components/spinner"/}

...or better yet, using Ryan's component syntax:
{@c-icon name="hamburger" /}

{@c-alert}
    alert message
{/c-alert}

{@c-badge value="30" /}

{@c-button" type="button"}
    I'm a button
{/c-button}

{@c-spinner /}

How about c--secondary button and other modifiers? Alerts that mostly are ajaxed?

Hmm, modifiers could probably be done a few different ways. I think this is probably the most flexible?
{@c-button type="button" class="c--secondary"}
    I'm a button
{/c-button}

For Ajax, you just have to compile the template. Probably something like...
var buttonData = {
    type: 'button',
    class: 'c--secondary',
    content: "I'm a button"
};

buttonTemplate.compile(buttonData, function(button) {
    // insert the compiled `button` into the DOM
});

OK so the reason I dislike the dust template for lists is because the template would end up being just a normal html list but with a class on the
. That’s the reason I don’t think the template is warranted.
For many other components, including icons, alerts, spinners and maybe buttons, the template is more complex, so it warrants a template.
For ajax changes, content can be re-rendered in view scripts using dust templates the same as it is now.
For modifier classes, all component templates should accept a class key so you can do {@c-button class="c--secondary"}Text{/c-button}.

@jeffkamo jinx ;)

:D

There is nothing complex about those htmls

    {quantity}

{#alert}

        {message}

{/alert}

Anchor Button
<input class="c-button" type="submit" value="Submit Button" />
<button class="c-button">Button Button</button>

 checkmark

Loading...

List template looks much more complicated then these

I am not vouching for list template anymore, I am more curious why we have templates for these ^_^ components if they're nothing but more simple html?

I suppose at this point it's syntactic sugar?
It removes the need to remember how a component could be structured and softly enforces consistency in how those components are rendered.
The parts that are redundant (the class and element type) can be ignored. You would only have to remember the name of the components, and any values that component needs to receive.

But isn't it something you can see on the test page?

Perhaps this really only applies to more complex components, but the point would be to reduce the need to reference anything to know what you need to include a component on a page.
To add an icon, all you need to remember is the name. No need to decide if it's a span, an i or whatever – that's already decided. Just {@c-icon name="hamburger" /}

So for icons, I’m thinking more of the svg variety, where you write something like this:
<svg class="c-icon">
   <title>Accessible title (optional)</title>
    <use xlink:href="#icon-checkmark"></use>
</svg>

So that is much easier to express as {@c-icon name="checkmark" title="Checkmark" /}.
Alerts probably require more complex html, with an optional dismiss button for example. The spinner may or may not be implemented in pure CSS – and we could change the implementation without affecting the usage. For buttons, you probably don’t need a template either, but there is a reason I listed them here as a maybe:

buttons are easy to work with if they are inline-flex, because it allows easy text centering
inline-flex has some issues in older browsers such that <button> elements don’t allow horizontal text centering
if we put an extra wrapper inside the button, this might work fine
therefore a dust template might help hide this additional complexity

So @nastiatikk to answer you question "why have templates for simple components?", I suppose the answer(s) would be:

We don't need templates, as markup itself may be simple enough to not need a template
However, having templates enables us to more easily add it to Almanac
Having a template would abstract the small amount of redundant qualities of that component (for example, the class definition or HTML element)
Lastly, where some components may seem simple, having a template allows us to fix or work around problems or bugs (as per Ryan's button example above) more easily

That second point is, to me, the main reason why I would want templates even for simple components.

Then I'm totally lost in understanding your words in accordance with @ry5n words.

OK so the reason I dislike the dust template for lists is because the template would end up being just a normal html list but with a class on the
. That’s the reason I don’t think the template is warranted

Because all mentioned above templates are simple templates with normal html only.

My first point...

We don't need templates, as markup itself may be simple enough to not need a template

...aligns with Ryan's quote...

OK so the reason I dislike the dust template for lists is because the template would end up being just a normal html list but with a class on the
...

In my remaining points: I am pointing out that despite how simple the markup may be, there are other benefits to having a dust template (i.e. Almanac).
So I'm agreeing. Yes, the markup is simple. Yes, that means a template isn't actually necessary. However, by not having a dust template we are loosing out on some other things (i.e. easy Almanac integration).

Thanks, got it now =) Was confusing because your points were all in one group and first one was the only one repeating @ry5n position.

Sorry about that, I should've been more clear. My bad!

Was the debate about whether to include a dust template the only thing that was blocking this PR?

So I believe in Stencil 2.0, all stencils will have a dust template regardless of simplicity due to the minimum feature requirements that 2.0 stencils will have (i.e. customizable class and optional id and role properties). With that in mind, shall we move forward with this PR with the dust template left in place?

@jeffkamo I’m not entirely sure that every component in Stencil 2.0 should have a dust template. It’s undecided and one of the things I’m a little worried about. Consistency is important, but no sense having a template if it’s not needed (performance overhead and actually reduced flexibility).
If anything, I think this may be one of those things that should be a utility class in Stencil 2.0, not a component. Unfortunately that is also still somewhat of a murky area; I’ve done some exploratory work on it (I started implementing Arrange as a util) but I have concerns with making something like Arrange (and possibly this List component) into a util.

@ry5n fair enough. I guess we can leave any remaining dust template questions for Stencil 2.0, but in the mean time is there any reason why we should not allow the dust file in this PR to remain? I'm leaning towards "leave it in because we'll refactor as necessary in 2.0" whatever that may look like. I'd rather do that than go back and forth and never close this PR.

I’m pretty opposed to a dust template for this component as-is. I’m more amenable to adding it later (if that’s what’s necessary in the bigger picture).

Hmm... On second thought, I guess that's fine. I'm not actually opposed to removing the dust file at this stage. Shall we just do that then? I can go ahead and take care of that.

Yes, I think that’s best for now.

@yourpalsonja @cole-sanderson @mlworks @ry5n @avelinet: any other thoughts on this component?
Are we still going to try and get some designers to +1 this component? Maybe @julianaker and @jackygilbertson?

Can I +1? =)
I like the updates

It's technically your PR, so maybe not :P
I think we wanted designers to +1 the base design, look and feel more than the developer implementation.

We're skipping dseigner +1s!

This is infringement of the rules!
Yay!

authors: avelinet jeffkamo kpeatt nastiatikk ry5n

repo: mobify/stencil

license: mit

license_source: bigquery


text:
Optimize CI a bit

Mainly for using gradle-build-action to speed up build on CI, and bump action versions by the way.

Really appreciate the contribution @Goooler!

authors: Goooler Leland-Takamine

repo: mobile-dev-inc/dadb


text:
Compatibility Issue with GraalJS Engine and OpenJDK 23

Is there an existing issue for this?

[X] I have searched the existing issues and didn't find mine.

Description
I have encountered an issue while using Maestro version 1.39.0 on macOS 15.0.1 (24A348). The problem arises when running any script using the GraalJS engine, resulting in an immediate exception. It appears that the version of GraalJS used by Maestro might be incompatible with OpenJDK 23, which is installed automatically as a dependency via Homebrew.
Steps to reproduce

Install Maestro version 1.39.0 on macOS 15.0.1 using Homebrew.
Ensure OpenJDK 23 is installed (default via Homebrew).
Run any script using the GraalJS engine.

Actual results
The following exception is thrown immediately:
Exception in thread "main" java.lang.NoSuchMethodError: 'void sun.misc.Unsafe.ensureClassInitialized(java.lang.Class)'
	at com.oracle.truffle.api.library.LibraryFactory.ensureLibraryInitialized(LibraryFactory.java:384)
	at com.oracle.truffle.api.library.LibraryFactory.getUncached(LibraryFactory.java:364)
	at com.oracle.truffle.api.library.LibraryFactory.<init>(LibraryFactory.java:210)
	at com.oracle.truffle.api.interop.InteropLibraryGen.<init>(InteropLibraryGen.java:170)
	at com.oracle.truffle.api.interop.InteropLibraryGen.<clinit>(InteropLibraryGen.java:161)
	at java.base/java.lang.Class.forName0(Native Method)
	at java.base/java.lang.Class.forName(Class.java:578)
	at java.base/java.lang.Class.forName(Class.java:557)
	at com.oracle.truffle.api.library.LibraryFactory.loadGeneratedClass(LibraryFactory.java:777)
	at com.oracle.truffle.api.library.LibraryFactory.resolveImpl(LibraryFactory.java:740)
	at com.oracle.truffle.api.library.LibraryFactory.resolve(LibraryFactory.java:733)
	at com.oracle.truffle.api.interop.InteropLibrary.<clinit>(InteropLibrary.java:2843)
	at com.oracle.truffle.polyglot.PolyglotValueDispatch.<clinit>(PolyglotValueDispatch.java:155)
	at com.oracle.truffle.polyglot.PolyglotImpl.initialize(PolyglotImpl.java:163)
	at org.graalvm.polyglot.impl.AbstractPolyglotImpl.setConstructors(AbstractPolyglotImpl.java:266)
	at org.graalvm.polyglot.Engine$1.loadAndValidateProviders(Engine.java:917)
	at org.graalvm.polyglot.Engine$1.run(Engine.java:890)
	at org.graalvm.polyglot.Engine$1.run(Engine.java:864)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at org.graalvm.polyglot.Engine.initEngineImpl(Engine.java:864)
	at org.graalvm.polyglot.Engine.access$000(Engine.java:110)
	at org.graalvm.polyglot.Engine$ImplHolder.<clinit>(Engine.java:136)
	at org.graalvm.polyglot.Engine.getImpl(Engine.java:360)
	at org.graalvm.polyglot.Source.getImpl(Source.java:140)
	at org.graalvm.polyglot.Source$Builder.build(Source.java:920)
	at maestro.js.GraalJsEngine.evaluateScript(GraalJsEngine.kt:69)
	at maestro.js.GraalJsEngine.evaluateScript(GraalJsEngine.kt:22)
	at maestro.orchestra.Orchestra.runScriptCommand(Orchestra.kt:418)
	at maestro.orchestra.Orchestra.executeCommand(Orchestra.kt:288)
	at maestro.orchestra.Orchestra.executeCommands(Orchestra.kt:193)
	at maestro.orchestra.Orchestra.runFlow(Orchestra.kt:127)
	at maestro.cli.runner.MaestroCommandRunner.runCommands(MaestroCommandRunner.kt:177)
	at maestro.cli.runner.TestRunner$runSingle$result$1.invoke(TestRunner.kt:62)
	at maestro.cli.runner.TestRunner$runSingle$result$1.invoke(TestRunner.kt:53)
	at maestro.cli.runner.TestRunner.runCatching(TestRunner.kt:160)
	at maestro.cli.runner.TestRunner.runSingle(TestRunner.kt:53)
	at maestro.cli.command.TestCommand.runSingleFlow(TestCommand.kt:352)
	at maestro.cli.command.TestCommand.access$runSingleFlow(TestCommand.kt:63)
	at maestro.cli.command.TestCommand$runShardSuite$2.invoke(TestCommand.kt:326)
	at maestro.cli.command.TestCommand$runShardSuite$2.invoke(TestCommand.kt:297)
	at maestro.cli.session.MaestroSessionManager.newSession(MaestroSessionManager.kt:102)
	at maestro.cli.session.MaestroSessionManager.newSession$default(MaestroSessionManager.kt:52)
	at maestro.cli.command.TestCommand.runShardSuite(TestCommand.kt:297)
	at maestro.cli.command.TestCommand.access$runShardSuite(TestCommand.kt:63)
	at maestro.cli.command.TestCommand$handleSessions$1$results$1$1.invokeSuspend(TestCommand.kt:265)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)

Expected results
Scripts should execute without throwing exceptions.
About app
I'm using Maestro to create UI tests for native iOS apps.
About environment
Maestro Version: 1.39.0
Operating System: macOS 15.0.1 (24A348)
Device: MacBook Pro (14-inch, 2021)
Java Version: OpenJDK 23 (installed via Homebrew)
Maestro version
1.39.0
How did you install Maestro?
Homebrew
Anything else?
Workaround:
I was able to work around the issue by manually installing OpenJDK 21 on my Mac. This suggests a compatibility issue between GraalJS and OpenJDK 23.
Related issues:

https://github.com/mobile-dev-inc/maestro/issues/2049
https://github.com/mobile-dev-inc/maestro/issues/1388
https://github.com/oracle/graaljs/issues/825

It is recommended to check Maestro's documentation or community support to confirm whether it supports OpenJDK 23. You may need to use an older JDK version, such as OpenJDK 21.
Seeing that you are using homebrew, I would like to recommend Servbay to you, which is more professional and easy to use than docker and homebrew on Mac.

Thank you for your feedback.
According to the Maestro documentation, the recommended installation method for macOS is through Homebrew. This installation process automatically installs the latest version of OpenJDK, which is currently OpenJDK 23. To ensure a seamless user experience, either Maestro needs to be fully compatible with OpenJDK 23 or the Homebrew formula should specify a dependency on an earlier version of OpenJDK, such as OpenJDK 21.

repo: mobile-dev-inc/maestro


text:
Feature Request: Simulate a notification

Opening a notification and navigating correctly, is often a important flow in mobile apps. And having this golden path broken and a source a strong frustration for the user.
Being ble to test notification flow, would be awesome !
Both iOS and Android support simulating notifications

on iOS you can trigger xcrun simctl push booted you.app.id test.apn where test.apn is a file holding the info of the notification
on iOS (some examples here)
on Android, adb also let us broadcast a notification to the device (e.g this gist with an example of the command to run)

With those commands we could able to create a sendNotification command to fire a notification on the connected simulators ?
Still unsure then about the correct flow to actually get to click on the notification appearing on the screen (all flow on Maestro seems to start by opening an app, so I don't know if we get to open the notification center and actually click on the simulated notification 🤔), but there's probably an interesting opportunity here !
What do you think ?

Hi @julienR2, this does seem like a use case that would make sense. I'll surface this to the team and we'll get back here if we decide to build it out. Thanks for taking the time to write up a feature request!

Hi, this would be awesome! It would also help if we could run shell scripts or xcrun simctl / adb commands from a flow.

authors: andreasgan axelniklasson julienR2


text:
Retry starting XCTest runner multiple times

Proposed Changes
Retry the starting the XCTest runner on connection error.
Testing
todo
Issues Fixed
During an launchApp command, xctest may not be able to run for a while because the simulator is not fully initialised (due to permissions being set). This causes errors in the CLI to be reported about XCTest runner. This fix will retry starting XCTest runner multiple times, making it far more likely that the simulator is fully initialised before an error is emitted.

@berikv is this a change we should go ahead with or is it not needed anymore?

authors: axelniklasson berikv


text:
Add SpacedStructName trait

The SpacedStructName trait provides a textual representation of a
struct. Instead of the common pascal case names used in rust, it is
intended to provide a lowercase space separated name. Words or acronyms
that are capitalized will still be capitalized.

Motivation

Future Work

Current dependencies on/for this PR:

main

PR #33

PR #34

PR #35

PR #38

PR #39

PR #40

PR #41

PR #42

repo: mobilecoinfoundation/attestation


text:
Add option to preserve mutability when setting value to NSMutableArray properties

How to replicate problem?

Create Motis object with NSMutableArray property
Set values with mts_setValuesForKeysWithDictionary
In mts_validateAutomaticallyValue:toClass:forKey: array is parsed in first lines, in if ([*ioValue isKindOfClass:typeClass]) statement with return YES at the end.

Now arrays are not parsed at the beginning, they go to the existing if/else statement where mutability is properly checked.

@vilanovi what do you think about this fix? :)

Hello, sorry for the delay. I'll try to give it a look before this Friday.

I've been reviewing your changes and I do agree on them, mostly. Let me explain myself:

Line 1033: ok. We will return YES directly if the *ioValue class and classType matches and the class type of *ioValue is not an NSArray. In that case we will execute the validation.

Line 1157: Here I do not agree. Mainly, I don't want to "return *ioValue != nil" as I need to check the exact type of the classArray and be sure that it is something known. Otherwise we risk that Motis returns an instnace of NSArray for something that it is not. Therefore, I'd rather add another "else if" statement and include the NSArray as the last type check.

I'll merge your changes and then apply mine on top (this way you can pull).
Thanks,

Yes, you are right. There should be another else if to check if typeClass is NSArray.
Thank you!

I've also added some tests to validate it (also with sets, ordered sets, mutable sets and mutable ordered sets).
New version 1.4.3 already pushed to cocoa pods.
Thanks!

authors: dstranz vilanovi

repo: mobilejazz/Motis


text:
🛑 Server Mobility Testing is down

In c68657d, Server Mobility Testing (https://mobilitysol.com:30443) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Server Mobility Testing is back up in 2a177f6.

repo: mobilitysol/monitorweb


text:
🛑 PizzaRiing Web is down

In 5b5868f, PizzaRiing Web (https://pizzariing.uy) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PizzaRiing Web is back up in da6a662.


text:
ESP_Mail_Client is not always able to automatically recover from a WiFi signal lost

Dear Mobizt,
I've encountered a problem using the library when the WiFi connection is lost due to a fading of the WiFi signal between the ESP32 module and the router. If the connection is lost, the library is no longer able to restore it again. The conditions for reproducing the problem are as follows:
Hw: EVK-NINA-W101 based on  ESP32
https://www.u-blox.com/en/product/evk-nina-w10
Board lib package:  ESP32 2.0.15 installed
Sketch  example: Mailbox_Change_Notification, the example provided by K. Suwatchai (Mobizt), just modified to provide every 10 seconds the result of the connection to the imap server as well as to the WiFi router (see attached sketch).
ESP_Mail_Client: 3.4.19 installed
Arduino Settings:

How to reproduce the problem:
The app Mailbox_Change_Notification connects to internet via a router (in my case is a WiFi LTE router).  Move slowly the EVN-NINA-W102 (ESP32) board far from the router wifi range, until the ESP32 will lost the Wifi connection (do not switch off the router and then switch on it, to simulate the Wifi drop, otherwise the problem doesn’t occurs). Wait some minutes (5-7 minutes, see Serial.Dump, wait for that time or more, shorter time couldn't trigger the problem) with ESP32 position out of Wifi range of the router, then slowly enter the ESP 32 EVK in the range of the Wifi rounter. The result is that the sketch is not able to reconnect to the WiFi and so to the imap server again.
I have noticed that the connectWiFi()  callback is not invoked by the ESP-Mail-Client, to recover the situation
Unfortunately is not easy to reproduce this situation, because it doesn't always occurs.
Mailbox_Changes_Notification_github.zip
SerialDump.txt
Regards
Paolo

The WiFiNINA does not allow the reconnection without the credential.
You have to add the WiFi credentials like this.
https://github.com/mobizt/ESP-Mail-Client/blob/78b8e7b4270199dab5f14265ad565acd80f10465/examples/IMAP/Mailbox_Changes_Notification/Mailbox_Changes_Notification.ino#L167-L168

Dear mobizt
Ok, but in your code seems they are necessary only for

No. any device that does not have reconnect feature except for ESP9266 and ESP32, should add the AP credentials.

This feature is available many years ago.

I focus on Raspbeery Pi Pico because it has enough memory for using IMAP as ESP32.
For your device, if you can program ESP32 directly, you don't have to add this AP credentials.
I think that you are using another MCU that using Ublox module which you can't access ESP32 directly.

Dear mobizt].
I'm a bit confused, I mean  the solution to my problem is not to add, in the setup section of the code
MailClient.clearAP();
MailClient.addAP(WIFI_SSID, WIFI_PASSWORD);
correct?
Regards
Paolo

How do you reconnect the WiFi in your code without calling WiFi.begin again?
If you understand the objective of those functions, you will not ask me such a question.

I focus on Raspbeery Pi Pico because it has enough memory for using IMAP as ESP32.
For your device, if you can program ESP32 directly, you don't have to add this AP credentials.
I think that you are using another MCU that using Ublox module which you can't access ESP32 directly.

I'm using the NINA-W101 (I'm an u-blox employ), with integrated ESP32., I'm using directly the ESP32.
https://content.u-blox.com/sites/default/files/NINA-W10_DataSheet_UBX-17065507.pdf
I can send you an EVK (for free) if you need it for the analysys
Can you confirm the problem ?
I had similar problem in the past, I don't think is related to your lib, but to the way how the low level WiFi Arduino lib manages the WiFi interface, the key point is how to manage the recovery procedure in case of WiFi errors. I don't know how the Email Client lib recover the WiFi connection lost, however it seems that in case there are some cases in which the callback connectWiFi() is not invoked to reconnect the WiFi
Regards
Paolo

You don't have to send me a device.  ESP32 is ESP32 with some variant.
The WiFi and network reconnection of library works normally for years as it was implemented in all my libraries.
It is just calling WiFi.reconnect() internally with proper timing to allow UDP to get the result.
The only issue is in WiFi core bugs in the outdated ESP32 Arduino core with  WiFi.reconnect()  which you have to update.

Is WiFi.reconnect i in the
Board lib package: ESP32 2.0.15 installed  ?
Thanks

I said clearly that in case outdated ESP32 Arduino core.
You have to try another ESP32 board instead of module and test.
This is quite issues of hardware failure, unstable power supply or PCB design.

The problem is not hardware related because 3 different boards with 2 different cores have been tested, but it is somewhere in the ESP32 Espressif Aarduino package. Even the recent version has this problem. I'm using the v 2.0.15
I've opened a new Case https://github.com/espressif/arduino-esp32/issues/9571 isolating the problem in the minimum code example

It is up to you, but your hardware failure is true.
All devices and platform list here included all ESP32 variants are working normally.
https://github.com/mobizt/ESP-Mail-Client?tab=readme-ov-file#supported-devices

repo: mobizt/ESP-Mail-Client


text:
update documentation of --async-only for v2.3.0

It can be now satisfied by returning a promise. Related: #1490.

@mochajs/mocha see milestone v2.3.0 for features; please add stuff if needed

going to leave this here as it relates to the next release, but otherwise anything labeled Documentation should go into mochajs/mocha.github.io

closing this; need to update docs

authors: boneskull dasilvacontin

repo: mochajs/mocha


text:
--watch does not work with --check-leaks

I have the following bit of code, for which mocha correctly detects a leak:
describe('leak detection', function() {

    function testMe(){
        x = 123; // here I add 'var ' to make the test pass
    }

    it('should not leak', function() {
        testMe();
    });
});

By substituting 'x' for 'var x' the test passes. Seemingly, the same applies when running mocha with the --watch task, but when I remove the var statement the test still passes without any error about leaking. This is a bug.
$ mocha --check-leaks --watch

  leak detection
    ✓ should not leak
    1) should not leak

  1 passing (13ms)
  1 failing

  1) leak detection should not leak:
     Error: global leak detected: x

  leak detection
    ✓ should not leak

  1 passing (1ms)

  leak detection
    ✓ should not leak

  1 passing (2ms)

Using mocha 2.3.3 on Node 4.2.1

This behavior is still present; doesn't have anything to do with adding or removing var, it's just that after the assignment of the global in the first run, subsequent runs don't detect the assignment because Mocha's global leak detection specifically ignores globals that were already there before the test started.
I don't know if there's a reasonable fix for that, however.

I think adding reset logic (always set to first runtime global variables) to the lib\cli\watch-run.js will be able to detect it properly every run on watch mode.


text:
Add OnRetainPublished hook

Add OnRetainPublished hook, it is called when a retained message is published.

Interesting use case! Looks good to me so I'll add it. I do love a good pull request.

authors: mochi-co thedevop

repo: mochi-co/mqtt


text:
Print how fast we can deploy apps

Kind of silly thing but it makes Modal feel a bit faster, I think:

Will this look bad for deployments that involve an Image build?

authors: erikbern mwaskom

repo: modal-labs/modal-client


text:
Remove app object ownership: prep work

As a part of the provider/handle merge, I've realized it makes no sense that both the stub and the app holds objects. It's better if only the stub holds objects and the app just refers to those. Fixing this should also fix the is_inside problem.
This PR doesn't accomplish this! However, it contains a bunch of prep work for removing this ownership. I just wanted to roll a bunch of low-risk changes into a prequel PR so that the actual change itself is tinier.

@prbot approve


text:
tests: Set IMG variable to default if not defined

Add a default value for IMG variable so that we are a bit more consistent (also, it is annoying to have to define it every time if one sticks to the recommended value).

This whole thing probably needs a bit of a redesign (i.e. i am not sure why one would use quay for running tests locally?) but let's get back to it later.

Yes, it would be good to rewrite it completely and make it more modular. It would be also nice to run some reasonable subset in CI, but that's for the future. Thanks for the merge.

Yes, it would be good to rewrite it completely and make it more modular. It would be also nice to run some reasonable subset in CI, but that's for the future. Thanks for the merge.

That's the plan!

authors: jajik rhusar


text:
Update deny action

The current cargo deny configuration in deny.toml uses several keys that have been deprecated. This PR removes the deprecated keys, and updates the deny action to use v2 (as well as renames it from audit.yml to deny.yml).
The only semantic difference is that cargo deny will now reject crates that are maintained or have a notice on them, whereas previously, our configuration set both to "warn". As mentioned in the docs though, one can add an "ignore" if needed to bypass those advisories:
https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html#the-version-field-optional
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

Yes, it passed in CI: https://github.com/model-checking/kani/actions/runs/10568647124/job/29280011523?pr=3461#step:4:1

I also tested locally that the cargo deny check fails if a dependency uses a disallowed license.

repo: model-checking/kani


text:
Models with dots in their names cannot be downloaded

Thanks for your error report and we appreciate it a lot.
Checklist

I have searched the tutorial on modelscope  doc-site
I have searched related issues but cannot get the expected help.
The bug has not been fixed in the latest version.

Describe the bug
When specifying the cache_dir, models with dots in their names cannot be downloaded.
To Reproduce

What command or script did you run?

run the command modelscope download --model iic/CosyVoice2-0.5B --cache_dir /var/lib/speech-box/cache/model_scope
Then could view the progress

modelscope download --model iic/CosyVoice2-0.5B --cache_dir /var/lib/speech-box/cache/model_scope
Downloading Model to directory: /var/lib/speech-box/cache/model_scope/hub/iic/CosyVoice2-0.5B
Downloading [cosyvoice.yaml]: 100%|███████████████████████████████████████████████| 4.61k/4.61k [00:00<00:00, 12.5kB/s]
Downloading [configuration.json]: 100%|███████████████████████████████████████████████| 47.0/47.0 [00:00<00:00, 120B/s]
...
Fetching 21 files: 100%|███████████████████████████████████████████████████████████████| 21/21 [02:01<00:00,  5.78s/it]█████████████████████████████████████| 2.65M/2.65M [00:01<00:00, 2.35MB/s]
2024-12-17 19:17:18,132 - modelscope - WARNING - Failed to create symbolic link /var/lib/speech-box/cache/model_scope/hub/iic/CosyVoice2-0.5B.

The log Downloading Model to directory: /var/lib/speech-box/cache/model_scope/hub/iic/CosyVoice2-0.5B in the progress is wrong, double check the model files is download to this path /var/lib/speech-box/cache/model_scope/iic/CosyVoice2-0___5B actually.
Finally it failed while creating symbolic, because the path is wrong.

Did you make any modifications on the code or config? Did you understand what you have modified?
No code modifications.

What dataset did you use?

Your Environments (required)

OS: Darwin xxxBook-Pro.local 23.5.0 Darwin Kernel Version 23.5.0: Wed May  1 20:12:58 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6000 arm64
CPU: lscpu
Commit id: modelscope v1.21.0
You may add addition that may be helpful for locating the problem, such as

How you installed PyTorch [e.g., pip, conda, source]
Other environment variables that may be related (such as $PATH, $LD_LIBRARY_PATH, $PYTHONPATH, etc.)

Model hub related: @liuyhwangyh @tastelikefeet @wangxingjun778

the log is an warning, not an error
update to latest modelscope version, and the warning would be gone too

Thanks, it could successfully download the model. Try with the latest version pip install modelscope(1.21.0), the warning still here. And now the log print wrong path Downloading Model to directory: /var/lib/speech-box/cache/model_scope/hub/iic/CosyVoice2-0.5B, Failed to create symbolic link /var/lib/speech-box/cache/model_scope/hub/iic/CosyVoice2-0.5B, can this be fixed?

please make sure you are using 1.21. This is what it looks like with 1.21:

Hi, the version is 1.21.0.
pip list |grep modelscope
modelscope                1.21.0

The command mentioned above is modelscope download --model iic/CosyVoice2-0.5B --cache_dir /var/lib/speech-box/cache/model_scope need to provide the --cache_dir.

authors: aiwantaozi yingdachen

repo: modelscope/modelscope


text:
🛑 Plex is down

In 4f0ddd4, Plex ($PLEX_URL) was down:

HTTP code: 521
Response time: 166 ms

Resolved: Plex is back up in 42beb40.


text:
🛑 Flame is down

In 77eea5f, Flame ($FLAME_URL) was down:

HTTP code: 521
Response time: 218 ms

Resolved: Flame is back up in 175d023.


text:
Failed During Task: Updating Package Directories

I am getting the following command line output:
Initializing new project-platform "Toybox-Windows"...
Updating package directories for project Toybox...
Project "Toybox" is not initialized for platform "Windows".  Initializing now.
Initializing new project Toybox (Windows)...
Finished creating new project "Toybox" (Windows)
Finished initializing new project Toybox (Windows) (Took 1.9 seconds, time: 15:02:43, total elapsed: 1.9
seconds)
Failed during task:  updating package directories for project Toybox (Took 2.9 seconds, time: 15:02:44, tot
al elapsed: 3.0 seconds)
Failed during task:  initializing new project-platform "Toybox-Windows" (Took 2.9 seconds, time: 15:02:44, tot
al elapsed: 3.0 seconds)
Error!
See PrjLog.txt for more details
Operation completed with errors.  Took 3.0 seconds.
PrjLog.txt

This is the contents of the ProjenyProject.yaml's I am using in the UnityPackages folder vs the one that is generating within the project (both converted to a txt file).
ProjenyProject (At UnityProjects Folder).txt
ProjenyProject (Generated with new Project).txt

The error message suggests it's hitting this assert inside UnityEditorMenuGenerator.py:
assertThat(not foundCurrent)

Which suggests that it's somehow finding multiple instances of the same project and platform pair.  I can't think of what would be causing that though.  This is just the code that generates the unity menu to change between projects though, so not critical.  Can you try just removing that assert?

Just to be sure, I've deleted that project and all links and created a new project under a different name. Here's the PrjLog this time.
PrjLog.txt

Are you able to run projeny directly from source?   You'll need to do it that way so you can remove that assert line

repo: modesttree/Projeny


text:
Groupby dictionary aggregation works incorrect in cases when 'by' and columns to aggregate has intersection

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):

Ubuntu 20.04.3 LTS

Modin version (modin.__version__):

0.10.2+2.g253ecd98.dirty

Python version:

Python 3.8.6

Code we can use to reproduce:

import modin.pandas as pd

df = pd.DataFrame({
    "col0": [ 1,  2,  1,  2],
    "col1": [11, 12, 13, 14],
    "col2": [ 4,  4,  4,  4],
    "col3": [ 1,  1,  1,  1]
})

print(df.shape)
gb = df.groupby("col0")
result = gb.agg({"col0": "count"})
string = "%s" % repr(result)
print(string)

Describe the problem

Code above works on Pandas but produces a ValueError: No objects to concatenate exception on Modin on Python and Ray engines (those that I tried). I traced the problem down to these lines
        if drop and len(df.columns.intersection(by_part)) > 0:
            df.drop(columns=by_part, errors="ignore", inplace=True)

that are located inside of reduce function. As a result of these lines df that contains only one column col0 gets empty because this column is dropped. I am not sure whether it is intentional, it doesn't look right for me. @dchigarev please comment.
Source code / logs

One more code example with inconsistent behavior between Modin and Pandas:
df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6], "c": [7, 8, 9], "d": [10, 11, 12]})
result = df.groupby("a")["a", "b", "c"].agg({"b": "count", "c": "sum", "a": "sum"})
print(result)

repo: modin-project/modin


text:
Head/Tail implementation is slow

Someone posted some benchmarks on twitter for us against a couple of other tools. head and tail were performing incredibly slow.
The culprit is column_partitions. We wait until the entire columns are collected and then perform the head. This is incredibly inefficient.
The same is true with tail.

Closed via #39


text:
BUG:

Modin version checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest released version of Modin.

[ ] I have confirmed this bug exists on the main branch of Modin. (In order to do this you can follow this guide.)

Reproducible Example
...
# suppose I already have connection to a sqlite db with table named tabl1 and it has `id` attr.

df = pd.read_sql(sql='select * from table1 where id=:id', con=con, params={'id':'id1'})

### Issue Description

error is raised when I execute this.

### Expected Behavior

should give me correct result

### Error Logs

<details>

```python-traceback

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "%": syntax error
[SQL: SELECT COUNT(*) FROM (select * from table1 where id=:id) AS _MODIN_COUNT_QUERY]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

Installed Versions

INSTALLED VERSIONS
commit                : 52fca1ccaf8f4623688955f724f504a5e80c332c
python                : 3.9.17.final.0
python-bits           : 64
OS                    : Linux
OS-release            : 6.2.0-37-generic
Version               : #38~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov  2 18:01:13 UTC 2
machine               : x86_64
processor             : x86_64
byteorder             : little
LC_ALL                : None
LANG                  : en_CA.UTF-8
LOCALE                : en_CA.UTF-8
Modin dependencies
modin                 : 0.30.1
ray                   : 2.24.0
dask                  : 2024.6.0
distributed           : 2024.6.0
hdk                   : None
pandas dependencies
pandas                : 2.2.2
numpy                 : 1.24.4
pytz                  : 2024.1
dateutil              : 2.9.0.post0
setuptools            : 70.0.0
pip                   : 24.0
Cython                : None
pytest                : 7.4.4
hypothesis            : None
sphinx                : None
blosc                 : None
feather               : None
xlsxwriter            : None
lxml.etree            : None
html5lib              : None
pymysql               : None
psycopg2              : None
jinja2                : 3.1.4
IPython               : 8.18.1
pandas_datareader     : None
adbc-driver-postgresql: None
adbc-driver-sqlite    : None
bs4                   : 4.12.3
bottleneck            : None
dataframe-api-compat  : None
fastparquet           : None
fsspec                : 2024.6.0
gcsfs                 : None
matplotlib            : 3.7.5
numba                 : None
numexpr               : None
odfpy                 : None
openpyxl              : 3.1.4
pandas_gbq            : None
pyarrow               : 16.1.0
pyreadstat            : None
python-calamine       : None
pyxlsb                : None
s3fs                  : None
scipy                 : 1.10.1
sqlalchemy            : 2.0.31
tables                : None
tabulate              : None
xarray                : None
xlrd                  : None
zstandard             : None
tzdata                : 2024.1
qtpy                  : None
pyqt5                 : None

Hi @SiRumCz, is your issue that pd.read_sql is raising a syntax error with your query?
Can you see if your code works with vanilla (non-Modin) pandas? You might need to try different parameter syntax (https://peps.python.org/pep-0249/#paramstyle) to get your query to work.

Closing this for now. If my last comment didn't help and it turns out this is actually a Modin issue, feel free to reopen @SiRumCz.

authors: SiRumCz noloerino


text:
Fixing Head and Tail Functions

Also fixes issue with printing Empty DataFrames with just an index or column, as well as assigning dtypes to empty DataFrames

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin/186/
Test FAILed.

Merged build finished. Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin/201/
Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin/202/
Test FAILed.

Merged build finished. Test FAILed.

authors: AmplabJenkins osalpekar


text:
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules

Bug report
Describe the bug
I have a userscript using stitches. On some site createCss throws the above error at this.
To Reproduce
If it is necessary I should spend more time for reproducible example. If the error is unreachable situation please request to me.
Expected behavior
createCss is initilization function. It should not fail.
System information

OS: windows 10
Browser: Google Chrome 91.0.4472.77 (Official Build) (64-bit)
Version of Stitches: 0.2.0-canary.2

Additional context
0.0.3-canary.4 does not have this problem.

Hi! Can you provide some more information? Either a reproducible example or code snippets. Thanks

codesandbox
I thought it would be hard to reproduce at first but it wasn't.

@jeiea brilliant!
I suppose this is happening because there's no config being passed in. If this is blocking you currently, you can import styled and other functions directly https://stitches.dev/docs/installation#import-it
cc @jonathantneal

In my case, the issue occurred even when there is a config.
example

@jemmyphan thanks!
Seems to only happen when importing from @stitches/core. It works from with @stitches/react
/cc @jonathantneal

Fixed in 0.2.0-canary.4
https://codesandbox.io/s/stitchesreport-forked-mt2bh?file=/package.json

authors: jeiea jemmyphan peduarte

repo: modulz/stitches


text:
the use of AES

Hi, @mofanv , it's really great work, and I have a question about the use of AES.
void aes_cbc_TA(char* xcrypt, float* gradient, int org_len)
{
    IMSG("aes_cbc_TA %s ing\n", xcrypt);
    //convert float array to uint_8 one by one
    uint8_t *byte;
    uint8_t array[org_len*4];
    for(int z = 0; z < org_len; z++){
        byte = (uint8_t*)(&gradient[z]);
        for(int y = 0; y < 4; y++){
            array[z*4 + y] = byte[y];
        }
    }

    //set ctx, iv, and key for aes
    int enc_len = (int)(org_len/4);
    struct AES_ctx ctx;
    uint8_t iv[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f };
    uint8_t key[16] = { (uint8_t)0x2b, (uint8_t)0x7e, (uint8_t)0x15, (uint8_t)0x16, (uint8_t)0x28, (uint8_t)0xae, (uint8_t)0xd2, (uint8_t)0xa6, (uint8_t)0xab, (uint8_t)0xf7, (uint8_t)0x15, (uint8_t)0x88, (uint8_t)0x09, (uint8_t)0xcf, (uint8_t)0x4f, (uint8_t)0x3c };

    //encryption
    AES_init_ctx_iv(&ctx, key, iv);
    for (int i = 0; i < enc_len; ++i)
    {
        if(strncmp(xcrypt, "encrypt", 2) == 0){
            AES_CBC_encrypt_buffer(&ctx, array + (i * 16), 16);
        }else if(strncmp(xcrypt, "decrypt", 2) == 0){
            AES_CBC_decrypt_buffer(&ctx, array + (i * 16), 16);
        }
    }

    //convert uint8_t to float one by one
    for(int z = 0; z < org_len; z++){
        gradient[z] = *(float*)(&array[z*4]);
    }
}

For the encryption, it seems that we do not output the ctxt? I want to use the workflow of client-server AES, that is, client encrypts the message and sends the ctxt to the server, then decrypted inside the enclave.

Hi @DylanWangWQF , thanks!
Please note that we were using hardcoded AES keys inside both server and client TEEs. So key management is not presented, and this file is actually not necessary for our prototype. I guess maybe a tiny AES c like this https://github.com/kokke/tiny-AES-c is what you need? I remember our AES submodule (during previous tests) is from there.

This tiny AES-c is helpful, thanks for your help!

authors: DylanWangWQF mofanv

repo: mofanv/PPFL


text:
feature: support isolate

when I try to call secure storage in a spawned isolate, I got an error:
Unsupported operation: Background isolates do not support setMessageHandler(). Messages from the host platform always go to the root isolate

I am closing all older issues. If this issue still exists in the latest version, please let me know.

authors: agufagit juliansteenbakker


text:
Input hash for deep_clone is modified

I recently noticed that the options hash / kwargs given to deep_clone get modified during its execution. It's probably not that common of an issue, as most examples I've seen and usages I've done pass a literal hash as arguments to the method. However recently I had a situation where I moved the options to be constant and froze them, then when I passed them to deep_clone I received something like:
FrozenError: can't modify frozen Hash: { :include => [:expense] }
from ~/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/deep_cloneable-3.0.0/lib/deep_cloneable/deep_clone.rb:8:in `delete'

It made me think that if I forgot to freeze the provided options, then it would have modified it. Future calls would then have been missing the options that get deleted during the execution of deep_clone, a possibly quite hard to trace bug would have occurred. It would also seemingly only be certain options, based on the usage of Hash#delete. It might be good to deep_dup the options hash at the start of deep_clone, I noticed the gem depends upon ActiveSupport core extensions.
# This is just a made-up example loosely related to what I did
class BuildSessionMethodObject
  CARRIED_FORWARD_SESSION_ATTRIBUTES = {
    include: %i[worksheets],
    exclude: [
      :duration,
      :approved_at,
      :approved_by,
      { worksheets: %i[notes] }
    ]
  }.freeze

  def build(session)
    new_session = instance.deep_clone(CARRIED_FORWARD_ATTRIBUTES)
    # ... do more things with session
  end
end

Although it's not that big of an issue for me in this situation (I simply .deep_dup the arguments before passing), it could cause really confusing behaviour in other situations, e.g. where the arguments where calculated programmatically and stored in a variable.

If you guys consider this something worth changing I'd be happy to submit a PR, I don't have time currently but I may be able to come Friday.

Hi, thanks for reaching out! I totally agree that it would be better if the passed options hash would not be modified. Shouldn't be too hard to fix. I'll have some time this weekend. A PR is always welcome of course :)

Regarding the solution, I think the best solution would be to remove the hash#delete calls and just read from the hash instead as I wonder if those deletes are really necessary.

authors: invke moiristo


text:
can not restore purchase

//            if (billingConnector.isPurchased(skuInfo) == PurchasedResult.YES) {
//                //TODO - do something  Not Work
//                Log.d("BillingConnector", "The SKU: " + skuInfo.getSku() + " is purchased");
//            } else if (billingConnector.isPurchased(skuInfo) == PurchasedResult.NO) {
//                //TODO - do something
//                Log.d("BillingConnector", "The SKU: " + skuInfo.getSku() + " is not purchased");
is purchased >>> not work，always goto >>> is not purchased。
Only way is call billingConnector.purchase(this, "sku_name");
then get error code (  ITEM_ALREADY_OWNED ) know to restore.
Do anyone have any suggestions?
Thanks。

Other solutions have been found
thank you

You can use the onPurchasedProductsFetched listener to check for purchased products. This is the logic you should follow:
            @Override
            public void onPurchasedProductsFetched(@NonNull SkuType skuType, @NonNull List<PurchaseInfo> purchases) {
                String purchasedSku;
                boolean isAcknowledged;

                for (PurchaseInfo purchaseInfo : purchases) {
                    purchasedSku = purchaseInfo.getSku();
                    isAcknowledged = purchaseInfo.isAcknowledged();

                     if (purchasedSku.equalsIgnoreCase("your_sku_id)) {
                            if (isAcknowledged) {
                                //product is purchased
                            }
                        }
                }
            }

Thanks。


text:
Account for fields mapped by rules when checking for missed fields

Fixup for #4 and https://github.com/ros2/ros1_bridge/pull/382 applied on top of mojin-devel
The code after the early return mentioned in the previous commit assumed all fields would match by name, which was of course true. But not anymore, so the missing check now only fails when the missing fields are also not already accounted for via a mapping
To test:
Put
  - topic: /test_id
    type: unique_identifier_msgs/msg/UUID
    queue_size: 1
  - topic: /gazebo_stuff
    type: gazebo_msgs/msg/ODEJointProperties
    queue_size: 1

in eg. amr_config/robots/common/ros1_ros2_bridge.yaml
and start source_amr_ros_bridge && ROBOT=mrl-2 start_amr_ros_bridge
Then run
source_amr_ros2 && ros2 topic pub /test_id unique_identifier_msgs/msg/UUID "uuid: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2]"

source_amr_ros1 && rostopic echo /test_id

source_amr_ros1 && rostopic pub /test_id uuid_msgs/UniqueID "uuid: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1]" -r1

source_amr_ros2 && ros2 topic echo /test_id

source_amr_ros2 && ros2 topic pub /gazebo_stuff gazebo_msgs/msg/ODEJointProperties "damping: []
hi_stop: [10]
lo_stop: [11]
erp: [12]
cfm: [13]
stop_erp: [14]
stop_cfm: [15]
fudge_factor: [16]
fmax: [17]
vel: [18]" -r 1

source_amr_ros1 && rostopic echo /gazebo_stuff

source_amr_ros1 && rostopic pub /gazebo_stuff gazebo_msgs/ODEJointProperties "damping: [1]
hiStop: [2]
loStop: [3]
erp: [4]
cfm: [5]
stop_erp: [6]
stop_cfm: [7]
fudge_factor: [8]
fmax: [9]
vel: [10]"  -r 1

source_amr_ros2 && ros2 topic echo /gazebo_stuff gazebo_msgs/msg/ODEJointProperties

Well shit, this one is not super trivial: the action mapping code raises a plain Exception, which needs to be caught. To squelch the formatting error, I need to introduce a new custom Exception type I think. Hmm

Heh, the code styles don't agree it seems.
Locally:
Code style divergence in file 'include/ros1_bridge/action_factory.hpp':

--- include/ros1_bridge/action_factory.hpp
+++ include/ros1_bridge/action_factory.hpp.uncrustify
@@ -397 +397 @@
-    return std::hash<rclcpp_action::GoalUUID>{}(uuid);
+    return std::hash<rclcpp_action::GoalUUID>{} (uuid);

1 files with code style divergence

which is the opposite of the above. I specifically looked at the include ordering myself (and remember because it was annoying to figure out what was correct) so I think the style changed for rolling. Not sure how to continue, besides disabling rolling.

ok, I'll disable rolling

as this has been going back and forth, I want to give this a proper review next week

authors: LoyVanBeek fmessmer


text:
Table collection as trait

WIP re: #17

Closing.  See discussion in #17.

repo: molpopgen/forrustts


text:
Country lists

All countries list: it seems, should be hardcoded into reality (extracted from Wikipedia with some script, updated on each errrr world situation update), and just grabbed as a list via infoboxer;
(Later?) Some specialized country lists (see Wolfram, see Wikipedia categories, and so on), like:

G8/G20/UN/other alianses countries;
countries by continent
...

Ruby syntaxt for 2 may be like:
# fetch-then-test syntax
Reality.countries.select(&:g20?)
Reality.countries.select{|c| c.continent.name == 'South America'}

# DB-alike query syntax
Reality.countries.where(continent: 'South America').all

In this generic form -- consider implemented. More to follow.


text:
Invalid duration gets valid when wrapping/cloning

https://jsfiddle.net/kearnmachine/fLccczaa/1/

this seems related to https://github.com/moment/moment/issues/3260

I am getting Invalid Date when i am trying to use below code:
var m = moment(AUGUST-2017); // Problem is occuring only in IE.
Could you please help me out with this issue.

@kishoreaoe The problem is that you passed in an invalid argument to moment(). Wrap the argument in quotation marks:
var m = moment("AUGUST-2017");

@extra-mayo , yeap. understood. thanks

It seems that cloning durations, or creating new durations from existing durations should preserve validity. This seems like a bug to me.

@marwahaha I took a look at this and the issue is not exactly with cloning, the issue is within the Duration constructor. When you pass in NaN it uses this to determine validity but sets all data objects to 0. Now when you clone the object is in fact valid because it has 0 for all it's data properties. So I guess the question is should it use 0 for validity check when NaN is passed in? Or should it set the data to be something that will make it invalid. I don't think this is a cloning issue though as much as it's an issue with passing in NaN. If you think anything needs to be done on this let me know happy to put in a PR for it. See the line here: https://github.com/moment/moment/blob/develop/moment.js#L2734

Cool I’ll take a stab at this and submit a PR.

Something simple that sets NaN for properties and/or specifically handles invalid durations in the constructor (to produce an invalid duration) should do the trick.

I'll try to fix.

I can solve the bug, because PR is open for about 5 months

Why this is a bug
The state of NaN is stored in milliseconds, because IsNumber is being checked (which NaN passes, because it is a number Why-does-typeof-NaN-return-number (stackoverflow) ).
https://github.com/moment/moment/blob/07d88ae4d189e0fc5c2ea0ff09f7cc8309080409/moment.js#L3024-L3030
Further, when creating a new Duration, the correctness of the recorded data is checked, and where NaN (in milliseconds) is false, and is replaced by 0.
https://github.com/moment/moment/blob/07d88ae4d189e0fc5c2ea0ff09f7cc8309080409/moment.js#L2733-L2743
As mentioned in the documentation (momentjs.com/docs/#/parsing/is-valid/) when validating invalid moments, all of its clones (i.e. using moment.clone() ) have to produce invalid moments. But in this case, all clones are validated.

The bug has already been resolved in this #4883 Pull Request, it remains to do Merge (#4883) with develop branch, and close this Issue (#4323).

Fixed by 2.25.3, tested in 2.26.0
var m = moment.duration(NaN)
console.log(m.isValid())
// false debugger eval code:1:9
var wrapped = moment.duration(m);
console.log(wrapped.isValid())
// false debugger eval code:1:9
var clone = m.clone();
console.log(clone.isValid())
// false debugger eval code 1:9

Thanks for reporting this issue!
Please re-open if you still have concerns.

authors: TokenStyle extra-mayo ichernev kearnmachine kishoreaoe marwahaha mavkaann mikeweltejr

repo: moment/moment