Amazon Wishlist Notifier

Description
The Amazon Wishlist Notifier is a Python script that monitors changes to your Amazon wishlist and sends email notifications when items on the wishlist become more affordable or are back in stock. This project enables you to keep track of desired products and receive timely alerts about price drops or availability changes. By creating this script, you can gain experience in web scraping, email notifications, and automation using Python.
Fixes #2883

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] I have added the project meta data in the PR template.
[x] I have created the requirements.txt file if needed.

Project Metadata
If there is no-file/nothing to fill the below fields with, then type: none
Example: If no requirements.txt needed/present, then type none in Requirments.
Category:

[ ] Calculators
[ ] AI/ML
[x] Scrappers
[ ] Social_Media
[ ] PDF
[ ] Image_Processing
[ ] Video_Processing
[ ] Games
[ ] Networking
[ ] OS_Utilities
[ ] Automation
[ ] Cryptography
[ ] Computer_Vision
[ ] Fun
[ ] Others

Title: script.py
Folder: Amazon Wishlist Notifie
Requirements: <type the name of text file containing the required to install python packages, type None if no file required>
Script: <Enter the name of the .py file (The main entry point of the program)>
Arguments: <enter any arguments that the script needs but - separeted like: h-c-m>
Contributor:  Abhinavcode13
Description: <Enter a one line description that describes your script. Also, explain the arguments usage here>

@avinashkranjan please merge


Minor HTML table formatting error in template

At least in this one template that I use (didn't check others) there's HTML error/typo.
File is:
Playnite_html_exporter/templates/default list text/page.txt
It says:
<COL WIDTH="width="13%">
Should be:
<COL WIDTH="13%">

Also multiple typos with:
<COL WIDHT="10%">
instead
<COL WIDTH="10%">
(widHT vs widTH)

yeah was aware of this someone already reported it i also made such mistakes in the css, i think that happens when your not native english speaker :) i'll get around to fixing those eventually but need to check if it does not cause weird behaviour all of a sudden when i actually fix those and did not had the time yet


What's the difference between lit-gpt and transformer module  in huggingface ?

by using huggingface transformer, people can easily write LLM pretrain project, so what is the diffence between lit-gpt and huggingface transformer module?

[!IMPORTANT]
This is my personal opinion. @awaelchli @carmocca @lantiga might have a different one.

If I understood you correctly, you are wondering what is the purpose of Lit-GPT when HF Transformers exists.
Lit-GPT: Hackable implementation of state-of-the-art open-source LLMs.
Let me unwrap what it means.
It means that this repo is a perfect choice for anyone who wants to experiment with modern LLMs, understand and extend them, as the code is simple (Single-file implementation without boilerplate), without many layers of abstraction.
For example, let's say you read a paper about a simple technique to improve positional encodings and want to give it a try. You want an existing codebase that is simple, supports all the latest LLM architectures, so you can figure out in no time where you should apply your changes and quickly see the result. This repo is your choice.
Or, for educational purposes, you want to see a simple implementation of, I don't know, LoRA (I'm a bit biased here 😄).  Again, Lit-GPT is to the rescue.
In addition, it's powered by Fabric, which makes the code agnostic to hardware, precision and distribution backend. So switching between those things is trivial and doesn't require adding boilerplate code (😉 Adrian).
Don't forget about Discord channel, where you can get answers to your questions.

In a nutshell, as I see it, this repo is a perfect starter-kit for an LLM project of any scale. A sound foundation that can be integrated, modified and extended with as less friction as possible.

@imanu20 Does it answer your question?


Fix min/maxOccurs parsing and handling

Consider this XSD :
                <xs:element name="DummyList" minOccurs="1" maxOccurs="10">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="DummyFirst" type="xs:string" />
                            <xs:element name="DummySecond" type="xs:string" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>

We should expect node-soap to deserialize DummyList as an array regardless of the number of  elements in the document.
Consider this response :
<Parent>
    <DummyList>
        <DummyFirst>foo</DummyFirst>
        <DummySecond>foo</DummySecond>
    </DummyList>
</Parent>

Before this PR, this would be transformed to :
{
  "DummyList": {
    "DummyFirst": "foo",
    "DummySecond": "foo"
  }
}

After this PR :
{
  "DummyList": [
    {
      "DummyFirst": "foo",
      "DummySecond": "foo"
    }
  ],
}

We noticed this regression upgrading our app from node-soap 0.26.0 to 0.30.0. We pinpointed its introduction between 0.26 and 0.27, possibly during the typescript rewrite.
Also the former typings were wrong: AFAIK, sax parses minOccurs and maxOccurs attributes to strings making this code not perform correctly unless maxOccurs was set to "unbounded".

Coverage decreased (-0.5%) to 94.495% when pulling 6f44fbe5bf882d47c01e2bd40196f57d7a91d97b on kouak:fix-min-max-occurs into af93a6f45720431371ab3f23866d3ad3f2efae1b on vpulim:master.

please fix the build

Coveralls seems to be the issue for the failed builds : https://travis-ci.org/vpulim/node-soap/jobs/622742785#L1622-L1625
Not sure how I can fix that though.

I ran the pipeline again by force pushing to the source branch.
Travis CI is all good now. The previous error was probably just a fluke.

please revert package-lock.json.  also, i can't tell what was changed in the src file because the entire file was formatted.  please revert space changes.

My bad, the PR should be reviewable now.

Yeah I had a look into that but I'm at lost here ...
If I read the following image correctly, coveralls reports a decreased coverage in wsdl/ but an increase in both wsdl/index.ts and wsdl/element.ts ?

Also, it looks like all the added lines are covered if I read this report correctly.

thanks @kouak !

@kouak could it be that we now have dead code elsewhere?

@jsdevel: As far as I'm aware I'd say no.
Could it be possible to prepare a new release including this fix ? That would greatly help our project. Thanks !

soon @kouak


error listener API (using CompilationMessage) doesn't report Code, or analyzerCode, or args.

We have code for adapting a Message object into an AnalysisError.
However, the onError callback accepts CompilationMessages, which seem to be a less powerful datastructure than Message. Notably, it has String for code instead of the Code object itself; and that String is not built using the analyzerCode but rather the normal code. We also don't get the args from the Message class either.
We also can't look up the analyzer code via fasta code in any way that I can see...I have it set up to do the string processing to turn InvalidAssignment into INVALID_ASSIGNMENT for now, but that is not a good idea long term.
There is no workaround I can see from not getting the args.
cc @stereotype441 @bwilkerson @scheglov @devoncarew

FWIW - I believe we should move away from "CompilationMessage" and just expose "Message" and "Severity" directly.
This came up in a different context recently, but we haven't had the chance to discuss it in detail. To start the conversation, I created this CL that basically moves in the direction you are suggesting:
https://dart-review.googlesource.com/c/sdk/+/27880


✨  feat(date): Possibility to return invalid date

Question
How can we distinguish in the date picker whether an incorrect date (e.g. 38.15.2024) has been entered or whether no date has been entered? We would like to throw a specific error message in the first case.
Additional Information
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

[ ] add new prop to enable component to send invalid dates back
[ ] add warning hints if invalid date -> check with UX

/cib


Archiving master

I am now wanting to make phoenix the master branch in px. However, it seems that master is a few commits ahead of legacy. I am thinking of merging master with legacy. If there are any issues, please let me know @ssomnath

@ramav87 - It is fine to make phoenix the primary branch. My suspicion is that master largely has had CI/CD and documentation commits since phoenix began. You can merge those commits into phoenix. That way, phoenix has all the documentation updated from master.
I see that you want to release an alpha version of phoenix. If this is the case, you could even merge master with phoenix. The CI/CD pipeline should automatically create a new release on pypi.
We should not be touching legacy at all. That is the branch someone could use if they want to stick to the old pyUSID based functions.  So, there is value to keeping this branch as is.

Thanks Suhas. Yes, I do not wish to update legacy, however I was surprised to find master ahead of legacy in some commits and also that legacy was ahead in some commits as compared to master. As it stands, legacy will no longer be touched. I am perfectly happy with users installing the older version of px directly from PyPi (which is what seems to be happening).


Wrapping new Image methods to check for matching image geometry.

@zivy It sounds like the ITK documentation should be improved. That can be copied back here after improvements are made and review in ITK. Can you please make a PR or open an issue in ITK?
Shall we proceed with the merge of this PR?


train ERROR

when I use train_df.py to train, It outputs:
/bin/sh: 1: nvcc: not found
Traceback (most recent call last):
File "train_df.py", line 6, in
from core import DFLearner
File "/home/boyob/DepthPredict/DF-Net/core/init.py", line 2, in
from .DFLearner import DFLearner
File "/home/boyob/DepthPredict/DF-Net/core/DFLearner.py", line 15, in
from .UnFlow import flownet
File "/home/boyob/DepthPredict/DF-Net/core/UnFlow/init.py", line 1, in
from .src import flownet
File "/home/boyob/DepthPredict/DF-Net/core/UnFlow/src/init.py", line 1, in
from .e2eflow import flownet
File "/home/boyob/DepthPredict/DF-Net/core/UnFlow/src/e2eflow/init.py", line 1, in
from .core import flownet
File "/home/boyob/DepthPredict/DF-Net/core/UnFlow/src/e2eflow/core/init.py", line 1, in
from .flownet import flownet
File "/home/boyob/DepthPredict/DF-Net/core/UnFlow/src/e2eflow/core/flownet.py", line 5, in
from ..ops import correlation
File "/home/boyob/DepthPredict/DF-Net/core/UnFlow/src/e2eflow/ops.py", line 55, in
compile(n)
File "/home/boyob/DepthPredict/DF-Net/core/UnFlow/src/e2eflow/ops.py", line 35, in compile
subprocess.check_output(nvcc_cmd, shell=True)
File "/usr/lib/python2.7/subprocess.py", line 574, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'nvcc -std=c++11 -c -gencode=arch=compute_30,code=sm_30 -o backward_warp_op.cu.o backward_warp_op.cu.cc -I /usr/local/lib/python2.7/dist-packages/tensorflow/include -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC' returned non-zero exit status 127
Could you help me to solve this? Any suggestion would be a great appreciate!

