c/build/Debug/outDebug' does not exist

I am new to coding and I can't run my code in VSCode. It gives that error in the title. I added g++ to my computer it is't the problem. Also there isn't any word problems like space or foreign letter. Can you help please.

Please check the docs for the C++ extension or file an issue there, assuming that is what you are using


Use pylama for code quality checks

https://github.com/klen/pylama

Pylama seems to be in bad shape. It's unclear how to make it ignore Python files in the virtual environment (.venv). skip = .venv,*/.venv/* didn't work.


Android: onLoad, onLoadStart, onLoadEnd events not arriving in order

Describe the bug
onLoad, onLoadStart, onLoadEnd events not arriving in order on Android. This is happens more often with GIF images. Probably due to the events being emitted asynchronously.
To Reproduce

On Android, choose a GIF Image
Notice that the order of onLoad, onLoadStart, onLoadEnd is not reliable

Expected behavior
onLoadStart to be called first then onLoad and finally onLoadEnd.
Screenshots
We have this issue for more details: https://github.com/Expensify/App/issues/15288
Dependency versions

React Native version: 0.70.4
React version: 18.1.0
React Native Fast Image version: 8.6.3

I can see image, but onLoad/onLoadEnd is never called

I think the bug is not on react-native-fast-image turns out that we were using a patched version and we forgot about it. The bug is probably in that patch.
Closing.


Create deploy acnt example

Fixes: https://github.com/NethermindEth/starknet.go/issues/254
Fixes: https://github.com/NethermindEth/starknet.go/issues/251

I've recreated this PR here https://github.com/NethermindEth/starknet.go/pull/349 so I dont' have to solve two months worth of merge conflicts

see https://github.com/NethermindEth/starknet.go/pull/349


Improve zh-TW localization

Wrong localization between Simplified Chinese and Traditional Chinese.
Fixed wrong localization:

"system" should be "統" instead of "统"
"installed" should be "裝" instead of "装"
"fields" should be "欄位" instead of "字段"

Thanks!


Adding protonfix for Hogwarts Legacy

vcrun2019 is required for the game to start. Otherwise the game will throw an error on start.

Hey, thanks for this. I noticed the fix is redundant for steam, so could you move the file from steam to epic directory, so it will be applied only for the epic version?


bug: pyparsing.exceptions.ParseException: Expected end of text, found '_'

pyparsing.exceptions.ParseException: Expected end of text, found '_'

when use <lora:Sakusei_Byoutou__Nurses:0.7>, because __ exists in lora name

You can change to a different wildcard wrapper string (see https://github.com/adieyal/sd-dynamic-prompts/discussions/808#discussion-7019617).


VS test runner tests running slower in VSO build compared to running locally on build agent

Hello
We have own our build agent pools (azure VMs) for vso builds and unit tests. We are currently using VS2013 update 5.
We have noticed that running unit tests through the Visual Studio test runner task (Invoke-VSTest) is considerably slower than if we were to run those tests directly via VisualStudio installed on the build agent machine. For our builds the test run times are three times longer when run through the VSO build instead of locally on the machine.
Any ideas/know issues on test or build settings that could be contributing to the difference in runtimes?
Aditya

Hi Aditya
How much of a time difference are we talking about? Can you send me the build logs? If possible, re-run the build with ‘system.debug’ as true in variables and send the logs to atinb at Microsoft dot com
Thanks!


db_download --species argument

Hello,
I am trying to download sequences from a set of species with the following code:
crabs db_download --source ncbi --database nucleotide --query 'ITS2[All Fields] AND its2[All Fields] AND "Internal Transcribed Spacer 2"[All Fields] AND ITS-2[All Fields] AND ("1"[SLEN] : "1000"[SLEN])' --species "Anacamptis papilionacea + Anacamptis coriophora + Lysimachia foemina + Anthemis rigida + Asphodelus ramosus + Bifora testiculata + Centaurium maritimum + Cistus creticus + Geranium purpureum + Hypochaeris glabra + Lagoecia cuminoides + Lavandula stoechas + Linum bienne + Lotus subbiflorus + Moraea sisyrinchium + Neotinea lactea + Ornithogalum montanum + Ornithogalum pyrenaicum + Ornithopus compressus + Pyrus spinosa + Ranunculus paludosus + Scorzonera sublanata + Senecio vulgaris + Serapias cordigera + Trifolium arvense + Trifolium campestre + Tuberaria guttata" --output ITS2_ref_lib_part1_ncbi_1_50000.fasta --keep_original yes --email<EMAIL_ADDRESS>--batchsize 50000
However, I get an error when running the code as if the argument --species does not exist:
crabs: error: unrecognized arguments: --species Anacamptis papilionacea + Anacamptis coriophora + Lysimachia foemina + Anthemis rigida + Asphodelus ramosus + Bifora testiculata + Centaurium maritimum + Cistus creticus + Geranium purpureum + Hypochaeris glabra + Lagoecia cuminoides + Lavandula stoechas + Linum bienne + Lotus subbiflorus + Moraea sisyrinchium + Neotinea lactea + Ornithogalum montanum + Ornithogalum pyrenaicum + Ornithopus compressus + Pyrus spinosa + Ranunculus paludosus + Scorzonera sublanata + Senecio vulgaris + Serapias cordigera + Trifolium arvense + Trifolium campestre + Tuberaria guttata
When I check the the help message with: crabs db_download -h , indeed the argument does not exist for this module.
How is this possible? I followed the tutorial given in this githubpage. Like this one:
crabs db_download --source ncbi --database nucleotide --query '16S[All Fields] AND ("1"[SLEN] : "50000"[SLEN])' --species 'Carcharinus leucas + Carcharinus acronotus' --output 16S_carcharinus_leucas_acronotus_ncbi_1_50000.fasta --keep_original yes --email<EMAIL_ADDRESS>--batchsize 5000

Hello @Guillermouceda,
Thank you for using CRABS. It seems your code is correct and when copy-pasting your code it runs fine for me. One thing though, I wouldn't recommend setting the batch size so high. Anything over 5,000 and the NCBI servers will most likely close the connection.
For your error, can you let me know the version of CRABS you are working with? You can see this by entering crabs --version. The latest version is crabs v0.1.8. The function of specifying species was only added in a later version per request of another user. Hence, if you're using an outdated version, the CRABS code might not have the ability for you to specify the --species parameter, which would result in the error you see.
Best wishes,
Gert-Jan

Hello @gjeunen,
Thank you for answer. Indeed it was a problem of the version. Now, I have installed CRABS with Docker and it works. How ever, I have another problem. When I run the command eveything seems to work fine but I can't find the output file anywhere in my computer. See a screenshot of my terminal:

This is the command to run it from docker:
docker run crabs crabs db_download --source ncbi --database nucleotide --query 'ITS2[All Fields] AND its2[All Fields] AND "Internal Transcribed Spacer 2"[All Fields] AND ITS-2[All Fields] AND ("1"[SLEN] : "1000"[SLEN])' --species "Anacamptis papilionacea + Anacamptis coriophora + Lysimachia foemina + Anthemis rigida + Asphodelus ramosus + Bifora testiculata + Centaurium maritimum + Cistus creticus + Geranium purpureum + Hypochaeris glabra + Lagoecia cuminoides + Lavandula stoechas + Linum bienne + Lotus subbiflorus + Moraea sisyrinchium + Neotinea lactea + Ornithogalum montanum + Ornithogalum pyrenaicum + Ornithopus compressus + Pyrus spinosa + Ranunculus paludosus + Scorzonera sublanata + Senecio vulgaris + Serapias cordigera + Trifolium arvense + Trifolium campestre + Tuberaria guttata" --output ITS2_ref_lib_part1_ncbi_1_50000.fasta --keep_original yes --email<EMAIL_ADDRESS>--batchsize 1000
This means that there has been an error.  or What the problem? I have tried to search for the file with find command with no output
Thank you for your reply.

Hi @Guillermouceda, I think I see the problem. With Docker you have to specify what folders to connect with on your computer. A Docker container is running a mini-operating system separate from your computer, so if you don't tell it how to connect to your computer it will run the command but the outputs will be inside the Docker container and will disappear when the command is finished.
There are some examples on our tutorial, but here is a quick description. Here I will put just the Docker part of the command:
docker run --rm -it \
  -v $(pwd):/data \
  --workdir="/data" \
  quay.io/swordfish/crabs:0.1.7 \
  crabs db_download \
  --source ncbi \
  (rest of crabs command...)

For your issue, the critical arguments are -v and --workdir. The -v tells you what directory on your computer to connect to which directory on the docker container. In the example above, the current directory ($(pwd)) will move into the /data folder inside the docker container; the --workdir is the working directory in the docker container, which in this example is /data. By adding the --workdir (or also -w), all outputs from the crabs command will end up in whatever directory you are running the command in.
There are additional examples on our tutorial. I would suggest also including the --rm, which will remove the container after the command is finished. I don't know the details, but without including this you could have a bunch of active containers taking up memory on your computer, and they are difficult to track down. They could be taking up memory without you knowing about. Check the tutorial for explanations of the other commands. Obviously, there are a lot of different options for running docker, but we tried to keep it simple so you can get your Crabs work done.
Regarding your second question, @gjeunen may have a quick answer. maybe we should put an example text file on this repo.
Let me know if this is still not working.
Cheers,
hugh

Hi @hughcross ,
Thank you for your answer. I will try to implement some changes in the code to include what you suggested. I am new to Docker and I did not know. Regarding my second question I will wait @gjeunen answer
Thank a lot again

Hello @Guillermouceda,
Apologies, but what is your second question?
Thanks,
Gert-Jan

Hello @gjeunen,
My question is related to how the .txt file with the species list should look like. I have tried to run the code the including the flag for .txt file, however I got an error message. Mine species.list file look like this:

Is it well formatted ?  after @hughcross  answer, I am thinking that the error might be due to this "With Docker you have to specify what folders to connect with on your computer". Am I correct?  As i did not specify any working directory the command did not find the file

That formatting looks correct. Could you please let me know if you have the same error after specifying the folder of the file with Docker?

Hi @gjeunen after specifying the folder everything went fine.
Thank a lot for the help

Hello @Guillermouceda,
@hughcross, could you check this, as I think this is Docker related? Can't recreate this issue using the GitHub or conda versions.
Cheers,
Gert-Jan

Hello @gjeunen ,
I found the issue. There was an extra space after one of the lines that was stopping the code. However, I have one question. After running the in_silico PCR and the pga only 4 sequences out of c. 400 survived. Could there be a problem with my NCBI query?
I am interested in downloading all the ITS-2 sequences for the follwoing set of species:
species_list_complete.txt
My query to NCBI was:
'ITS2[All Fields] AND its2[All Fields] AND "Internal Transcribed Spacer 2"[All Fields] AND ITS-2[All Fields] AND ("1"[SLEN] : "1000"[SLEN])'
I do not know if there is a way to refine the query.
Does this means that the sequences I downloaded from NCBI were sequenced by other primer sets (i.e., different region in the same gene) and therefore CRABS is not able to retrieve them? In other words, the region amplified by my primers is out of the region contained in the NCBI sequences? I guess if this is the issue it can only be solved by increasing the sequencing effort with our primers, right?
Do you think that querying other database (e.g., BOLD) for the same set of species will help?
We are a bit short in budget and therefore trying to get most of the sequences from the databases is essential for us.
I run the pga as stated in this quote from another issue:

The crabs pga function uses the output file from the insilico_pcr function
as input file and the input file from the insilico_pcr function as a database (initially downloaded sequence file).
CRABS will automatically subset the data from the raw sequence file (database) to remove the sequences for which the
amplicon was already retrieved (input). CRABS will then run a pairwise global alignment against all sequences with
the input file as seed sequences in the aim to retrieve amplicons for which the primer-binding regions are missing.
The output file from the crabs pga function will contain the sequences retrieved during the insilico_pcr step, as
well as the newly retrieved amplicons during the pga step. There is no need to merge the output of crabs insilico_pcr
and crabs pga.

Thanks a lot for the help :-).

