fix: remove R16 related models

Thanks for the PR!
@yccodr
Did you check if there is a corresponding R17 model for all the models you deleted or just delete the model with R16.x at the beginning?


Dopebox Video list empty

Source information
Dope box 14.47
Source language
English
Steps to reproduce

I open any series or movie
I click an episode or the movie
Then it will back out to episode list
Then it will show a Text on the bottom With the writing of video list empty

Expected behavior
Its should show me the episode and movies
Actual behavior
But all it do is force close back to the episode list, and show a text that the video list is empty even though there is clearly an episode
Aniyomi version
<IP_ADDRESS>
Android version
Android 11
Other details
That's all i find, but it is also the same with other app like sflix
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Duplicate of #2935


samples: drivers: added a simple touch controller sample

This PR adds a sample for the touch controller. The sample is supposed to help examine issues when working with touchscreens. It draws a plus in the last touched position.
Can be tested natively with:
west build -p -b native_posix/native/64 samples/drivers/touch -t run

Hey @kartben @faxe1008, thanks for your comments.
Ideally, we'd like this demo to work on smaller targets as well, where e.g. there's not enough space for LVGL. Plus, we think that having a kind of "minimal" demo with no additional library overhead can be beneficial when working on a new input driver, or debugging an old one. So we'd opt for keeping this demo separate from the one you've linked.
Let me know what you guys think. Thanks

Hey @kartben, let me know if there's something blocking us from moving forward with this PR. Thanks!

Hi @gmarull @faxe1008, I believe your comments were addressed. Could you PTAL? Thanks!
@kartben could you take a look at this PR? If I'm not mistaken, your +1 is needed, as you're the assignee here.

Great work, thanks! @fkokosinski in the future please refrain from marking comments as resolved yourself - it's rather inconvenient to have to go through all closed conversations to check and, more importantly, it's up to the original reviewer to confirm their recommendations have been properly addressed. https://docs.zephyrproject.org/latest/contribute/contributor_expectations.html#workflow-suggestions-that-help-reviewers Thanks!

Right, sorry about that.  I'll keep this in mind in the future :)

The CI failure seems to be unrelated. On 8fda052826de630fc8a973325675759234a01fef (main) I seem to be getting the exact same error when running west build -p -b esp32s3_touch_lcd_1_28/esp32s3/appcpu tests/lib/c_lib/common -T libraries.libc.common.

Rebased due to failing CI.


Sparse ndarray class

While sitting with @stefanv last week we discussed (and then @stefanv started implementing) sparse array classes that use the same code as the existing matrix classes, but instead satisfy the ndarray interface (only up to two dimensions).  For example slicing out rows would result in 1d arrays rather than 2d matrices, the * operator means elementwise multiply rather than matrix multiply, etc..
This would be valuable for a number of communities and, in particular, anyone trying to use sparse arrays and numpy arrays interchangably, as happens in Pandas, Scikit-Learn, and Dask.array.
I thought I'd raise this issue to track this work (and also to subtly prod @stefanv).
Also cc @NelleV and @njsmith

Yes, I was speaking about this with @jarrodmillman, @njsmith, and @nellev, and they said that @rgommers had some thoughts on the topic, so roping him in too.
I am, indeed, interested in doing the work on this.  I could use help with ideas for a test suite of ndarray functionality limited to 2D and lower.

Feel free to use part or all of the prototype I wrote a while back: https://github.com/perimosocordiae/sparray
I implemented an arbitrary-dimension sparse array type similar to the existing COO format by storing an array of linearized indices, the nonzero data, and the shape. I tried to follow the ndarray API as much as possible.
Also take a look at @ev-br's attempt (https://github.com/ev-br/sparr) which uses C++ maps similar to the existing DOK format.

 I would caution against a design that bakes 2D shapes into the code too deeply.
Try to avoid ambiguity about if/when duplicate entries are allowed, and in general when internal sparse storage invariants need to be maintained. Same goes for stored zeros. These issues have caused a lot of headaches in the existing spmatrix codebase.
It'll remain important to give users a choice of the sparse storage format for efficiency reasons, but we'll want a design that doesn't guarantee that all operations on a given format will produce results of the same format. This is especially relevant when considering operations that produce results with different dimensions than the input, like slicing or extracting a diagonal.

I believe that the immediate goal was to just reuse the same data structures to get 1d and 2d arrays with minimal effort.

Yes, I think the idea, for now, is to do the minimum necessary to get a more familiar API to work with across different projects.  Once that is in place, we should be able to refactor at our leasure, and eventually expand to higher ND.  It's probably not a lot of work to get the array semantics fixed in the current codebase---at least much less than any of the full rewrite attempts listed.

If all you want is 2d sparse arrays, then yes, it's easiest to just change a few methods on the existing spmatrix implementation.
Supporting 1d sparse arrays will require a bit more effort, as the assumptions about spmatrix shape are pretty deeply ingrained.

I was also in the need for a sparse matrix with multiple values per sparse element.
Thus I implemented this class:
https://github.com/zerothi/sisl/blob/master/sisl/sparse.py
which allows such matrices. It is entirely written in python but is surprisingly fast.
I know it is not entirely what seems suggested here. But could provide ideas.
Also, it is in CSR format.

Just to be clear the scope of this issue is limited to just "small modifications of the existing scipy.sparse matrix classes to support the ndarray interface where it makes sense.  If people want to discuss alternative implementations of sparse arrays then they should probably create a new issue and not comment here.

Ok, sorry for the confusion.

It might be worth laying out exactly what  requirements (ideally, the absolute minimum) the SciPy community needs in pydata/sparse before it would be willing to depend on pydata/sparse. You can see the docs and what we've already done so far.
As discussed here, it's best to put linear algebra, graph theoretic algorithms, etc in Scipy and the ndarray implementations in sparse.
I bring this up, because this is close to being a blocker. Of course, I could work on implementing all formats required for Scipy, but I was wondering if it would be better to start parallel work.
I would be willing to prioritize the required features and also to help in implementing/porting anything here to the new interface.

It might be worth laying out exactly what requirements (ideally, the absolute minimum) the SciPy community needs in pydata/sparse before it would be willing to depend on pydata/sparse. You can see the docs and what we've already done so far.

No exact requirements exist unfortuately.  Software tends to be adopted on a person-by-person basis early on until enough people use it.

As discussed here, it's best to put linear algebra, graph theoretic algorithms, etc in Scipy and the ndarray implementations in sparse.

I don't anticipate the scipy library devs building algorithms on top of an external data structure any time in the immediate future.

My idea is to slowly wean people off the current scipy.sparse before deprecating it and making this the new default, so it's best to start early.

I agree that starting slowly is good.  I suspect that the sklearn developers would welcome CSR/CSC implementations for 1 and 2 dimensions that satisfied the ndarray interface.  Looking through the scikit-learn codebase for scipy.sparse provides an informative list of what they use.  It's not a small list.
Just to set expectations, a goal like "replace existing use of scipy.sparse with new code" is ambitious and will likely take more than a year.  If the goal is to have a large impact on user communities then I would take one of the following two approaches:

Work from within the scipy library so that changes immediately have an effect on next release.  I think that the thing to do here is to modify their existing code to support the ndarray interface.  This would probably be entirely separate from the pydata/sparse work.
Find new user groups who are not well served by scipy.sparse and work with them.  The dask.array and XArray communities are such groups, due to the need for ndarray interface (hence my original interest in this project).  There are presumably others groups in the world.

I expect the ndarray interface will not be enough to work with in
practice, but scipy.sparse will need to be able to deal with details of
the sparse arrays, e.g. conversions to CSR and CSC formats, and back.

What could be done in near future with relatively little work is
recognizing the "new" sparse matrix format as in aslinearoperator()
etc., which then directly enables their use in iterative equation and
eigensolvers.
This is likely possible to do in a backward-compatible manner, and maybe
even without adding a hard dependency.
Direct equation solvers generally require a specific matrix format (CSC
for superlu), for which format conversion and access to the underlying
data structure is necessary.

What could be done in near future with relatively little work is
recognizing the "new" sparse matrix format as in aslinearoperator()
etc., which then directly enables their use in iterative equation and
eigensolvers.

I wonder if it would be possible to use the existence of numpy protocols to do this more generally.  I would love to see more situations like this where we don't condition based on the type of an object, but rather on established protocols.  This has been very helpful in some of the other numpy-like projects like dask.array and xarray.

Direct equation solvers generally require a specific matrix format (CSC
for superlu), for which format conversion and access to the underlying
data structure is necessary.

I agree that data layout is essential for efficient use by algorithms, particularly those written at a lower level.  My hope is that if we implement an ndarray CSR/CSC that we will satisfy enough of the scipy.sparse.csc_matrix interface to trick the algorithms :)  We've found in NumPy that this sometimes requires the removal of explicit type checks or conversions if they exist.  Maybe this is a better option and what @hameerabbasi had in mind.  Write ndarray implementations that can mimic scipy.sparse implementations well enough that scipy.sparse code just works.  @pv given your experience with scipy.sparse do you anticipate difficulty with this approach?

Matthew Rocklin kirjoitti 21.02.2018 klo 15:05:

I wonder if it would be possible to use the existence of numpy protocols
to do this more generally. I would love to see more situations like this
where we don't condition based on the type of an object, but rather on
established protocols. This has been very helpful in some of the other
numpy-like projects like dask.array and xarray.

If the objects can be identified (e.g. getattr(obj, '__array_ufunc__',  None) is not None), it's not a problem to make aslinearoperator()
recognize them. Only operator.matmul, the shape and dtype needs to be
known here. I guess such a PR can be written without a problem, so
that's a low-hanging fruit.

Direct equation solvers generally require a specific matrix format (CSC
for superlu), for which format conversion and access to the underlying
data structure is necessary.

I agree that data layout is essential for efficient use by algorithms,
particularly those written at a lower level. My hope is that if we
implement an ndarray CSR/CSC that we will satisfy enough of the
|scipy.sparse.csc_matrix| interface to trick the algorithms :)