hi @boyob @Yuliang-Zou
Have you solved this error?
I meet a similar problem now. When I run python test_kitti_depth.py --dataset_dir=./dataset --output_dir=./prediction --ckpt_file=./pretrained --split="test"
I got an error like this:
backward_warp_op.cu.cc:5:54: fatal error: tensorflow/core/framework/register_types.h: No such file or directory
compilation terminated.
Traceback (most recent call last):
File "/root/DF-Net/core/UnFlow/src/e2eflow/ops.py", line 53, in
op_lib = tf.load_op_library(lib_path)
File "/usr/local/python3.7.5/lib/python3.7/site-packages/tensorflow_core/python/framework/load_library.py", line 61, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: ./backward_warp_op.so: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test_kitti_depth.py", line 6, in
from core import DFLearner
File "/root/DF-Net/core/init.py", line 2, in
from .DFLearner import DFLearner
File "/root/DF-Net/core/DFLearner.py", line 14, in
from .UnFlow import flownet
File "/root/DF-Net/core/UnFlow/init.py", line 1, in
from .src import flownet
File "/root/DF-Net/core/UnFlow/src/init.py", line 1, in
from .e2eflow import flownet
File "/root/DF-Net/core/UnFlow/src/e2eflow/init.py", line 1, in
from .core import flownet
File "/root/DF-Net/core/UnFlow/src/e2eflow/core/init.py", line 1, in
from .flownet import flownet
File "/root/DF-Net/core/UnFlow/src/e2eflow/core/flownet.py", line 5, in
from ..ops import correlation
File "/root/DF-Net/core/UnFlow/src/e2eflow/ops.py", line 55, in
compile(n)
File "/root/DF-Net/core/UnFlow/src/e2eflow/ops.py", line 35, in compile
subprocess.check_output(nvcc_cmd, shell=True)
File "/usr/local/python3.7.5/lib/python3.7/subprocess.py", line 411, in check_output
**kwargs).stdout
File "/usr/local/python3.7.5/lib/python3.7/subprocess.py", line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'nvcc -std=c++11 -c -gencode=arch=compute_30,code=sm_30 -o backward_warp_op.cu.o backward_warp_op.cu.cc -I /usr/local/cuda-10.0/include -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC' returned non-zero exit status 1.
My enviroment is TF1.15.0+cuda10.0+g++5.4.0
Here is Line31~41 of my ops.py:
    cuda_lib64_path_arg = "-L /usr/local/cuda-10.0/lib64"
    nvcc_cmd = "nvcc -std=c++11 -c -gencode=arch=compute_30,code=sm_30 -o {} -I /usr/local/cuda-10.0/include -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC"
    nvcc_cmd = nvcc_cmd.format(" ".join([fn_cu_o, fn_cu_cc]),
                               tf_inc)
    subprocess.check_output(nvcc_cmd, shell=True)

    gcc_cmd = "{} -std=c++11 -shared -o {} -I {} -fPIC -lcudart -D GOOGLE_CUDA=1 {}"
    gcc_cmd = gcc_cmd.format('g++ 5.4.0',
                            " ".join([fn_so, fn_cu_o, fn_cc]),
                             tf_inc,
                             cuda_lib64_path_arg)

I've been stucked with this problem for several days and I have to solve it urgently, could you please give me some advice?
Thank you in advance.

The code was developed using tf-1.2.0 version. Please switch to the same version to use it.

The code was developed using tf-1.2.0 version. Please switch to the same version to use it.

Glad to receive your reply, but I have to train this model using TF1.15+CUDA10 because of my project. This error seems from UnFlow when compiling, so I'm going to run Unflow first.


Question: hits template ng-href alternative?

Hello,
Is it possible to use an href alternative in the hits templates? Like angular provides?
So for example instead of  something like ?
Asking this because some crawlers seem to follow the {{ url }} url of the template.

Hi @Maaark Sorry we missed this question, can you give us some more details and a code sample that is not working for you? Thanks

With connectors you have a complete control over the rendering and you should be able to implement whatever you need. Can you open another issue if it's not enough?


Allow PyAV to export motion vector map

IMPORTANT: Be sure to replace all template sections {{ like this }} or your issue may be discarded.
Overview
{{ Hi, I have noticed that there are not usage example of how to get the motion vector, and the only clue I have got lies here in the unittest. Could you please show a standard and efficient usage of transfer a motion vector into a mv map? Namely the motion offset of each pixel, a matrixs of size (2, height, weight)?
A simple implementation can be this, but it use a nested loop on each pixel, seems inefficient. }}
Desired Behavior
{{
    def test_decoded_motion_vectors(self):

        container = av.open(fate_suite('h264/interlaced_crop.mp4'))
        stream = container.streams.video[0]
        codec_context = stream.codec_context
        codec_context.options = {"flags2": "+export_mvs"}

        for packet in container.demux(stream):
            for frame in packet.decode():
                vectors = frame.side_data.get('MOTION_VECTORS')
                vectors_map = frame.side_data.parse_mv(vectors)# TODO
                if frame.key_frame:
                    # Key frame don't have motion vectors
                    assert vectors is None
                else:
                    assert len(vectors) > 0
                    return

}}
Example API
{{
def parse_mv(vector) -> np.ndarray:
Args:
    vector: np.ndarray, [(-1, src_x, src_y, dst_x, dst_y, motion_x, ...), ()..]
Returns:
    np.ndarray: of shape (2, h, w)
}}

Additional context
{{ Add any other context about the problem here. }}

hi, im interested in this feature, what do you think of two-source of [-1] and [+1] of B-frames? does it need to return two mv maps of the previous and the next frame?

I think you can use vector.to_ndarray() to extract it

Any update on this? Is there a way to extract motion vectors without decoding an RSTP stream?


Remove unused functions from ZarrAxes

Tests passed locally, but fell here, interesting.

Tests passed locally, but fell here, interesting (connection problem).

Looks like they went through now, did you restart them?

Tests passed locally, but fell here, interesting (connection problem).

Looks like they went through now, did you restart them?

yes

Will go ahead and merge. I think it would make sense to reverse the spatial ome.zarr metadata (but only after introducing additional tests ;)). I made an issue about this: https://github.com/mobie/mobie-io/issues/122


attr.asdict(recurse=True) now can handle nested lists

Right now if field contains nested lists it will not properly encoded to dict:
>>> @attr.s
... class Foo():
...     a = attr.ib()
...
>>> a = Foo(a=[[Foo(a=1)]])
>>> attr.asdict(a)
{'a': [[Foo(a=1)]]}

I added support for this case (only for lists and only for asdict function) and also updated testing strategy

Hi,
I see two problems with this solution.
The first is we're making a new function every asdict invocation, which slows things down. The second is, it doesn't solve the problem fully. Consider this:
>>> b = Foo([{1: Foo(1)}])
>>> asdict(b)
{'a': [{1: Foo(a=1)}]}

So if we're gonna solve it, let's solve it right. I've pushed a branch with what I think is a more correct solution: https://github.com/python-attrs/attrs/tree/feature/recursive-asdict. It makes asdict in general a little slower, but it's faster than this solution.
Before:
> pyperf timeit -g -s "from attr import asdict; from random import Random; from tests.utils import nested_classes, simple_classes; r = Random(1); C = simple_classes().example(r); c=C()" "asdict(c)"
Mean +- std dev: 2.43 us +- 0.09 us

After:
> pyperf timeit -g -s "from attr import asdict; from random import Random; from tests.utils import nested_classes, simple_classes; r = Random(1); C = simple_classes().example(r); c=C()" "asdict(c)"
Mean +- std dev: 2.51 us +- 0.10 us

This branch:
> pyperf timeit -g -s "from attr import asdict; from random import Random; from tests.utils import nested_classes, simple_classes; r = Random(1); C = simple_classes().example(r); c=C()" "asdict(c)"
Mean +- std dev: 2.95 us +- 0.10 us

Please add the tests to that branch and we can get this merged.

Ping? 😇

Fixed in #395 – thank you for the inspiration.


fix(#1920): Ignore redirect abortion emmited by loadUrl

Description
This changes fix an issue which happens during authorization process of OAuth2.0 with authorization code when loading the authorize user window of IdP which contain redirects. This redirects cause the window.loadUrl(url) function to throw an error due that the original requested page was not completely loaded.
https://github.com/usebruno/bruno/blob/1349a7975082e2afa64f4cc3b1c2d0d884991b4b/packages/bruno-electron/src/ipc/network/authorize-user-in-window.js#L75-L80
Such behaviour is explained on https://github.com/electron/electron/issues/17526 and https://github.com/electron/electron/issues/27574. Insomnia also faced this as they reported on this issue https://github.com/Kong/insomnia/issues/5926
Current error:

Fixes: #1920
Contribution Checklist:

[X] The pull request only addresses one issue or adds one feature.
[X] The pull request does not introduce any breaking changes
[X] I have added screenshots or gifs to help explain the change if applicable.
[X] I have read the contribution guidelines.
[X] Create an issue and link to the pull request.

Merged!
Thank you @gustavokath !
This will go out in the 1.13.0 release. Please subscribe to Discord announcement channel to stay notified on the releases.


Push Docker image in CI

Push the docker image of the node in the CI.
Needs #3

The CI here takes 45min, so i guess we wont use this without further optimizations.

Closing as stale.


Death Urn Player head texture and name missing

Issue Description:
The player head that spawns when you die with the Death Urn does not copy the player head skin including the name of the player.
What happens:
What happens is that the default Steve skin is shown together with a [unknown player]  tooltip showing above it.
What you expected to happen:
The head and tooltip to copy the player's.
Steps to reproduce:

Hold the Death Urn (and any random other item)
Die (preferably close to your spawn location)
Check the texture and name tooltip of the spawned death urn.
...

Affected Versions (Do not use "latest"):

EnderIO: 5.3.70
EnderCore: 0.5.76
Minecraft: 1.12.2
Forge: <IP_ADDRESS>54
SpongeForge? no
Optifine? no
Single Player
Launcher:  MultiMC (Online mode, no errors connecting to the Authentication, Session, Skins and API servers)

Your most recent log file where the issue was present:

No error or crash occurs, however I can provide a log if it's really necessary.
Below is a video recording instead.
https://i.gyazo.com/d17ab5d595d48da657e311b3302a88ae.mp4

Other
Rightclicking the head still returns the items like expected.

Hi,
could you check if there are any errors in the log/console from spawning the urn? If not I probably need to add some debug logging there for the next version. I have to admit, I only tested this in a development environment (i.e. offline mode).
Thanks

PS3: There would be a log message when the grave block is placed: Log.info("Placed grave for " + player.getName() + " at " + pos);. Does that list the correct player name?

[18:32:28] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Given [Death Urn] * 1 to GMan1996] [18:32:28] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Given [Death Urn] * 1 to GMan1996 [18:32:32] [Server thread/INFO] [minecraft/MinecraftServer]: GMan1996 fell out of the world [18:32:32] [Server thread/INFO] [enderio]: Placed grave for GMan1996 at BlockPos{x=-2166, y=64, z=-47} [18:32:32] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Killed GMan1996] [18:32:32] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] GMan1996 fell out of the world [18:32:32] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Killed GMan1996
That log message does occur with the correct player name.