Hello @Guillermouceda,
It seems that your NCBI query is correct. When looking at NCBI, it returns 482,805 sequences without subsetting it for your species list. When running the db_download code, I am downloading 342 sequences. However, I fail to retrieve any sequences during the insilico_pcr step. Are these the correct primers: (-f ATGCGATACTTGGTGTGAAT -r GACGCTTCTCCAGACTACAAT)?
Thanks,
Gert-Jan

Hello @gjeunen,
The primer sequences are correct. they are actually from a publication in which they test their validity:
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0008613#s5
In the supplementary information you have the sequences, which I have copy pasted from the file provided:

Fwd: ATGCGATACTTGGTGTGAAT
Rev: GACGCTTCTCCAGACTACAAT

Thank for you help.

Hello @Guillermouceda,
I managed to download the 342 sequences for your species. Next, I managed to locate the forward primer in 316 sequences. However, I cannot find the reverse primer in the remainder of the amplicon. The sequences are currently around 300 to 350 bp long. At first thought, this could potentially be explained by 3 scenarios:

The reverse primer was used for barcoding and, hence, has been removed by the depositor as it is artificial. To check this, you might want to look into the publication of the depositing sequence to see if they have listed the barcoding primers that were used or contact the scientist who deposited the barcode sequence.
The reverse primer does not work on your species of interest and you will need to design a new reverse primer that is compatible with your taxonomic group of interest.
There is an unfortunate mistake in the sequence of the reverse primer that was published in the paper you provided.

My apologies that I can't be of more help to solve your issue.
Best wishes,
Gert-Jan


amazoncorretto:8-alpine-jre java symlink is bad