The relevant superlu solver here (and the suitesparse solvers in other
packages) are written in C, and deal with inputs as outputs as raw CSC
data, so they need to know how to unwrap and rewrap the raw data.
The same probably applies to the sparse.csgraph routines (which have an
additional complication, if the handling of structural zeros is different).
The remaining routines are then the sparse hstack, vstack, block, diag,
etc. --- these are probably more difficult to make work with a different
sparse matrix format in a backward compatible way.

Just to set expectations, a goal like "replace existing use of scipy.sparse with new code" is ambitious and will likely take more than a year.

I realize this. It's part of the reason why I'm hoping someone will accept this as my PhD proposal. I hope to be finished with my Masters within the year.

It's not a small list.

But most of it IS available in BLAS/LAPACK/ARPACK etc and has wrappers in Scipy, so we only need the basic data structures to work for now.

If the objects can be identified (e.g. getattr(obj, '__array_ufunc__', None) is not None)

I would suggest isinstance(obj, sparse.SparseArray) in general.

I would suggest isinstance(obj, sparse.SparseArray) in general.

This poses two problems:

scipy would need to know about the sparse library, which introduces dependency issues
It would only apply to the new sparse library, and not to other libraries that might show up in the future.

We wish that scipy hadn't used type-based checks in the past.  I think that rather than asking it to expand those type-based checks to these new types, we should instead determine protocols that avoid this problem more generally in the future.

I think that rather than asking it to expand those type-based checks to these new types, we should instead determine protocols that avoid this problem more generally in the future.

Numpy's upcoming gufunc protocol is great for this. It supports e.g. dot, svd, etc. We should re-use that instead of implementing our own. Of course, the implementations of the gufuncs themselves cannot be made generic like we did for ufunc.__call__.

However, I'd be perfectly willing to write up a small document that proposes sparse specific things, like how to detect the format of a sparse array, how to check if something is a sparse array in an implementation-agnostic way, and update it as we go.

I think that the operators to which @pv was referring were array specific, not sparse specific.
I do agree that it would be useful to understand if something is CSC-like or CSR-like for specific algorithms.  One approach here would be to make a generic CSX format that has an attribute for determining the storage hierarchy of axes (as you've discussed before) and then asking scipy.sparse to adopt that attribute upstream for their csc and csr classes and the appropriate algorithms.

Seems analogous to the C-order / F-order distinction for dense arrays. If you have a "compressed" sparse structure, C-order ~= CSR and F-order ~= CSC.

@perimosocordiae It can be made more general than that, read dask/dask-ml#123.
TL;DR: CSD can have some uncompressed and some compressed dimensions. The compressed dimensions are stored in a linear fashion similar to CSR et. al. The uncompressed dimensions are stored in a format similar to COO. CSR has rows compressed, but not columns. CSC has columns compressed, but not rows. Even COO is a special case of this; where no axis is compressed.

I've begun work on a small document showing what protocols for sparse arrays all implementations have to follow (not yet complete). Issues/PRs welcome.

Is there a Scipy Enhancement Proposal format modeled on PEP/NEP? Do NEPs already cover this? My document was mostly complete, just needed details added. I was thinking of adding it there.

We're just about to add a Scipy Enhancement Proposal section to the docs (or separate repo), triggered by the optimize improvements that @andyfaff is working on. @andyfaff do you have something in a working state already that @hameerabbasi could mirror?

@stsievert and I are working on something at https://github.com/andyfaff/scipy/pull/6.
It still needs a bit of work, but it'll give a good idea of what's going on.
It sure is a lot of work (done with the hope of the PEP being accepted).

Anything that makes the implementer think a bit more about design is always a good thing.

My document is in a workable state now. I'd appreciate it if other people here looked it over and suggested improvements. https://github.com/hameerabbasi/sparse-ndarray-protocols

General thoughts are that I like the document.  I especially like spelling out the expectations of CSR/CSC/COO, etc. here.  As with all proposed specs I'm trying to find things that can be cut and still achieve the desired shared functionality.  To do that, I think we need to decide what the desired shared functionality is.  I think that the goal is to enable sparse array implementations to play nicely with the scipy codebase, the broader ecosystem, and each other, without explicit collaboration.  Concretely this depends on the following:

Follows all of the normal array things, for which I think we defer to upstream numpy protocols when possible (like __array_ufunc__)
Can be used by the more advanced scipy.sparse algorithms (linalg, graphs, ...)
Can work with each other for operations like dot, and such

Looking at the existing scipy.sparse code it looks like many of the more advanced algorithms look like the following:
def f(A, b):
    if not isspmatrix_csc(A):
        A = csc_matrix(A)

    access indptr, data, etc..

def G(A, b):
    if not isspmatrix_coo(A):
        A = coo_matrix(A)

    access coords, data

So this makes me a little curious if we can just rely on duck types for CSC/CSR/COO/... as you've defined  here, as well as to_csc(), to_csr(), and to_csc() methods for downstream classes, and be done.  Does this suffice for interoperability?

So this makes me a little curious if we can just rely on duck types for CSC/CSR/COO/... as you've defined here, as well as to_csc(), to_csr(), and to_csc() methods for downstream classes, and be done. Does this suffice for interoperability?

My idea is to make downstream implementations independent of SciPy code entirely, and to make SciPy work with and return the right type from a given implementation. Of course, a bit of changes will need to be made to the SciPy codebase, but might as well do a clean-up right?
Here's how this will be done:
if getattr(arr, '__is_sparray__', None)
    if arr.format != 'csc':
        arr = arr.asformat('csc')
    # Other code here
else:
    # Non-sparse handling code here.

It would be good to add a rationale for each of the formats. I understand that some formats share a lot of their implementation, but 14 formats (if I counted correctly) is still a very high number.

Yes, strictly speaking there are 14 formats, but classes for most will just be inherited stubs calling their respective super-formats. Things like CSR and CSC will need minor specialization to work with linear algebraic operations, but that's about all I can think of.
All in all, we just need 4 (!) (I was surprised myself that there were so little, I just got to counting now) formats to cover everything in the document. I've adopted your suggestion and added potential uses for each format, as well as a statement that implementing them is purely optional. BSD and BDOK alone cover 99% of all use-cases.

Could someone please summarize the current situation on this issue. Is adding sparse ndarray still envisioned as part of scipy roadmap or is all effort now focused on pydata/sparse?
For instance, for scikit-learn I think the blockers from using pydata/sparse currently would be,

lack of native CSR/CSC support: lot of cython code that is written for those formats, and conversion from COO is not enough (cf https://github.com/pydata/sparse/issues/126#issuecomment-384582337 for more details)
additional dependence on numba and llvmlite (https://github.com/pydata/sparse/issues/126). Maybe this position would change in the future, not sure.

I couldn't find benchmarks say for dot product comparing sparse.COO and scipy.sparse.coo_matrix.
The roadmap https://scipy.github.io/devdocs/roadmap.html#implement-sparse-arrays-in-addition-to-sparse-matrices states that at some point the plan is to start depending on pydata/sparse in scipy.sparse. Does that mean that scipy would also depend on numba, as things stand currently?

There are no current plans to add a sparse ndarray class directly to scipy.

scipy.sparse.linalg now supports PyData Sparse arrays as input (since 1.4.0).
there is indeed no plan to merge PyData Sparse into SciPy, it's good as a standalone project
PyData Sparse is maturing, but there's still some way to go. Note that it does have a format (CSD) that generalizes CSR/CSC, see https://github.com/pydata/sparse/pull/258.

The roadmap https://scipy.github.io/devdocs/roadmap.html#implement-sparse-arrays-in-addition-to-sparse-matrices states that at some point the plan is to start depending on pydata/sparse in scipy.sparse. Does that mean that scipy would also depend on numba, as things stand currently?

This is at least a year off I'd say, first PyData Sparse needs to catch up in terms of performance and features, have a stable release, and then we can start considering it. At that point we will probably keep it an optional dependency for quite a while, so installing SciPy does not pull in Numba.


Add bit32

https://devforum.roblox.com/t/bit32-lua-library-is-now-available/320322
I'd like to add bit32 support for roblox-ts, but I need lemur to support it for unit testing.

We should be able to optionally depend on a LuaRocks rock that backports this API for Lua 5.1, similar to how we support high-resolution timers, JSON, and HTTP requests.


No interpreter found error

The black vscode extension used to work for me fine earlier.
Since a few days now - black formatting has not been working on vscode.
I checked the output, and I see the messages:
2023-11-09 14:40:30.362 [info] No interpreter found from setting black-formatter.interpreter
2023-11-09 14:40:30.362 [info] Getting interpreter from ms-python.python extension for workspace /home/abdealiloko/myapp
2023-11-09 14:40:30.363 [error] Python version 3.7 is not supported.
2023-11-09 14:40:30.364 [error] Selected python path: /home/abdealiloko/myapp/venv37/bin/python
2023-11-09 14:40:30.364 [error] Supported versions are 3.8 and above.
2023-11-09 14:40:30.364 [info] No interpreter found for /home/abdealiloko/myapp in settings or from ms-python.python extension
2023-11-09 14:40:30.364 [error] Python interpreter missing:
[Option 1] Select python interpreter using the ms-python.python.
[Option 2] Set an interpreter using "black-formatter.interpreter" setting.
 Please use Python 3.8 or greater.

 Now, it is not
... And I am using py3.7 because I still need to support it for my project.
I guess what I can't understand is why the black in my venv37 is not being used by the extension anymore.

I always assumed that 2023.6.0 - implied that this was released in June 2023 ...
But I just realized that 2023.6.0 was actually released 2 days ago.
On checking the issue tracker more - I see that this may be similar to https://github.com/microsoft/vscode-black-formatter/issues/372
Is the expected behavior that vscode-black will not support black installed in python 3.7 environments anymore ?
Seems a bit inconvenient... but looks like that is expected behavior but not documented in the release notes ?

@AbdealiLoKo The server that we use needs 3.8 or greater, but it can run black from 3.7 environment. You can set black-formatter.interpreter to a newer interpreter and then set the black-formatter.path to the path of black from your environment.
Another option is to pin the black-formatter extension to version 2023.4.* using "Install Another Version"

Same issue, how to work with local conda env?

@GF-Huang Use Python: Set Interpreter Command to select an interpreter for your workspace.


Auto-generate latency tables for user's hardware

This is something stoke needs which is pretty easy to automatically generate at this point. The alternate is to keep track of this data by hand, which is pretty mind-numbing.

This seems really, really hard to me.  Why do you say it's easy?  Maybe
I'm missing something.
On 04/06/2015 01:36 PM, eric schkufza wrote:

This is something stoke needs which is pretty easy to automatically
generate at this point. The alternate is to keep track of this data by
hand, which is pretty mind-numbing.
—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176.

At least to the same standard of quality as we have now.
All you need is a program that iterates over every instruction, assembles
it into a function, calls that function a bajillion times and averages the
runtime. If we ignore instructions that take memory (which our current
table does anyway), generating sensible operands is pretty easy.
I'm pretty much done with this. Just testing before I check it in.
On Mon, Apr 6, 2015 at 4:15 PM, Berkeley Churchill<EMAIL_ADDRESS>
wrote:

This seems really, really hard to me. Why do you say it's easy? Maybe
I'm missing something.
On 04/06/2015 01:36 PM, eric schkufza wrote:

This is something stoke needs which is pretty easy to automatically
generate at this point. The alternate is to keep track of this data by
hand, which is pretty mind-numbing.
—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176.

—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176#issuecomment-90279490.

I'm doing something slightly fancier than that.
I'm also measuring the time it takes to run an empty function a bajillion
times and counting the difference to eliminate the overhead of calling a
function from the estimate.
On Mon, Apr 6, 2015 at 4:18 PM, eric schkufza<EMAIL_ADDRESS>wrote:

At least to the same standard of quality as we have now.
All you need is a program that iterates over every instruction, assembles
it into a function, calls that function a bajillion times and averages the
runtime. If we ignore instructions that take memory (which our current
table does anyway), generating sensible operands is pretty easy.
I'm pretty much done with this. Just testing before I check it in.
On Mon, Apr 6, 2015 at 4:15 PM, Berkeley Churchill <
<EMAIL_ADDRESS>wrote:

This seems really, really hard to me. Why do you say it's easy? Maybe
I'm missing something.
On 04/06/2015 01:36 PM, eric schkufza wrote:

This is something stoke needs which is pretty easy to automatically
generate at this point. The alternate is to keep track of this data by
hand, which is pretty mind-numbing.
—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176.

—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176#issuecomment-90279490.

Alright.  I'd be interested to see the results and how it compares to
our tables.  Also, I think it would be interesting to do the measurement
in a few different ways: perhaps with/without the function call, and
perhaps also try running the instruction multiple times in a loop.  It
would be nice to see if this gives noticeably different results for some
instructions.
I worry that for some instructions, having them all in a row would be a
pathological case compared to their normal use, and might end up doing
massive pipeline stalls.
On 04/06/2015 04:19 PM, eric schkufza wrote:

I'm doing something slightly fancier than that.
I'm also measuring the time it takes to run an empty function a bajillion
times and counting the difference to eliminate the overhead of calling a
function from the estimate.
On Mon, Apr 6, 2015 at 4:18 PM, eric schkufza<EMAIL_ADDRESS>wrote:

At least to the same standard of quality as we have now.
All you need is a program that iterates over every instruction,
assembles
it into a function, calls that function a bajillion times and
averages the
runtime. If we ignore instructions that take memory (which our current
table does anyway), generating sensible operands is pretty easy.
I'm pretty much done with this. Just testing before I check it in.
On Mon, Apr 6, 2015 at 4:15 PM, Berkeley Churchill <
<EMAIL_ADDRESS>wrote:

This seems really, really hard to me. Why do you say it's easy? Maybe
I'm missing something.
On 04/06/2015 01:36 PM, eric schkufza wrote:

This is something stoke needs which is pretty easy to automatically
generate at this point. The alternate is to keep track of this
data by
hand, which is pretty mind-numbing.
—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176.

—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176#issuecomment-90279490.

—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176#issuecomment-90281216.

They're roughly the same. All of the stoke regression tests are passing
using the auto-generated tables, so they're at the very least not
pathologically different.
I think a little more work on this will get us something pretty good. We
might even be able to come up with much more sensible values for memory
accesses.
On Mon, Apr 6, 2015 at 4:51 PM, Berkeley Churchill<EMAIL_ADDRESS>
wrote:

Alright. I'd be interested to see the results and how it compares to
our tables. Also, I think it would be interesting to do the measurement
in a few different ways: perhaps with/without the function call, and
perhaps also try running the instruction multiple times in a loop. It
would be nice to see if this gives noticeably different results for some
instructions.
I worry that for some instructions, having them all in a row would be a
pathological case compared to their normal use, and might end up doing
massive pipeline stalls.
On 04/06/2015 04:19 PM, eric schkufza wrote:

I'm doing something slightly fancier than that.
I'm also measuring the time it takes to run an empty function a bajillion
times and counting the difference to eliminate the overhead of calling a
function from the estimate.
On Mon, Apr 6, 2015 at 4:18 PM, eric schkufza<EMAIL_ADDRESS>wrote:

At least to the same standard of quality as we have now.
All you need is a program that iterates over every instruction,
assembles
it into a function, calls that function a bajillion times and
averages the
runtime. If we ignore instructions that take memory (which our current
table does anyway), generating sensible operands is pretty easy.
I'm pretty much done with this. Just testing before I check it in.
On Mon, Apr 6, 2015 at 4:15 PM, Berkeley Churchill <
<EMAIL_ADDRESS>wrote:

This seems really, really hard to me. Why do you say it's easy? Maybe
I'm missing something.
On 04/06/2015 01:36 PM, eric schkufza wrote:

This is something stoke needs which is pretty easy to automatically
generate at this point. The alternate is to keep track of this
data by
hand, which is pretty mind-numbing.
—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176.

—
Reply to this email directly or view it on GitHub
<https://github.com/eschkufz/x64asm/issues/176#issuecomment-90279490
.

—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176#issuecomment-90281216.

—
Reply to this email directly or view it on GitHub
https://github.com/eschkufz/x64asm/issues/176#issuecomment-90289806.


Candidate Release Comments (Issues Closed)

This issue was created to collect comments about the upcoming metrics release.
This thread is for comments about Issues Closed
GitHub location: https://github.com/chaoss/wg-evolution/blob/master/metrics/Issues_Closed.md
Release candidate: https://chaoss.community/metric-issues-closed
See all release candidates of metrics are at:
https://chaoss.community/metrics-rc/
Important Dates
Release Freeze: June 21st, 2019
Candidate Release: June 24th, 2019
Comments Close: July 24th, 2019
Release Date: August 1st, 2019

Dead link (Issues are defined as in Issues.) at line 8.
Not sure if this should go to "Issues New"
if so will need an absolute URL path

Yes, this should be Issues New.

I think issues related to source code might be identifiable with a different metric. This varies widely in practice, with platforms like GitHub and GitLab supporting linking more organically... Yet I don't think the consistency of use is widespread.
So, with regards to this definition from the metric (below), my suggestion is that the default assumption that an issue is NOT linked to source code directly.
"Criteria for source code. Algorithm. Default: all issues are related to source code.
If we are focused on source code, we need a criteria for deciding whether an issues is related to the source code or not."

Based on @klumb and @jgbarah comments above mine, I am unsure if I commented in the right place. :)

Based on @klumb and @jgbarah comments above mine, I am unsure if I commented in the right place. :)
My intent is to comment on issues:closed.

I think this is the right place to comment on the Issues Closed metric ;-)