Tested the 5.3.1329-nightly builds of Ender IO (monolithic), Endergy and Zoo.
Results:
[19:01:16] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] §4This is an §0Ender IO §4development build!
[19:01:16] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] §4It may trash your world at any time!
[19:01:16] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] §4Do not use it for anything but testing!
[19:01:16] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] You have been warned...
[19:01:18] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Did the system time change, or is the server overloaded? Running 10316ms behind, skipping 206 tick(s)
[19:01:30] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Set own game mode to Survival Mode]
[19:01:30] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Your game mode has been updated to Survival Mode
[19:01:34] [Server thread/INFO] [minecraft/MinecraftServer]: GMan1996 fell out of the world
[19:01:34] [Server thread/INFO] [enderio]: Galacticraft inventory inaccessable. Most likely because it is not installed.
[19:01:34] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] GMan1996 fell out of the world
[19:01:34] [Server thread/INFO] [enderio]: Placed grave for GMan1996 at BlockPos{x=-245, y=65, z=169}
[19:01:34] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Killed GMan1996]
[19:01:34] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Killed GMan1996

I need to push the additional logging first, I waited with that until you said it was ok. The next build should have it, if I'm quick it'll be done in 20 minutes.

ok, 2 new log statements: one when rendering the block, one when shift-rightclicking it

[19:33:44] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] §4This is an §0Ender IO §4development build!
[19:33:44] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] §4It may trash your world at any time!
[19:33:44] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] §4Do not use it for anything but testing!
[19:33:44] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] You have been warned...
[19:33:57] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Set own game mode to Survival Mode]
[19:33:57] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Your game mode has been updated to Survival Mode
[19:34:00] [Server thread/INFO] [minecraft/MinecraftServer]: GMan1996 fell out of the world
[19:34:00] [Server thread/INFO] [enderio]: Galacticraft inventory inaccessable. Most likely because it is not installed.
[19:34:01] [Server thread/INFO] [enderio]: Placed grave for GMan1996 at BlockPos{x=-248, y=83, z=171}
[19:34:01] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Killed GMan1996]
[19:34:01] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] GMan1996 fell out of the world
[19:34:01] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Killed GMan1996
[19:34:01] [Client thread/INFO] [enderio]: Created RenderDummy for player [unknown player] UUID=none
[19:34:04] [Client thread/INFO] [enderio]: Created RenderDummy for player [unknown player] UUID=none
[19:34:27] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Given [Death Urn] * 1 to GMan1996]
[19:34:27] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Given [Death Urn] * 1 to GMan1996
[19:34:29] [Server thread/INFO] [minecraft/MinecraftServer]: GMan1996 fell out of the world
[19:34:29] [Server thread/INFO] [enderio]: Placed grave for GMan1996 at BlockPos{x=-247, y=83, z=172}
[19:34:29] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Killed GMan1996]
[19:34:29] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] GMan1996 fell out of the world
[19:34:29] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Killed GMan1996
[19:34:29] [Client thread/INFO] [enderio]: Created RenderDummy for player [unknown player] UUID=none
[19:34:31] [Client thread/INFO] [enderio]: Created RenderDummy for player [unknown player] UUID=none
[19:34:33] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Set own game mode to Creative Mode]
[19:34:33] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Your game mode has been updated to Creative Mode
[19:34:38] [Server thread/INFO] [minecraft/MinecraftServer]: [GMan1996: Set own game mode to Survival Mode]
[19:34:38] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] Your game mode has been updated to Survival Mode
[19:34:39] [Client thread/INFO] [enderio]: Owner data: User [uuid=(unknown), name=[unknown player]]
[19:34:39] [Client thread/INFO] [enderio]: Owner data: User [uuid=(unknown), name=[unknown player]]
[19:34:39] [Server thread/INFO] [enderio]: Owner data: User [uuid=37614795-d3a2-43fa-9d3c-e12027d512af, name=GMan1996]
[19:34:39] [Server thread/INFO] [enderio]: Owner data: User [uuid=37614795-d3a2-43fa-9d3c-e12027d512af, name=GMan1996]

Rightclicked the first block,  shift-rightclicked the second.

oh. Now I feel stupid---I fell for the same trap twice.
I'm using the "owner" field, but that isn't sent to the client. I need to add that data to something that actually is sent to the client for the rendering to work...

Thanks. Fixed and will be part of the next release.

No problem, happy to help.


added option --insecure-skip-tls-verify for helm pull, install and upgrade, addresses #7875

Signed-off-by: Matthias Riegler<EMAIL_ADDRESS>What this PR does / why we need it:
Fixes https://github.com/helm/helm/issues/7875

Fixes #7875

Any way we can add tests for this? Otherwise, it looks good. It will be a relief to have this flag consistent across commands

@technosophos Wanted to have tests for this but I couldn't figure out how to do it. If you have an input, let me know!

@technosophos any update here?


[WIP] Changes to C++ unparser to facilitate SQL to C++

Tracking some changes here.

Hey! Just FYI: I've been also working on the C++ unparser in the meantime - although changes are not in master yet. I'd definitely like to merge the efforts at some point ;)

Right my main blocker is the fact that an and gets output because it uses the basic unparser from horast for expressions. While not all compilers support this (MSVC for example). Although you can get it with a header include, and that works, it's not truly proper IMO. But I also couldn't bring myself to go and re implement all the unparsing logic for expressions.
The branch name is misleading at this time, since I only touched the C++ unparser. Also I saw that python 3 supports syntax with a * in front of a variable. So that could then be mapped to the same operator in C++.
But most of all, I'm just trying to make stuff work. (like char literals are bytes objects that happen to be one character.)

Closed in favour of #8


fix(runtime): add .swiftinterface to recognized filetypes

.swiftinterface files are distributed inside of binary Swift modules and include type/method definitions, similar to header files in C/C++/etc.
While you are never expected to write such a file yourself, things like the Swift LSP will open them when looking at declarations of symbols in a source-closed library (e.g. Apples UI frameworks).

thanks!


proposal: Go 2: type of types

Create that proposal in according to https://github.com/golang/proposal#the-proposal-process .
Type of type
In according to questions from template:

I create enought Go code and I am not a novice Go programmer.
Another programming languages in my experience: C, C++, Java.
In my point of view, that design - add new think: variables have type the type.
Yes, my design is look more native for Go in my point of view. But I see a few nice designs or exampes and I add links in my text.
Main goal - try to avoid strange too long type clarification func New[Node NodeConstraint[Edge], Edge EdgeConstraint[Node]] (nodes []Node) *Graph[Node, Edge]  code.
I have not answer on requirement from doc : must not generate code at runtime - Go needs to work in environments (e.g. GCP) where run-time code generation is not allowed

Minimal example
package main

import "fmt"

// T is slice of types.
var T = []type{int, float32}

// summ resurn summary of values
func summ(vs ...T) T {
    var res T
    for _, v := range vs{
        res += v
    }
    return res
}

func main() {
    fmt.Printf("%d\n", summ[T:int](1,2,3,4))                  // show "10"
    fmt.Printf("%T\n", summ[T:int])                           // show "func (...int) int"
    fmt.Printf("%.2f\n", summ[T:float32](1.0, 2.0, 3.0, 4.0)) // show "10.00"
    //                       -----------
    //                      specific type

    fmt.Printf("%d\n", summ(1,2,3,4))          // Error: type T is undefined
    fmt.Printf("%d\n", summ[T:int32](1,2,3,4)) // Error: type `int32` is not in types slice T
}

For present language design:

int
float32

Types slice manipulation
Types slice:

always slice of types
slice is limited
no any
name of variable accepted for export

Acceptable types slice initialization
// Empty is empty slice of types.
// Exported.
var Empty []type

// ut is slice of unsigned types.
// Not exported.
var ut = []type{uint, uint8, uint16, uint32, uint64}

// num is slice of types from some external package `types`
var num = types.Numbers

Not acceptable slice of types
var (
    One  type = int // Error : type `type` is not slice of type `[]type`.
    Many []type = _ // Error : slice of types is not limited.
)

type A = One // Error : type `One` is not a type

Useful operations
Create a copy of types slice
var (
    N  = []type{float32, float64}
    NC []type
)

func init() {
    NC = N
}

Append new type
var N []type

func init() {
    N = append(N, float64)
}

Append types slice to types slice
var (
    floats = []type{float32,float64}
    ints  = []type{int,int32,int64}
    mix   []type
)

func init() {
    mix = append(mix, floats...)
    mix = append(mix, ints...)
}

Append new type to external package
package main

import "types"

func init() {
    types.Numbers = append(types.Numbers, float64)
}

Remove type from external package
package main

import "types"

func init() {
    for i,t := range types.Numbers{
        if t.(type) == uint32 {
            types.Numbers = append(types.Numbers[:i], types.Numbers[i+1:]...)
            break
        }
    }
}

Scope
Type slice is cannot by changed in any functions, methods, except
function func init() {...}. So, we can create a tests for avoid
some types in types slice.
package main

import "fmt"

var floats =[]type{float32, float64}

func main() {
    floats = append(float32, int) // Error: cannot append types slice
    floats[0] = int               // Error: cannot change types slice

	floats[0],floats[1] = floats[1], floats[0] // Error: cannot change types slice

	fmt.Println(floats) // Show : "[]type{float32, float64}"
	for i, v := range floats{
		fmt.Println(v) // Show correctly types slice per line
	}
}

Generic prototype with one types slice
Examlpe 1
External package tools with empty types slice
package tools

var Numeric []type // empty types slice

// Min return minimal of 2 number with same type
func Min(a, b Numeric) Numeric {
    if a < b {
        return a
    }
    return b
}

Use package tools:
package main

import "fmt"
import "tools"

func init() {
    tools.Numeric = append(tools.Numeric, int, float32)
}

func main() {
    fmt.Println(tools.Min[Numeric: int](1,2))          // show: 1
    fmt.Println(tools.Min[Numeric: float32](1.2,-2.1)) // show: -2.1

    Numeric := 12 // initialization variable `Numeric` with same name as types slice
    fmt.Println(tools.Min[Numeric: float32](1.2,-2.1)) // Error: slice `tools.Min` index `float32` is not valid. Function `tools.Min` is not slice.
}

Example 2
Example based on code from https://blog.golang.org/why-generics.
package tree

var E []type

type Tree struct {
    root    *node
    compare func(E, E) int
}

type node struct {
    val         E
    left, right *node
}

func New(cmp func(E, E) int) *Tree {
    return &Tree{compare: cmp}
}

func (t *Tree) find(v E) **node { ... }
func (t *Tree) Contains(v E) bool { ... }
func (t *Tree) Insert(v E) bool { ... }

Using:
package main

import "tree"

func init() {
    tree.E = append(tree.E, int, uint) // registration
}

func main(){
    t := tree.New[tree.E: int](func(a, b int) int { return a - b })

	var t2 tree.E // type of variable will be clarify later
	t2 = tree.New[tree.E: uint](func(a, b uint) uint { return a - b })
	// t2 = tree.New[tree.E: int] (...) Error: t2 have type tree[E: uint] already

    var (
        // For create a pointer of generic type
        // type added like in variable struct initialization
        v   = tree.Tree[E: float64]
        pt1  *tree.Tree[E: int]
        pt2 = new(tree.Tree[E: int])
    )

    // ...
}