Thank you for taking the time to help improve Corretto.
If your request concerns a security vulnerability then please report it by email to<EMAIL_ADDRESS>instead of here.
(You can find more information regarding security issues at https://aws.amazon.com/security/vulnerability-reporting/.)
If your issue is specific to the Amazon Linux image these containers are built upon, please, consider opening an issue on the Amazon Linux Docker github repository
If your issue is specific to Corretto docker images,
then you are in the right place.
Please proceed with the following.
Describe the bug
the containter  java symlink is  orphan
To Reproduce
docker run --rm -it --name thekindkeptn amazoncorretto:8-alpine-jre /usr/bin/java
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/usr/bin/java": stat /usr/bin/java: no such file or directory: unknown.
~ at ☸  mssdev-ingest-usw2 (mss-worker)
➜ docker run --rm -it --name thekindkeptn amazoncorretto:8-alpine-jre ls -l /usr/bin/java
lrwxrwxrwx    1 root     root            31 Mar 23 15:46 /usr/bin/java -> ../lib/jvm/default-jvm/bin/java
~ at ☸  mssdev-ingest-usw2 (mss-worker)
➜ docker run --rm -it --name thekindkeptn amazoncorretto:8-alpine-jre ls -l ls -l /usr/lib/default-jvm/
bin/java
ls: ls: No such file or directory
ls: /usr/lib/default-jvm/bin/java: No such file or directory
Expected behavior
/usr/bin/java should be available on the container
Screenshots
If applicable, add screenshots to help explain your problem.
Platform information
Repository: dockerhun
Image tag: 8-alpine-jre

Additional context
Add any other context about the problem here.

Thanks for reporting this issue.
It seems that Alpine published a new base image for 3.15.2 that includes a change to java-common that moved where it symlinks files to. We'll have to investigate further and figure out the next steps.
See https://git.alpinelinux.org/aports/commit/?h=v3.15.2&id=5a0989e44934a86048b18b4253ec220cbd07f90f
@@ -13,6 +13,6 @@ triggers="java-common.trigger=/usr/lib/jvm"
 package() {
 	mkdir -p "$pkgdir"/usr/bin
 	for exe in jaotc jar jarsigner java javac javadoc javap jcmd jdb jdeprscan jdeps jexec jexec-binfmt jfr jhsdb jimage jinfo jjs jlink jmap jmod jps jrunscript jshell jstack jstat jstatd keytool pack200 rmic rmid rmiregistry serialver unpack200; do
-		ln -sf ../lib/jvm/default-jvm/jre/bin/$exe "$pkgdir"/usr/bin
+		ln -sf ../lib/jvm/default-jvm/bin/$exe "$pkgdir"/usr/bin
 	done
 }

The issue only seems to affect the 8-alpine-jre and not the jdk/full images. We think we know where the problem is and will have to build and test new packages.

confirmed only amazoncorretto:8-alpine3.15-jre is effected by this change now. and tag amazoncorretto:8-alpine-jre is equivalent to tag amazoncorretto:8-alpine3.15-jre

Thank you for the update!
Do we have any ETA available at this time or any work around to mitigate the issue until it is solved.
Any help is highly appreciated.

here is quick workaround to fix this.
docker run -it amazoncorretto:8-alpine-jre ln -s -f /usr/lib/jvm/default-jvm/jre/bin/java /usr/bin/java&&/usr/bin/java
and we are working on fixing this in our docker hub image

To update to the official image was just merged and new images are usually available within ~4 hours. https://github.com/docker-library/official-images/pull/12110
This part is on DockerHub and we have no control over the timeframe.

New image is posted and working

Closing resolved issue.


Syntax highlighting ‘specificity’ lower compared to text editors

I'm using the built-in Chroma syntax highlighter but it seems to lack specificity compared to let's say VSCode or Atom. Consider the following example in JavaScript:

As you can see, the output from Hugo/Chroma is limited in terms of how many different ‘elements’ it recognises.
This is confirmed by using the option pygmentsUseClasses=true and inspecting the classes it assigns to elements which are highlighted using different colours in text editors but the same once processed by Hugo/Chroma, for example ‘target’ and ‘offset’ both share the class="nx" even though one is a parameter and the other is a method. Another example is ‘this’ and ‘return’ which are both class="k".
This issue is even more striking if you use some other language like R, which looks like there's no syntax highlighting at all… :(

Is it possible to set up Hugo/Chroma to differentiate between such elements and assign them different classes, please?

To get a fix for this, you need to open up an issue in the Chroma issue tracker: https://github.com/alecthomas/chroma/issues

Roger that, thank you.


Support login/password for С* datastorage

Currently login/password for datastorage in C* is not supported.

fixed.


Paste improvement

I've looked around to find a discussion around why paste strips out all style, but haven't been able to find anything. I'd love to read more about the issues around this.
It is less than optimal for many scenarios, but in particular it's problematic with things like anchors I think, where recovering what's lost is more of a problem.
One approach to solving some of the problems to occur might be solved with something like this?

When user copies from draftjs, the selection is stored in a 'virtual clipboard', if you will.
When the user pastes, the pasted content is compared to the virtual clipboard content, if it is identical, it can be pasted with styles without funky after effects. If it isn't identical it's from another source, and style should be stripped out.

We already do that if stripPastedStyles is false:
https://github.com/facebook/draft-js/blob/1e099d4aa4e626a21f420ad5ee25c3236aa5cc6b/src/component/handlers/edit/editOnPaste.js#L95-L102
Does that solve your problem?

It sounds perfect.

On Feb 26, 2016, at 11:07 PM, Ben Alpert<EMAIL_ADDRESS>wrote:
We already do that if stripPastedStyles is false:
https://github.com/facebook/draft-js/blob/1e099d4aa4e626a21f420ad5ee25c3236aa5cc6b/src/component/handlers/edit/editOnPaste.js#L95-L102 https://github.com/facebook/draft-js/blob/1e099d4aa4e626a21f420ad5ee25c3236aa5cc6b/src/component/handlers/edit/editOnPaste.js#L95-L102
Does that solve your problem?
—
Reply to this email directly or view it on GitHub https://github.com/facebook/draft-js/issues/105#issuecomment-189573713.


Remove the dependency to org.springframework.util.SocketUtils

The class org.springframework.util.SocketUtils is deprecated as of Spring 5.3.16 and to be removed in 6.0. Still, that class is being referenced in the com.playtika.test.redis.RedisProperties.
We should get rid of them, either by

copying the old source code of SocketUtils into the playtika-library
using another mechanism to find a free port for Redis.

The Javadoc of SocketUtils says:

SocketUtils was introduced in Spring Framework 4.0, primarily to assist in writing integration tests which start an external server on an available random port. However, these utilities make no guarantee about the subsequent availability of a given port and are therefore unreliable. Instead of using SocketUtils to find an available local port for a server, it is recommended that you rely on a server's ability to start on a random port that it selects or is assigned by the operating system. To interact with that server, you should query the server for the port it is currently using.

See also https://github.com/spring-projects/spring-boot/issues/9382
This ticket is currently blocking the usage of Spring Boot 3

Seems that this change was introduced only some weeks ago in https://github.com/PlaytikaOSS/testcontainers-spring-boot/pull/1044

Spring introduced org.springframework.test.util.TestSocketUtils in version 5.3.24 (see https://github.com/spring-projects/spring-framework/pull/29132) which comes with Spring Boot 2.7.6, I will submit a PR for that

The dependency to SocketUtils was reintroduced in #1074.  I assume this happened by accident. Therefore, I've opened #1082.


link themes is not available

link themes is not available :/

@rzkhosroshahi Why did you close this ticket?


Support for HTTP version 1.1

Hi,
The current code supports HTTP 1.0, is there any implementation available for HTTP 1.1?
If not, is there any plan? Can you please share the timeline?
Thanks,
Shahab

Hi @shahab5 , are you looking for HTTP client for server? Do you have a requirement list for HTTP 1.1?

Hi @TiejunMS ,
We want to use both HTTP 1.1 client and server implementations. Is there any timeline for this implementation?
Thanks,
Shahab


Error with installing finrl library

install finrl library
!pip install git+https://github.com/AI4Finance-LLC/FinRL-Library.git
Collecting git+https://github.com/AI4Finance-LLC/FinRL-Library.git
Cloning https://github.com/AI4Finance-LLC/FinRL-Library.git to /tmp/pip-req-build-vq5ag4yq
Running command git clone --filter=blob:none --quiet https://github.com/AI4Finance-LLC/FinRL-Library.git /tmp/pip-req-build-vq5ag4yq
Resolved https://github.com/AI4Finance-LLC/FinRL-Library.git to commit 5b7ac9c2cf149d134b440d40f48a0040f3423b5e
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting elegantrl@ git+https://github.com/AI4Finance-Foundation/ElegantRL.git#egg=elegantrl (from finrl==0.3.6)
Cloning https://github.com/AI4Finance-Foundation/ElegantRL.git to /tmp/pip-install-zst0jtoy/elegantrl_5425d217fb0e4379843b3a1babc80c59
Running command git clone --filter=blob:none --quiet https://github.com/AI4Finance-Foundation/ElegantRL.git /tmp/pip-install-zst0jtoy/elegantrl_5425d217fb0e4379843b3a1babc80c59
Resolved https://github.com/AI4Finance-Foundation/ElegantRL.git to commit a531d493b710a872a4943532872846e00ad96abf
Preparing metadata (setup.py) ... done
Collecting alpaca-trade-api<4,>=3 (from finrl==0.3.6)
Downloading alpaca_trade_api-3.2.0-py3-none-any.whl (34 kB)
Collecting ccxt<4,>=3 (from finrl==0.3.6)
Downloading ccxt-3.1.60-py2.py3-none-any.whl (4.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 MB 14.9 MB/s eta 0:00:00
Collecting exchange-calendars<5,>=4 (from finrl==0.3.6)
Downloading exchange_calendars-4.5.3-py3-none-any.whl (191 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 191.7/191.7 kB 27.4 MB/s eta 0:00:00
Collecting jqdatasdk<2,>=1 (from finrl==0.3.6)
Downloading jqdatasdk-1.9.3-py3-none-any.whl (74 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.5/74.5 kB 12.3 MB/s eta 0:00:00
Collecting pyfolio<0.10,>=0.9 (from finrl==0.3.6)
Downloading pyfolio-0.9.2.tar.gz (91 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 91.1/91.1 kB 15.1 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting pyportfolioopt<2,>=1 (from finrl==0.3.6)
Downloading pyportfolioopt-1.5.5-py3-none-any.whl (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.9/61.9 kB 10.0 MB/s eta 0:00:00
Collecting ray[default,tune]<3,>=2 (from finrl==0.3.6)
Downloading ray-2.10.0-cp310-cp310-manylinux2014_x86_64.whl (65.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.1/65.1 MB 10.2 MB/s eta 0:00:00
Requirement already satisfied: scikit-learn<2,>=1 in /usr/local/lib/python3.10/dist-packages (from finrl==0.3.6) (1.2.2)
Collecting stable-baselines3[extra]>=2.0.0a5 (from finrl==0.3.6)
Downloading stable_baselines3-2.3.0-py3-none-any.whl (182 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 182.1/182.1 kB 21.7 MB/s eta 0:00:00
Collecting stockstats<0.6,>=0.5 (from finrl==0.3.6)
Downloading stockstats-0.5.4-py2.py3-none-any.whl (21 kB)
Collecting wrds<4,>=3 (from finrl==0.3.6)
Downloading wrds-3.2.0-py3-none-any.whl (13 kB)
Requirement already satisfied: yfinance<0.3,>=0.2 in /usr/local/lib/python3.10/dist-packages (from finrl==0.3.6) (0.2.37)
Requirement already satisfied: pandas>=0.18.1 in /usr/local/lib/python3.10/dist-packages (from alpaca-trade-api<4,>=3->finrl==0.3.6) (2.0.3)
Requirement already satisfied: numpy>=1.11.1 in /usr/local/lib/python3.10/dist-packages (from alpaca-trade-api<4,>=3->finrl==0.3.6) (1.25.2)
Requirement already satisfied: requests<3,>2 in /usr/local/lib/python3.10/dist-packages (from alpaca-trade-api<4,>=3->finrl==0.3.6) (2.31.0)
Collecting urllib3<2,>1.24 (from alpaca-trade-api<4,>=3->finrl==0.3.6)
Downloading urllib3-1.26.18-py2.py3-none-any.whl (143 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.8/143.8 kB 21.3 MB/s eta 0:00:00
Requirement already satisfied: websocket-client<2,>=0.56.0 in /usr/local/lib/python3.10/dist-packages (from alpaca-trade-api<4,>=3->finrl==0.3.6) (1.7.0)
Collecting websockets<11,>=9.0 (from alpaca-trade-api<4,>=3->finrl==0.3.6)
Downloading websockets-10.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (106 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 106.8/106.8 kB 16.9 MB/s eta 0:00:00
Collecting msgpack==1.0.3 (from alpaca-trade-api<4,>=3->finrl==0.3.6)
Downloading msgpack-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (323 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 323.7/323.7 kB 41.5 MB/s eta 0:00:00
Requirement already satisfied: aiohttp<4,>=3.8.3 in /usr/local/lib/python3.10/dist-packages (from alpaca-trade-api<4,>=3->finrl==0.3.6) (3.9.3)
Requirement already satisfied: PyYAML==6.0.1 in /usr/local/lib/python3.10/dist-packages (from alpaca-trade-api<4,>=3->finrl==0.3.6) (6.0.1)
Collecting deprecation==2.1.0 (from alpaca-trade-api<4,>=3->finrl==0.3.6)
Downloading deprecation-2.1.0-py2.py3-none-any.whl (11 kB)
Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from deprecation==2.1.0->alpaca-trade-api<4,>=3->finrl==0.3.6) (24.0)
Requirement already satisfied: setuptools>=60.9.0 in /usr/local/lib/python3.10/dist-packages (from ccxt<4,>=3->finrl==0.3.6) (67.7.2)
Requirement already satisfied: certifi>=2018.1.18 in /usr/local/lib/python3.10/dist-packages (from ccxt<4,>=3->finrl==0.3.6) (2024.2.2)
Requirement already satisfied: cryptography>=2.6.1 in /usr/local/lib/python3.10/dist-packages (from ccxt<4,>=3->finrl==0.3.6) (42.0.5)
Collecting aiodns>=1.1.1 (from ccxt<4,>=3->finrl==0.3.6)
Downloading aiodns-3.2.0-py3-none-any.whl (5.7 kB)
Requirement already satisfied: yarl>=1.7.2 in /usr/local/lib/python3.10/dist-packages (from ccxt<4,>=3->finrl==0.3.6) (1.9.4)
Collecting pyluach (from exchange-calendars<5,>=4->finrl==0.3.6)
Downloading pyluach-2.2.0-py3-none-any.whl (25 kB)
Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from exchange-calendars<5,>=4->finrl==0.3.6) (0.12.1)
Requirement already satisfied: tzdata in /usr/local/lib/python3.10/dist-packages (from exchange-calendars<5,>=4->finrl==0.3.6) (2024.1)
Collecting korean-lunar-calendar (from exchange-calendars<5,>=4->finrl==0.3.6)
Downloading korean_lunar_calendar-0.3.1-py3-none-any.whl (9.0 kB)
Requirement already satisfied: six in /usr/local/lib/python3.10/dist-packages (from jqdatasdk<2,>=1->finrl==0.3.6) (1.16.0)
Requirement already satisfied: SQLAlchemy>=1.2.8 in /usr/local/lib/python3.10/dist-packages (from jqdatasdk<2,>=1->finrl==0.3.6) (2.0.29)
Collecting thriftpy2>=0.3.9 (from jqdatasdk<2,>=1->finrl==0.3.6)
Downloading thriftpy2-0.4.20.tar.gz (689 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 689.0/689.0 kB 62.6 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting pymysql>=0.7.6 (from jqdatasdk<2,>=1->finrl==0.3.6)
Downloading PyMySQL-1.1.0-py3-none-any.whl (44 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.8/44.8 kB 7.3 MB/s eta 0:00:00
Requirement already satisfied: ipython>=3.2.3 in /usr/local/lib/python3.10/dist-packages (from pyfolio<0.10,>=0.9->finrl==0.3.6) (7.34.0)
Requirement already satisfied: matplotlib>=1.4.0 in /usr/local/lib/python3.10/dist-packages (from pyfolio<0.10,>=0.9->finrl==0.3.6) (3.7.1)
Requirement already satisfied: pytz>=2014.10 in /usr/local/lib/python3.10/dist-packages (from pyfolio<0.10,>=0.9->finrl==0.3.6) (2023.4)
Requirement already satisfied: scipy>=0.14.0 in /usr/local/lib/python3.10/dist-packages (from pyfolio<0.10,>=0.9->finrl==0.3.6) (1.11.4)
Requirement already satisfied: seaborn>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from pyfolio<0.10,>=0.9->finrl==0.3.6) (0.13.1)
Collecting empyrical>=0.5.0 (from pyfolio<0.10,>=0.9->finrl==0.3.6)
Downloading empyrical-0.5.5.tar.gz (52 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.8/52.8 kB 8.9 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Requirement already satisfied: cvxpy<2.0.0,>=1.1.19 in /usr/local/lib/python3.10/dist-packages (from pyportfolioopt<2,>=1->finrl==0.3.6) (1.3.3)
Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (8.1.7)
Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (3.13.4)
Requirement already satisfied: jsonschema in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (4.19.2)
Requirement already satisfied: protobuf!=3.19.5,>=3.15.3 in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (3.20.3)
Requirement already satisfied: aiosignal in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (1.3.1)
Requirement already satisfied: frozenlist in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (1.4.1)
Collecting tensorboardX>=1.9 (from ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading tensorboardX-<IP_ADDRESS>-py2.py3-none-any.whl (101 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.7/101.7 kB 16.7 MB/s eta 0:00:00
Requirement already satisfied: pyarrow>=6.0.1 in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (14.0.2)
Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (2023.6.0)
Collecting aiohttp-cors (from ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading aiohttp_cors-0.7.0-py3-none-any.whl (27 kB)
Collecting colorful (from ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading colorful-0.5.6-py2.py3-none-any.whl (201 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 201.4/201.4 kB 29.0 MB/s eta 0:00:00
Collecting py-spy>=0.2.0 (from ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading py_spy-0.3.14-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 94.3 MB/s eta 0:00:00
Collecting opencensus (from ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading opencensus-0.11.4-py2.py3-none-any.whl (128 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.2/128.2 kB 19.9 MB/s eta 0:00:00
Requirement already satisfied: pydantic!=2.0.,!=2.1.,!=2.2.,!=2.3.,!=2.4.,<3 in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (2.6.4)
Requirement already satisfied: prometheus-client>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (0.20.0)
Requirement already satisfied: smart-open in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (6.4.0)
Collecting virtualenv!=20.21.1,>=20.0.24 (from ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading virtualenv-20.25.1-py3-none-any.whl (3.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.8/3.8 MB 88.2 MB/s eta 0:00:00
Requirement already satisfied: grpcio>=1.42.0 in /usr/local/lib/python3.10/dist-packages (from ray[default,tune]<3,>=2->finrl==0.3.6) (1.62.1)
Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2,>=1->finrl==0.3.6) (1.4.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn<2,>=1->finrl==0.3.6) (3.4.0)
Collecting gymnasium<0.30,>=0.28.1 (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Downloading gymnasium-0.29.1-py3-none-any.whl (953 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 953.9/953.9 kB 74.5 MB/s eta 0:00:00
Requirement already satisfied: torch>=1.13 in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (2.2.1+cu121)
Requirement already satisfied: cloudpickle in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (2.2.1)
Requirement already satisfied: opencv-python in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (<IP_ADDRESS>)
Requirement already satisfied: pygame in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (2.5.2)
Requirement already satisfied: tensorboard>=2.9.1 in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (2.15.2)
Requirement already satisfied: psutil in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (5.9.5)
Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (4.66.2)
Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (13.7.1)
Collecting shimmy[atari]~=1.3.0 (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Downloading Shimmy-1.3.0-py3-none-any.whl (37 kB)
Requirement already satisfied: pillow in /usr/local/lib/python3.10/dist-packages (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (9.4.0)
Collecting autorom[accept-rom-license]~=0.6.1 (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Downloading AutoROM-0.6.1-py3-none-any.whl (9.4 kB)
Collecting numpy>=1.11.1 (from alpaca-trade-api<4,>=3->finrl==0.3.6)
Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 79.0 MB/s eta 0:00:00
Collecting packaging (from deprecation==2.1.0->alpaca-trade-api<4,>=3->finrl==0.3.6)
Downloading packaging-23.2-py3-none-any.whl (53 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.0/53.0 kB 8.6 MB/s eta 0:00:00
Collecting pandas>=0.18.1 (from alpaca-trade-api<4,>=3->finrl==0.3.6)
Downloading pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.0/13.0 MB 103.2 MB/s eta 0:00:00
Collecting psycopg2-binary<2.10,>=2.9 (from wrds<4,>=3->finrl==0.3.6)
Downloading psycopg2_binary-2.9.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 107.6 MB/s eta 0:00:00
Collecting scipy>=0.14.0 (from pyfolio<0.10,>=0.9->finrl==0.3.6)
Downloading scipy-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (38.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.4/38.4 MB 10.2 MB/s eta 0:00:00
Requirement already satisfied: multitasking>=0.0.7 in /usr/local/lib/python3.10/dist-packages (from yfinance<0.3,>=0.2->finrl==0.3.6) (0.0.11)
Requirement already satisfied: lxml>=4.9.1 in /usr/local/lib/python3.10/dist-packages (from yfinance<0.3,>=0.2->finrl==0.3.6) (4.9.4)
Requirement already satisfied: appdirs>=1.4.4 in /usr/local/lib/python3.10/dist-packages (from yfinance<0.3,>=0.2->finrl==0.3.6) (1.4.4)
Requirement already satisfied: frozendict>=2.3.4 in /usr/local/lib/python3.10/dist-packages (from yfinance<0.3,>=0.2->finrl==0.3.6) (2.4.1)
Requirement already satisfied: peewee>=3.16.2 in /usr/local/lib/python3.10/dist-packages (from yfinance<0.3,>=0.2->finrl==0.3.6) (3.17.1)
Requirement already satisfied: beautifulsoup4>=4.11.1 in /usr/local/lib/python3.10/dist-packages (from yfinance<0.3,>=0.2->finrl==0.3.6) (4.12.3)
Requirement already satisfied: html5lib>=1.1 in /usr/local/lib/python3.10/dist-packages (from yfinance<0.3,>=0.2->finrl==0.3.6) (1.1)
Requirement already satisfied: gym in /usr/local/lib/python3.10/dist-packages (from elegantrl@ git+https://github.com/AI4Finance-Foundation/ElegantRL.git#egg=elegantrl->finrl==0.3.6) (0.25.2)
Collecting pycares>=4.0.0 (from aiodns>=1.1.1->ccxt<4,>=3->finrl==0.3.6)
Downloading pycares-4.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (288 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 288.7/288.7 kB 36.2 MB/s eta 0:00:00
Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4,>=3.8.3->alpaca-trade-api<4,>=3->finrl==0.3.6) (23.2.0)
Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4,>=3.8.3->alpaca-trade-api<4,>=3->finrl==0.3.6) (6.0.5)
Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp<4,>=3.8.3->alpaca-trade-api<4,>=3->finrl==0.3.6) (4.0.3)
Collecting AutoROM.accept-rom-license (from autorom[accept-rom-license]~=0.6.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Downloading AutoROM.accept-rom-license-0.6.1.tar.gz (434 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 434.7/434.7 kB 52.8 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.10/dist-packages (from beautifulsoup4>=4.11.1->yfinance<0.3,>=0.2->finrl==0.3.6) (2.5)
Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.10/dist-packages (from cryptography>=2.6.1->ccxt<4,>=3->finrl==0.3.6) (1.16.0)
Requirement already satisfied: osqp>=0.4.1 in /usr/local/lib/python3.10/dist-packages (from cvxpy<2.0.0,>=1.1.19->pyportfolioopt<2,>=1->finrl==0.3.6) (0.6.2.post8)
Requirement already satisfied: ecos>=2 in /usr/local/lib/python3.10/dist-packages (from cvxpy<2.0.0,>=1.1.19->pyportfolioopt<2,>=1->finrl==0.3.6) (2.0.13)
Requirement already satisfied: scs>=1.1.6 in /usr/local/lib/python3.10/dist-packages (from cvxpy<2.0.0,>=1.1.19->pyportfolioopt<2,>=1->finrl==0.3.6) (3.2.4.post1)
Requirement already satisfied: pandas-datareader>=0.2 in /usr/local/lib/python3.10/dist-packages (from empyrical>=0.5.0->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.10.0)
Requirement already satisfied: typing-extensions>=4.3.0 in /usr/local/lib/python3.10/dist-packages (from gymnasium<0.30,>=0.28.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (4.11.0)
Collecting farama-notifications>=0.0.1 (from gymnasium<0.30,>=0.28.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached Farama_Notifications-0.0.4-py3-none-any.whl (2.5 kB)
Requirement already satisfied: webencodings in /usr/local/lib/python3.10/dist-packages (from html5lib>=1.1->yfinance<0.3,>=0.2->finrl==0.3.6) (0.5.1)
Collecting jedi>=0.16 (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6)
Downloading jedi-0.19.1-py2.py3-none-any.whl (1.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 87.4 MB/s eta 0:00:00
Requirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (4.4.2)
Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.7.5)
Requirement already satisfied: traitlets>=4.2 in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (5.7.1)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (3.0.43)
Requirement already satisfied: pygments in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (2.16.1)
Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.2.0)
Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.1.6)
Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (4.9.0)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=1.4.0->pyfolio<0.10,>=0.9->finrl==0.3.6) (1.2.1)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=1.4.0->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=1.4.0->pyfolio<0.10,>=0.9->finrl==0.3.6) (4.51.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=1.4.0->pyfolio<0.10,>=0.9->finrl==0.3.6) (1.4.5)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=1.4.0->pyfolio<0.10,>=0.9->finrl==0.3.6) (3.1.2)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib>=1.4.0->pyfolio<0.10,>=0.9->finrl==0.3.6) (2.8.2)
Requirement already satisfied: annotated-types>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from pydantic!=2.0.,!=2.1.,!=2.2.,!=2.3.,!=2.4.,<3->ray[default,tune]<3,>=2->finrl==0.3.6) (0.6.0)
Requirement already satisfied: pydantic-core==2.16.3 in /usr/local/lib/python3.10/dist-packages (from pydantic!=2.0.,!=2.1.,!=2.2.,!=2.3.,!=2.4.,<3->ray[default,tune]<3,>=2->finrl==0.3.6) (2.16.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests<3,>2->alpaca-trade-api<4,>=3->finrl==0.3.6) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests<3,>2->alpaca-trade-api<4,>=3->finrl==0.3.6) (3.6)
Collecting ale-py~=0.8.1 (from shimmy[atari]~=1.3.0->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Downloading ale_py-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 96.5 MB/s eta 0:00:00
Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.10/dist-packages (from SQLAlchemy>=1.2.8->jqdatasdk<2,>=1->finrl==0.3.6) (3.0.3)
Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (1.4.0)
Requirement already satisfied: google-auth<3,>=1.6.3 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (2.27.0)
Requirement already satisfied: google-auth-oauthlib<2,>=0.5 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (1.2.0)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (3.6)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (0.7.2)
Requirement already satisfied: werkzeug>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (3.0.2)
Collecting ply<4.0,>=3.4 (from thriftpy2>=0.3.9->jqdatasdk<2,>=1->finrl==0.3.6)
Downloading ply-3.11-py2.py3-none-any.whl (49 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.6/49.6 kB 8.4 MB/s eta 0:00:00
Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (1.12)
Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (3.3)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (3.1.3)
Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)
Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)
Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)
Collecting nvidia-cudnn-cu12==<IP_ADDRESS> (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cudnn_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (731.7 MB)
Collecting nvidia-cublas-cu12==<IP_ADDRESS> (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cublas_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (410.6 MB)
Collecting nvidia-cufft-cu12==<IP_ADDRESS> (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cufft_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (121.6 MB)
Collecting nvidia-curand-cu12==<IP_ADDRESS> (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_curand_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (56.5 MB)
Collecting nvidia-cusolver-cu12==<IP_ADDRESS> (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cusolver_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (124.2 MB)
Collecting nvidia-cusparse-cu12==<IP_ADDRESS> (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_cusparse_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (196.0 MB)
Collecting nvidia-nccl-cu12==2.19.3 (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_nccl_cu12-2.19.3-py3-none-manylinux1_x86_64.whl (166.0 MB)
Collecting nvidia-nvtx-cu12==12.1.105 (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)
Requirement already satisfied: triton==2.2.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (2.2.0)
Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==<IP_ADDRESS>->torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Using cached nvidia_nvjitlink_cu12-12.4.127-py3-none-manylinux2014_x86_64.whl (21.1 MB)
Collecting distlib<1,>=0.3.7 (from virtualenv!=20.21.1,>=20.0.24->ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.9/468.9 kB 42.2 MB/s eta 0:00:00
Requirement already satisfied: platformdirs<5,>=3.9.1 in /usr/local/lib/python3.10/dist-packages (from virtualenv!=20.21.1,>=20.0.24->ray[default,tune]<3,>=2->finrl==0.3.6) (4.2.0)
Requirement already satisfied: gym-notices>=0.0.4 in /usr/local/lib/python3.10/dist-packages (from gym->elegantrl@ git+https://github.com/AI4Finance-Foundation/ElegantRL.git#egg=elegantrl->finrl==0.3.6) (0.0.8)
Collecting box2d-py==2.3.5 (from gym->elegantrl@ git+https://github.com/AI4Finance-Foundation/ElegantRL.git#egg=elegantrl->finrl==0.3.6)
Downloading box2d-py-2.3.5.tar.gz (374 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 374.4/374.4 kB 45.1 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting pygame (from stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6)
Downloading pygame-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.3/18.3 MB 84.5 MB/s eta 0:00:00
Collecting swig==4. (from gym->elegantrl@ git+https://github.com/AI4Finance-Foundation/ElegantRL.git#egg=elegantrl->finrl==0.3.6)
Downloading swig-4.2.1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 97.2 MB/s eta 0:00:00
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema->ray[default,tune]<3,>=2->finrl==0.3.6) (2023.12.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema->ray[default,tune]<3,>=2->finrl==0.3.6) (0.34.0)
Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema->ray[default,tune]<3,>=2->finrl==0.3.6) (0.18.0)
Collecting opencensus-context>=0.1.3 (from opencensus->ray[default,tune]<3,>=2->finrl==0.3.6)
Downloading opencensus_context-0.1.3-py2.py3-none-any.whl (5.1 kB)
Requirement already satisfied: google-api-core<3.0.0,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from opencensus->ray[default,tune]<3,>=2->finrl==0.3.6) (2.11.1)
Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (3.0.0)
Requirement already satisfied: importlib-resources in /usr/local/lib/python3.10/dist-packages (from ale-py~=0.8.1->shimmy[atari]~=1.3.0->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (6.4.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi>=1.12->cryptography>=2.6.1->ccxt<4,>=3->finrl==0.3.6) (2.22)
Requirement already satisfied: googleapis-common-protos<2.0.dev0,>=1.56.2 in /usr/local/lib/python3.10/dist-packages (from google-api-core<3.0.0,>=1.0.0->opencensus->ray[default,tune]<3,>=2->finrl==0.3.6) (1.63.0)
Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (5.3.3)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (0.4.0)
Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google-auth<3,>=1.6.3->tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (4.9)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.10/dist-packages (from google-auth-oauthlib<2,>=0.5->tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (1.3.1)
Requirement already satisfied: parso<0.9.0,>=0.8.3 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.8.4)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (0.1.2)
Requirement already satisfied: qdldl in /usr/local/lib/python3.10/dist-packages (from osqp>=0.4.1->cvxpy<2.0.0,>=1.1.19->pyportfolioopt<2,>=1->finrl==0.3.6) (0.1.7.post1)
Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.10/dist-packages (from pexpect>4.3->ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.7.0)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.10/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=3.2.3->pyfolio<0.10,>=0.9->finrl==0.3.6) (0.2.13)
Requirement already satisfied: MarkupSafe>=2.1.1 in /usr/local/lib/python3.10/dist-packages (from werkzeug>=1.0.1->tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (2.1.5)
Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.13->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (1.3.0)
Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google-auth<3,>=1.6.3->tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (0.6.0)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.10/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<2,>=0.5->tensorboard>=2.9.1->stable-baselines3[extra]>=2.0.0a5->finrl==0.3.6) (3.2.2)
Building wheels for collected packages: finrl, pyfolio, elegantrl, empyrical, thriftpy2, box2d-py, AutoROM.accept-rom-license
Building wheel for finrl (pyproject.toml) ... done
Created wheel for finrl: filename=finrl-0.3.6-py3-none-any.whl size=4691056 sha256=47b6c0a2ae3b1cba50f9dc944d5f43df14fef8ede607a7be235e6e60b1bdb204
Stored in directory: /tmp/pip-ephem-wheel-cache-xy28i0wf/wheels/40/f6/ea/58306b2c377114b2e0751b61b5238d7258c73aef59e189e85b
Building wheel for pyfolio (setup.py) ... done
Created wheel for pyfolio: filename=pyfolio-0.9.2-py3-none-any.whl size=88652 sha256=667c162dda1a8461a057fa716754316a6dde7660dbe1a85faf1fb94d1b29c194
Stored in directory: /root/.cache/pip/wheels/71/38/bc/e53700cfd8b0ad6b539d2fbaaf060ed8a299e7622a5b86ef42
Building wheel for elegantrl (setup.py) ... done
Created wheel for elegantrl: filename=ElegantRL-0.3.7-py3-none-any.whl size=197301 sha256=c2a8ea577d9472ec96051942e97e80e63dd94f8c8e60e13cf3da4af4508abda7
Stored in directory: /tmp/pip-ephem-wheel-cache-xy28i0wf/wheels/c0/51/a5/b05f165548221bc570f7223babd33e2992fa873cdcebe2d229
Building wheel for empyrical (setup.py) ... done
Created wheel for empyrical: filename=empyrical-0.5.5-py3-none-any.whl size=39756 sha256=a2c62949d8c822b6feccd333cd6e9bd3c1b100c6476134943a6c9df46c13852b
Stored in directory: /root/.cache/pip/wheels/0e/2e/f2/d6d2d9a1eb8fbbd9949bb5d4c00f753e3b74e5bd7ed10b1d36
Building wheel for thriftpy2 (pyproject.toml) ... done
Created wheel for thriftpy2: filename=thriftpy2-0.4.20-cp310-cp310-linux_x86_64.whl size=1388649 sha256=db938a853aba84a04bf116171ad047a590f50c800ae7fb2174ce5594ebe74bef
Stored in directory: /root/.cache/pip/wheels/9b/1c/2f/97ec7c0e2a61885927d99666f593f1c3bed8a679cb56be635c
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Building wheel for box2d-py (setup.py) ... error
ERROR: Failed building wheel for box2d-py
Running setup.py clean for box2d-py
Building wheel for AutoROM.accept-rom-license (pyproject.toml) ... done
Created wheel for AutoROM.accept-rom-license: filename=AutoROM.accept_rom_license-0.6.1-py3-none-any.whl size=446659 sha256=6764a2fdf2f95e5b5a22f156479308625f738458b1bf75551597f677c8e49b91
Stored in directory: /root/.cache/pip/wheels/6b/1b/ef/a43ff1a2f1736d5711faa1ba4c1f61be1131b8899e6a057811
Successfully built finrl pyfolio elegantrl empyrical thriftpy2 AutoROM.accept-rom-license
Failed to build box2d-py
ERROR: Could not build wheels for box2d-py, which is required to install pyproject.toml-based projects

The error seems related to bdist_wheel. Could you please try pip install Cmake first as in python-setup-py-bdist-wheel-did-not-run-successfully?

Noted with thanks. I will update if any issues persists

Noted with thanks.
Same error after installing Cmake
Building wheels for collected packages: finrl, pyfolio, elegantrl, empyrical, thriftpy2, box2d-py, AutoROM.accept-rom-license Building wheel for finrl (pyproject.toml) ... done Created wheel for finrl: filename=finrl-0.3.6-py3-none-any.whl size=4691056 sha256=47b6c0a2ae3b1cba50f9dc944d5f43df14fef8ede607a7be235e6e60b1bdb204 Stored in directory: /tmp/pip-ephem-wheel-cache-pn7rfalf/wheels/40/f6/ea/58306b2c377114b2e0751b61b5238d7258c73aef59e189e85b Building wheel for pyfolio (setup.py) ... done Created wheel for pyfolio: filename=pyfolio-0.9.2-py3-none-any.whl size=88652 sha256=7321af24f916b3816155ad1f4c99cd1222b2340e7cd6a9915aac35c43654bc1f Stored in directory: /root/.cache/pip/wheels/71/38/bc/e53700cfd8b0ad6b539d2fbaaf060ed8a299e7622a5b86ef42 Building wheel for elegantrl (setup.py) ... done Created wheel for elegantrl: filename=ElegantRL-0.3.7-py3-none-any.whl size=197301 sha256=5e04b6274ca023268921afa94a618faea7abe9707199eab10cc316fa93979b37 Stored in directory: /tmp/pip-ephem-wheel-cache-pn7rfalf/wheels/c0/51/a5/b05f165548221bc570f7223babd33e2992fa873cdcebe2d229 Building wheel for empyrical (setup.py) ... done Created wheel for empyrical: filename=empyrical-0.5.5-py3-none-any.whl size=39756 sha256=69eee45ba5aea27e0267197ae97c6f62dbc52da0de49534c6aa81a2ea004eae7 Stored in directory: /root/.cache/pip/wheels/0e/2e/f2/d6d2d9a1eb8fbbd9949bb5d4c00f753e3b74e5bd7ed10b1d36 Building wheel for thriftpy2 (pyproject.toml) ... done Created wheel for thriftpy2: filename=thriftpy2-0.4.20-cp310-cp310-linux_x86_64.whl size=1388650 sha256=a75073bcc15b991561f8db8ec59936086f201c3bf4ccf94bd653fad3ccbdd397 Stored in directory: /root/.cache/pip/wheels/9b/1c/2f/97ec7c0e2a61885927d99666f593f1c3bed8a679cb56be635c error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip. Building wheel for box2d-py (setup.py) ... error ERROR: Failed building wheel for box2d-py Running setup.py clean for box2d-py Building wheel for AutoROM.accept-rom-license (pyproject.toml) ... done Created wheel for AutoROM.accept-rom-license: filename=AutoROM.accept_rom_license-0.6.1-py3-none-any.whl size=446659 sha256=a49dba52f86458f94f37fa1f6dbfdbd935f9fa6548850f34f463e231a7329511 Stored in directory: /root/.cache/pip/wheels/6b/1b/ef/a43ff1a2f1736d5711faa1ba4c1f61be1131b8899e6a057811 Successfully built finrl pyfolio elegantrl empyrical thriftpy2 AutoROM.accept-rom-license Failed to build box2d-py ERROR: Could not build wheels for box2d-py, which is required to install pyproject.toml-based projects

The problem is not clearly indicated here and I haven't met this problem before. Could you please also try conda install swig and  sudo apt-get install g++. If that is not working, maybe try to use a new environment as sometimes the conflicts happen implicitly.

Noted with thanks


implement inverse matrix calculation + implement mat4 * vec4

@Zubnix: You still interested in this PR?  I'm willing to merge it, just don't wanna cut a new version for it...

Yeah sure, I'll see if I can isolate out the invert method. Is that ok for you?

Yeah, everything is good save the genericized Mat interface.  I'm fine making interface changes, BTW; just gotta do a major version release for that.

Hello! Nice code, folks! Any plans for having this Pull Request merged?

Yeah, just gotta drop the generic on Mat.  If you wanna do then go for it.

Gonna try my hands at it on this weekend ;-)

I can't change this branch (at least, I'm not sure how, with the confusing GitHub UI). Gonna cherrypick @Zubnix commits and open a new pull request. Are you guys ok with that? If not, can you suggest me another course of action?

Closing this.  Its superseded by pending changes from @TheFakeMontyOnTheRun


[FEATURE] Added a kafka version flag to kafka consumer/producer flagsets.

Coverage remained the same at 97.311% when pulling fcf16dda2551383bf046e154a9b6427ea8155f8c on kafka-version-flag into ca2ab5342d40defa4e9227743c4dfc736600af69 on master.


Add keyword elseif for complexity analysis

c36581a (Add complexity calculation for cobertura output, 2023-03-06)
didn't add this.

I found this bug while browsing your MIES tests. This fix can increase the complexity numbers a bit. 😅


fix(theme):  修复颜色主题配置对自定义 icon 不生效的问题

👀 PR includes

🐛 Bugfix

[x] Solve the issue and close #0

📝 Description
icon 错误的使用了 文本颜色的主题配置, 导致 icon 颜色始终和文本一样
const s2Theme = {
  rowCell: {
    icon: {
      fill: 'red'
    }
  }
}

🖼 Screenshot

Before
After

🔗 Related issue link

🔍 Self Check before Merge

[x] Add or update relevant Docs.
[x] Add or update relevant Demos.
[x] Add or update relevant TypeScript definitions.

👀 PR includes
🐛 Bugfix

[x]  Solve the issue and close #0

📝 Description
icon 错误的使用了 文本颜色的主题配置, 导致 icon 颜色始终和文本一样
const s2Theme = {
  rowCell: {
    icon: {
      fill: 'red'
    }
  }
}

🖼 Screenshot
Before	After

🔗 Related issue link
🔍 Self Check before Merge

[x]  Add or update relevant Docs.
[x]  Add or update relevant Demos.
[x]  Add or update relevant TypeScript definitions.

怎么看着好像还没对齐🤔

:tada: This PR is included in version @antv/s2-v1.15.0-alpha.5 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @antv/s2-react-v1.14.0-alpha.5 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @antv/s2-v1.15.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @antv/s2-react-v1.14.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Using this technique (forms.formName) so I can call setPristine now validation fails

Ok, here's the technique I'm using
http://jsfiddle.net/zqS79/
Which recommends setting a scope variable called forms in controller so that when it gets set in template I have access to it to set pristine (otherwise $scope.formName is undefined).
When I do that all my validation using rc seems to no longer work. Here is an example:

Name

Name Required

...

Any idea why adding forms.* in front would suddenly cause rc to stop validating things for me?

I found a fix that worked for me.
FOR SUBMIT:
I modified the following function to reset the form on submit completion:
this.setSubmitComplete = function (success, data) {
angular.forEach(submitCompleteHandlers, function (handler) {
handler({ 'success': success, 'data': data });
});
formController.$setPristine();
this.attempted = false;
};
FOR CANCEL:
I added the following function right above the this.needsAttention function:
this.reset = function() {
formController.$setPristine();
this.attempted = false;
};
THEN:
I added the rc.form to my cancel function in the HTML view

    Cancel

============================================
LAST:
I called the directives reset function from my cancel function
$scope.cancelForm = function (form) {
if(form){
form.reset();
}
}
Hope this helps anyone in the same situation.
Thanks,
RGB


Airframes Reference Rover is not shown in QGC

@TSC21
Airframes Reference Rover is not shown in QGC
I have changed several version of QGC, but airframes Reference Rover is not shown in QGC

@wkyoun the generic rover airframe is called Generic Ground Vehicle, and its config file is 50000_generic_ground_vehicle (you can check the airframe reference here: https://dev.px4.io/en/airframes/airframe_reference.html). You should be able to choose it from the Airframe setup (https://docs.qgroundcontrol.com/en/SetupView/Airframe.html). As you can see in latest master for QGC, Rover metadata exists: https://github.com/mavlink/qgroundcontrol/blob/master/src/AutoPilotPlugins/PX4/AirframeFactMetaData.xml#L563. Same for Stable_V3.3.
Did you tried latest stable release? Can you show me what Airframe references appear? I think if this is a problem, it's not related with PX4 but rather with QGC.

@El7ias As per https://github.com/PX4/Firmware/issues/9477#issuecomment-389834678 , did you check that the vehicle named "Generic Ground Vehicle" did not exist?
If not, @TSC21 is arguing that this is a QGC issue, and should be posted there.


@todpunk fix: reduce node version

:tada: This PR is included in version 1.3.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


release updates should be collapsible and collapsed by default

Description
Release updates from people you follow should be collapsible as it takes the whole of my home feed when someone does a lot of releases, it should be collapsed by default too. Thus the user will only expand the person's releases, he wants to see.
Screenshot

Example URL
github.com

Have you disabled the hide-noisy-newsfeed-events feature?

Have you disabled the hide-noisy-newsfeed-events feature, which hides all release events? That may not be what you want but you will likely get used to it.

Thanks, that resolved my issue.


Add support for "impl Trait"

TODO: remove duplication between this and ObjSumBuilder?
I also added the Iterator helper for traits to mirror the one for types.

Hm, how to properly make this change work with syntex? Put stuff behind #[cfg] gates?

No #[cfg], I just need to release a new version of syntex that includes impl trait. Working on it now.

Okay if you bump the syntex_syntax dependency to 0.40.0 it should compile without #[cfg].

I am going to defer to @erickt for the code review because I am not familiar with the aster idioms yet.

@homu: r+

:pushpin: Commit f167832 has been approved by erickt

:zap: Test exempted - status

Nice, thanks!

@birkenfeld I released 0.23.0 with this change.


correct value errors

This looks good except for https://github.com/dissolve/tests/blob/1b8f3e1e1b895d81ffc0eb48104e6edd2eb5bbda/tests/microformats-v2/h-card/impliedphoto.html still has a few object/ tags that should be object. Can you take a look and double-check it? I didn't change it in case you had somehow intended to only fix one (of four) instance of that, and if so, I'm curious about the reasoning.

corrections made to that markup @tantek

This all looks good to me. Last question(s), do we know if this will add more breakage/passage to other parsers's test results (have you checked)? Or do we have to commit / version / deploy to answer that? Ok with either, we should just know which up front, and move forward with that in mind so we're more clear about next steps.

Currently I don't know of anyone doing automated tests on the system.  The version of the test suite in NPM is way out of date and many of those examples are quite broken.

Alright, let's make these fixes and see if we can try latest versions of parsers to see if it improves results (or results in issues to file).


Missing "ListDependencies" function for dependencies

What's required is a ListDependencies user command that gives the full picture of which packages/versions are required by the dependency file but also by their dependencies.
Such a command is invaluable in a number of scenarios:

Finding out which package is relying on a package that has recently been updated.
When a development package was accidentally added to a package as such.

Without such a command it can be difficult to work out why a package installs a particular package as a dependency.

Maybe this functionality can be added to the PackageDependencies with a -verbose flag?!


YouTube Transcript API no longer works

To Reproduce
Steps to reproduce the behavior:

Attempt to download any video transcript.

Which Python version are you using?
3.10.10 on M1 Mac
Which version of youtube-transcript-api are you using?
0.5.0
What code / cli command are you executing?
youtube_transcript_api https://www.youtube.com/watch\?v\=-f906Sy79hA and
from youtube_transcript_api import YouTubeTranscriptApi

data = { 'url': 'https://www.youtube.com/watch\?v\=-f906Sy79hA' }
resp = YouTubeTranscriptApi.get_transcript(data['url'].split("=")[-1])

Expected behavior
List of dictionaries response of the API.
Actual behaviour
Could not retrieve a transcript for the video https://www.youtube.com/watch?v=https://www.youtube.com/watch?v=-f906Sy79hA! This is most likely caused by:

Subtitles are disabled for this video

If you are sure that the described cause is not responsible for this error and that a transcript should be retrievable, please create an issue at https://github.com/jdepoix/youtube-transcript-api/issues. Please add which version of youtube_transcript_api you are using and provide the information needed to replicate the error. Also make sure that there are no open issues which already describe your problem!

Additional information
Youtube-DL seems to have also broken, and the issue seems to vary by region. I will update if the issues goes away.

This line seems to be the problem.
https://github.com/jdepoix/youtube-transcript-api/blob/6070e6165ae5a53e92085ad5f967b20ea2cde59d/youtube_transcript_api/_transcripts.py#L51
I stored the raw HTML as a file for this video and then tried to manually search for the string "captions": in the html and found nothing. I hope that there is a way around this, but for now I hope this information helps someone fix the issue.

Okay, this seems to have been user error. I was accidentally inputting the entire video URL rather than just the ID to the video. Sorry for the inconvenience!


deepgram: Add min_silence_duration to deepgram client.

Deepgram controls vad by endpointing parameter, this fix allows to configure min_silence_duration in agents layer. If there is any instruction on setting up tests, please let me know so that i can test it easily.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Lam Nguyen seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey Lam, thanks for the PR. There's another PR #145 addressing the same issue. I think we need to expose the end-of-speech tags from Deepgram as well.

Closed as the PR redirects to https://github.com/livekit/agents/pull/145


Proof of Concept - library AA

core.aa with a prototype of a strongly typed library AA
vtable interface for runtime AA to use new AA

We can't easily turn the builtin AA into a library type because that
would involve too many semantic changes and break a lot of code
due to attribute correctness. Hacking around those issues is very difficult,
and no easy solution exists for the ++aa[key1][key2] case.
This proof of concept adds a new strongly typed AA type to core.aa that can
be cheaply converted to the builtin AA using it's toBuiltinAA method.
The runtime knows about core.aa and will use a vtable interface to forward
all operations on such a converted AA to core.aa (this might involve casting
around attribute as done by the current AA).
The implementation is supposed to be a general purpose AA with good performance for a
broad amount of use-cases. It won't be parameterizable (allocator, load factor, comparison),
because in the long-term it's intended to become a replacement for the builtin AA.
Using a typed AA allows to immediately benefit from a huge performance improvement
due to dropping the virtual typeinfo interface for hash calculation and key comparison,
more efficient initialization (e.g. move construction), and optimizations for small keys
and values. It also supports to precompute immutable AAs during CTFE and storing them in
the data segment.
This provides a strong incentive to no longer use the magic semantics of the builtin AAs,
which at some point should be slowly deprecated to prepare the switch.
Before doing that, we can extend core.aa with support for the builtin AA literal syntax
as soon as this becomes available to any UDT (see ER 11658).
Even if we never manage to fully make the switch, this one-way compatible type will
be a huge improvement for many programs.
A more specializeable AA should be implemented as std.container.aa.

This will also allow us to provide a nice documentation for the AA.
Example from the unittest
AA!(int, int) aa;
assert(aa.length == 0);
aa[0] = 1;
assert(aa.length == 1 && aa[0] == 1);
aa[1] = 2;
assert(aa.length == 2 && aa[1] == 2);
import core.stdc.stdio;

int[int] rtaa = aa.toBuiltinAA();
assert(rtaa.length == 2);
puts("length");
assert(rtaa[0] == 1);
assert(rtaa[1] == 2);
rtaa[2] = 3;

assert(aa[2] == 3);

Forum discussion<EMAIL_ADDRESS>

Please do not  unite future commits, so I can synchronise this PR with the mirror https://github.com/arexeu/aammm

This is really just a prototype to get feedback for the concept.
Meanwhile the AA implementation was rewritten, and this implementation is no longer up to date.

This is really just a prototype to get feedback for the concept.
Meanwhile the AA implementation was rewritten, and this implementation is no longer up to date.

@MartinNowak findSlotInsert and findSlotLookup looks identical to current RT implementation. However this code works slower both with DMD and LDC.
Could you please point main new changes in algorithm?

However this (templated) code works slower both with DMD and LDC.

Slower than what, the builtin runtime AA?

Could you please point main new changes in algorithm?

It's using open addressing instead of separate chaining, so findSlot is the main change.
And the templated version is a lot faster b/c it must not use virtual methods with void* arguments for comparison.

Slower than what, the builtin runtime AA?

Yes.

It's using open addressing instead of separate chaining, so findSlot is the main change.

Looks like they both use open addressing:
This PR
 // find the first slot to insert a value with hash
 inout(Bucket)* findSlotInsert(size_t hash) inout pure nothrow @nogc
 {
     for (size_t i = hash & mask, j = 1;; ++j)
     {
         if (!buckets[i].filled)
             return &buckets[i];
         i = (i + j) & mask;
     }
 }
 // lookup a key
 inout(Bucket)* findSlotLookup(size_t hash, in Key key) inout
 {
     for (size_t i = hash & mask, j = 1;; ++j)
     {
         if (buckets[i].hash == hash && key == buckets[i].entry.key)
             return &buckets[i];
         else if (buckets[i].empty)
             return null;
         i = (i + j) & mask;
     }
 }

https://github.com/D-Programming-Language/druntime/blob/master/src/rt/aaA.d#L101
 // find the first slot to insert a value with hash
inout(Bucket)* findSlotInsert(size_t hash) inout pure nothrow @nogc
{
    for (size_t i = hash & mask, j = 1;; ++j)
    {
        if (!buckets[i].filled)
            return &buckets[i];
        i = (i + j) & mask;
    }
}

// lookup a key
inout(Bucket)* findSlotLookup(size_t hash, in void* pkey, in TypeInfo keyti) inout
{
    for (size_t i = hash & mask, j = 1;; ++j)
    {
        if (buckets[i].hash == hash && keyti.equals(pkey, buckets[i].entry))
            return &buckets[i];
        else if (buckets[i].empty)
            return null;
        i = (i + j) & mask;
    }
}

@MartinNowak where is this going ?

Close and wait for the remake of this pull
Wait on this for update

@MartinNowak where is this going ?

I still think it's the best way forward, but I didn't yet drew enough attention on this, and currently have different priorities.
To repeat the reasons why simply replacing the builtin AA won't work.
Proof of concept - library AA - D Programming Language Discussion Forum

How about rebasing this and seeing where we are with it? It looks like a great concept.

How about rebasing this and seeing where we are with it? It looks like a great concept.

I did rebase the PR, but that's not the point.
The implementations is still a draft and needs some more testing and profiling/optimization.
If I correctly understood your comment as an approval of the concept, I'll allocate some time to finish the implementation in September. Meanwhile we can send this for another review to the newsgroup.

What I'd like to see is a fully templated alternate version in druntime that people can use, and over time make it indistinguishable enough from the builtin ones that they can be eventually merged. By doing it as a library type the problems can be found and dealt with without the breakages we've had with previous attempts.
This appears to be what you're doing (I don't thoroughly understand it).

What I'd like to see is a fully templated alternate version in druntime that people can use, and over time make it indistinguishable enough from the builtin ones that they can be eventually merged.

This mostly means deprecating magic and broken behavior of the builtin AA, see first paragraph of description.

By doing it as a library type the problems can be found and dealt with without the breakages we've had with previous attempts.

We already know most of them, so it's mostly a question on how to deal with them.

This appears to be what you're doing (I don't thoroughly understand it).

The plan consists of 4 essential parts.

We provide a new core.aa library type w/ better performance, correct attributes, and CTFE-ability.
In order to replace the usage of the builtin AA, people will have to fix attributes, and replace magic builtin-AA behaviors.
To facilitate the transition to the new library AA, we add a cheap to construct adapter for the builtin AA (see https://github.com/dlang/druntime/pull/1282/files#diff-fdc0da51523ff831dd6cbe33a5bb8b4cR382).
This allows for compatibility of the new AA with existing libraries.
Before we can start to deprecate behaviors of the builtin AA, we have to add a decent way to construct UDTs from AA literals, see ER 11658 for a proposal.
When the behaviors are identical (fully deprecated), we can switch the builtin AA to the library type.

Please allow new AA implementation to

have more then 4K elements: we just need to switch from unit to size_t.
work with custom allocators from std.allocator.

This would help to build server software

Please allow new AA implementation to have more then 4K elements: we just need to switch from unit to size_t.

Yes, more that 4B elements might make sense for certain use-cases, but might also be left for specialized implementations since it's a performance liability for the majority of users.

work with custom allocators from std.allocator.

No, it's supposed to become the language AA replacement and the semantics seem just to different.
Also entangling this already complex plan w/ RC and escape analysis is a recipe for failure.

This would help to build server software

Writing a hash table is a fairly simple undertaking. As mentioned initially, core.aa is supposed to be a general purpose hash table w/ good performance for common use-cases. Depending on your use-case and performance needs, you might have to use something more specialized. A good advice would be to use a DoS-proof hashing functions, e.g. SipHash.
For languages used almost exclusively for web apps, using such a slower but more safe hash might be a good choice, but D is used in many different contexts and therefor we came to a different conclusion.
What we should do is adding a fully configurable/templated AA to std.container. Something that allows you to provide a custom hash function, a grow policy, tune the collision resolution, use allocators, ... Would be great to start this by gathering all the people that already forked this AA (or wrote their own), e.g. aammm and w0rps' dstruct.


Allowed to be called programmatically as a library

Is your feature request related to a problem? Please describe.
I'm writing the project https://github.com/Zxilly/go-size-analyzer, a program that can be very memory hungry, so I've added some profilers to monitor performance overhead. The code is at https://github.com/Zxilly/go-size-analyzer/blob/a842f6d50ce2c459435e1961262dc4b97240cef7/cmd/gsa/profiler_main.go#L51-L91
I was hoping there would be a similar way I could replace pprof.WriteHeapProfile for the implementation in this repository to achieve a similar effect.
Describe the solution you'd like
The call might be able to stop the current process, fork a process to create a snapshot, and then resume.

I had previously considered integrating it as a pprof http path, but this relies on process forking and intercepting init functions. If there are resource conflicts when the process is running, it can lead to uncontrollable exceptions, so I did not include this feature.
Currently, there is no better solution temporarily. Perhaps after installing the command, you can trigger this command using go exec to capture process memory.
https://github.com/cloudwego/goref/commit/481b9209b1121c6594f7d0a4374758daebd0b592


Error while loading 10m_populated_places because of data value

What did you see?

While loading ne_10m_populated_places:
`

addgeometrycolumn
public.ne_10m_populated_places.the_geom SRID:900913 TYPE:POINT DIMS:2
(1 row)
ERROR:  value too long for type character varying(41)
CONTEXT:  COPY ne_10m_populated_places, line 4855, column ls_name: "Amundsen‰ÛÒScott South Pole Station (USA)"
ERROR:  current transaction is aborted, commands ignored until end of transaction block
ROLLBACK`

What did you expect to see?

Success!

How did I solve it?

shp2pgsql -dIe -s 900913 -W Windows-1252 -g the_geom  ne_10m_populated_places-merc.shp ne_10m_populated_places | psql -U osm -d mydb
Is a bit ugly, but it works.

Thanks for reporting this! Looks like the encoding got messed up somewhere along the way. To give us a better chance of reproducing this, could you tell us what the encoding of your database is, please? You can see it by running:
psql -c "select pg_encoding_to_char(encoding) from pg_database where datname='mydb'" postgres

Strangely, in my database the encoding still looks wrong, but the length is reported as 41:
mapzen=# select ls_name from ne_10m_populated_places where ls_name like 'Amundsen%';
                  ls_name
-------------------------------------------
 Amundsen‰ÛÒScott South Pole Station (USA)
(1 row)

mapzen=# select length(ls_name) from ne_10m_populated_places where ls_name like 'Amundsen%';
 length
--------
     41
(1 row)

@nvkelso - I notice this is the -merc shape. Is it possible that either one leg or the other of the load/dump was done without -W Windows-1252 when it was transformed?

I git cloned and installed yesterday, not quite sure where the data came from at all :-). and my database is SQL_ASCII (which 'happened' when I followed the instructions on a clean ubuntu 14.04.)
I initially used the script, so that used -W Windows-1252, then I tried UTF-8 and LATIN1.
Then I returned to Winblows and found the workaround.

I implemented the workaround in the script (which does not fix the root cause). The script now finishes.
https://github.com/mapzen/vector-datasource/pull/578

That data is part of a set of shapefiles we ship with the source code (e.g: ne_10m_populated_places-merc.shp comes, somewhat confusingly, from places-naturalearth.zip) and the ones with -merc suffixes originally come from Natural Earth and have been projected from the original latlon to "Web Mercator" (a.k.a 900913).
I think the root of the problem might be that the database is in SQL_ASCII encoding. I know this means going back to the beginning, and I'm sorry that the original documentation didn't include this, but could you try createdb -E UTF-8 mydb instead of createdb mydb at the very beginning of the install instructions, please?
I have a bad feeling that other things will go wrong, particularly with loading OSM data with osm2pgsql, if the database isn't in UTF-8 encoding.

OK, I updated the wiki. Thanks.


feat: Add new MenuArrow component

Usage:
import {
  useMenuState,
  Menu,
  MenuArrow,
  MenuItem,
  MenuDisclosure,
  MenuSeparator
} from "reakit/Menu";

function Example() {
  const menu = useMenuState({ unstable_gutter: 14 });
  return (
    <>
      <MenuDisclosure {...menu}>Preferences</MenuDisclosure>
      <Menu {...menu} aria-label="Preferences">
        <MenuArrow {...menu} />
        <MenuItem {...menu}>Settings</MenuItem>
        <MenuItem {...menu} disabled>
          Extensions
        </MenuItem>
        <MenuSeparator {...menu} />
        <MenuItem {...menu}>Keyboard shortcuts</MenuItem>
      </Menu>
    </>
  );
}

Codecov Report

Merging #422 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #422      +/-   ##
==========================================
+ Coverage    95.2%   95.21%   +<.01%
==========================================
  Files          90       91       +1
  Lines        1356     1358       +2
  Branches      423      423
==========================================
+ Hits         1291     1293       +2
  Misses         65       65

Impacted Files
Coverage Δ

packages/reakit/src/Menu/MenuArrow.ts
100% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 366fc49...d19fd86. Read the comment docs.


sphinxrelay: fix permission when editing config.json

I think we worked on the same thing the same time - this should be fixed already in v1.6 branch - please check.

this should be fixed already in v1.6 branch - please check.

Still there at: https://github.com/rootzoll/raspiblitz/blob/bca71a95a5268dbd2a19383230a30cf3dd4c9212/home.admin/config.scripts/bonus.sphinxrelay.sh#L129
admin can't write to: /home/sphinxrelay/sphinx-relay/config/app.json.tmp
It is similar, but not the same as https://github.com/rootzoll/raspiblitz/pull/1789

this should ne OK because /home/admin/config.scripts/bonus.sphinxrelay.sh write-environment will always be excuted as "sphinxrelay" user. So we can close this PR without merging?

To be more precise ... this PR would not work because write-environment is excuted by the systemd as a pre-start to running the sphinx relay as user sphinxrelay to it would be allowed to write to the admin users home.

Yes, good points. Tested another time with the latest version of the script and there were no errors. Closing this.


Moving adafruit

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/TOC.md
:white_check_mark:Succeeded

windows-iotcore/media/adafruitkit/pack.jpg
:white_check_mark:Succeeded

windows-iotcore/tutorials/Tutorials.md
:white_check_mark:Succeeded

windows-iotcore/tutorials/adafruitkit.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.


Future<> BUG - need help

Hello @rogeralsing @cpx86 @PotterDai
I'm turning mad on our production because of a bug repoduced on this branch : https://github.com/jrouaix/protoactor-dotnet/tree/hotfix/remote-local-nightmare
First that was a problem on local/remote calls mixing, then I narrowed it in Future<> usage in some Task situation : https://github.com/jrouaix/protoactor-dotnet/blob/f0f88456d983ad55fc913a0c429db6c84c0623dc/tests/Proto.Actor.Tests/FutureTests.cs#L118
Weirder this will break :
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();

but it will go fine in this order :
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));

This one will break, but not if I had a breakpoint
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();

This one is passing
// but if you add just one await version here, it won't
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1)).Wait();
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));
await Context.RequestAsync<object>(pid, "hello", TimeSpan.FromSeconds(1));

Is there some ASP.NET involved here? WinForms/WPF? or just pure server code?

NVM the test should be enough. I will take a look

In some of our production services, there is aspnetcore web API involved. But in the code reproducing the problem on protoActor code, it's only console app & unit tests.

Confirmed, there is something superfunky going on here.
I've added logging to the test:
Starting
Got Message hello1
got response 1
Sent Response to hello1
Got Message hello2
Sent Response to hello2

The actor gets the messages and also responds to them.
But the final request doesnt complete..
Digging further..

Past self almost saw this coming, see comment.
            if (cts != null)
            {
                //TODO: I don't think this is correct, there is probably a more kosher way to do this
                System.Threading.Tasks.Task.Delay(-1, cts.Token)
                    .ContinueWith(t =>
                    {
                        if (_tcs.Task.IsCompleted)
                        {
                            return;
                        }

                        _tcs.TrySetException(
                            new TimeoutException("Request didn't receive any Response within the expected time."));
                        Stop(pid);
                    });
            }

Trying to figure out what the correct way is now

@rogeralsing not sure it's related to the cancellation token, if you don't pass any timeout, I previously observed a forever wait.
Also I tried another implementation, same behavior.

OK, I've found the issue, not quite sure how to deal with it.
TaskCompletionSource.TrySetResult completes on the same thread that calls it.
Here is a log:
3       Starting
4               Enter actor
4               Enter actor
4               Got Message hello1
Got message hello1Response
4       Got response1: hello1Response

The first number is the thread Id.
see how the app starts in thread 3.
then the actor starts working in thread 4.
And the response is completed and continued in the same thread 4.
This thread then continues to block on .Result. preventing the actor from exiting and continuing with the next message.
Things got apparent up once I just commented out the timeout code.
The TrySetResult needs to complete asynchronously.
that is, the actor sending a response cannot invoke the response continuation synchronously.

Same issue as this IMO https://github.com/EventStore/EventStore/issues/1179

Solved it, not sure if this is OK, but at least this test runs... running for tests now

Now timeout tests throws instead..
Anyway:
Changing this line
https://github.com/AsynkronIT/protoactor-dotnet/blob/dev/src/Proto.Actor/Futures.cs#L62
To
Task = _tcs.Task.ContinueWith(x => x.Resultl);

Gets rid of the deadlock and makes the response arrive asynchronously as intended.
So we are almost there. we just need to solve how to both handle timeout and set response async.

PR is open. anyone with the time and knowhow, feel free to clean this one up.

Take a look at PR #434


Support for Custom Transport?

As #50, changed to use global transport and removed custom transport.
But I need to use custom one for each Request.
My primary motivation is for tracing system for microservices.
I'm using sourcegraph/appdash for tracing.
This have feature for automatically sending data of the http request, just to set custom transport.
Example usage is like below,
// `span` is different by each group of request
// `collector` is same for each request
http.Client{
    Transport: &httptrace.Transport{
        Recorder: appdash.NewRecorder(span, collector),
    },
}

// for goreq (provisional field)
goreq.Request{
    Transport: &httptrace.Transport{
        Recorder: appdash.NewRecorder(span, collector),
    },
}

I might set different parameter to Transport for every request,
So I need a custom transport setting for convenience.
If it's not unsuitable, I gonna create this feature.
Any thoughts?

I was just looking for being able to use a custom Transport so I'd support that feature being added

@jiminoc DefaultTransport is public in goreq (https://github.com/franela/goreq/blob/master/goreq.go#L243-L245) so you can perfectly override it like goreq.DefaultTransport = MyCustomTransport. Does this works for what you need to do?


[QUESTION] - Developer mode

Hello, I would like to contribute to the project, but I had some problems deploying in development mode, could you provide a step-by-step guide to run in development mode?

Hey, thank you for your interest in contributing.
You can check out local development details here:  https://dialoqbase.n4ze3m.com/guide/running-locally-for-development.html
(which is a bit old, so you don't need to do everything).
You need Redis and Postgres with pgvector, that's all.
Here's a simple guide:

Clone the repo.
Use pnpm to install dependencies for the frontend (pnpm i and pnpm dev to start the frontend server).
CD into the server, use yarn (or pnpm), ensure you've added all required environment variables, and run yarn  and yarn dev

That's it!
The frontend will run on 5123, and the backend will run on 3000.


About saving model during training

The original code save model after every one ecpoh. What if I want to save model only when validation loss is smaller? How can I add evaluation code during training? Thanks.

This question concerns the tensorflow implementation of training strategy .
One simple method is to compute the validation loss after each epoch. Note that it should not compute gradient back (i.e. remove train_op from sess.run). You need to modify the file lib/tfflat/base.py to change training schedule. Note that you should feed validation data.
But I think the implementation can be complex and you might need to re-design the code structure.


Add Checkbox

Feature
value
description
default

type
checkbox
The identifier of the component
REQUIRED

listeners
ref listeners
The list of listeners (onPressed)
empty

label
string
The value of the text next to the checkbox
empty

disabled
boolean
If true, the checkbox is disabled
false

:tada: This issue has been resolved in version 1.0.0-alpha.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Cookies are not created when expire property is set

i have this code
$cookies = Yii::$app->response->cookies;
$cookies->add(new \yii\web\Cookie([
    'name'=>'test',
    'value'=>'testing',
    'expire'=>3000
]));

i check the cookieStorage and cookie doesn't exist, but it does exist when expire is not set

The value for expire is expected to be a server timestamp. Not a relative time in seconds. You're looking for something like time() + 3000

+1 @arisk


Node.js bindings: Add JS bindings for SPI

This patch contains the native and highlevel JavaScript bindings for SPI.

lgtm

@edersondisouza Could you take a last look

+1


Latest Pre-release not loading

Hi,
I followed the exact instructions as well as the video tutorial, but the application is simply not loading at all in my remote server.
After running sudo java -jar streama-1.2.3_beta.war, I see the following output:
INFO streama.Application - Starting Application on pisskid-streama with PID 16359 (started by root in /data/streama)
DEBUG streama.Application - Running with Spring Boot v1.3.8.RELEASE, Spring v4.2.8.RELEASE
INFO streama.Application - The following profiles are active: production
ERROR grails.boot.config.tools.ClassPathScanner - The application defines a Groovy source using the default package. Please move all Groovy sources into a package.

Configuring Spring Security Core ...
... finished configuring Spring Security Core

At this point nothing moves, and I've been waiting for over an hour and there still is nothing loading.
I'm wondering what specs are necessary for the application to run?
I'm running this on a simple DigitalOcean Ubuntu server, 1GB of RAM, 1 CPU, 30GB of data on disk.

oh unfortunately 1gb ram is not enough .. :(
2gb at least afaik

Ah well, then in that case it makes sense to why it didn't work :)
I'll upgrade the server and see if it works then.
Can we add in to the Wiki/Readme some minimum machine requirements?

Created wiki page