[...]
So, with regards to this definition from the metric (below), my suggestion is that the default assumption that an issue is NOT linked to source code directly. We have not gotten to a level of detail where we define metric attributes (explicitly), but I think some indication of a "source code status" being specified would be appropriate. I think the status would have 3 states:

This is indeed the default assumption. What we wanted is to capture metrics related to source code, since this is defined in context of the Code Developement focus area. But since, as you suggest, knowing when an issue is related to source code is tricky (except when projects are labeling them themselves), we propose a parameter "Criteria for source code", which is "all issues are source code" by default. If an implementation in a given project can do it better, they could use a specific "Criteria for source code".
Is this more clear now?

In some communities, source code and documentation are treated with the same level of importance.

In some communities, source code and documentation are treated with the same level of importance.

Thanks, @foundjem, you are right. But I think this is not  matter of importance. In any project, you may be interested in, for example, how issues for code are performing, and issues for documentation. Both may have different characteristics, and both may have for example, different typical time spans. Sin we're in the context of the "code development" focus area, metric should be referred to source code, as much as reasonably possible.
Of course, the area code could be ill-defined, and/or we may need another "documentation development" area code. But this is out of scope when discussing this metric, i think ;-)

Addressed and closed.


Assembly.GetEntryAssembly().Location could be the single Exe

First, is there a way to get the full path to the executing *.exe file?
I see the reasoning that Assembly.GetEntryAssembly() value is an empty string because the assembly which it was built in no longer exists. I actually expected this to be the single executable, no matter where I was, because I wasn't thinking about the code from a pre-compiled/symbols perspective, I was thinking of it from a post-compile. **Should it be the compiled *.exe?
Scenario:
I'm building our single-file installer as a small CoreRT CLI. Users can double click it or call it from the command line. The installer sets up a folder structure and drops our latest bits in the right spots. Because of this, I expect the installation directory to be empty, but it would make sense to allow for the installer to be in the directory. In addition, I ask them if they would like to clear the directory. I'd like to skip deleting this file or allow it to be the only file in the directory, but I don't know it's name and can't get a file handle to identify it either.
Related issues:
#1773 #5467

Also, AppContext.BaseDirectory returns the directory that the app lives in.