Example 3
Example based on code from
https://github.com/golang/proposal/blob/master/design/15292/2013-12-type-params.md#syntax
// This defines `T` as a type parameter for the parameterized type `List`.
var T = []type{int, float32}

type List struct {
    element T
    next *List[T]
}

type ListInt List[T:int]
var v1 List[T:float32]
var v2 List[T: ListInt]
var v3 List[T: List] // Error: List[T] is undefined

type S struct { f T }
func L(n int, e T) interface{} {
    if n == 0 {
        return e
    }
    // return L(n-1, S{f:e}) // Error: type T of struct S is undefined
    return L(n-1, S[T:T]{f:e})
}

// Example of using:
// f := Counter[T:int]()
func Counter() func() T {
	var c T
	return func() T {
		c++
		return c
	}
}

Generic prototype with few types slice
Example 1
External package tools with empty types slice
package tools

var Num1 []type // empty types slice
var Num2 []type // empty types slice
var Num3 []type // empty types slice

// Summ is summary of two value with different types
func Summ(a Num1, b Num2) Num3 {
	return Num3(a) + Num3(b)
}

package main

import "fmt"
import "tools"

func init() {
    tools.Num1 = append(tools.Num1, int, float32, float64)
    tools.Num2 = tools.Num1
    tools.Num3 = tools.Num1
}

func main() {
    fmt.Println(tools.Summ[Num1: int, Num2: float32, Num3: float64](1,2.1))    // show: 3.1
    fmt.Println(tools.Summ[Num1: float64, Num2: float32, Num3: int](3.14,2.7)) // show: 5
}

Example 2
Swap types
type T, T2 []type

type S struct{t T, t2 T2}

// SwapTypes have argument and return type `struct S`, but that
// struct have different types
func SwapTypes(s S) S {
	return S[T:T2, T2:T]{t: T2(s.t), t2: T(s.t2)}
}

Example 3
Example based on code from
https://github.com/golang/proposal/blob/master/design/15292/2013-12-type-params.md#syntax
var T []type
var T2 []type
type (
    MyMap  map[T]T2     // Error: type T, T2 is undefined
    MyMap2 map[T:int]T2 // Error: type T2 is undefined
)

package hashmap

var K, V []type

type bucket struct {
	next *bucket
	key K
	val V
}

type Hashfn func(K) uint
type Eqfn func(K, K) bool

type Hashmap struct {
	hashfn Hashfn[K]
	eqfn Eqfn[K]
	buckets []bucket[K, V]
	entries int
}

// Example of using:
// h := hashmap.New[K:int, V:string](hashfn, eqfn)
func New(hashfn Hashfn, eqfn Eqfn) *Hashmap {
	// Type clarifications
	return &Hashmap[K:K, V:V]{hashfn, eqfn, make([]bucket, 16), 0}
}

func (p *Hashmap) Lookup(key K) (val V, found bool) {
	h := p.hashfn(key) % len(p.buckets)
	for b := p.buckets[h]; b != nil; b = b.next {
		if p.eqfn(key, b.key) {
			return b.val, true
		}
	}
	return
}

Example 4
Example with 3 types slices in one struct.
In struct structure used 2 types slices and 1 in struct method.
var T1,T2,T3 []type
type S struct{ t1 T1; t2 T2}
func (s S) Summ() T3 {
	return T3(s.t1) + T3(s.t2)
}
// example of using:
// v := s[T1: int, T2: float32, T3: float64]{t1: 1, t2: 3.14}
// fmt.Println("%2f\n", v.Summ()) // return type is float64

Useful generics
package sliceoperation

var T []type // empty types slice

func Reverse(s []T) {
    first := 0
    last := len(s) - 1
    for first < last {
        s[first], s[last] = s[last], s[first]
        first++
        last--
    }
}

func Sum(x []T) T {
	var s T
	for _, v := range x {
		s += v
	}
	return s
}

Using in go package math
Code based on function math.Pow
package math

import powInt "https://github.com/Konstantin8105/pow"

var num = []type{float64, int}

// Pow returns x**y, the base-x exponential of y.
func Pow(x float64, y num) float64 {
    // Typical solution for switching by type:
    // switch v := y.(type) {
    //     case float64:
    //         return pow(x,v)
    //     case int:
    //         return powInt.En(x,v) // Just for example
    // }
    //
    // But I think about switching by types slice `num`
	switch num {
         case float64:
             return pow(x,y)
         case int:
             return powInt.En(x,y)
	}
	panic("Unacceptable type")
}

Types for-range
I do not know - is it useful?
var nums = []type{float64, int}

func twice(v nums) nums{
	return v * 2
}

func main() {
    for _,num := range nums {
        fmt.Printf("%T\n", num)
        v := num(3.1415)
        fmt.Printf("%v. twice = %v",v, twice(v))
    }
}

or may be for tests
func Test(t *testing.T){
    for _,num := range nums {
        if num == []float64 {
            t.Fatalf("not acceptable test")
	    }
    }
}

Pointers in types slice
var pnts = []type{*int, *float32}

func twice(v pnts) error {
    if v == nil {
        return fmt.Errorf("nil")
    }
    *v *= 2
    return nil
}

Embedded
var T []type

// All types T must be fmt.Stringer
var _ ftm.Stringer  = T

type S struct{
    T
    val int
}

func(s S) Name() string{
    return s.String()
}

// example of use:
// type sm struct{ name string }
// func(s sm) String() string { return s.name }
// v := S[T:sm]{val: 10}
// fmt.Printf("%s\n", v)

Generic from exist code
Replace on external package level
We have package with math operations sparse
and we want to use that package but with changing type from float64 to float32.
package main

// package with typical slices of types
import (
    "go/generic/types"
    "go/math/big"
    "github.com/Konstantin8105/sparse"
)

var Calctype = []type{float32, float64, complex64, complex128, big.NewFloat(0.0).SetPrec(45)}
//                                      ----------------------------------------------------
//                                                it will be great

func init() {
    types.ReplaceAllPkg("Konstantin8105/sparse", float64, Calctype)
    // Now, package fully acceptable with float32 and float64
}

As we see - it is easy for adding new types, for example in future float128 and other.
Replace on function level for external package
For example, we found function:
package mymath

// Mult is naive matrix multiplication
func Mult(A,B,C [][] float64) {
    n := len(A)
	for i := 0; i < n; i++ {
		for j := 0; j < n; j++ {
			for k := 0; k < n; k++ {
				C[i][j] += A[i][k] * B[k][j]
			}
		}
	}
}

But we want use with another types in our code:
package

import "fmt"
import "Konstantin8105/mymath"
import "go/generic/types"

var Calctype = []type{float32, float64}

_ = Mult(A,B,C Calctype) // Acceptable for see a new function

func init() {
    types.ReplaceAllFunc("Konstantin8105/mymath.Mult", float64, Calctype, Mult)
    // Now, function acceptable with float32 and float64
    // where:
    //  "Konstantin8105/mymath/Mult" - location of function
    //  float64                      - replace from
    //  Calctype                     - replace to
    //  Mult                         - name of new function in that package
}

func main() {
    A64 := [][]float64{{2}}
    mymath.Mult(A64,A64,A64)
    fmt.Println(A64)
    Mult[Calctype: float64](A64,A64,A64)
    fmt.Println(A64)

    A32 := [][]float32{{2}}
    // mymath.Mult(A32,A32,A32) // Not acceptable, because function mymath.Mult work only with float64
    Mult[Calctype: float32](A32,A32,A32) // Acceptable. Function generated automatically. See function init.
    fmt.Println(A32)
}

TODO
I do not think about:

array of types
constant of type

Feel free for close

I just want to check: have you seen proposal #43651?

Dear @ianlancetaylor,
Yes, I seen that proposal and others.
I hope that issue help to avoid strange too long type clarification like func New[Node NodeConstraint[Edge], Edge EdgeConstraint[Node]] (nodes []Node) *Graph[Node, Edge].
Also, for information, present implemented design go2go cannot create generic in function.
code
Error: prog.go2:34:13: function type cannot have type parameters

How does this fix the verbose function declaration syntax? Could you provide an example of how a graph implementation would look under your proposal?

I don't understand how code like this
func init() {
    tools.Numeric = append(tools.Numeric, int, float32)
}

could work in Go.  If the init function has a conditional when setting tools.Numeric that seems to require a fully dynamic language.  Go is statically compiled: all types must be known at compile time.

Dear @deanveloper ,
I remove comments
package graph

var Edge, Node []type

type NodeConstraint interface {
	Edges() []Edge
}

type EdgeConstraint interface {
	Nodes() (from, to Node)
}

// Graph is a graph composed of nodes and edges.
type Graph struct {
        nodes []NodeConstraint
        edges []EdgeConstraint
 }

func New (nodes []Node) *Graph {
	...
}

func (g *Graph) ShortestPath(from, to Node) []Edge { ... }

using:
     var nodes []nodetype
     gr := graph.New[Node: nodetype , Edge: edgetype ](nodes)
     es := gr.ShortestPath(from,to)

Dear @ianlancetaylor ,
Yes, I see all types must be known at compile time in other issue comments and document.
I read document Type Parameters - Draft Design
Solution
For finding all acceptable types of types slice on go.ast level and avoid using functions func init(){ ... }, we can create a specific package from standard library with needed operations appending, remove, copy types slices:
import  "go\generic\types`

var T = types.Init().Append(float64, int)
var E = types.Init().Copy(T).Remove(int).Add(
    float32,
    complex64,
)

// work like : type S = T
var S = types.Rename(T) // &S == &T

// add types to external types slice and create a local
var myNumeric = types.Rename(tools.Numeric).Add(float32, float64)

In that option for need add in struct go.ast.File:
type File struct {
     ... // exist values
    // Types is matrix of types slices names and acceptable types name for each
    // Example:
    // Types = [][]string{
    //    "T": []string{ "float64", "int"},
    //    "E": []string{"float64", "float32", "complex64"},
    //    "S": []string{"T"},
    //    "tools.Numeric" : []string{"myNumeric"},
    //    "myNumeric": []string{"float32", "float64"},
    // }
    Types map[string]string
}

Dear @ianlancetaylor ,
Yes, I see all types must be known at compile time in other issue comments and document.
Solution
For finding all acceptable types of types slice on go.ast level and avoid using functions func init(){ ... }, we can create a specific package from standard library with needed operations appending, remove, copy types slices and recording all types using only ast tree.
Using functions from package "go/generic/types" only in global scope. Using in any functions, methods is not acceptable.
import  "go/generic/types"

// new types slice
var T = types.Append(types.Init(), float64, int)

// new types slice based on T with adding types and remove type `int`
var E = types.Append(T,
    float32,
    complex64,
).Remove(int)

// work like : type S = T
var S = types.Rename(T, T) // &S == &T

// new local types slice equal external types slice and add types
var myNumeric = types.Rename(Append(tools.Numeric, float32, float64), tools.Numeric)