AppContext.BaseDirectory in combination with Path.GetFileName(Environment.GetCommandLineArgs()[0]) should be a crossplatform way to get that information in a scenario like this.
We don't want to return the path to the compiled EXE because we want to support compilation modes where some managed code gets compiled into a DLL (e.g. some of the framework code), other code stays in the EXE, but the split might be crossing an assembly boundary (some of the code from a single assembly is in the DLL, some of it is in the EXE). There's no clear answer in such mode.
The other thing is that whether the path to the compiled EXE would be the right answer really depends on what the app does with the string later. If it e.g. wants to roundtrip the string through Assembly.Load, that's not going to work. If it assumes the location is a unique string for each assembly, that's not going to work either.
This topic is coming up often enough that we might want to expose a way to set the location to something sensible through AppContext switches (e.g. expose the "Empty string", "Path to the entrypoint module", and "Module name as defined in assembly metadata without path") and pick a reasonable default.

AppContext.BaseDirectory in combination with Path.GetFileName(Environment.GetCommandLineArgs()[0]) should be a crossplatform way to get that information in a scenario like this.

That'll do it! Environment.GetCommandLineArgs()[0] is the full path to the executable. If debugging per say in Visual Studio, it's the path to the dll because it's built, not published.

This topic is coming up often enough that we might want to expose a way to set the location to something sensible through...

Yeah there were quite a few threads about it, but most of it was interest in getting the directory of the executing assembly, which AppContext.BaseDirectory provides. I think the scenario I provided was the first I saw that really requires the name of executing file.


feature: Create Authentication

Error reported to Prisma: https://github.com/prisma/prisma/issues/23756


Add goes to weathermaps

This could be better, but I think it is ready if someone is willing to look at it.


linux v4l2 capture mjpg

it works well on remipi (with renesas  RZ/G2L),with log:

but when i compile it ,i got error:

then i fixed it with modifying two files opencv-mobile-4.9.0/modules/core/include/opencv2/core/core.hppandopencv-mobile-4.9.0/modules/imgproc/include/opencv2/imgproc/imgproc.hpp

Comment line 45 in opencv-mobile-4.9.0/modules/core/include/opencv2/core/core.hpp

Comment line 45 in opencv-mobile-4.9.0/modules/imgproc/include/opencv2/imgproc/imgproc.hpp

Finally compiled successfully！

but the output lib size is so big

**but when i compile it ,i got error

compile error fixed

got it


Add support for generic unions

Description
This PR merges union types in strawberry.schema.schema_converter.GraphQLCoreCoverter:from_union. This allows creating a more stable interface, as a union can be created between a TypeVar and an annotated union. In the examples in #3393, this changes SomeTypeByIdNotFoundError => SomeTypeByIdResult, the latter of which won't change as more error cases are added.
Types of Changes

[ ] Core
[x] Bugfix
[ ] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR

#3393 - The related issues have been checked as well, but this doesn't seem to fix them; except for #2959 which seems to have already been fixed as far as I can tell.

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)
Here's the tweet text:
🆕 Release (next) is out! Thanks to Jacob Allen for the PR 👏

Get it here 👉 https://strawberry.rocks/release/(next)

@enoua5 I pushed a fix 😊 but I'll try to write a test as well

Thank you for the fixes, @patrick91! It's looking good, and each of the examples in #3393 are now working as expected! :tada:
It sounds like we'll need to change the release file? Does something like "Add support for generic unions" encompass the new changes? As far as examples go for the release file, would copying an example or two from the new tests suffice?

@enoua5 yes! I'll change the release file ☺ it was late yesterday and I was discussing with @bellini666 if there was a way to simplify the code, I'll take another look today

@enoua5 yes please 😊

Also of note is that this is technically a breaking change. A breaking change that makes output more predictable and stable, but a breaking change nonetheless.
Consider the following schema definition:
from typing import Annotated, Generic, TypeVar
import strawberry

@strawberry.type
class SomeType:
    a: str

@strawberry.type
class NotFoundError:
    id: strawberry.ID
    message: str

T = TypeVar('T')

@strawberry.type
class ObjectQueries(Generic[T]):
    ...

    @strawberry.field
    def by_id(self, id: strawberry.ID) -> Annotated[T | NotFoundError, strawberry.union("ByIdResult")]:
        ...

    ...

@strawberry.type
class Query:

    @strawberry.field
    def some_type_queries(self, id: strawberry.ID) -> ObjectQueries[SomeType]:
        return ObjectQueries(SomeType)

schema = strawberry.Schema(Query)

Under the current version of strawberry, this SDL is generated (reordered to match order of new generation, because that changed):
type Query {
  someTypeQueries(id: ID!): SomeTypeObjectQueries!
}

type SomeTypeObjectQueries {
  byId(id: ID!): SomeTypeNotFoundError!
}

union SomeTypeNotFoundError = SomeType | NotFoundError

type SomeType {
  a: String!
}

type NotFoundError {
  id: ID!
  message: String!
}

Whereas under this PR, this is the SDL generated:
type Query {
  someTypeQueries(id: ID!): SomeTypeObjectQueries!
}

type SomeTypeObjectQueries {
  byId(id: ID!): SomeTypeByIdResult!
}

union SomeTypeByIdResult = SomeType | NotFoundError

type SomeType {
  a: String!
}

type NotFoundError {
  id: ID!
  message: String!
}

For clarity, that:
6c6
<   byId(id: ID!): SomeTypeNotFoundError!
---
>   byId(id: ID!): SomeTypeByIdResult!
9c9
< union SomeTypeNotFoundError = SomeType | NotFoundError
---
> union SomeTypeByIdResult = SomeType | NotFoundError

While I do this this naming is better and makes it easier to write a consistent API (in the former case, adding a new error type to the union would result in a type name of SomeTypeNotFoundErrorNewType, also breaking code), this could potentially break any code already using this pattern.

Didn't realize merging would list all the other commits on here :sweat_smile: how do i squash that?

Seems like something went wrong during merge, your diff has 12k lines now 😖

There we go, just needed to get github to recheck the base


framer.subscribeToImage() errors in image mode plugin

Describe the bug
Using the framer.subscribeToImage() function when editing images causes this error in the console:
error: [ActivePlugin] Cannot subscribe to topic: image, while in mode: image

To Reproduce

Run the Threshold plugin from https://github.com/framer/plugins/tree/main/plugins/threshold
Open the developer console
Add an image to a frame, then launch the Developer Plugin from the image plugins menu.
Check the console for an error.

Expected behavior
framer.subscribeToImage() should work when editing images.
Additional context
I think the issue is that the plugin mode (framer.getMode()) is "image" when it should be "editImage". The docs say that "image" doesn't have access to the current image and "editImage" does, but it doesn't seem to be possible to get the development plugin to use "editImage" mode instead of "image" right now. Even when "image" is not included in the list of modes in framer.json.

To clarify, the error is only when launching the plugin from the image plugins menu. When launched from the action menu in "default" mode, framer.subscribeToImage() works fine.

@jonastreub @niekert is this expected?

Oh nice catch. This should indeed not throw an error.

This should no longer be happening - it was solved a while back. Feel free reopen if you still encounter issues


Installing error

When installing mrsimulator from pip it gives this long error.
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [51 lines of output]
:14: DeprecationWarning:
    `numpy.distutils` is deprecated since NumPy 1.23.0, as a result
    of the deprecation of `distutils` itself. It will be removed for
    Python >= 3.12. For older Python versions it will remain present.
    It is recommended to use `setuptools < 60.0` for those Python versions.
    For more details, see:
      https://numpy.org/devdocs/reference/distutils_status_migration.html

  Using python version 3.11.7
  mrsimulator version  0.7.0
  3.11.7 | packaged by Anaconda, Inc. | (main, Dec 15 2023, 18:05:47) [MSC v.1916 64 bit (AMD64)]
  Found Python installation: C:\Users\MAS-NMR\anaconda3
  ['C:\\Users\\MAS-NMR\\anaconda3\\Library\\include', 'C:\\Users\\MAS-NMR\\anaconda3\\Library\\include\\openblas', 'C:\\Users\\MAS-NMR\\anaconda3\\include', 'src/c_lib/include/', 'C:\\Users\\MAS-NMR\\AppData\\Local\\Temp\\pip-build-env-3rhpmt77\\overlay\\Lib\\site-packages\\numpy\\core\\include']
  ['C:\\Users\\MAS-NMR\\anaconda3\\Library\\lib']
  ['fftw3', 'openblas']
  ['/DUSE_OPENBLAS']
  ['-Wl']
  Traceback (most recent call last):
    File "C:\Users\MAS-NMR\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "C:\Users\MAS-NMR\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 149, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\build_meta.py", line 366, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\build_meta.py", line 487, in run_setup
      super().run_setup(setup_script=setup_script)
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
      exec(code, locals())
    File "<string>", line 408, in <module>
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 159, in setup
      dist.parse_config_files()
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\dist.py", line 627, in parse_config_files
      pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\config\pyprojecttoml.py", line 67, in apply_configuration
      config = read_configuration(filepath, True, ignore_option_errors, dist)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\config\pyprojecttoml.py", line 128, in read_configuration
      validate(subset, filepath)
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-3rhpmt77\overlay\Lib\site-packages\setuptools\config\pyprojecttoml.py", line 56, in validate
      raise ValueError(f"{error}\n{summary}") from None
  ValueError: invalid pyproject.toml config: `project`.
  configuration error: `project` must contain ['version'] properties
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
and when i try to install from source:
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [193 lines of output]
:14: DeprecationWarning:
    `numpy.distutils` is deprecated since NumPy 1.23.0, as a result
    of the deprecation of `distutils` itself. It will be removed for
    Python >= 3.12. For older Python versions it will remain present.
    It is recommended to use `setuptools < 60.0` for those Python versions.
    For more details, see:
      https://numpy.org/devdocs/reference/distutils_status_migration.html

  Using python version 3.11.7
  mrsimulator version  0.7.0
  3.11.7 | packaged by Anaconda, Inc. | (main, Dec 15 2023, 18:05:47) [MSC v.1916 64 bit (AMD64)]
  Found Python installation: C:\Users\MAS-NMR\anaconda3
  ['C:\\Users\\MAS-NMR\\anaconda3\\include', 'C:\\Users\\MAS-NMR\\anaconda3\\Library\\include', 'C:\\Users\\MAS-NMR\\anaconda3\\Library\\include\\openblas', 'src/c_lib/include/', 'C:\\Users\\MAS-NMR\\AppData\\Local\\Temp\\pip-build-env-63l_2iyk\\overlay\\Lib\\site-packages\\numpy\\core\\include']
  ['C:\\Users\\MAS-NMR\\anaconda3\\Library\\lib']
  ['openblas', 'fftw3']
  ['/DUSE_OPENBLAS']
  ['-Wl']
  C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:76: _MissingDynamic: `description` defined outside of `pyproject.toml` is ignored.
  !!

          ********************************************************************************
          The following seems to be defined outside of `pyproject.toml`:

          `description = 'A python toolbox for simulating fast real-time solid-state NMR spectra.'`

          According to the spec (see the link below), however, setuptools CANNOT
          consider this value unless `description` is listed as `dynamic`.

          https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

          To prevent this problem, you can list `description` under `dynamic` or alternatively
          remove the `[project]` table from your file and rely entirely on other means of
          configuration.
          ********************************************************************************

  !!
    _handle_missing_dynamic(dist, project_table)
  C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:76: _MissingDynamic: `readme` defined outside of `pyproject.toml` is ignored.
  !!

          ********************************************************************************
          The following seems to be defined outside of `pyproject.toml`:

          `readme = '# The Mrsimulator project\n\n|              |                                                                                |\n| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Deployment   | [![PyPI version](https://img.shields.io/pypi/v/mrsimulator.svg?style=flat&logo=pypi&logoColor=white)](https://pypi.python.org/pypi/mrsimulator) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mrsimulator)                                                                                |\n| Build Status | [![GitHub Workflow Status](<https://img.shields.io/github/workflow/status/deepanshs/mrsimulator/CI?logo=GitHub>)](https://github.com/deepanshs/mrsimulator/actions) [![Read the Docs](https://img.shields.io/readthedocs/mrsimulator)](https://mrsimulator.readthedocs.io/en/stable/)                                                                                |\n| License      | [![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)                                                                                |\n| Metrics      | [![Total alerts](https://img.shields.io/lgtm/alerts/g/deepanshs/mrsimulator.svg?logo=lgtm)](https://lgtm.com/projects/g/deepanshs/mrsimulator/alerts/) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/deepanshs/mrsimulator.svg?logo=lgtm)](https://lgtm.com/projects/g/deepanshs/mrsimulator/context:python) [![codecov](https://codecov.io/gh/deepanshs/mrsimulator/branch/master/graph/badge.svg)](https://codecov.io/gh/deepanshs/mrsimulator) [![CodeFactor](https://www.codefactor.io/repository/github/deepanshs/mrsimulator/badge)](https://www.codefactor.io/repository/github/deepanshs/mrsimulator) |\n\nShortly after the birth of Nuclear Magnetic Resonance (NMR) spectroscopy, it was realized that spin\nand spatial degrees of freedom could be manipulated on a time scale faster than the coherence\nlifetimes of the nuclear spin transitions. This led to an explosion of multi-pulse and sample\nreorientation methodologies in magnetic resonance for probing the structure and dynamics of matter\nover a wide range of length and time scales.\n\nNumerical simulations of the NMR spectra from these methods have long been a critical\npart of their analyses. The most robust and rigorous numerical approaches employ the full density\noperator, ideal for dealing with finite pulse effects, weak to intermediate to strong couplings,\nnon-commuting Hamiltonians, and relaxation and exchange processes. However, such approaches can be\nhighly inefficient, particularly when Hamiltonians commute, pulses are ideal, and transverse relaxation\ncan be treated as an ad-hoc line broadening. ``mrsimulator``, an open-source python package, achieves\nhigh benchmarks in spectral simulations and analyses by limiting itself to these simpler situations.\nFortunately, working within this limit only prevents ``mrsimulator`` from modeling spectra of a small\nfraction of popular NMR methods. The efficiency gains with this approach over conventional density\noperator simulations are tremendous.\n\n**Why use mrsimulator?**\n\n- It is open-source and free.\n- It is a fast and versatile solid-state NMR simulator of one and two-dimensional static, MAS,\n  and VAS spectra of nuclei experiencing chemical shift (nuclear shielding) and quadrupolar\n  coupling interactions.\n- It includes simulations of weakly coupled nuclei experiencing J and dipolar couplings.\n- It is fully documented with a stable and simple API and is easily incorporated into your\n  python scripts and web apps.\n- It is compatible with modern python packages, such as scikit-learn, Keras, etc.\n- Packages using mrsimulator:\n  - [mrinversion](https://mrinversion.readthedocs.io/en/stable/)\n\n## Install\n\n```sh\npip install mrsimulator\n```\n\nPlease refer to our [installation documentation](https://mrsimulator.readthedocs.io/en/stable/installation/users.html) for details.\n\n#### A 1D static and MAS example\n\n```py\nfrom mrsimulator import Simulator, SpinSystem, Site\nfrom mrsimulator.method.lib import BlochDecaySpectrum\nimport matplotlib.pyplot as plt\n\n# Make Site and SpinSystem objects\nH_site = Site(isotope="1H", shielding_symmetric={"zeta": 13.89, "eta": 0.25})\nspin_system = SpinSystem(sites=[H_site])\n\n# Make static and MAS one-pulse acquire Method objects\nstatic = BlochDecaySpectrum(channels=["1H"]   )\nmas = BlochDecaySpectrum(channels=["1H"], rotor_frequency=1000)  # in Hz\n\n# Setup and run the Simulation object\nsim = Simulator(spin_systems=[spin_system], methods=[static, mas])\nsim.run()\n\n# Plot the spectra\nfig, ax = plt.subplots(1, 2, figsize=(6, 3), subplot_kw={"projection": "csdm"})\nax[0].plot(sim.methods[0].simulation.real, color="black", linewidth=1)\nax[0].set_title("Static")\nax[1].plot(sim.methods[1].simulation.real, color="black", linewidth=1)\nax[1].set_title("MAS")\nplt.tight_layout()\nplt.show()\n```\n\nThis should produce the following figure.\n\n<img src="docs/_static/test_file.png" width="800" />\n\n<!-- ![alt text](docs/_static/test_file.png) -->\n\n---\n\n**Check out our extensive [documentation](https://mrsimulator.readthedocs.io/en/stable/index.html) and more example.**\n\n[![Simulation](https://img.shields.io/badge/View-Simulation%20Examples-Purple?s=small)](https://mrsimulator.readthedocs.io/en/stable/examples/index.html)\n[![Fitting](https://img.shields.io/badge/View-Fitting%20Examples-Purple?s=small)](https://mrsimulator.readthedocs.io/en/stable/fitting/index.html)\n\n---\n\n## Features\n\nThe `mrsimulator` package currently offers the following\n\n- **Fast simulation** of one and two-dimensional solid-state NMR spectra.\n\n- Simulation of **coupled and uncoupled spin system**\n\n  - for spin I=1/2, and quadrupole I>1/2 nuclei\n  - at arbitrary macroscopic magnetic flux density\n  - at arbitrary rotor angles\n  - at arbitrary spinning frequency\n\n- A library of **NMR methods**,\n\n  - 1D Bloch decay spectrum\n  - 1D Bloch decay central transition spectrum\n  - 2D Multi-Quantum Variable Angle Spinning (MQ-VAS)\n  - 2D Satellite-transition Variable Angle Spinning (MQ-VAS)\n  - 2D isotropic/anisotropic sideband correlation spectrum (e.g. PASS and MAT)\n  - 2D Magic Angle Flipping (MAF)\n  - 2D Dynamic Angle Spinning (DAS)\n  - Custom user-defined methods (Method)\n\n- **Models** for tensor parameter distribution in amorphous materials.\n\n  - Czjzek\n  - Extended Czjzek\n  - Custom user-defined models\n\nFor more information, refer to the\n[documentation](https://mrsimulator.readthedocs.io/en/stable/).\n\n## Reporting Bugs\n\nSubmit bug reports or feature requests on the [Github issue tracker](https://github.com/deepanshs/mrsimulator/issues).\n\nDiscussions are welcome on the [Github discussion](https://github.com/deepanshs/mrsimulator/discussions) page.\n\n## How to cite\n\nIf you use mrsimulator in your publication, please consider citing the following.\n\n- Deepansh J. Srivastava, Matthew Giammar, Maxwell C. Venetos, Shyam Dwaraknath, Philip J. Grandinetti, & Alexis McCarthy. (2021). mrsimulator: v0.6.1. Zenodo. https://doi.org/10.5281/zenodo.5559730\n\n- Srivastava DJ, Vosegaard T, Massiot D, Grandinetti PJ (2020) Core Scientific Dataset Model: A lightweight and portable model and file format for multi-dimensional scientific dataset. PLOS ONE 15(1): e0225953. https://doi.org/10.1371/journal.pone.0225953\n\n_Additionally, if you use lmfit for least-squares fitting, consider citing the lmfit package._ Zenodo. https://doi.org/10.5281/zenodo.4516651\n'`

          According to the spec (see the link below), however, setuptools CANNOT
          consider this value unless `readme` is listed as `dynamic`.

          https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

          To prevent this problem, you can list `readme` under `dynamic` or alternatively
          remove the `[project]` table from your file and rely entirely on other means of
          configuration.
          ********************************************************************************

  !!
    _handle_missing_dynamic(dist, project_table)
  C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:76: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
  !!

          ********************************************************************************
          The following seems to be defined outside of `pyproject.toml`:

          `license = 'BSD-3-Clause'`

          According to the spec (see the link below), however, setuptools CANNOT
          consider this value unless `license` is listed as `dynamic`.

          https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

          To prevent this problem, you can list `license` under `dynamic` or alternatively
          remove the `[project]` table from your file and rely entirely on other means of
          configuration.
          ********************************************************************************

  !!
    _handle_missing_dynamic(dist, project_table)
  C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:76: _MissingDynamic: `authors` defined outside of `pyproject.toml` is ignored.
  !!

          ********************************************************************************
          The following seems to be defined outside of `pyproject.toml`:

          `authors = 'Deepansh J. Srivastava'`

          According to the spec (see the link below), however, setuptools CANNOT
          consider this value unless `authors` is listed as `dynamic`.

          https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

          To prevent this problem, you can list `authors` under `dynamic` or alternatively
          remove the `[project]` table from your file and rely entirely on other means of
          configuration.
          ********************************************************************************

  !!
    _handle_missing_dynamic(dist, project_table)
  C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:76: _MissingDynamic: `classifiers` defined outside of `pyproject.toml` is ignored.
  !!

          ********************************************************************************
          The following seems to be defined outside of `pyproject.toml`:

          `classifiers = ['Intended Audience :: Science/Research', 'Intended Audience :: Education', 'Intended Audience :: Developers', 'Operating System :: OS Independent', 'Development Status :: 4 - Beta', 'License :: OSI Approved :: BSD License', 'Programming Language :: C', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Topic :: Education', 'Topic :: Scientific/Engineering :: Chemistry']`

          According to the spec (see the link below), however, setuptools CANNOT
          consider this value unless `classifiers` is listed as `dynamic`.

          https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

          To prevent this problem, you can list `classifiers` under `dynamic` or alternatively
          remove the `[project]` table from your file and rely entirely on other means of
          configuration.
          ********************************************************************************

  !!
    _handle_missing_dynamic(dist, project_table)
  C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:76: _MissingDynamic: `scripts` defined outside of `pyproject.toml` is ignored.
  !!

          ********************************************************************************
          The following seems to be defined outside of `pyproject.toml`:

          `scripts = ['mrsimulator=mrsimulator.__main__:run']`

          According to the spec (see the link below), however, setuptools CANNOT
          consider this value unless `scripts` is listed as `dynamic`.

          https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

          To prevent this problem, you can list `scripts` under `dynamic` or alternatively
          remove the `[project]` table from your file and rely entirely on other means of
          configuration.
          ********************************************************************************

  !!
    _handle_missing_dynamic(dist, project_table)
  C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py:76: _MissingDynamic: `dependencies` defined outside of `pyproject.toml` is ignored.
  !!

          ********************************************************************************
          The following seems to be defined outside of `pyproject.toml`:

          `dependencies = ['numpy>=1.17', 'csdmpy>=0.4.1', 'pydantic>=1.9', 'monty>=2.0.4', 'typing-extensions>=3.7', 'psutil>=5.4.8', 'joblib>=1.0.0', 'pandas>=1.1.3', 'lmfit>=1.0.2', 'matplotlib>=3.3.4']`

          According to the spec (see the link below), however, setuptools CANNOT
          consider this value unless `dependencies` is listed as `dynamic`.

          https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table

          To prevent this problem, you can list `dependencies` under `dynamic` or alternatively
          remove the `[project]` table from your file and rely entirely on other means of
          configuration.
          ********************************************************************************

  !!
    _handle_missing_dynamic(dist, project_table)
  Traceback (most recent call last):
    File "C:\Users\MAS-NMR\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
      main()
    File "C:\Users\MAS-NMR\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\anaconda3\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 149, in prepare_metadata_for_build_wheel
      return hook(metadata_directory, config_settings)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\build_meta.py", line 366, in prepare_metadata_for_build_wheel
      self.run_setup()
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\build_meta.py", line 487, in run_setup
      super().run_setup(setup_script=setup_script)
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
      exec(code, locals())
    File "<string>", line 408, in <module>
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 159, in setup
      dist.parse_config_files()
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\dist.py", line 627, in parse_config_files
      pyprojecttoml.apply_configuration(self, filename, ignore_option_errors)
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\pyprojecttoml.py", line 68, in apply_configuration
      return _apply(dist, config, filepath)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py", line 57, in apply
      _apply_project_table(dist, config, root_dir)
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py", line 83, in _apply_project_table
      corresp(dist, value, root_dir)
    File "C:\Users\MAS-NMR\AppData\Local\Temp\pip-build-env-63l_2iyk\overlay\Lib\site-packages\setuptools\config\_apply_pyprojecttoml.py", line 164, in _long_description
      file = val.get("file") or []
             ^^^^^^^
  AttributeError: 'NoneType' object has no attribute 'get'
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