Prototypes of types functions
In that case - need add in struct go.ast.File:
type File struct {
     ... // exist values
    // Types is map of types slices names and acceptable types name for each
    // Example:
    // Types = [][]string{
    //    "T": []string{ "float64", "int"},
    //    "E": []string{ "float64", "float32", "complex64"},
    //    "S": []string{ "T"},
    //    "tools.Numeric" : []string{ "float32", "float64"},
    //    "myNumeric": []string{ "tools.Numeric"},
    // }
    Types map[string]string
}

Present Go package parser parse without ast.BadDecl or ast.BadExpr.
See code.
package main

import (
	"bytes"
	"fmt"
	"go/ast"
	"go/parser"
	"go/token"
	"strings"
)

func main() {
	fset := token.NewFileSet() // positions are relative to fset

	src := `package main

import  types  "go/generic/types"

var (
	A = types.Init()
	B = types.Append(A)
	C = types.Init()
	D = types.Append(Init())
	E = types.Append(D, int)
	F = types.Append(types.Init(), int8, int16)
	H = types.Rename(types.Append(C, floats), C)
	G = types.Remove(types.Rename(types.Append(Init(), string, int8, int16), A), int8)
)

var T = types.Append(types.Init(), float64, int)

var E = types.Append(T,
    float32,
    complex64,
).Remove(int)

var S = types.Rename(T, T)
`

	// Parse src but stop after processing the imports.
	f, err := parser.ParseFile(fset, "", src, parser.ParseComments)
	if err != nil {
		fmt.Println(err)
		return
	}

	var buf bytes.Buffer
	err = ast.Fprint(&buf, fset, f, nil)
	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println("AST tree have ast.BadDecl or ast.BadExpr :", strings.Contains(buf.String(), "Bad"))
	fmt.Println(buf.String())
}