OS: Windows
mrsimulator version: 0.7.0
Im very new to this please help. I followed all the instructions on the page.

Hi
It worked, thank you so much! Now there's another issue when I run the
sample code. This error seems to come up with any sample code I try to run.
[image: Screenshot (1).png]
Thank you again!
Mirtel
Kontakt Deepansh Srivastava @.***>) kirjutas kuupäeval
T, 12. märts 2024 kell 14:26:

Hi,
Can you try installing it on Python 3.10?
The error is likely because you are installing it on Python 3.11. For
mrsimulator version 0.7.0, PyPI hosts build up to Python v3.10. This will
be resolved with the next release of mrsimulator. Please feel free to ask
questions if you find any other issues. Happy to help.
Deepansh
—
Reply to this email directly, view it on GitHub
https://github.com/deepanshs/mrsimulator/issues/331#issuecomment-1991536291,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BG4TIBJP6TNFMIB74HW5V43YX3YAZAVCNFSM6AAAAABESCTBP2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJRGUZTMMRZGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

I can’t see the png file, it might not have uploaded.
There is a known pydantic issue and you might be seeing that.
https://github.com/deepanshs/mrsimulator/discussions/294
you can read the discussion here. It might solve some of the issues.
All these issues will be resolved in the upcoming release.
Deepansh

Hi Mirtel,
Are you still having issues with the installation? If not, I would like to close this issue.
Thanks,
Deepansh

closing because there hasn't been any response in a month.


All fields required - instead of validates_presence_of fields only

I'm using:  formtastic (1.2.4). I have fields required in the model, but in my form all of the fields are showing as required without me specifying anything..
My model basically looks like this:
class Speakerform < ActiveRecord::Base

  validates_presence_of :interested, :dates, :first_name, :email

  def interested_label; "Who are you interested in?"; end;
  #... a bunch of other label fields here.. BTW I sort of makeshift made an easy way to create labels here.. is there an easier way that's integrated into formtastic from the model standpoint or something? (I'm using it on the model so I can use the same labels in an email)
end

Then in my form I don't have anything particularly special either:
<% semantic_form_for @speaker_form, :url => "/speakers/hire", :method => "post" do |f| %>
  <% f.inputs :name => "Event details" do %>
    <%= f.input :interested, :label => f.object.interested_label, :as => :select, :collection => Page.speakers.all.map(&:title)+["I'm not sure!"], :selected => params[:speaker] %>
    ..more similar fields
  <% end %>
  <% f.inputs :name => "Your info", :class => "your-info" do %>
    <%= f.input :first_name, :label => f.object.first_name_label %>
    ..more fields here..
  <% end %>
  <%= submit_tag "Submit" %>
<% end %>

I had to manually set :required => false/true...  no biggie.. but sounds like that shouldn't happen..
Also.. btw I created a mailer that sends out all my questions(or labels..)/answers on the form and I did something like this.. Could be cool to incorporate something similar for labels? Like if field_label is defined in the model, use that?..
<% cols = Speakerform.columns.map(&:name)-["id", "updated_at", "created_at"]
cols.each do |c| %>

<b><%= ((@form.send("#{c}_label").humanize if @form.respond_to?("#{c}_label"))) %></b>
<%= @form[c.to_sym] %>

Have you checked the "all_fields_required_by_default" setting in your formtastic initializer?
# Should all fields be considered "required" by default?
# Rails 2 only, ignored by Rails 3 because it will never fall back to this default.
# Defaults to true.
# Formtastic::SemanticFormBuilder.all_fields_required_by_default = true

@wejrowski I have some apps still using 1.2.x and haven't had any problems. Here's what I'd like to know:

Is Formtastic adding a required CSS class to the input as well as adding the required string to each input's label, or is this isolated to just labels?
What's in your configuration file for Formtastic::FormBuilder.required_string and Formtastic::FormBuilder.optional_string?
Are you doing any i18n translations at all (either related or unrelated to Formtastic)
Has this always been a bug (in a long standing project), or did it just start happening in an upgrade, or is this a new project?


get jx scm repository create working on gitlab

so that you can supply jx scm repository create --kind gitlab
see https://github.com/jenkins-x-plugins/jx-scm#developing

I can probably take this up, any ideas on how to begin  ?


Listeners shouldn’t capture references to their index and group?

This won’t be backwards-compatible, and it would mean that the listener callback signature is different from the standard D3 pattern, but it would simplify things and fix a common memory leak as described in #186. If you need information based on the index and group, you could bake it into the data instead.

[Recording a Slack discussion for posterity.]
mbostock: … since event listeners are called back asynchronously (unlike normal callback functions in D3, which are invoked immediately before the selection method returns), capturing the index i was confusing (it could be inconsistent with subsequent re-selection) and capturing the sibling nodes could lead to memory leaks.
To quote Emerson, “a foolish consistency is the hobgoblin of little minds”. I was trying to keep the callback pattern consistent, but {event, d} is so much simpler.
vijithassar: sure I get most of this, what I am kind of reaching for here is that “use an argument instead of setting a global” and “the callback function signature is now different” are both sensible points that are distinct from “datum is available but index is not available” and the latter seems to be conceptually important for D3 so I am wondering what the change signals about design and intent and philosophy and so on (edited)
mbostock: The reason that index is not available is this comment above: “event listeners are called back asynchronously…”
The callback pattern {d, i, nodes} isn’t changing for other D3 methods. This signature is only changing for event listeners registered with selection.on, which is a fundamentally different use case than normal D3 callbacks (there’s events!), so it makes sense that there’s a different signature.
See also this comment from the README: “Listeners always see the latest datum for their element, but the index is a property of the selection and is fixed when the listener is assigned; to update the index, re-assign the listener.”
That oddity with the index goes away when listeners don’t capture the index. In other words, the index is a transient property of the selection, whereas the data is a persistent property of the element to which the listener is attached.
Since listeners are asynchronous, it doesn’t make sense for them to capture transient properties of the selection. They should only have access to the element’s bound data and the current event.


A dependency fails to have its resources copied by carton bundle

A dependency with a resource fails to have its resources copied by carton bundle. I've updated the linked repository to show the problem.
This is the output of carton bundle:
Bundle
├── TopLevelResource.md
├── c78bdf2c8a889c8f.wasm
├── c9143f6becf19317.js
├── index.html
└── swift-wasm-resource-bug_swift-wasm-resource-bug.resources
    └── TopLevelResource.md

I see two potential issues:

TopLevelResource.md appears twice. Once at the root, and once in a resource directory for the module. The specific resource directory seems more correct, as there could be name collisions across modules.
Resource.md from the SubPackageWithResource package is missing entirely.


test: achieve 100% test coverage for blas/ext/base/dnanasumors

Resolves #3073
Description
This pull request:

Adds a test case to achieve 100% test coverage for 'blas/ext/base/dnanasumors`

Related Issues
This pull request:

resolves #3073

Questions
No.
Other
No.
Checklist

[x] Read, understood, and followed the contributing guidelines

@stdlib-js/reviewers

/stdlib merge

Also, it looks like we have yet to achieve 100% code coverage.

/stdlib lint-autofix

@kgryte Apparently it only showed 100% test coverage for the test.ndarray.js file.
I understood what is supposed to be done.
Thank you for the review.


Update run-external-checks to run nargo test instead of nargo check

Blocked on:
https://github.com/noir-lang/noir/issues/6643
https://github.com/AztecProtocol/aztec-packages/issues/10278

Closed by #6660


Tree focus StyleBox is drawn outside of bounds

Tested versions

Godot 4.2.1
Godot v4.3.dev3

System information
Godot v4.3.dev3 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated AMD Radeon RX 6900 XT (Advanced Micro Devices, Inc.; 31.0.24002.92) - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)
Issue description
When exploring the Theme and clicking inside the Tree node, the focus StyleBox is drawn outside of the bounds, overlapping with the Godot editor.

Steps to reproduce

Create a new theme
Click inside the Tree node
Verify the focus StyleBox

Minimal reproduction project (MRP)
theme.zip

Hi I'm a student, currently completing a course where i need to solve an issue for an open source project  and I chose godot .I have managed to solve this issue by removing the canvas_item_add_clip_ignore on the has_focus if block the Focus Style Box does not clip anymore and is the same has the TextEdit. Is this as intended? Because the StyleBox seems to be behind the panel for some reason.

Is this as intended? Because the StyleBox seems to be behind the panel for some reason. Its just asthetics i dont know if this is relevant for this issue or not.

The calls in question have always been present in Godot, even from its very first open source commit:

I don't know exactly what it's needed for.

Drawing the focus style outside of the clip sounds wrong. I very rarely used in the project. Probably worth to check if it can be removed.


hudi version 0.12.1

Hello Everyone,
I have create two table one with hudi version 0.12.1 and another with version 0.12.3
In Trino While reading table with verison 12.1 it is able to read, But not with version 0.12.3
Is there any major difference in these version that is stopping trino to read table made out of version 0.12.3.
Trino version: 430

torvalds.dev is analyzing the ticket

The issue seems to be related to the compatibility between Hudi versions 0.12.1 and 0.12.3 with Trino version 430. The user is able to read tables created with Hudi version 0.12.1 but not with version 0.12.3.
To understand the issue and suggest relevant actions, we need to:

Check the release notes or changelogs of Hudi versions 0.12.1 and 0.12.3 to identify any major differences that might affect the compatibility with Trino version 430.
Check the compatibility matrix of Hudi and Trino to see if there are known issues with the combination of versions being used.
Check the error messages or logs when trying to read the table created with Hudi version 0.12.3 using Trino. This could provide clues about the issue.
Try to reproduce the issue in a controlled environment, if possible, to better understand the conditions that lead to the issue.

The file rfc/rfc-69/rfc-69.md seems to be a proposal for Hudi 1.X and might not be directly relevant to the issue. However, it could provide some insights into the direction of Hudi's development and potential changes that might affect its compatibility with other systems like Trino.
The SQL commands in the task description seem to be related to the operations the user is trying to perform on the Hudi tables. They might be useful for reproducing the issue or for testing potential solutions.


Right to left support (for Hebrew and Arabic) RTL

Add Right to left support (for Hebrew and Arabic).

Duplicate of #4749


Use std::min and std::max globally

Get rid of custom macros and templates around min/max and just use STL ones.

[approve ci RAT]

I think we need this on the 7.1.x branch, to make cherry-picking other PRs less confusing.


limma-voom tutorial (differential expression)

This is an updated replacement for the PR here: https://github.com/galaxyproject/training-material/pull/922
(that one went stale I think, was trying to format it similar to the limma-voom fastq to counts but was getting errors about missing icons)

Please do not forget to update them and get them visible. It would be a shame to not expose this to the world - its awesome!!!


Create a command-line weather app that provides current and forecasted weather information.

Hi. Can you assign me the issue?

@sayeedkhannabil Please update the status of the issue.


Revert April fools changes.

The fixes are still there it just reverts the Typescript jokes.