result:
AST tree have ast.BadDecl or ast.BadExpr : false
     0  *ast.File {
     1  .  Doc: nil
     2  .  Package: 1:1
     3  .  Name: *ast.Ident {
     4  .  .  NamePos: 1:9
     5  .  .  Name: "main"
...

If we can't use init functions, I don't understand the purpose of types.Append or the Remove method.  The person writing the code should be able to write down all possible types.  Why use a syntax like types.Append rather than just writing a list?

At the first part of question.
About types manipulations Append, Remove and ...
In according to Type Parameters - Draft Design.
I can write:
package mymath

type Numeric interface {
	type int, int8, int16, int32, int64,
		uint, uint8, uint16, uint32, uint64,
		float32, float64
}

// Mult is naive matrix multiplication
func Mult[T Numeric] (A,B,C [][]T) {
    n := len(A)
	for i := 0; i < n; i++ {
		for j := 0; j < n; j++ {
			for k := 0; k < n; k++ {
				C[i][j] += A[i][k] * B[k][j]
			}
		}
	}
}

package main

import "fmt"

func main() {
    A64 := [][]float64{{2}}
    mymath.Mult(A64,A64,A64)
    fmt.Println(A64)
}

Now, that code is valid. code
But I do not understood - How I can add type complex64 in mymath.Numeric from package main?
Because this acceptable from math point of view and go2go point of view.
At the second part of question
About types list any.
We can add a function like:
import  types  "go/generic/types"

var T = types.Any()  // Any types

But I do not understood - How I can add type complex64 in mymath.Numeric from package main?

You can't.  Go is not a dynamic language.  All types need to be known at compile time.  You can't change types at run time.

About types list any.

We could add a function types.Any but what would we gain?

Dear @ianlancetaylor ,

But I do not understood - How I can add type complex64 in mymath.Numeric from package main?

You can't. Go is not a dynamic language. All types need to be known at compile time. You can't change types at run time.

In go2go design type Numeric interface{ ... } in package mymath analyzed at compile time.
That type uppercase so exported and we can use them in external packages (for example package main).
But we cannot append new type in type mymath.Numeric from external packages at compile time. (it is like algorithms singly linked list or tree without knows parents).
In my point of view, that option help if somebody forgot add needed types.
My main goal of that issue - trying to avoid long type clarification like func New[Node NodeConstraint[Edge], Edge EdgeConstraint[Node]] (nodes []Node) *Graph[Node, Edge] is impossible.
Feel free for close that issue.
Thank you.

Yes, the generics proposal has limitations.  Those are because we want Go to remain a statically compiled language.  It's true that there are advantages to languages with a more dynamic type system, but Go is not one of those languages.


Blank screen

I am getting a blank screeen even tough I think I have implemented it correctly

Do not set a content view
Comment out setContentView(R.layout.yourActivity);

why is this not mentioned in the documentation


No publish release

Hi bro can you give the official link of encore there's no publish release I'm also problem with the code zip can't download

Flashable zip of Encore Tweaks is released on Telegram Channel post
https://t.me/rem01schannel


Making customized control

SNAF is amazing with its integration of a entire workflow of identification of neoantigen. However, I wonder if there is a way to create custom control dataset? It will be super helpful for researcher with their own normal sample sequencing dataset.

Hi @thestarocean,
Thanks for bringing this up, yes that's totally doable and it a highlight for our tool.
Let's imagine you have a 50 samples as a healthy control, the bam files associated with each sample are located in a /bam folder. You just need to run AltAnalyze as you normally do and get the counts.pruned.txt matrix.
Now, you can use the add_control to include as many additional controls as possible, there are two acceptable formats, if these 50 samples are from same tissue type, the count matrix itself should suffice.
df_healthy = pd.read_csv('path/to/counts.pruned.txt',sep='\t',index_col=0)
add_control = {'additional_healthy':df_healthy}
snaf.initialize(df=your_tumor_df,db_dir=db_dir,binding_method='netMHCpan',software_path=netMHCpan_path,add_control=add_control)

If you are working with a large scale normal reference iwth mixed tissue types, we accept a AnnData object (https://anndata.readthedocs.io/en/latest/). Let's imagine you have two tissue types, df1_liver.txt, df2_lung.txt which obtained using AltAnalyze, the benefit of using anndata in this case is the tumor specificity inference will take into account tissue distribution so a more accurate tumor specificity MLE score can be calculated:
import anndata as ad
from scipy.sparse import csr_matrix
import pandas as pd
df_liver = pd.read_csv('df1_liver.txt',sep='\t',index_col=0)
df_lung = pd.read_csv('df1_lung.txt',sep='\t',index_col=0)
df_combine = pd.concat([df_liver,df_lung],axis=1,join='outer',keys='tissue',levels=['liver_add','lung_add']).fillna(value=0)
list_tissue_type = df_combine.columns.get_level_values(-2)  # [liver_add, liver_add, liver_add,...lung_add,lung_add]
list_sample_name = df_combine.columns.get_level_values(-1). # [sample1,sample2...samplen]
adata = ad.AnnData(X=csr_matrix(df_combine.values),obs=pd.DataFrame(index=df_combine.index),var=pd.DataFrame(index=list_sample_name))
adata.var['tissue'] = list_tissue_type

# then the same
add_control = {'additional_healthy':adata}

Happy to further clarify,
Frank

Thank you very much for your answer!


[BUG] TDVT: date string format vary according to OS date format settings

Describe the bug
The CSV file with input data for calcs table has:
+------------+
| date0      |
+------------+
| 2004-04-15 |
| 1972-07-04 |
| 1975-11-12 |
| 2004-06-04 |
| 2004-06-19 |
|    ....    |

So I univocally identified format as yyyy-mm-dd, according to the last line. So, the third line has 12th Nov 1975.
There are test cases in tests exprtests\standard\setup.operator.date.*.txt:
date0 == #7/4/1972#
date0 >= #11/12/1975#
date0 > #11/12/1975#
date0 <= #11/12/1975#
date0 < #11/12/1975#
date0 - datetime0
datetime0 - #1/1/2004#
date0 - num4
date0 != #11/12/1975#
date0 + num4

The query generated for one of the tests is:
SELECT (`calcs`.`date0` >= DATE('1975-12-11')) AS `TEMP(Test)(1366787273)(0)` FROM `calcs` GROUP BY `TEMP(Test)(1366787273)(0)`

The day and the month were swapped, so the test failed.
Once I change OS settings as shown on the screenshots

Query changes and test passes
SELECT (`calcs`.`date0` >= DATE('1975-11-12')) AS `TEMP(Test)(1366787273)(0)` FROM `calcs` GROUP BY `TEMP(Test)(1366787273)(0)`

So, the outcome is: test result depends on the date format settings where test is being executed. That's incorrect.
As a fix I suppose that all tests should store input dates (times and datetimes) in the save format as CSV has. Otherwise the format should be hardcoded to match the CSV or, better, defined somehow in test specs, for example:
date0 == #7/4/1972# // dd/mm/yyyy
date0 >= #11/12/1975# // dd/mm/yyyy
...

I found 39 test cases (~5%) in TDVT v.2.4.0 affected by this.
Desktop (please complete the following information):

OS: Win 10
Tableau Version: 2021.3

About you:
Name: Yury Fridlyand
Company: Bit Quill

Internal tracking id: 1349237

@Yury-Fridlyand TDVT currently only supports OS locale setting English/US.
I have created an enhancement story in our backlog to support different OS locale settings.


Role Specific pages

Need to restrict by role the following:

[x] List management - create button (super+)
[x] List Management - edit existing (super+)
[x] All work - create button (super+)
[x] Status/Issues - edit approved status/issues (super+)
[x] Task templates - create button (super+)
[ ] Task Template - action column (super+)
[x] Task Template - edit existing templates (super+)

As a (type of user)
I want (goal)
so that (reason/ why/ value)
Acceptance Criteria
Scenario 1:
GIVEN ... (you or your condition)
WHEN ... (what you do)
THEN ... (what you see)
Scenario 2:
xxxxxx
Validation Rules?
(If yes, list here)
Screenshot
(Link above will always be the most up-to-date version.)

All these are still true, but I can't check which ones are done or not without the ability to change permissions

@dinesh-aot the task template actions bar is still accessible. I can delete templates

@djnunez-aot  Please check ROLES.Edit to allow the menu item accessible. Please check the UserList implementation

@Connor1892, @djnunez-aot, @dinesh-aot
As a User, I should be able to open any modal on All Works, Projects etc - I just can't edit it, it will be greyed out.
Now if I'm not a Superuser, but I want to see Work's details, I can't do it

@maria-kuzmenko
as a viewer you can see a work's details on the about page. is that enough?

@EAO-App-Admin said they should be able to open the modal, they just can't edit it. Some of them might be using it to double-check some information. I don't know what can be the use case to totally restrict showing this info. We can discuss

#1885 has been created!


Conditional NOMINATE updates

Here we need to decide some things about conditional updates to nominate estimates, because they will cause some discrepancies in the nominate data.

Currently we check to see if any rollcalls are missing bill parameter estimate. If they are, we estimate those bill parameters. We update the mongodb with these estimates.
We also estimate new ideal points of members who voted on those new rollcalls. We only update the mongodb with these estimates if the members have at least 25 non-absent votes under their belt. This means new members will have no nominate field until they vote enough, which I believe Aaron handles well.
We compute the PRE and vote probabilities on those new rollcalls only.

This means we have a few disconnects:

An old member who voted on a new bill will have new ideal points, but their vote probabilities on old votes will be unchanged. These changes are likely to be minimal, and will be handled by a full update.
Because these ideal points have changed, a full run of nominate would update old bill parameters as well. Again, handled by a full update.
This iterative update process means that people that vote more often will have their estimates updated more often. This is not handled by a full update because there's no way to really get around that their starting points in a full run will be the process of more updates than others. This could be solved by storing the weekly full update estimates in one location and then using those as starting points, thus relegating conditional estimates to the role of providing temporary estimates during the week (rather than as a part of the overall iterative, weekly nominate update).

Thoughts, questions?

I think it's good to get this out there so we're transparent with our process.
In terms of solving 3, I think you have the correct intuition--store a copy of the full estimates somewhere and use that for the basis for all full updates, rather than the intra-weekly updates which we just use to present better user-facing data. Is it relatively straightforward a modification of your code to save the relevant fields to both voteview.voteview_members and, say, nominate.canonical_nominate or whatever? Then WebVoteView doesn't need the canonical_nominate.

Yes I could do that fairly easily. However, I would also need to add ways to read from the voteview database for new votes but pull nominate start values from the old database. Doable, but lets discuss this further.

For now, I believe we've settled on updating only doing what I suggested (steps 1-3) and then dealing with a "full release" later on, starting from Keith's finished 114 files. I'm tagging this post-launch so we can discuss this there if we want.

@JeffreyBLewis, Not giving new people ideal points definitely messes with the party medians. Check out http://<IP_ADDRESS>/parties/200


Add support for Preview organization projects

One test is failing, will fix it in a day or two

@gmlewis I am getting a 404 on one of the tests for this endpoint if you are not too busy could you take a look at this, I think I fresh pair of eyes on the code might help catch my mistake because I have been struggling for the whole day for this but couldn't find whats wrong?
This is the test failure from the travis logs
--- FAIL: TestProjectsService_GetPermissionLevel (0.00s)
    projects_test.go:508: Projects.ReviewProjectCollaboratorPermission returned error: GET http://<IP_ADDRESS>:39289/api-v3/projects/1/collaborators/u/permission: 404  []
    projects_test.go:519: Projects.ReviewProjectCollaboratorPermission returned <nil>, want &{Permission:0xc0002d2310 User:github.User{Login:"u"}}

Hi @palash25 - on line 500 it looks like you are missing a leading slash:
"projects/1/collaborators/u/permission" should be "/projects/1/collaborators/u/permission".

@gmlewis I was afraid it must have been something as stupid as a missing slash :sweat_smile: thanks for your help and sorry for bothering you with such a small issue.
I have updated the PR you can review it now.

@gmlewis changes made please review

@gmlewis done :+1:

Thank you, @palash25 and @gauntface!
LGTM.
Merging.


Debugging activities feels weird when time is irrelevant

Example: https://code.world/#P78hkv9hsakKxPJw-eO5LYw
Playing around with this, it's quite confusing that:

You must be paused to access the history, even though time has no effect on the program.
You must be unpaused to press the space bar and advance the simulation.

It's not completely clear what to do here.  One option is to use the same trick we do for optimization, and just show the same controls as if the program is paused, any time the program ignores TimePassing events.  (One exception is PanningLayer, which must be disabled if the program responds to mouse clicks, but could be left enabled while paused for a program that changes over time.)  We could use isUniversallyConstant in CodeWorld.Driver to check both properties.

My (slight) concern with the plan using isUniversallyConstant is that it feels slightly magical, and it could be confusing when the debugger changes due to fairly innocent refactoring.

Also, the speed slider and fast-forward button are confusing when the program ignores time!


Probably a bug: Inconsistent select results from different nodes

Probably a bug: Inconsistent results from different nodes for queries like "select count(*) from table" while inserts into this table are still running
CrateDB version: We use docker images of crate
latest Version: 1.0.2 (running in Docker version 1.12.6,) on AWS with Linux
JVM version:  (In crate docker image) : openjdk version "1.8.0_111-internal"
OpenJDK Runtime Environment (build 1.8.0_111-internal-alpine-r0-b14)
OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
OS version / environment description: ( in crate docker image): Linux 83a8b36761c0 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC 2016 x86_64 Linux
Problem description:
Quering "select count() from XY" while inserting data into the table  XY produces inconsistent results on 3-nodes cluster.
SQL (run as script):
select count() from alltables.kdwsuch_kurz_idx_shard;
select count() from alltables.kdwsuch_kurz_idx_shard;
select count() from alltables.kdwsuch_kurz_idx_shard;
select count() from alltables.kdwsuch_kurz_idx_shard;
select count() from alltables.kdwsuch_kurz_idx_shard;
select count(*) from alltables.kdwsuch_kurz_idx_shard
Results:
6632881  <- ok for the beginning
6506790  <- why, now less than before???
6506790  <- not refreshed, ok
6506790  <- still not refreshed
6645186  <- ah, some more data in, nice
6506790  <- whooot??
Seems the nodes won't synchronize properly.
Steps to reproduce:

create a 3-node cluster from docker containers
docker run -d -p 4200:4200 -p 4300:4300 -p 5432:5432 --name hombre1 -v /home/centos/crateDB/data:/crate/data  -v /home/centos/crateDB/config:/config --ulimit nofile=65536 --ulimit memlock=9223372036854775807 --env CRATE_HEAP_SIZE=16g crate crate -Ccluster.name=crate-cluster -Cnode.name=hombre1 -Cpath.conf=/config
docker run -d --name hombre2 -v /home/centos/crateDB/data:/crate/data  -v /home/centos/crateDB/config:/config --ulimit nofile=65535 --ulimit memlock=9223372036854775807 --env CRATE_HEAP_SIZE=16g crate crate -Ccluster.name=crate-cluster -Cnode.name=hombre2 -Cpath.conf=/config
docker run -d --name hombre3 -v /home/centos/crateDB/data:/crate/data  -v /home/centos/crateDB/config:/config --ulimit nofile=65535 --ulimit memlock=9223372036854775807 --env CRATE_HEAP_SIZE=16g crate crate -Ccluster.name=crate-cluster -Cnode.name=hombre3 -Cpath.conf=/config

with crate.yml:
path.data: /crate/data
gateway.expected_nodes: 3
gateway.recover_after_nodes: 3
discovery.zen.minimum_master_nodes: 3
es.api.enabled: true

create a table with ca. 70 columns, mostly STRINGS, some TIMESTAMPS
create a big (some 15 mio rows) .json file with data to insert in the table
run "copy from .... " from crash tool
wait a moment to get some data into the table
using a SQL - tool (I use Squirrel with crate-jdbc-standalone-2.1.3.jar) run "select count(*) from yourtable" many times in a row
check results.

Hello @donnaMathilda
CrateDB is eventually consistent which means that until you refresh the table you don't see consistent results. Please read the relevant documentation here.

Hi Marios,
Thank you for the promp answer.
But unfortunately refresh table doesn't really help. At least not always.
Imagine following situation: the crateDB is running in a production environment as a ReadDB.
The content is filled up from whatever source in irregular intervals. Not necessary very often.
An unlucky client (person or an application) browses the table which is updating right now. He will receive different results!
It would be OK, if the results were not exactly up to date, as long as they are consistent. But it could be fatal if they are just different depending on answering node.
Forcing a client to call refresh table before every single select can't be a solution, can it?
Nods must have some mechanism to be able to deliver the same "last synchronized" result, even though the result is not up to date (yet).
Imagine a financial application. Transactions of the day are loading  into cratedb. Just in this moment a client asks for sum of his account and gets first 10.000 then 9.000 then 9.340 and 9.000 again. That's just an example, maybe not the perfect one, but I can think of many other use cases where nervous changing results would be at least irritating.
Or am I completely wrong? Misunderstood the usage of crateDB? Please help me out .:-)
Best regards
Elena
On Tue, Jan 17, 2017 at 10:13 PM +0100, "Marios Trivyzas" <notifications<EMAIL_ADDRESS>wrote:
Hello @donnaMathildahttps://github.com/donnaMathilda
CrateDB is eventually consistent which means that until you refresh the table you don't see consistent results. Please read the relevant documentation herehttps://crate.io/docs/reference/en/stable/sql/refresh.html.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/crate/crate/issues/4711#issuecomment-273301139, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AVRE4AhoXaQMJuqIt-Cv0-9s3-q2aeUQks5rTS7lgaJpZM4LmEGP.

hi @donnaMathilda, we will take a look into your case. but CrateDB is a database that can handle tons of events in the machine data field. we will probably never operate as an accounting database for the financial industry, but we are there to provide fast results on hot data.

Forcing a client to call refresh table before every single select can't be a solution, can it?
Nods must have some mechanism to be able to deliver the same "last synchronized" result, even though the result is not up to date (yet).

Calling refresh isn't the solution - it would kill the performance.
The docs about optimistic concurrency control might be of interest.


1.1.0 FTBFS

/kind bug
Steps to reproduce the issue:

Build with tags: seccomp apparmor containers_image_ostree_stub btrfs_noversion exclude_graphdriver_btrfs

Describe the results you received:
src/github.com/containers/libpod/cmd/podman/rmi.go:39:8: undefined: iopodman.ImageNotFound

Describe the results you expected:

Looks like a Varlink issue - all our CI presently builds varlink enabled, so we didn't catch this.
Need to fix the issue and then get our CI to also build varlink disabled so it doesn't reoccur.

Opened #2465 to fix the build and #2464 to add CI to catch this

Thank you for the fast response. I will give this a try in ~10-12 hours.


update pyspark documentation for using createpysparkfunctions.py and …

…credentials to access Azure storage from HDInsight/Spark

OPS Build status updates of commit 13f818d:
:clock10: Preparing: average preparing time is 48 sec(s)

OPS Build status updates of commit 13f818d:
:clock10: Incremental building: average incremental building time is 20 sec(s)

OPS Build status updates of commit 13f818d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

academic-services/graph/samples-azure-hdinsight.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@cyhuang01 Please review this change.   This is the expected behavior of the build system.

OPS Build status updates of commit 91aac38:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

academic-services/graph/samples-azure-hdinsight.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@cyhuang01 Hi Charles, can you take a look at the change? If it is Ok, can you also merge this change? Thanks

OPS Build status updates of commit 23ec3d1:
:clock10: Preparing: average preparing time is 49 sec(s)

OPS Build status updates of commit 23ec3d1:
:clock10: Incremental building: average incremental building time is 25 sec(s)

OPS Build status updates of commit 23ec3d1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

academic-services/graph/samples-azure-hdinsight.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add timestamp and version info in header and footer.

This fixes #1351 by adding the timestamp and version info to both the header and footer. As mentioned in the issue, this is mostly useful for larger projects where long files push down this important info far down the page.
I also lined up the footer to be on the same place in both the index page and the file listing page.

Page
Before
After

Light (Index)

Dark (Index)

Light (File)

Dark (File)

I appreciate the pull request (with pictures!) and the attention to detail.  But the footer should remain aligned with the code and header, as it was on the index page.  The file page can change to match.

I implemented this slightly differently in commit 53e5dd3e.

It doesn't seem like the timestamp is showing at the top of the index.html page, but it is showing up correctly everywhere else.
Would it be possible to add it in to the index.html page as well?
Thank you.

OK, as of 6ef78073 it's at the top of the index page too.  I feel like it might be in too many places now...  Maybe we don't need it at the bottom, but we'll see if anyone else voices an opinion (they won't).

Thanks! Just tried it and it looks great to me.

This is now released as part of coverage 6.4.


[opengl] build failure

Operating system
Windows
Compiler
MinGW
Steps to reproduce the behavior
Build and run CMake+vcpkg project from VS GUI.

Failure logs
Installing 1/18 opengl:x64-windows...
1> [CMake] Building opengl:x64-windows...
1> [CMake] -- Installing port from location: \AppData\Local\vcpkg\registries\git-trees<hash-latest>
1> [CMake] -- Installing: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/include/GL/gl.h
1> [CMake] -- Installing: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/include/GL/glu.h
1> [CMake] -- Installing: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/lib/OpenGL32.Lib
1> [CMake] -- Installing: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/lib/GlU32.Lib
1> [CMake] -- Installing: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/debug/lib/OpenGL32.Lib
1> [CMake] -- Installing: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/debug/lib/GlU32.Lib
1> [CMake] -- Fixing pkgconfig file: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/lib/pkgconfig/glu.pc
1> [CMake] -- Fixing pkgconfig file: /out/build/default/vcpkg_installed/vcpkg/pkgs/opengl_x64-windows/lib/pkgconfig/opengl.pc
1> [CMake] -- Using cached mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.
1> [CMake] -- Downloading https://mirror.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst;https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst;https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst;https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst;https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst;https://repo.msys2.org/mingw/i686/mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst -> mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst...
...
1> [CMake] error: Failed to download from mirror set
...
1> [CMake] [DEBUG] D:\a_work\1\s\src\vcpkg\base\downloads.cpp(1003):
1> [CMake] [DEBUG] Time in subprocesses: 0us
1> [CMake] [DEBUG] Time in parsing JSON: 17us
1> [CMake] [DEBUG] Time in JSON reader: 0us
1> [CMake] [DEBUG] Time in filesystem: 2804us
1> [CMake] [DEBUG] Time in loading ports: 0us
1> [CMake] [DEBUG] Exiting after 4 s (3956363us)
...
ACTUAL FAILURE 404 FILE NOT FOUND ON SERVER BECAUSE IT WAS REMOVED
...
1> [CMake] error: building opengl:x64-windows failed with: BUILD_FAILED
1> [CMake] Elapsed time to handle opengl:x64-windows: 4.1 s
1> [CMake] Please ensure you're using the latest port files with git pull and vcpkg update.
...
1> [CMake] -- Running vcpkg install - failed
...
1> [CMake] -- Configuring incomplete, errors occurred!
1> ... returned with exit code: 1'.
Additional context
User configured project. Missing library is mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst . It was working some hours ago, the file may have been removed from the relevant server due to a "clean-up" or maintenance of old records. VCPKG possibly just needs an update to recognize newer versions of the specific library, because newer versions of the dependency do exist on the same server the compilation tool (CMake) was looking. Please fix so CMake+vcpkg do not look for any version prior to the latest available, if not already done.

The issue is duplicated for all ports that depend on libwinpthread, evidently a dependency fixed to the mingw compiler, which is called up to compile ports when building... hence the issue!

Missing library is mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst

This download was updated in vcpkg in May 2023 (#29067). Now you must update.

Missing library is mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst

This download was updated in vcpkg in May 2023 (#29067). Now you must update.

Alright, that seems about what I would want to do. I tried the latest VCPKG cloned via GitHub and it works, that is a 2024 version. So, you are right. Presumably, it downloads and uses a newer version of MinGW. I did not confirm. There are no tools to update VCPKG in the VisualStudio install. I tried to uninstall it and reinstall using the VS installer (simulating an update, minus the 23GB it otherwise requires for a complete VS upgrade/update), and it just installed the 2023 version that I already had.
Is there a way to make the update without applying "brute force" i.e. replacing VCPKG in the VS program files folder? There always should be an "easy way", before forcing the user to make drastic manual changes. If not an update of VCPKG, maybe a clue of how to make a smaller change of updating a registry config file that tells VCPKG which version of MinGW, or just the dependent library if it will not break the rest of MinGW, to fetch?

Anyone else that happens on this, I resolved to compile the removed files for myself and replace them in the vcpkg local data folder. I hope it will work. Still fighting personal live-boot arch space issues (headache). Another solution is to update vcpkg (if you are working with a version around 2023, it will pull libwinpthread v9 and a newer version will pull the latest v10/11 which will just work).
I would hope that someone hosts an archive for the old vcpkg dependencies/tools to make things easier.

Anyone else that happens on this, I resolved to compile the removed files for myself and replace them in the vcpkg local data folder. I hope it will work. Still fighting personal live-boot arch space issues (headache). Another solution is to update vcpkg (if you are working with a version around 2023, it will pull libwinpthread v9 and a newer version will pull the latest v10/11 which will just work).
I would hope that someone hosts an archive for the old vcpkg dependencies/tools to make things easier.


Pagerduty: Add extra properties to User

Description
Add some extra properties from the pagerduty users API
https://developer.pagerduty.com/api-reference/b3A6Mjc0ODIzMw-list-users
Type of change

[ ] Bug fix
[x] New feature
[ ] Breaking change

Related issues

Fix Resolves #1087

Migration notes
N/A - non-breaking schema change

Oops somehow the pr opened with the wrong base 🤦♀


README.md should say .build, not .train

That's about all.
Also it would be very nice if you could elaborate on what  represents.
Thanks!

Fixed it. Thanks!


error while running ' python setup.py develop '

I'm getting this error while trying to use the prebuild
C:\Users\91828\Desktop\OpenPCDet>python setup.py develop running develop C:\Users\91828\AppData\Local\Programs\Python\Python38\lib\site-packages\setuptools\command\easy_install.py:156: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.   warnings.warn( C:\Users\91828\AppData\Local\Programs\Python\Python38\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.   warnings.warn( running egg_info writing pcdet.egg-info\PKG-INFO writing dependency_links to pcdet.egg-info\dependency_links.txt writing requirements to pcdet.egg-info\requires.txt writing top-level names to pcdet.egg-info\top_level.txt reading manifest file 'pcdet.egg-info\SOURCES.txt' adding license file 'LICENSE' writing manifest file 'pcdet.egg-info\SOURCES.txt' running build_ext C:\Users\91828\AppData\Local\Programs\Python\Python38\lib\site-packages\torch\utils\cpp_extension.py:316: UserWarning: Error checking compiler version for cl: [WinError 2] The system cannot find the file specified   warnings.warn(f'Error checking compiler version for {compiler}: {error}') error: [WinError 2] The system cannot find the file specified
can someone help me identify the issue and solve it

Hi @eiffelbastin ,
We haven't tried to use OpenPCDet in windows system yet.
It would be nice if you can help us to develop the supporting version for windows.


foxit-pdf-reader: update autoupdate url, update to version <IP_ADDRESS>50

[X ] I have read the Contributing Guide.

/Verify

Please make changes to foxit-reader as well.

/verify

Please make changes to foxit-reader as well.

Foxit-reader is a old bucket, my advice to delete it,
What you thinks ?

Foxit-reader is a old bucket, my advice to delete it,

Will be removed after scoop supports manifest alias feature. https://github.com/ScoopInstaller/Extras/pull/9633#issue-1433411847


Fix integration tests

Looks like tests on Travis are expecting some new env variables that aren't being set correctly.

Fixed: https://travis-ci.org/github/RaRe-Technologies/smart_open/builds/729233945

@mpenkov what was the issue?

N/M, I see the commit here: https://github.com/RaRe-Technologies/smart_open/commit/909930e9f30ee04a609fc0c8910389b963d7dba3


cuBLAS with llama-cpp-python on Windows

cuBLAS with llama-cpp-python on Windows.
Well, it works on WSL for me as intended but no tricks of mine help me to make it work using llama.dll in Windows.
I try it daily for the last week changing one thing or another. Asked friend to try it on a different system but he found no success either.
At this point i sincerely wonder if anyone ever made this work.
I don't expect any help regarding this issue, but If anyone could confirm that it does work in Windows and is possible at all as a concept it would surely encourage me to continue this struggle.
(there is no issue to make original llama.cpp to work with cuBLAS anywhere, issue lies with a wrapper for me)
I'll post error just in case:
File E:\LLaMA\llama-cpp-python\llama_cpp\llama_cpp.py:54, in _load_shared_library(lib_base_name)
     53 try:
---> 54     return ctypes.CDLL(str(_lib_path))
     55 except Exception as e:

File ~\AppData\Local\Programs\Python\Python310\lib\ctypes\__init__.py:374, in CDLL.__init__(self, name, mode, handle, use_errno, use_last_error, winmode)
    373 if handle is None:
--> 374     self._handle = _dlopen(self._name, mode)
    375 else:

FileNotFoundError: Could not find module 'E:\LLaMA\llama-cpp-python\llama_cpp\llama.dll' (or one of its dependencies). Try using the full path with constructor syntax.

During handling of the above exception, another exception occurred:

RuntimeError                              Traceback (most recent call last)
Cell In[1], line 1
----> 1 from llama_cpp import Llama
      2 llm = Llama(model_path="./models/7B/ggml-model.bin")
      3 output = llm("Q: Name the planets in the solar system? A: ", max_tokens=32, stop=["Q:", "\n"], echo=True)

File E:\LLaMA\llama-cpp-python\llama_cpp\__init__.py:1
----> 1 from .llama_cpp import *
      2 from .llama import *

File E:\LLaMA\llama-cpp-python\llama_cpp\llama_cpp.py:67
     64 _lib_base_name = "llama"
     66 # Load the library
---> 67 _lib = _load_shared_library(_lib_base_name)
     69 # C types
     70 llama_context_p = c_void_p

File E:\LLaMA\llama-cpp-python\llama_cpp\llama_cpp.py:56, in _load_shared_library(lib_base_name)
     54             return ctypes.CDLL(str(_lib_path))
     55         except Exception as e:
---> 56             raise RuntimeError(f"Failed to load shared library '{_lib_path}': {e}")
     58 raise FileNotFoundError(
     59     f"Shared library with base name '{lib_base_name}' not found"
     60 )

RuntimeError: Failed to load shared library 'E:\LLaMA\llama-cpp-python\llama_cpp\llama.dll': Could not find module 'E:\LLaMA\llama-cpp-python\llama_cpp\llama.dll' (or one of its dependencies). Try using the full path with constructor syntax.

And here the Llama DLL that doesn't work:
llama.zip

how did you do cuBLAS with llama-cpp-python on linux?
looking forward to your reply!

how did you do cuBLAS with llama-cpp-python on linux? looking forward to your reply!

Key thingies:
write export PATH=/usr/local/cuda/bin:$PATH for no reason.
then go to ./vendor/llama.cpp and change makefile:
delete line 107
ifdef LLAMA_CUBLAS
and line 116
endif
We are barbarians now, can't go wrong with setting argument if we leave it no choice right.
Then i go to CMakeLists.txt and change line 69 to
option(LLAMA_CUBLAS                 "llama: use cuBLAS"                                     ON)
after that i check if .\vendor\llama.cpp has libllama.so, and delete it if it does. Now we can go back to llama-cpp-python and try to build it.
export LLAMA_CUBLAS=1
LLAMA_CUBLAS=1 python3 setup.py develop
This way i try to set argument LLAMA_CUBLAS=1 about 4 times in a row in different places. Yet it always takes me multiple attempts to finally build it. And it always eventually does, but as you can see the way i do it isn't straightforward. At this point i don't know what is actually important so i just repeat steps.

Can you run nvidia-smi when calling llama-cpp-python and observe GPU%, please?

Can you run nvidia-smi when calling llama-cpp-python and observe GPU%, please?

If you ask about windows one, then it obviously has nothing cuda related in it. I can't build working dll with cuda.

If you ask about windows one, then it has nothing cuda related in it. I can't build working dll with cuda.
On other hand WSL does work with cuda just fine for me (until it's the latest release of llama.cpp that causes CUDA OOM)

I seem to have progressed further than you w/Ubuntu?

If you ask about windows one, then it has nothing cuda related in it. I can't build working dll with cuda.
On other hand WSL does work with cuda just fine for me (until it's the latest release of llama.cpp that causes CUDA OOM)

I seem to have progressed further than you w/Ubuntu?

Well, this one: https://github.com/ggerganov/llama.cpp/pull/1207
doesn't work for me in WSL Ubuntu, opened issue here: https://github.com/ggerganov/llama.cpp/issues/1230
But previous way of memory allocation in GPU worked for me just fine and still works.
In case of windows i still haven't built working llama.dll for once that has cuBLAS within it.

I have a working dynamic Linux binary. It frustratingly doesn't however generate any GPU%, independent of the batch size.

I have a working dynamic Linux binary. It frustratingly doesn't however generate any GPU%, independent of the batch size.

you mean libllama.so?

I have a working dynamic Linux binary. It frustratingly doesn't however generate any GPU%, independent of the batch size.

you mean libllama.so?

Yes, in that it seems to load fine from within python 3.10.10.

I have a working dynamic Linux binary. It frustratingly doesn't however generate any GPU%, independent of the batch size.

you mean libllama.so?

Yes, in that it seems to load fine from within python 3.10.10.

Well, this one works for me too. This is basically the very reason i use WSL at all. It does give me working libllama.so with enabled cuBLAS.
I don't use llama-cpp-python as standalone in Ubuntu, i call it with oobabooga webui, which then i use just as api.
I build cuda-enabled llama-cpp-python's libllama.so and feed it to ooba, then i launch it like that:
(textgen) root@DESKTOP-61FF5OF:/mnt/e/LLaMA/Ubuntu/text-generation-webui# python3 server.py --listen --model-dir /media/ --chat --verbose --api --model ./ggml-vic13b-q5_0.bin --n_batch 512 --threads 12
Gradio HTTP request redirected to localhost :)
bin /root/miniconda3/envs/textgen/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda121.so
Loading ./ggml-vic13b-q5_0.bin...
llama.cpp weights detected: /media/ggml-vic13b-q5_0.bin

llama.cpp: loading model from /media/ggml-vic13b-q5_0.bin
llama_model_load_internal: format     = ggjt v1 (latest)
llama_model_load_internal: n_vocab    = 32000
llama_model_load_internal: n_ctx      = 2048
llama_model_load_internal: n_embd     = 5120
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 40
llama_model_load_internal: n_layer    = 40
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 8 (mostly Q5_0)
llama_model_load_internal: n_ff       = 13824
llama_model_load_internal: n_parts    = 1
llama_model_load_internal: model size = 13B
llama_model_load_internal: ggml ctx size =  73.73 KB
llama_model_load_internal: mem required  = 10583.25 MB (+ 1608.00 MB per state)
llama_init_from_file: kv self size  = 1600.00 MB
AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | VSX = 0 |
Starting streaming server at ws://<IP_ADDRESS>:5005/api/v1/stream
Loading the extension "gallery"... Starting API at http://<IP_ADDRESS>:5000/api
Ok.
Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.

and return back to windows, where i run https://github.com/Cohee1207/SillyTavern and https://github.com/Cohee1207/TavernAI-extras
which links to WSL's api and this all comes together.
And yeah cuda works cus i can see and feel it

Can you try the script in #182?


Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.

msgpack cli  0.6.0 beta2
Unity5.0.1f
OS X 10.10.3
Report because I think maybe it's a bug .
How to reproduce
Create a new project
Create a new script in the project tree
Add by dragging the unity3d/MsgPack.dll the project tree.
Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)
  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0
  at Mono.CSharp.RootNamespace.ComputeNamespaces (System.Reflection.Assembly assembly, System.Type extensionType) [0x00000] in <filename unknown>:0
  at Mono.CSharp.RootNamespace.ComputeNamespace (Mono.CSharp.CompilerContext ctx, System.Type extensionType) [0x00000] in <filename unknown>:0
  at Mono.CSharp.GlobalRootNamespace.ComputeNamespaces (Mono.CSharp.CompilerContext ctx) [0x00000] in <filename unknown>:0
  at Mono.CSharp.Driver.LoadReferences () [0x00000] in <filename unknown>:0
  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0

たぶんバグだと思うので報告します。
再現方法
新規プロジェクト作成
project treeに新規スクリプト作成
project treeにMsgPack.dll をドラックして入れる。

Thank you for reporting.
There are 2 options to solve this:

Set API level of Player settings from ".NET 2.0 subset" to ".NET 2.0".

There is a new option unity3d-micro which only depends on MsCorLib.dll. It has some limitation that it cannot handle special non-generic collections defined in System.dll, specifically Stack, Queue, and NameValueCollection.
I think that most Unity users prefer availability with ".NET 2.0 subset (stripping level)" support instead of above special collection support. What do you think?

I think that most Unity users prefer availability with ".NET 2.0 subset (stripping level)" support instead of above special collection support. What do you think?

I am satisfied with the ".NET 2.0 subset (stripping level)" of support .
Thank you.


Role of industry?

There are a number of companies that use our tools, some of whom have expressed interest in helping out/ collaborating. How do we involve industry in this organization? Some questions:

How do we make sure we're useful to industry? Do we specifically want industry representation in governance?
Do we have a different set of rules for recognizing for profit organizations contributions?
Do we want to pursue financial support from corporate entities? Is there a particular model we want to follow for this? Some examples

Python Software Foundation sponsors
Numpy sponsors and institutional partners
nf-core doesn't make a ton of distinction
Bioconductor has a sponsors list and job board for conferences

Are there licensing considerations here? Do we want to enforce a consistent license across org repos?

nf-core uses MIT, we're kinda normalized on BSD-3. Is there a meaningful difference?

Very open to suggestions here.

How do we make sure we're useful to industry? Do we specifically want industry representation in governance?

Think that contributing to open-source software has become more popular and some of the single-cell companies which use Scanpy would surely do so. But, if we want to encourage companies to contribute we should ensure that their desired features are maybe quickly discussed beforehand to ensure that both parties meet expectations. Industry managers may get angry if some dev spends 2 weeks implementing a feature and then we decline it. Maybe we need a policy for this?

Do we have a different set of rules for recognizing for profit organizations contributions?

Code contributions? No. Providing funding for us? Yes. Think some visibility for the partner is only fair then.

Are there licensing considerations here?
Think that the only tricky licenses are the GPL licenses. We should try to avoid them (although they have their place!).

Do we want to enforce a consistent license across org repos?
Yes. Some companies have to whitelist every license. If we have a common license across all projects the companies only have to do this once and not for 5 different licenses. Eases contributions.


Heatmap

Describe what you're reporting
I'm trying to use the heatmap feature of the package.
How can we reproduce it?
Find the heatmap section in the readme file, and set the project up accordingly.
I'm using this code, for quick copy/paste:
<template>
  <GMapMap ref="myMapRef" :center="center" :zoom="zoom" style="width: 100%; height: 600px">
    <GMapHeatmap :data="heatData"></GMapHeatmap>
  </GMapMap>
</template>

<script setup>
import { ref, watch } from 'vue'

const center = { lat: 52.2985593, lng:<PHONE_NUMBER> }
const zoom = 12
const myMapRef = ref()
const heatData = ref([])

watch(myMapRef, (googleMap) => {
  if (googleMap) {
    googleMap.$mapPromise.then((map) => {
      heatData.value = [{ location: new google.maps.LatLng({ lat: 52.2985593, lng:<PHONE_NUMBER> }) }]
      console.log(heatData.value)
    })
  }
})
</script>

What were your expecting to happen?
I'm expecting some kind of heatmap.
What happened?
I get an error from the heatmap component:

the code from heatmap.js:
export default buildComponent({
  mappedProps: props,
  name: 'heatmap',
  ctr: () => google.maps.visualization.HeatmapLayer, // error throw by HeatmapLayer
  events,
})

Device or enviroment
os: Windows 10,
browser: Chrome,
npm version: 9.3.0
vue version: 3.2.47
package version: 0.3.1

Hello! Sorry for the delay answering.
This really seems wrong... I'll try to look into it and see why .visualization is now undefined. It might be something that changed with time.

I'll see if I can add an error for those cases. Right now its not clear enough


Refactor cogs; create constants.py

-Added DM forbidden handling within the command error handler in cogs/cmd_error_handler.py
-Standardised the string formatting across the project; changed F" to f" and replaced all .format(*args) instances with f-strings
-Replaced all instances of if member.guild.id != tortoise.guild_id with the @commands.check(check_if_it_is_tortoise_guild) decorator
-Moved on_member_join, on_member_update, and their corresponding role methods to cogs/tortoise_server.py, effectively refactoring cogs/tortoise_api.py
-Did a large scale reshuffle of all the constants. Made a constants.py file in the TLD and placed all of the constants into it, referencing where necessary within the cogs.

Looks good, thank you!