i guess there was an april fools thing but i missed all of it :(


Resolve nginx timeout issue with massive file upload.

Fixed

@NishaSharma14 Could you test this one please? it worked for me

Duplicate #168


crash (Fatal error: Unexpectedly found nil while unwrapping an Optional value)

Description
crash log: SwiftSyntax/Syntax.swift:217: Fatal error: Unexpectedly found nil while unwrapping an Optional value
Steps to Reproduce
let source = "var d: Double {}"

let collector = DeclarationCollector(viewMode: .all)
let tree = Parser.parse(source: source)
collector.walk(tree)

DeclarationCollector class:
open class DeclarationCollector: SyntaxVisitor {

    /// The collected associated type declarations.
    public private(set) var associatedTypes: [AssociatedType] = []

    /// The collected class declarations.
    public private(set) var classes: [Class] = []

    /// The collected conditional compilation block declarations.
    public private(set) var conditionalCompilationBlocks: [ConditionalCompilationBlock] = []

    /// The collected deinitializer declarations.
    public private(set) var deinitializers: [Deinitializer] = []

    /// The collected enumeration declarations.
    public private(set) var enumerations: [Enumeration] = []

    /// The collected enumeration case declarations.
    public private(set) var enumerationCases: [Enumeration.Case] = []

    /// The collected extension declarations.
    public private(set) var extensions: [Extension] = []

    /// The collected function declarations.
    public private(set) var functions: [Function] = []

    /// The collected import declarations.
    public private(set) var imports: [Import] = []

    /// The collected initializer declarations.
    public private(set) var initializers: [Initializer] = []

    /// The collected operator declarations.
    public private(set) var operators: [Operator] = []

    /// The collected precedence group declarations.
    public private(set) var precedenceGroups: [PrecedenceGroup] = []

    /// The collected protocol declarations.
    public private(set) var protocols: [Protocol] = []

    /// The collected structure declarations.
    public private(set) var structures: [Structure] = []

    /// The collected subscript declarations.
    public private(set) var subscripts: [Subscript] = []

    /// The collected type alias declarations.
    public private(set) var typealiases: [Typealias] = []

    /// The collected variable declarations.
    public private(set) var variables: [Variable] = []

    /// Creates a new declaration collector.
	public override init(viewMode: SyntaxTreeViewMode) {
        super.init(viewMode: viewMode)
    }

    // MARK: - SyntaxVisitor

    /// Called when visiting an `AssociatedtypeDeclSyntax` node
	public override func visit(_ node: AssociatedTypeDeclSyntax) -> SyntaxVisitorContinueKind {
        associatedTypes.append(AssociatedType(node))
        return .skipChildren
    }

    /// Called when visiting a `ClassDeclSyntax` node
    public override func visit(_ node: ClassDeclSyntax) -> SyntaxVisitorContinueKind {
        classes.append(Class(node))
        return .visitChildren
    }

    /// Called when visiting a `DeinitializerDeclSyntax` node
    public override func visit(_ node: DeinitializerDeclSyntax) -> SyntaxVisitorContinueKind {
        deinitializers.append(Deinitializer(node))
        return .skipChildren
    }

    /// Called when visiting an `EnumDeclSyntax` node
    public override func visit(_ node: EnumDeclSyntax) -> SyntaxVisitorContinueKind {
        enumerations.append(Enumeration(node))
        return .visitChildren
    }

    /// Called when visiting an `EnumCaseDeclSyntax` node
    public override func visit(_ node: EnumCaseDeclSyntax) -> SyntaxVisitorContinueKind {
        enumerationCases.append(contentsOf: Enumeration.Case.cases(from: node))
        return .skipChildren
    }

    /// Called when visiting an `ExtensionDeclSyntax` node
    public override func visit(_ node: ExtensionDeclSyntax) -> SyntaxVisitorContinueKind {
        extensions.append(Extension(node))
        return .visitChildren
    }

    /// Called when visiting a `FunctionDeclSyntax` node
    public override func visit(_ node: FunctionDeclSyntax) -> SyntaxVisitorContinueKind {
        functions.append(Function(node))
		return .visitChildren
    }

    /// Called when visiting an `IfConfigDeclSyntax` node
    public override func visit(_ node: IfConfigDeclSyntax) -> SyntaxVisitorContinueKind {
        conditionalCompilationBlocks.append(ConditionalCompilationBlock(node))
        return .visitChildren
    }

    /// Called when visiting an `ImportDeclSyntax` node
    public override func visit(_ node: ImportDeclSyntax) -> SyntaxVisitorContinueKind {
        imports.append(Import(node))
        return .skipChildren
    }

    /// Called when visiting an `InitializerDeclSyntax` node
    public override func visit(_ node: InitializerDeclSyntax) -> SyntaxVisitorContinueKind {
        initializers.append(Initializer(node))
        return .skipChildren
    }

    /// Called when visiting an `OperatorDeclSyntax` node
    public override func visit(_ node: OperatorDeclSyntax) -> SyntaxVisitorContinueKind {
        operators.append(Operator(node))
        return .skipChildren
    }

    /// Called when visiting a `PrecedenceGroupDeclSyntax` node
    public override func visit(_ node: PrecedenceGroupDeclSyntax) -> SyntaxVisitorContinueKind {
        precedenceGroups.append(PrecedenceGroup(node))
        return .skipChildren
    }

    /// Called when visiting a `ProtocolDeclSyntax` node
    public override func visit(_ node: ProtocolDeclSyntax) -> SyntaxVisitorContinueKind {
        protocols.append(Protocol(node))
        return .visitChildren
    }

    /// Called when visiting a `SubscriptDeclSyntax` node
    public override  func visit(_ node: SubscriptDeclSyntax) -> SyntaxVisitorContinueKind {
        subscripts.append(Subscript(node))
        return .skipChildren
    }

    /// Called when visiting a `StructDeclSyntax` node
    public override func visit(_ node: StructDeclSyntax) -> SyntaxVisitorContinueKind {
        structures.append(Structure(node))
        return .visitChildren
    }

    /// Called when visiting a `TypealiasDeclSyntax` node
	public override func visit(_ node: TypeAliasDeclSyntax) -> SyntaxVisitorContinueKind {
        typealiases.append(Typealias(node))
        return .skipChildren
    }

    /// Called when visiting a `VariableDeclSyntax` node
    public override func visit(_ node: VariableDeclSyntax) -> SyntaxVisitorContinueKind {
        variables.append(contentsOf: Variable.variables(from: node))
        return .skipChildren
    }
}

Tracked in Apple’s issue tracker as rdar://114857595

I suspect that this is a bug in the Variable.Accessor type, which isn’t part of swift-syntax. This is probably because the representation of accessors was changed in https://github.com/apple/swift-syntax/commit/b14b6ba.

//There is an old code that iterate `node.accessors` but it is no longer an array
public static func accessors(from node: AccessorBlockSyntax?) -> [Variable.Accessor] {
        guard let node = node else { return [] }
	return node.accessors.compactMap { Variable.Accessor($0) } //old
    }

//I think it's my new code that's causing the crash:
public static func accessors(from node: AccessorBlockSyntax?) -> [Variable.Accessor] {
        guard let node = node else { return [] }
	return node.accessors.cast(AccessorDeclListSyntax.self).compactMap{Variable.Accessor($0)}
    }

Is there a safe method to get [Variable.Accessor]  from AccessorBlockSyntax.Accessors?

Sorry, I can’t help you with that since I don’t know how Variable.Accessor is defined. You need to ask the author of the library that you’re using.
I’m closing this issue because the change in behavior in swift-syntax is intentional.

Solved:
public static func accessors(from node: AccessorBlockSyntax?) -> [Variable.Accessor] {
		guard let node = node else { return [] }
		return node.accessors.as(AccessorDeclListSyntax.self)?.compactMap { Variable.Accessor($0) } ?? []
	}


Please add upload permissions for API Fortress plugin

Description
Adding permissions for the apifortress plugin (https://github.com/jenkinsci/apifortress-plugin), as approved in HOSTING-294 (https://issues.jenkins-ci.org/browse/HOSTING-294).
Thanks in advance

Oops, sorry. This should be OK now


use of unstable library feature 'str_strip': newly added

Hi
I have just tried updating from v0.1.5 to v0.2.0 using cargo install dijo and I get the following error:
   Compiling dijo v0.2.0
error[E0658]: use of unstable library feature 'str_strip': newly added
  --> /home/stephen/.cargo/registry/src/github.com-1ecc6299db9ec823/dijo-0.2.0/src/command.rs:65:70
   |
65 |                         view.set_content(format!("{}", contents) + c.strip_prefix(word).unwrap());
   |                                                                      ^^^^^^^^^^^^
   |
   = note: see issue #67302 <https://github.com/rust-lang/rust/issues/67302> for more information

error: aborting due to previous error

For more information about this error, try `rustc --explain E0658`.
error: failed to compile `dijo v0.2.0`, intermediate artifacts can be found at `/tmp/cargo-installgeGleK`

Caused by:
  could not compile `dijo`.

To learn more, run the command again with --verbose.

I'm running Alpine Linux v3.12, rustc v1.44, and cargo v.144.
Thanks

Ah strip_prefix was added only in rustc v1.45.

You could, for now:

upgrade rustc: rustup update
try running the release binary (not sure if it would run on musl though)

I will look into making this compatible with v1.42.

Thanks
I was able to resolve this by replacing the rust and cargo packages, with the rustup package. I then installed rust and cargo again with rustup-init (which installed 1.45).
Then cargo install dijo ran correctly.
Cheers
Stephen

Should be fixed with release v0.2.2!


Vim9: wrong comment at ":h vim9-scopes"

The help at :h vim9-scopes contains this line:
https://github.com/vim/vim/blob/c0e29010f68a0ebe439f9bd78493799c60b7bfd3/runtime/doc/vim9.txt#L134
It's wrong, and is inconsistent with one of the previous line:
def ThisFunction()          # script-local
...
def ThatFunction()          # global if no local ThatFunction()

Why would ThisFunction() be script-local unconditionally, while ThatFunction() would be global on the condition that there is no local ThatFunction()?  The only difference between the two is the name.  There is no rule which specifies that a function whose name starts with the prefix This is handled differently than a function whose name starts with the prefix That.
I think the comment only makes sense for a function reference; not for a function definition.  In a Vim9 script, def ThatFunction() always defines a script-local function.  However, if we call ThatFunction() and there is no function with this name in the script-local namespace, then Vim looks in the global namespace.
Here is a patch which tries to fix the error:
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 4e5d2f3fe..61177b66c 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -131,8 +131,8 @@ autoload script the "name#" prefix is sufficient. >
 	def ThisFunction()          # script-local
 	def s:ThisFunction()        # script-local
 	def g:ThatFunction()        # global
-	def ThatFunction()          # global if no local ThatFunction()
 	def scriptname#function()   # autoload
+	ThatFunction()              # global if no local ThatFunction()

 When using `:function` or `:def` to specify a new function inside a function,
 the function is local to the function.  It is not possible to define a

I moved the line to the bottom to separate the function reference from the function definitions, which – I think – makes the documentation a little less confusing.

Although :call is technically not necessary, maybe it could be useful here to distinguish the function reference/call from the function definitions:
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 4e5d2f3fe..45de01ed4 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -131,8 +131,8 @@ autoload script the "name#" prefix is sufficient. >
 	def ThisFunction()          # script-local
 	def s:ThisFunction()        # script-local
 	def g:ThatFunction()        # global
-	def ThatFunction()          # global if no local ThatFunction()
 	def scriptname#function()   # autoload
+	call ThatFunction()         # global if no local ThatFunction()

 When using `:function` or `:def` to specify a new function inside a function,
 the function is local to the function.  It is not possible to define a

Thanks for noticing.  Let make the first paragraph just about defining a function.  The second paragraph is about calling a function.  I will add a remark that using "g:" is recommended when calling a global function.


IdP disabling faultly shows success message

Current Behavior
Disabling an IdP results in a success message but the IdP stays enabled (there is a separate backend issue for that).
Expected Behavior
If the IdP can't be disabled, there should be no success message but rather an error message.
Steps To Reproduce
Log in as Cx-operator, find idp112, click actions->disable

@Leon-Gr Issue not reproducible or issue might be already fixed


App Crash in Naugat Android 7.1.1 (ConcurrentModificationException)

Crashing frenquently on the following method :
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.next(ArrayList.java:837)
at com.shuyu.waveview.AudioWaveView.resolveToWaveData(AudioWaveView.java:254)
at com.shuyu.waveview.AudioWaveView.access$900(AudioWaveView.java:27)
at com.shuyu.waveview.AudioWaveView$drawThread.run(AudioWaveView.java:191)

thanks , i will try to fix it later.

I am using physical device. NEXUS 5x

Any update for the Issue.(Crash on 7.1)

try v1.1.3


How to use the bundle ? Packages names not match

Hi,
I'm looking for a solution to use the bundle.
I use the following configuration in SystemJS
map: {
    'angular2-infinite-scroll': 'librairies:angular2-infinite-scroll/bundles/angular2-infinite-scroll.js'
}

The file is loaded correctly but it SystemJS still try to load the modules separetly whereas they are declared in the same file.
After analyse the bundle, modules are declared as "src/xxx" but are required as "./src/xxx". If I modify the bundle to make declarations and requirements match, everything load fine.
Is there a problem with the bundle ? Do I miss something ?

hi @jcoqueret
i'm not using systemjs - so i can't tell you if that's the expected behavior.

please consult the plunkr example
https://plnkr.co/edit/DrEDetYnZkFxR7OWWrxS?p=preview


DMWatch 2.0 update

Simplify the scam/rank lists to prevent rank spoofs.
Draw scam icons on people whos rsn does not match transmitted name
Move the github sync list to github pages (different repo) for quicker syncing, option to use live list though
Alert when private dm is with a scammer (where hwid/hash matches but not rsn)
Finally add HP to the side panel
option to always trust players
remove onCommandExecuted as it was not used probably
remove party data submitting the scammer/rank status, it's client side data now
draw friends chat ranks regardless of being in a friends chat - due to friends chat nukes
remove search bar, it was useless

Closing per da86054d8db60d8a566dac05986ca69f25766c3e

DMWatch has closed it's doors.