[flex] Flex resize smaller

The grid resize smaller to bigger without problem, but bigger to smaller won't work when using flex.
Exemple:
https://plnkr.co/edit/VpT974rDcfoDFpEBaJpv?p=preview

I created a similar issue: https://github.com/ceolter/ag-grid/issues/628#issuecomment-228136959
I don't have a good resolution though. I also get strange behavior when embedding two grids on one page. The latest thing I'm seeing is as I refresh the data the grid width slowly grows and won't shrink back down.
I think there's a requirement to have a correct flexbox design around the grid itself...but I don't know exactly what that is yet. I'm not a CSS guru though, so I've been battling a number of strange issues with flexbox that sometimes take me a while to figure out.

I do have the same probleme than you. I also have a bad redimension when going back to smaller screen, the grid will slowly swrink back to normal.
I did find a part of the reason why, it seams to be in the ag-grid core in the doLayout function. When the grid compute his layout it doesn't get the good size of the window. I didn't push further.
For now, I solve the problem by computing the size of the grid in my own javascript,  but it's not clean at all.

FWIW, I cannot get my plunker to behave correctly, but in my production apps I've repeatedly found the issue is using flexbox without using min-width: 0 and min-height: 0 appropriately to prevent content from increasing the size of the flex'd container.
I'm trying to use this grid in a single-page app so I'm working hard to constrain scrolling and overflow content using flexbox. You need to ensure the elements acting as a flex container have min heights and widths though, or things just don't work across all modern browsers.

tracked by AG-130
https://www.ag-grid.com/ag-grid-pipeline/

<EMAIL_ADDRESS><EMAIL_ADDRESS>(but should work outside angular)
lightly customized material theme
I believe I ran into this issue as well (grid will grow but not properly shrink when inside of flex); I was debugging through before coming across this issue and might have found a half-decent h4x/workaround. . I thought it may help someone to try it and or use it while AG-130 is backlogged but also please note that I have not done any thorough testing outside of my own application/environment so YMMV.
It looks like something in the ag-grid will set a style directly on the element with the class 'ag-bl-center-row' which updates on grow but does not change on shrink. If we unset the direct style the grid will resize as expected. I use the grid in some decently complex layouts and it works just fine. I'm sure there is a cleaner way but for now I've just attached to the root element of my applications onResize event and if we are shrinking I then locate any elements with the class 'ag-bl-center-row' and remove the direct style.
const agFlexSelector:string = 'ag-bl-center-row'; let elems = document.getElementsByClassName('ag-bl-center-row'); for (var index = 0; index < elems.length; index++) {     var element: any = elems[index];     element.style = ''; }

Hi all.
I have the same problem with Ag-Grid 12. @ceastwood 's fix works here but it feels a bit odd on Angular to access DOM through document.*.
An official fix would be verry much appreciated.
Cheers.
alan

Hi,
Thank you for raising this issue for us, at this moment we are reviewing how we process Feature Requests/questions that come through from GitHub.
As I am sure you are aware, we offer two products:
ag-Grid - this is entirely free to use in line with our MIT license
ag-Grid Enterprise - our commercial version which funds the development of both versions.
We currently have a very full pipeline of work which can be viewed here: https://www.ag-grid.com/ag-grid-pipeline/
This will be our priority for the coming months and as a result, we don’t have capacity to take feature requests/questions from GitHub, but you might find that yours has already been raised in our pipeline.
We will do a periodic review of GitHub issues for any bugs raised and these can also be tracked on our pipeline page.
Thanks for your understanding.
ag-Grid Team.

Hi everyone,
I think we found a solution for the problem you describe with the redesign of the website. The main demo now lives in a flexbox with vertical direction. The solution seems to be to set overflow: hidden to the container which hosts the grid. Notice that it looks like the grid element does not seem to like display: flex directly, though.
For your reference, I created an updated version of the original plunker in this issue.
Please test that and let us know how it works in your cases. Thank you.

Update: here is a version which  also resizes the columns of the grid and seems to deal better with resizing in general.


Signing and sending transactions separated

Closes #133
Implementation of functionalities from #77 #117 #118 to the refactored sharedlib CLI.
Allows signing a transaction without sending it. Include specifying signers, proposers and authorizers that have to then sign the transaction in a separate step as well.
Transaction confirmation screen included.

🚢

Is that evergreen?

Not sure anymore if this emoji means ship it or blocked 😄

LOL

I tested this feature and I think I may have found an edge case. I'm not entirely sure though.
When using the sign command, if payer-address isn't specified, then the payer defaults to the first signer. However, the first signer defaults to having the role authorizer. So by default, the signer is both the authorizer and payer, which is good.
The problem I noticed is that the sign command will generate a payload signature by default. This later fails to validate because the payer is required to sign the envelope, not the payload.
Due to the special case below (from the docs), if the signer is both the authorizer and payer, they should be signing the envelope only:

Special case: if an account is both the payer and either a proposer or authorizer, it is only required to sign the envelope.

# specifies account-1 as payer, but signs as authorizer
flow transactions sign --signer=account-1 myTx.cdc -x payload --save=myTx.rlp


How to build the api ?

Hi,
After following the building.md tutorial in docs folder i run cmake as it is explained but i got this error
I have added the paths of the binaries to environement variable PATH for cmake and msbuild as well
Thank you

Try using the MSVC developer console instead of the normal CMD console

I have Visual Studio 2017 Community installed does it work with it ?

Is this your first time installing Visual Studio like it was for me? At first I didn't know what components to select, and the basic install wasn't enough. I had to select the C++ tools and all that by running the "Visual Studio Installer" and selecting "Modify". Here's the components I have selected:

I am by no means an expert on this, but I did manage to get it to build after hours of installing and uninstalling things. Also, at one point I uninstalled everything and reinstalled Visual Studio before CMake. Wasn't sure if it mattered but what the hell noobs have to just try stuff, right? LOL

Thank you @agrutter87 atm i have opened the solution called bot in the project folder and it asked to install about 4 Go of packages then now i have this error

That looks like your include directories aren't set up correctly. Did you set your project's include path?

The bot solution is for generating the prebuilt binary solution.
The solution file you want to open is build/s2client-api.sln. Sorry for the confusion.

@AnthonyBrunasso  it saying to don't tuch it

great ! how do you get this folder @AnthonyBrunasso ?

It's the output of cmake, you would have created the folder and got the solution from the cmake command working in your first post.
You could alternatively download this package if you don't want to build the api from source: http://blzdistsc2-a.akamaihd.net/SC2API_Binary_vs2017.zip

yes @davechurchill said to build it inside MSVC so i've started something and i found myself doing something else, i've tryed again cmake and i still got the same error

If you want to build from source please follow our building docs (https://github.com/Blizzard/s2client-api/blob/master/docs/building.md) and you'll likely need to install the components @agrutter87 recommended, this is actually a step I was not aware of so I'll have to update our docs appropriately, thank you, agrutter. Basically your environment needs to be set up in such a way that cmake finds your compiler.
If you download http://blzdistsc2-a.akamaihd.net/SC2API_Binary_vs2017.zip that package comes with prebuilt library files so you don't have to worry about any of this. You should just be able to extract it somewhere and open bot.sln and build.

it would be nice to have a tutorial on yt explaining how to do it from the starting point
thx @AnthonyBrunasso for the package it worked !

Glad I could help @raynor636!
I will close this issue unless you have any other questions.

it's okey @AnthonyBrunasso the issue is closed and now i am on the code
so it worked by installing in VS the components that @agrutter87 talked about and then i was abeld to build it by running the command and steps of building.md
https://youtu.be/TTrO-HQLBdQ

@raynor636 Where is bot.exe? need install StarCraft II？when i make successful ,i do not know how to run the example ,and where is bot.exe

When it build you need to open the solution and compile everything but it should be another issue if you can open it it can be cool

@raynor636 i what now in windows, after start s2client-api.sln do what?

let's move here https://github.com/Blizzard/s2client-api/issues/93


How to revive punished to 0 node?

one of my nodes got punished to 0 and node went offline. I do faucet and have tokens on my wallet, but can't revive it. What can I do with it?
cess bucket increase doesn't work
bucket can't start. I tried everything I know. I need help

@Kekksik If the storage node status changes to "offline", it means that the node did not complete the challenge and was punished. The offline node in the v0.7.4 version has no effect. You can run with a new account.


Error: ModuleNotFoundError: No module named 'requests'

Dear @pawelsikora
First : thanks for your plugin.
I'm trying to use it with Gitlab CI/CD.
I've got some questions (some basic usage).
But, before, let me present my configuration
Current configuration I used (and led to my issue)

CI/CD : Gitlab
docker image use : image python:3.8-buster

Issue
When running, I've got the following pipeline error message
ModuleNotFoundError: No module named 'requests'

Complementary informations:
I've put my configuration for the plugin into the mkdocs.yml

Is is the good place to put the configuration ?
Why the "import requests" from the python plugin is not working ? Is it necessary for me to update my docker image with this dependancy ?
For password with special character : should I put it with some mask ? (refer : https://docs.gitlab.com/ee/ci/variables/index.html#mask-a-cicd-variable) or with quote  ?

plugins:
  - search:
      lang:
        - fr
        - en
  - macros
  - mkdocs-confluence: #For conversion of mkdocs into confluence
      host_url: https://my_confluence.fr/rest/api/content?type=page&spaceKey=bac&expand=ancestros&limit=100
      space: bac
      parent_page_name: Test_Florent
      username: myuser_name
      password: "MYPASSWORD!*ù$^4_with_special_character"
      verbose: true
      dryrun: true

AND LOT : thanks for your support.

Just ran into this issue.
This isn't a problem with this plugin, but an issue of python, requests is not a default module, you need to install it.
Add - pip install requests to your gitlab ci
You'll find other missing modules, this is my before_script and is working properly.
    - pip install requests
    - pip install mistune
    - pip install md2cf
    - pip install mkdocs
    - pip install mkdocs-with-confluence

Dear thanks for your feedback and support.


fix: misspelled words

Fixes #1499

 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.csl 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.

麻烦从develop拉出来做修改，合回develop
也麻烦签署下CLA


Subscribe

At the present time the subscribe function under the pubsub class does not function properly. Currently it will place all incoming subscription messages into a cache and will spit it out when ever you interact with the pubsub class. And who knows when you will actually get an answer to your pubsub class query. I'm suggesting that we implement the same thing that the redis-cli does when subscribe is called. It makes the client only listen to the subscription until the entire script (redis-cli) is killed. This is more useful than what it does at the present time. Or write a twisted like function that allows you to implement the pubsub and create a factor loop and allow all incoming subscription messages to be sorted accordingly.

Subscribe does exactly what it's supposed to do. It tells the server that the current connection wants to receive messages for the specified channels. I agree that there are multiple ways for redis-py and your application to work together in order to consume messages. Here are several reasons for the current implementation:

Something has to be checking the socket's read buffer to see if a new message is waiting. That's exactly what .listen() does. If it sees something on the socket, it returns it. Otherwise it waits until the server sends a message.

.listen() could be implemented in a background thread or in an eventlet/gevent coroutine. I'm of the opinion that redis-py shouldn't make concurrency decisions for your application, however. If you have a preference though, it's simple to write a helper function that polls .listen() in a separate thread or coroutine and dispatches the message to your main thread, event loop, etc.

I think the idea of passing callbacks for different channels could be quite elegant, but I don't see how it can work without imposing a concurrency model.

If I'm overlooking something, please let me know.

You haven't over looked anything but the other problem I have run into and I dont know what to do about it is that the .listen() does not work for what ever reason or I am missing how it works. Here is an example of what I get when I try to use .listen()
"""

import redis
r=redis.StrictRedis()
p=r.pubsub()
p.subscribe('test')
['subscribe', 'test', 1L]
p.publish('test')
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'PubSub' object has no attribute 'publish'
r.publish('test','test')
1L
p.listen()
<generator object listen at 0x100694dc0>
"""
I thought that this was supposed to put out something more like """ ['message', 'test', 'test'] """?
also isn't class Pubsub supposed to have publish as its doc states?

You're close. It's easier to illustrate with two processes.

Well eventually it will be python to python I was just making sure that if I even needed to hack into the server that I could use the telnet which kinda works but your right I should use redis-cli.
I have yet to actually take a course on python seeing as my school is in the dark ages and chooses not to have python but to have perl and php (which were founded after python...)
Once again thanks for your help :] Totally love redis.io and redis.py


Question: can I cache bust resources when using c:url

I have a Java/Spring webapp and my JSPs are using the JSTL c:url tag inside the href attribute to import my resources files.  When I did this cache busting stopped finding the resources and busting them.  Is this plugin intended to work with this configuration and if not, is it possible to do so?
I had problems with the relative paths in my application and needed to implement c:url to prevent issues with my content not loading correctly.

Hi @tylersmith34. Are you able to provide a code example of what the c:url tag looks like? Where do your assets live in your folder structure?

@hollandben Sure.  Here is one of my imports:
<link rel="stylesheet" href="<c:url value="/resources/css/actionCenter.css"/>"/>
My structure is as follows:
src/main/webapp/resources/js
src/main/webapp/resources/css
src/main/webapp/WEB-INF/views (my JSPs are under here)

Can you provide your current grunt-cache-bust configuration as well.
Looks like it should work fine with the right configuration - what version of the plugin are you using?

I realized this project wasn't on the latest version.  I upgraded and it is working.  I am working with another legacy system that was on the latest version and it too wasn't working.  After your comment I looked at that project again and found this:
<link rel="stylesheet" type="text/css" href='<c:url value='/CSS/dialogs/dialog.css'/>'/>
I changed from single quotes to double quotes and busting worked as advertised!
<link rel="stylesheet" type="text/css" href="<c:url value="/CSS/dialogs/dialog.css"/>"/>
Thank you very much for your time and looking into this.


Current package is backwards-incompatible

go get produces the following
# github.com/jmoiron/sqlx
go/src/github.com/jmoiron/sqlx/sqlx.go:232: undefined: sql.ColumnType
go/src/github.com/jmoiron/sqlx/sqlx.go:234: undefined: sql.ColumnType
go/src/github.com/jmoiron/sqlx/sqlx.go:236: r.rows.ColumnTypes undefined (type *sql.Rows has no field or method ColumnTypes)

sqlx probably requires Go 1.8 or above:
https://github.com/jmoiron/sqlx/blob/master/.travis.yml


Improved Merkle Tree. Reduce memory consumption from O(N) to O(log2(N)).

What is "better" about this? You should provide a detailed description in your git commits (and pr description). If you're claiming this is more performant, why can't we simply use the algorithm from bin_tree directly, rather than taking the dependency.

I will provide more details and, of course, the algorithm can be copy-pasted, it's up to you. The time complexity is the same but the proposed algorithm consume less memory O(log(N)) instead of O(N), where N is a number of leaves.

Hey @sergey-shandar. Do you have a particular use case for this? A typical bitcoin block would contain 3k transactions. The required memory should be around (3k * 32bytes) 100Kb, which is not a lot. The clients interested in computing Merkle root typically already have the block in memory (1-3Mb).
This is certainly not worth adding a dependency. If there are performance benefits, we can consider re-implementing the algorithm here.

To add to @TheBlueMatt if there's a choice between speed and memory, I vote for speed.

Also may be worth noting that we may wish to speed up the merkle tree calculation in the future by SIMD'ing the hashes - Bitcoin Core has implementations of doing multiple 64-byte SHA-256 hashes at once which is a nice speedup, and exactly what is needed for merkle tree building. Its not clear to me how practical it would be to do if we don't have the hashes laid out in advance.

In this case, a fold_op operation should process bigger nodes. Each node will contain multiple SHA256 instead of one.

To add to @TheBlueMatt if there's a choice between speed and memory, I vote for speed.

I agree speed is more important in the blockchain. But this algorithm shouldn't change speed in theory. In practice, I couldn't see a big difference, I've tested on Amd64 and M1.


please remove tracker.* from domains-blacklist-local-additions.txt

it block all tracker domains include tracker.debian.org in domains-whitelist.txt

That's up to the user to setup, it's not loaded by default.

Yes, you probably shouldn't use that list as-is!
This is the one I use, but you should make your own according to your needs, with or without the example script.


[FEATURE] Revised Peer Config QR Code Generation

There are still a few TODO comments and QR config options left unfilled (DNS, MTU, Endpoint) which are discussed here.
Need to look at how to reference / link back the JS library used this one which has an MIT licence.
Hopefully this implements #7 better than my initial attempt

@theonemcdonald, Is this the right sort of direction you envisage for this feature? I can picture we would want to have potentially peer level, tunnel level, or default level configs for generic options such as endpoint, DNS, MTU, etc.

With the latest batch of changes, I've added in a hierarchy of config options. I suspect these will be superseded by your refactorings which is fine but just wanted to code out these options so people can discuss them / test them etc.
They allow the user to specify Endpoint (from the !pfSense, end user device (say a phone)) and DNS settings, bringing this PR up to complete WG config import capacity (minus listen port but oh well).
Only kinda 'hacky' bit around this PR is the misuse of the public key field as a private key for the export, again I suspect what you have in mind for exportable peers / configs will resolve these issues though.
An example QR code rendered using my dev instance, noting that Endpoint and DNS were overriden on the peer config, but could have been pulled from Tunnel or even global settings (if peer were not set):

Global settings new section:

Tunnel settings new section:

Peer edit new section:

@theonemcdonald, I'm a little hesitant to do any more dev effort against this repo as I've got a few PRs that typically sit idle for a while with nore feedback on Readmine either. Having merged a couple bugfix PRs rapidly I can see you do monitor this repo for change, but I'd love a little more interaction on these remaining PRs, even a comment to say that you're covering these in the Netgate private GitLab instance or they're being rolled up into a larger change (such as refactor) would be great, but it feels that changes are not being done (or done elsewhere out of the open source stream) and we're being slightly locked out.
Cheers, Adam

@theonemcdonald any comments for these? Feel I comment every month and am talking to myself slightly.
Also what was actually in the last release? Struggled to find a nice itemisation of what was included in it, from this repo in particular.
Cheers,
Adam


Introduce parameterization for various capabilities

New boms can be added using -DbomsWithHigherPrecedence=groupId:artifactId:version
spring boot parent can be overridden using -DbootVersion=
remove unused code
polishing
Please see the corresponding PR from spring cloud stream app starters for a usage example.
https://github.com/spring-cloud/spring-cloud-stream-app-starters/pull/215
Resolves spring-cloud/spring-cloud-stream-app-maven-plugin#8

LGTM, merging.

Merged as cf97069


Relabeling creates inconsistent BQMs

Description
Relabeling can create BQMs that are inconsistent with generated BQMs:
>>>  bqm = dimod.BinaryQuadraticModel({'a': 1, 'b': 2}, {('a', 'b'): 1.5}, 'BINARY')
>>> bqm.relabel_variables({'a': 'c', 'b': 'c'})
>>> print(bqm.linear, bqm.quadratic)
{'c': 2.0, 'c': 2.0} {('c', 'c'): 1.5}

In comparison:
>>> bqm = dimod.BinaryQuadraticModel({'c': 1, 'c': 2}, {('c', 'c'): 1.5}, 'BINARY')
>>> print(bqm.linear, bqm.quadratic)
{'c': 3.5} {}

Expected Behavior
Consistent treatment of a variable set in multiple places. For the given example, it's noticeable, but in relabeling large numbers of variables in a big BQM, this might not end well
Environment
dimod version here is 0.10.10

Also {'c': 1, 'c': 2} in your second example is just {'c': 2}. You can get something similar to what you're looking for with bqm.contract_variables(''a, 'b').


docs: add review by "No Solo Hacking" to the Spanish README

Replaced the review for the Spanish version with No Solo Hacking's review of the tool.

It's correct as you suggested it.


[dev] Bot using lucky eggs before reconnect after API exception

Expected Behavior
Bot should retry until API lets it through, not break on the pgoapi exception.
Actual Behavior
[16:16:23] Server is throttling, let's slow down a bit
[16:16:25] Server is throttling, let's slow down a bit
[16:16:26] Server is throttling, let's slow down a bit
[16:16:27] Server is throttling, let's slow down a bit
[16:16:28] Server is throttling, let's slow down a bit
[16:16:29]
[16:16:29]  Ran for 0:00:12
[16:16:29]  Total XP Earned: 0  Average: 0.00/h
[16:16:29]  Travelled 0.00km
[16:16:29]  Visited 0 stops
[16:16:29]  Encountered 0 pokemon, 0 caught, 0 released, 0 evolved, 0 never seen before
[16:16:29]  Threw 0 pokeballs
[16:16:29]  Earned 0 Stardust
[16:16:29]
[16:16:29]  Highest CP Pokemon:
[16:16:29]  Most Perfect Pokemon:
Traceback (most recent call last):
  File "pokecli.py", line 442, in <module>
    main()
  File "pokecli.py", line 71, in main
    bot.tick()
  File ".../PokemonGo-Bot/pokemongo_bot/__init__.py", line 92, in tick
    if worker.work() == WorkerResult.RUNNING:
  File ".../PokemonGo-Bot/pokemongo_bot/cell_workers/evolve_all.py", line 19, in work
    if not self._should_run():
  File ".../PokemonGo-Bot/pokemongo_bot/cell_workers/evolve_all.py", line 73, in _should_run
    response_dict_lucky_egg = self.bot.use_lucky_egg()
  File ".../PokemonGo-Bot/pokemongo_bot/__init__.py", line 376, in use_lucky_egg
    return self.api.use_item_xp_boost(item_id=301)
  File ".../PokemonGo-Bot/venv/src/pgoapi/pgoapi/pgoapi.py", line 84, in function
    return request.call()
  File ".../PokemonGo-Bot/pokemongo_bot/api_wrapper.py", line 109, in call
    raise ServerSideRequestThrottlingException('Server throttled too many times')
pgoapi.exceptions.ServerSideRequestThrottlingException: Server throttled too many times

Steps to Reproduce
Just switch locations and retry.
Other Information
OS: OSX 10.10.5
Git Commit: bdf2e7d9cc0b2fa5fb04bb9dc4f9f09f967cd9ea
Python Version: Python 2.7.11

Similar to #2386
May be addressed by #2388

Not addresses by #2388, but I can fix this... will make a pull request shortly.

Cheers bud.

Looking at this, this exception is actually being raised by the bot itself; it's not an API exception that's being raised.
I'm curious if there's a reason for this to be there.  @daybr3ak can you chime in?

Well the server is throttling you, but the bot is retrying past this 5 times. Beyond that, it's raising that error, because it's very probably an error coming from your configuration and not the bot

Any remedy for this? Haven't been able to load up the bot due to this.

Try to change the config parameter map_object_cache_time": 5, from 5 to 10

same problem after change map_object_cache_time": 5, from 5 to 10

Did you re ran pip install -r requirements.txt there is an updated module

Yes
again
[00:41:54] Server is throttling, let's slow down a bit
[00:41:56] Server is throttling, let's slow down a bit
[00:41:59] Server is throttling, let's slow down a bit

The exception crash was addressed in ##2407 and seems to be primarily resolved in commit 3ef3fc796fbacfe8c70ec89ab30aef4a4164245d.
Unfortunately, there seems to be a new issue where the client will log in, pop a lucky egg, and then wait until reconnecting. It wastes lucky eggs, and can often do this 10 or 12 times in a row:
[21:14:36]  Starting PokemonGo Bot....
[21:14:37] Using lucky egg ... you have 12
[21:14:56] Server is throttling, reconnecting in 30sec
[21:15:26] [x] Coordinates found in passed in location, not geocoding.
[21:15:26]
[21:15:26] Location Found: 43.63954594864653,-79.3757164478302 // Jack Leyton Ferry
[21:15:26] GeoPosition: (43.6395459, -79.3757164, 0)
[21:15:26]
[21:15:26] Attempting login to Pokemon Go.
[21:15:27]  Login to Pokemon Go successful.
[21:15:27]
[21:15:27]  --- TrainerName ---
[21:15:27]  Level: 31 (Next Level: 188540 XP) (Total: 2811460 XP)
[21:15:27]  Pokemon Captured: 5558 | Pokestops Visited: 6307
[21:15:27]  Pokemon Bag: 152/300
[21:15:27]  Items: 439/600
[21:15:27]  Stardust: 320615 | Pokecoins: 30
[21:15:27]  PokeBalls: 124 | GreatBalls: 20 | UltraBalls: 43
[21:15:27]  RazzBerries: 49 | BlukBerries: 0 | NanabBerries: 0
[21:15:27]  LuckyEgg: 12 | Incubator: 11 | TroyDisk: 5
[21:15:27]  Potion: 1 | SuperPotion: 0 | HyperPotion: 0
[21:15:27]  Incense: 22 | IncenseSpicy: 0 | IncenseCool: 0
[21:15:27]  Revive: 0 | MaxRevive: 25

...

[21:17:22]  Starting PokemonGo Bot....
[21:17:24] Using lucky egg ... you have 12
[21:17:42] Server is throttling, reconnecting in 30sec
[21:18:12] [x] Coordinates found in passed in location, not geocoding.
[21:18:12]
[21:18:12] Location Found: 43.63954594864653,-79.3757164478302 // Jack Leyton Ferry
[21:18:12] GeoPosition: (43.6395459, -79.3757164, 0)
[21:18:12]
[21:18:12] Attempting login to Pokemon Go.
[21:18:13]  Login to Pokemon Go successful.
[21:18:14]
[21:18:14]  --- TrainerName ---
[21:18:14]  Level: 31 (Next Level: 188540 XP) (Total: 2811460 XP)
[21:18:14]  Pokemon Captured: 5558 | Pokestops Visited: 6307
[21:18:14]  Pokemon Bag: 152/300
[21:18:14]  Items: 439/600
[21:18:14]  Stardust: 320615 | Pokecoins: 30
[21:18:14]  PokeBalls: 124 | GreatBalls: 20 | UltraBalls: 43
[21:18:14]  RazzBerries: 49 | BlukBerries: 0 | NanabBerries: 0
[21:18:14]  LuckyEgg: 12 | Incubator: 11 | TroyDisk: 5
[21:18:14]  Potion: 1 | SuperPotion: 0 | HyperPotion: 0
[21:18:14]  Incense: 22 | IncenseSpicy: 0 | IncenseCool: 0
[21:18:14]  Revive: 0 | MaxRevive: 25
[21:18:14]
[21:18:14]
[21:18:18]  Starting PokemonGo Bot....
[21:18:19] Using lucky egg ... you have 12
[21:18:37] Server is throttling, reconnecting in 30sec
[21:19:07] [x] Coordinates found in passed in location, not geocoding.
[21:19:07]
[21:19:07] Location Found: 43.63954594864653,-79.3757164478302 // Jack Leyton Ferry
[21:19:07] GeoPosition: (43.6395459, -79.3757164, 0)
[21:19:07]
[21:19:07] Attempting login to Pokemon Go.
[21:19:09]  Login to Pokemon Go successful.
[21:19:10]
[21:19:10]  --- TrainerName ---
[21:19:10]  Level: 31 (Next Level: 188540 XP) (Total: 2811460 XP)
[21:19:10]  Pokemon Captured: 5558 | Pokestops Visited: 6307
[21:19:10]  Pokemon Bag: 152/300
[21:19:10]  Items: 439/600
[21:19:10]  Stardust: 320615 | Pokecoins: 30
[21:19:10]  PokeBalls: 124 | GreatBalls: 20 | UltraBalls: 43
[21:19:10]  RazzBerries: 49 | BlukBerries: 0 | NanabBerries: 0
[21:19:10]  LuckyEgg: 12 | Incubator: 11 | TroyDisk: 5
[21:19:10]  Potion: 1 | SuperPotion: 0 | HyperPotion: 0
[21:19:10]  Incense: 22 | IncenseSpicy: 0 | IncenseCool: 0
[21:19:10]  Revive: 0 | MaxRevive: 25
[21:19:10]
[21:19:10]
[21:19:14]  Starting PokemonGo Bot....
[21:19:16] Using lucky egg ... you have 12
[21:19:39] Server is throttling, reconnecting in 30sec

Those are just a few, but you get the idea.
It eventually sorts itself out, but I've seen it waste at least 1 - 2 eggs trying.
I'd open a new issue, but since everyone's already here, figured I'd just post it and change the title.
Is the exception handler running after the EvolvePokemon task?

Btw, if you want me to just make a new issue and close this one, lemme know.

Also, everything works much nicer with "use_lucky_egg": false. Seems to avoid the reconnection loop.

Traceback (most recent call last):
File "pokecli.py", line 38, in
from pgoapi.exceptions import NotLoggedInException, ServerSideRequestThrottlingException, ServerBusyOrOfflineException
ImportError: cannot import name ServerSideRequestThrottlingException

Hi, I am unsure if this is 100% related. But if you already have an egg active and run the script with use_lucky_egg:true, it will get into this loop:

[10:18:08] Using lucky egg ... you have 1
[10:18:28] Server is throttling, reconnecting in 30sec

Disabling egg fixes it.

Still occurring on commit 4a1f6493a78ce246aac81f243d2f562f22880529.
use_lucky_egg:false does fix the loop.

ok now i get only the spam
[16:16:23] Server is throttling, let's slow down a bit
[16:16:25] Server is throttling, let's slow down a bit
[16:16:26] Server is throttling, let's slow down a bit
[16:16:27] Server is throttling, let's slow down a bit
[16:16:28] Server is throttling, let's slow down a bit

But the bot is working

same error: "Server throttled too many times" when using Lucky egg
after set Lucky Egg to false - starts working.


update dependency angular-material

Not compatible with latest angular-material version : 1.0.0

Works for me. What's your error?

I'm getting a difference:
v0.11.4

v1.0.0 (missing page size)

@stefanahman I'm not using pagination on this current project. I'll enable it an see if mine fails as well.

I'm getting an error to upgrade to the new angular-material version when I'm doing a "bower update".
The issue is on the file bower.json

trying to force angular material to be @1.0.0 by running
meteor remove angular:angular-material
meteor add<EMAIL_ADDRESS>
yields the following
=> Errors while adding packages:

While selecting package versions:
error: Conflict: Constraint<EMAIL_ADDRESS>is not satisfied by angular:angular-material 1.0.0.
Constraints on package "angular:angular-material":
*<EMAIL_ADDRESS><- top level
*<EMAIL_ADDRESS><- dmgxmg:angular-material-data-table 0.7.6

This shouldn't be an issue anymore.


Remove node reboot on CI

The reboot has been there to replace kernel-default-base with
kernel-default, but we could probably live with kernel-default-base.
Lets try it out.
Why is this PR needed?
Does it fix an issue? addresses a business case?
add a description and link to the issue if one exists.
Fixes https://github.com/SUSE/avant-garde/issues/1147
What does this PR do?
please include a brief "management" technical overview (details are in the code)
Anything else a reviewer needs to know?
Special test cases, manual steps, links to resources or anything else that could be helpful to the reviewer.
Info for QA
This is info for QA so that they can validate this. This is mandatory if this PR fixes a bug.
If this is a new feature, a good description in "What does this PR do" may be enough.
Related info
Info that can be relevant for QA:

link to other PRs that should be merged together
link to packages that should be released together
upstream issues

Status BEFORE applying the patch
How can we reproduce the issue? How can we see this issue? Please provide the steps and the prove
this issue is not fixed.
Status AFTER applying the patch
How can we validate this issue is fixed? Please provide the steps and the prove this issue is fixed.
Docs
If docs need to be updated, please add a link to a PR to https://github.com/SUSE/doc-caasp.
At the time of creating the issue, this PR can be work in progress (set its title to [WIP]),
but the documentation needs to be finalized before the PR can be merged.
Merge restrictions
(Please do not edit this)
We are in v4-maintenance phase, so we will restrict what can be merged to prevent unexpected surprises:
What can be merged (merge criteria):
    2 approvals:
        1 developer: code is fine
        1 QA: QA is fine
    there is a PR for updating documentation (or a statement that this is not needed)

We need kernel-default (and reboot) due https://bugzilla.suse.com/show_bug.cgi?id=1149605 - missing ceph client side modules in kernel-default-base. The fix will probably not land earlier than in SLE15-SP2.
It is required for testing compatibility of CaaSP with SES/ceph.

IIRC we were missing some modules on the JeOS image for cilium to work as well. Check:

https://github.com/SUSE/avant-garde/issues/291
https://github.com/SUSE/avant-garde/issues/490

Unsure if https://github.com/SUSE/avant-garde/issues/490#issuecomment-508071732 was addressed:

The fixed kernel-default-base is available over official SCC updates channel for SLE-15-SP1 but not present in any official JeOS image yet.

Part of the rationale for the PR was.to find out what breaks.
We are running against JeOS-QU1 which is basically all maintenance updates as of a few weeks ago. Chances are good that this is in. The main deal breaker is the missing ceph modules if we do need those like it was pointed out.

Hi!
New code has been merged in master regarding terraform 0.12. Please rebase your branch to take this changes in.
Happy hacking


Replace Bash and Python scripts with Rust

We have a bunch of Python scripts in our repository for CI stuff, linting, etc.
We would like to replace them all with Rust, perhaps using something like xtask.
Some things we need to make sure of:

The helper scripts should still be single-file (not need a Cargo.toml per script).See e.g. https://github.com/rust-lang/rfcs/pull/3424
Each file should have very light dependencies and compile quickly (avoid e.g. clap)
Work hard on keeping the code simple and terse

Related issues:

https://github.com/rerun-io/rerun/issues/2200
https://github.com/rerun-io/rerun/issues/2174

True, but python still requires a separate pip install -r … step at the moment which cargo run doesn't, but that may be something pixi will solve for us

I'd argue our ubiquitous use of requirements.txt is a bit the issue there. We should put everything in pyproject.toml for a centralised, single source of truth, using this pattern:
[project.optional-dependencies]
tests = ["pytest==7.1.2"] # we somehow have this here already, not sure we actually use it
dev = [
    # .... put everything we need
]
docs = [
    # ... if we feel necessary, we can sub-categorise
]

Then, pip install -e ".[dev]" should do the trick.
The disadvantage is that these "extra" are published/visible to pypi. Poetry includes another mechanism (optional groups) that would be a better fit.

The point I was trying to make is that we are primarily a Rust shop. To work on e.g. the Rerun viewer, you should ideally need only to install Rust, and that's it. Anything beyond that are extra steps that we should try to avoid, including installing Python, pip, and any pip requirements.
Ideally you should only need to install Python if you are working on the Python SDK.
Just like you should only need to install a CMake if you are working on the C++ SDK.

I'm not totally on-board with that.
Rust users should cargo add rerun and not have to think of Python—I agree with that. Contributors, on the other hand, are by nature exposed to the project's build system (in the broad meaning of the term).
The build system needs to strike a balance between up-front setup for contributor vs. constraints on its day-to-day maintenance/development. My position is that banning Python from the build system would shift that balance to a level that would overall be detrimental to the dev experience. This is obviously a somewhat subjective topic. Maybe less so is the question of being a contributor without the ability to run the Python test suite.

If we replace lint.py with Rust, we should consider using ast_grep_core of https://github.com/ast-grep/ast-grep

We (well, @jprochazk) have started porting more and more .sh and .py scripts to Rust, and so far I think it has been a win. However, so far each such "Rust script" has become its own separate crate, which I think is the wrong direction:

It requires many files (crate folder, Cargo.toml, src folder, main.rs, maybe a README.md)
It makes it harder to add a new quick command (a lot of boilerplate setting up the above files)
It adds more binaries (https://github.com/rerun-io/rerun/issues/4623)

So, I think we should consider an xtask-esque approach, where a single Rust binary multiplexes out into different Rust "scripts", so that each script is just a file added to the same crate.

all subtasks done now!


Have ProducerActor handle exceptions thrown by consumer lag checker

The lagChecker.getConsumerGroupLag is a blocking call and also can potentially fail. Because of this, we should be wrapping in a future and properly handling any exceptions.

Codecov Report

Merging #88 (e8f1c08) into main (046e738) will decrease coverage by 3.51%.
The diff coverage is 100.00%.

:exclamation: Current head e8f1c08 differs from pull request most recent head 751a997. Consider uploading reports for the commit 751a997 to get more accurate results

@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
- Coverage   76.37%   72.86%   -3.52%
==========================================
  Files         157      166       +9
  Lines        2993     3140     +147
  Branches       77       80       +3
==========================================
+ Hits         2286     2288       +2
- Misses        707      852     +145

Impacted Files
Coverage Δ

.../surge/internal/kafka/KafkaProducerActorImpl.scala
85.00% <100.00%> (+0.18%)
:arrow_up:

...a/surge/internal/persistence/PersistentActor.scala
95.65% <0.00%> (-0.63%)
:arrow_down:

...e/multilanguage/scalasdk/BusinessServiceImpl.scala
0.00% <0.00%> (ø)

...a/com/ukg/surge/multilanguage/scalasdk/Model.scala
0.00% <0.00%> (ø)

.../ukg/surge/multilanguage/scalasdk/ScalaSurge.scala
0.00% <0.00%> (ø)

...tilanguage/GenericAsyncAggregateCommandModel.scala
0.00% <0.00%> (ø)

...ultilanguage/MultilanguageGatewayServiceImpl.scala
0.00% <0.00%> (ø)

...surge/multilanguage/MultilanguageSidecarMain.scala
0.00% <0.00%> (ø)

...main/scala/com/ukg/surge/multilanguage/Model.scala
0.00% <0.00%> (ø)

...rge/multilanguage/MultilanguageGatewayServer.scala
0.00% <0.00%> (ø)

... and 1 more

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 b6819d2...751a997. Read the comment docs.


ModuleNotFoundError: No module named 'pywps.wpsserver'

There seems to be an incompatibility between the latest versions of pywps (4.5.0) and pywps-flask (master branch as of today).
$ git clone https://github.com/geopython/pywps-flask.git .

$ python demo.py
Traceback (most recent call last):
  File "demo.py", line 36, in <module>
    from processes.area import Area
  File "/home/jovyan/wps/pywps-flask/processes/area.py", line 6, in <module>
    from pywps.wpsserver import temp_dir
ModuleNotFoundError: No module named 'pywps.wpsserver'

$ python
Python 3.6.9
>>> import pywps
>>> pywps.__version__
'4.5.0'

For what it's worth, I also tried using an earlier version of pywps, but that led to other dependency version conflicts.
$ pip install pywps flask
Requirement already satisfied: pywps in /env/lib/python3.6/site-packages (4.2.4)
Requirement already satisfied: flask in /env/lib/python3.6/site-packages (2.0.0)
Requirement already satisfied: werkzeug in /env/lib/python3.6/site-packages (from pywps) (2.0.1)

$ python -c "import pywps"
Traceback (most recent call last):
  File "/env/lib/python3.6/site-packages/pywps/exceptions.py", line 17, in <module>
    from werkzeug._compat import text_type
ModuleNotFoundError: No module named 'werkzeug._compat'

I was facing the same issue. Have found a local workaround with the following versions. However, now I am not sure if the tested stuff will work with the newest PyWPS; a general solution would be appreciated.
pip install flask==1.1.4 werkzeug==1.0.1 pywps==4.2.11

Same here.

Still valid issue. What is the reason of python-flask to be broken for so long time?

Update:
pip install flask==1.1.4 werkzeug==1.0.1 pywps==4.2.11 MarkupSafe==2.0.1

Also got the same problem:
pywps: 4.5.2
flask: 2.2.2
python:3.10.6
I removed Area from the demo project under the import and Processes. Than the demo would start!

For testing, if you have QGIS, you can install the WPS Client (enable experimental plugins first).

FYI, for anyone still encountering the issue:
If you just want to use PyWPS with Flask, you do not need this repo (which is apparently just a demo, and seems defunct and overcomplicated anyway). Instead follow the standard instructions for PyWPS (perhaps in combination with the Flask instructions for WSGI apps).
A fairly minimal example goes roughly like this:
...
For real applications you would use one of the pywps geometry input types.

For testing, if you have QGIS, you can install the WPS Client (enable experimental plugins first).


[Bug]: Cell range option fails and throws an error related to Memory

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When user navigates from Where clause to Cell range for "Fetch many" cmd it is observed that cell range is not being executed and throws an error "Appsmith In Memory Filtering Failed"
Steps To Reproduce

Authorise Gsheet
Select Fetch Many
Select and add filter format for "Where Clause"
add the necessary filter
Click on RUN
Select "Cell range" in the drop down in filter format
Add the range field
Click on RUN
and observe the error Is displayed to the user

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
cloud

@prapullc - can you please add error snaps for better understanding of issue?


Add elm-lang/html to dependencies

Add elm-lang/html to dependencies list in elm-packages.json
Reason:
Was shown error messages below when try to load Main.Elm in ./examples/simple
I cannot find module 'Html'.

Module 'Main' is trying to import it.

Potential problems could be:
  * Misspelled the module name
  * Need to add a source directory or new dependency to elm-package.json

If you cd examples/simple and ./runserver the elm-packages.json in there has the needed html library.
elm-ethereum itself has no html dependencies, so no need to add it in the main lib.
Hope that helps, Cheers!

Ah make sense, cheers


Register "Get Help" command with the right name

Fixes #790.
I'll take a look at the other commands to make sure they're all correct.

I've just fixed in minute ago in 95cf0ef52c57e2c4b466132b95f4c3df3f2e94d8, sorry!


suggest bots in empty feed

closes #188
Can be better!
The query need to be improve later

Creates #197

Closes #197


How to replace other photos

Hello, I tried it with another photo and found no effect. I want to know if this program has any special requirements for photos, and how can I replace photos

Hello, I'm not sure what do mean with photos. Do you want to display photos on top of the marker?


Define distributed restore point XLOG record type

Define a new XLOG record type XLOG_DISTRIBUTED_RESTORE_POINT which will
be used to identify a consistency point across a Greenplum cluster
(master and segments). This consistency point will enable a user to
recover a Greenplum cluster to a specific point where the master and
segments are synchronized in terms of distributed transaction commits.
For example, this could enable point in time recovery or cluster-wide
asynchronous WAL replication for Greenplum.
Introduce catalog functions create_distributed_restore_point() and
create_distributed_restore_point_on_segments() to allow users to create
a distributed restore point across the Greenplum cluster.
Co-authored-by: Jimmy Yih<EMAIL_ADDRESS>

We would instead leverage xl_restore_point which is currently used for creating restore point. This would suffice for the use case of distributed restore point as well. Closing this PR.


Which SGW/PGW?

Hi,
Is there any open source implementation of EPC with SGW/PGW that we can use/test with that?
Thanks!

Hi,
There is no opensource based S-GW/P-GW solutions that are available to validate the OpenNESS APIs.
Regards,


"Delete Data" is broken on Windows

What version of WebTorrent Desktop? master
What operating system and version? Windows 10
What did you do? Go to any multi-file torrent. Right-click, then click Delete Data.
What did you expect to happen? It should delete the torrent from the list and also delete the whole folder for that torrent from the Downloads folder.
What actually happened? It deletes the torrent from the list, but only deletes the first file, leaving the rest of the folder intact.
This is the first bug found by the integration tests. @feross

NICE 👍 👍 👍


Add option for automatic traceId as a property of the log from current span context

log.Ctx(r.Context()).Infow("This is a log with tracing metadata")

{"level":"info","ts":"2021-10-11T11:25:20.826-0500","caller":"otelzap@v1.0.5/otelzap.go:568","msg":"This is a log with tracing metadata","service":"my-service", "traceId": "traceid-value"}
Why?
This is useful for correlation of tracing and data in toolings like (grafana + prometheus + tempo + loki)

This is actually might be efficient enough and expected by back-end loggers like Loki where trace_id is a label that can be correlated to tracings via grafana.


Range check error

Hi!
This simple code cause range check error (in debug mode) at line 1155
(Lazarus 2.2.4 official, x64 on windows)
procedure TForm1.Button1Click(Sender: TObject);
var
N: TMcJsonItem;
begin
N := TMcJsonItem.Create;
try
N.AsJSON := '{"o": {"k1":"v1", "k2":"v2"}}';
ShowMessage(N.Path('o.k2').AsString);
finally
N.Free;
end;
end;

Hi!
I'm not able to reproduce this error with Lazarus version 2.3.0.
Could you debug with 2.2.4 and interpret the range exception error in line 1155? In other words, describe how the code reach a range error with this example?
Regards,
Marcelo.

Hi!

I'm not able to reproduce this error with Lazarus version 2.3.0.

I tested under 2.3.0, but the result is same as with 2.2.4.
Try MCJson version from github.

Could you debug with 2.2.4 and interpret the range exception error in line 1155? In other words, describe how the code reach a range error with this example?

I'm not sure I understand you, to tell the truth, in my project I always got range check error, if I use "path". So I created a simple example code, see in the first message in this topic.
Debug mode mean I select Debug Mode in project options/compiler.
Thank you!

Hi,
Please could you test with today's update? I've tested with Lazarus 2.2.0 and it has worked fine.
Note: use the .lpi file that was added.
Also, check if your Decimal Separator is "." within Windows' Region configuration.
Regards,
Marcelo

Hi!
Nothing changed with this update. I got range check errors.
Lazarus OFFICIAL 2.2.4 x64 on Windows x64
Do you know what the build mode is?
Project/project options/compilation and linking/build modes. Default is "default". Without debug mode, you can't got range check error.
Thank you!

Hi,
I know what Debug mode is.
Also, could you test the code "as it is" and report some bug? Or, even better, provide a pull request for reparation?
What I think is that your Lazarus installation is broken.
I was able to test this code without problems in two versions, even with 2.2.0 that was nor originally used.
Regards,
I

Hi!
My Lazarus install is clean, I installed only for you from te official installer, to test this great library. Because otherwise I use Lazarus trunk 2.3.0 version via fpcupdeluxe.
If I said this error is present, the this error is present.
Range check error problem for me, because my project is clean, and I got errors only from this library and this bothers me and it indicates a malfunction somewhere in your library.
Thank you for your cooperation!

As I see, range check error is gone, thank you!


question: How to use error-prone in maven without changing the compiler?

I want to use error-prone on my Java project.
However, I am reluctant to to change the compiler configuration and want to keep the normal javac configuration from maven-compiler-plugin.
Basically, it means using use error-prone in the verify phase, as for instance with the findbugs or checkstyle plugin.
How to use error-prone in maven without changing the compiler?

Thanks a lot!

@Stephan202 and where does one exactly configure the <compilerId>javac-with-errorprone</compilerId>?

@namannigam that ID can be any value; it doesn't need to be referenced anywhere else. (Well it's a bit more subtle than that, but don't worry about it.)
If you're asking where this whole blob of XML should best live, I'd recommend to put it inside your parent pom.xml's pluginManagement section:
<project ...>
    ...
    <build>
        <pluginManagement>
            <plugins>
                <!-- here --
            </plugins>
        </pluginManagement>
    </build>
    ...
</project>

But if you have a single pom.xml without a pluginManagement second, you can also configure it directly inside build:
<project ...>
    ...
    <build>
        <plugins>
            <!-- here -->
        </plugins>
    </build>
    ...
</project>

If that doesn't answer your question, I need some more details :)

@Stephan202 Did you misread <id>compile-with-error-prone</id> for <compilerId>javac-with-errorprone</compilerId>‽ Because indeed the <id> of an <execution> can be anything (unless you really want a specific known value), but the <compilerId> of the maven-compiler-plugin's <configuration> needs to be that specific value.
Please note however that this way of configure the maven-compiler-plugin to use ErrorProne won't work with Java 11+; you'd better use the new -Xplugin:ErrorProne way, as explained in https://errorprone.info/docs/installation#maven (that doesn't change how/where you put the <execution>s, only what you put into the <configuration> (and <dependencies>).

Doh, @tbroyer I did misread indeed! Thanks for noticing :)


Migrate Chapters page to the new frontend

As per https://github.com/OWASP/Nest/issues/86 but focusing on /chapters page only

/assign

@arkid15r Can I work on this issue? I've almost completed the my assigned issue and have requested a review on our slack conversation

@tsu-ki did you have a chance to work on it?

@arkid15r yes, i'm halfway done with it. I'll need a couple of more days to complete it, but I'll try to be as quick as possible. thank you for checking up on me!

Has any progress been done towards completing this? We have a milestone that depends on it.

@arkid15r I'm working on it right now and got stuck with a problem, I've have asked @harsh3dev for help as he's already implemented /Projects pages and I'll submit a PR for the same over this weekend. I sincerely apologise for the inconsistency in my work.

Is no one attending to this issue?
@arkid15r
I can implement this if no one has worked on it.
Please let me know.

@harsh3dev  yes, I believe the issue is pretty straigh-forward but it is P1.
Please feel free to contribute the code as you have it done for Chapters recently

Sure, I will be raising the PR tomorrow.


Rosetta Code: Knapsack problem/Unbounded - one incorrect test

Describe your problem and how to reproduce it:
One of the tests in this challenge has wrong result, both in test code and description. It says:
knapsackUnbounded([
  { name:"panacea", value:3000, weight:0.3, volume:0.025 },
  { name:"ichor", value:1800, weight:0.2, volume:0.015 },
  { name:"gold", value:2500, weight:2, volume:0.002 }
  ], 35, 0.35)
should return 75300.

This isn't correct. For example: knapsack having 11 panacea, 3 ichor and 15 gold has value 75900, while being within the weight and value constrains:
11 * 3000 + 3 * 1800 + 15 * 2500 = 75900  // value
11 * 0.3 + 3 * 0.2 + 15 * 2 = 33.9  // weight
11 * 0.025 + 3 * 0.015 + 15 * 0.002 = 0.35  // volume

This seems to be case of precision issue. Multiplication input item weights, volumes and max values for those parameters, to start operations without decimals, makes result as it should be, also for the problematic test.
Add a Link to the page with the problem:
https://www.freecodecamp.org/learn/coding-interview-prep/rosetta-code/knapsack-problemunbounded

Yes, it seems you are right - do you want to propose a solution?

Yes, sorry. The least invasive way to correct the solution seems to be to multiply in function, by the same factor, initial items weights, volumes, and in the first recursive call multiply maxweight and maxvolume.
  for (let i = 0; i < items.length; i++) {
      items[i].weight *= 1000;
      items[i].volume *= 1000;
  }

recurseKnapsack(0, 0, maxweight * 1000, maxvolume * 1000);

This is enough to make calculations on integers and get correct answers. I don't know if just such change would be okay or if more desirable would be more elaborate rewrite of solution. Or at least changing var to let / const and renaming some variables to better names.

would you be willing to open a PR for it?

Definitely yes, although I need advice which approach here would be preferred. Considering that the sample solution in code is just used for internal testing and just small change to it can fix the issue.


Reoccurring events missing

I’m currently pulling my iCloud calendar via caldav and showing it via the custom calendar card. I noticed that non all day reoccurring events do not show up. So if I have a weekly event at 6pm the first one shows up but next week’s 6pm event does not.

This was talked about when this card was first created and the problem is Google does give you a recurringEventId so you know the event is recurring but there's no way to know what the recurring interval is from the data Google gives you.
I tried looking into this again to see maybe I could come up with something this time but as of now, there's no way to know if the recurring event is weekly, biweekly, etc.

Interesting.  I'm using vdirsyncer for caldav for another project connecting to iCloud.  I'm getting the below.  This approach doesn't get the same/similar caldav data?
SUMMARY:Plast
LAST-MODIFIED:20190902T161833Z
DTSTART;TZID=America/Toronto:20191005T143000
CREATED:20190902T161833Z
RRULE:FREQ=WEEKLY;UNTIL=20200601T035959Z

Google API doesn't send raw caldav data only their JSON calendar events


chore: add .releaserc.js

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


Improve documentation of kernel

Improve the documentation of Object and Sys.
Also experiments with the new nitdoc features #1447
Some issues I discovered while writing and using the doc while thinking about nitdoc.

micro-picking classes and methods to include in the README is not fun
headings (###) in the markdown might not have the right level in the generated HTML
having reified property groups (#1413) should help to organize thing and have automatic feedback on it trough the doc
maybe the [[list:]] directive should no list entities not already included by [[doc:]] (or a new [[list_other:]] directive?)
having a way to generate a full linear and strucuted documentation in a single page could simplify the job of the writer when checking the doc.

Can you elaborate on the last issue?

@Morriar : just having a big HTML document with sections everything inside: groups, modules, classes, properties, etc.

One idea reading the documentation of methods like ==, !=.
Since we always use a concrete name in the compiler and model, why not reify this name in the mproperty so it can be displayed in the doc:
== (equals) — Have self and other the same value?

Yeah I see waht you mean with: [[doc:main]]. It should be fixed once the concept generalized to all MDoc entities.

It's cool, +1

I like the idea of the other_list directive. It can also help for micro picking since you can see what you have not documented yet.

need reviews. demo here if some prefer: http://info.uqam.ca/~privat/demodoc/

Aside from the few typos, :shipit: !

Side-note: why are the links in the Program Execution section still in their wikilinks from ?

reroll: applied type fixes and updated sav files for tests


Error adapt existing object with private property

Hi!
I created one more test for WhenMappingPrivateFieldsAndProperties. It should update existing object but it failed.
[TestMethod]
public void Should_Map_To_Existing_Object_Private_Properties_Correctly()
{
    SetUpMappingNonPublicFields<CustomerDTO, CustomerWithPrivateProperty>();

    var dto = new CustomerDTO
    {
        Id = 1,
        Name = "Customer 1"
    };
    var customer = new CustomerWithPrivateProperty(2, "Customer 2");

    dto.Adapt(customer); // customer not changed

    customer.Id.ShouldBe(dto.Id);
    Assert.IsTrue(customer.HasName(dto.Name));
}

Customer object is unchanged. But Adapt method will create new instance of CustomerWithPrivateProperty class which will differ from customer and new instance will be mapped correctly.
[TestMethod]
public void Should_Map_To_Existing_Object_Private_Properties_Correctly_2()
{
    SetUpMappingNonPublicFields<CustomerDTO, CustomerWithPrivateProperty>();

    var dto = new CustomerDTO
    {
        Id = 1,
        Name = "Customer 1"
    };
    var customer = new CustomerWithPrivateProperty(2, "Customer 2");

    var newCustomer = dto.Adapt(customer); // newCustomer is new instance of CustomerWithPrivateProperty and it mapped correctly

    newCustomer.Id.ShouldBe(dto.Id);
    Assert.IsTrue(newCustomer.HasName(dto.Name));
}

@denis-tsv I ran your test, but it seems to be passing, at least on the Development branch.


Support for PostgreSQL function with table as parameter

Version: 2.5.4
Module: quill-jdbc, quill-async-postgres
Database: postgres
PostgreSQL does not have support for calculated / generated columns. There is a workaround which uses defined function with table as a parameter.
For example, we have this table:
           Table "public.signatures"
   Column    |         Type          | Modifiers
-------------+-----------------------+-----------
 id          | character varying(50) |
 html        | text                  |
 template_id | character varying(20) |

... and function defined like this:
create function calculated(signatures) returns text as $$ select $1.id||'_something' $$ language sql;
Then we can call SQL queries like this:
select s.calculated from signatures;
or
select calculated(s) from signatures s;
So I would like to implement this using Quill. Is is obvious that I should use infix to achieve this.
So I tried.
Let us define these models:
case class Signature(id: String, html: String, templateId: String)
case class FullSignature(id: String, html: String, templateId: String, calculated: String)

, where Signature is the model matching the table and FullSignature is the model extended with calculated column.
Then I would use this Quill quote:
def getFullSignature(id: String) = {
    import db._

    val calculated = quote {
      (t: Unit) => infix"calculated($t)".as[String]
    }

    val q = quote {
      querySchema[Signature]("signatures")
        .filter(_.id == lift(id))
        .map(s => models.FullSignature(s.id, s.html, s.templateId, calculated(s)))
    }
  }

The code compiles with warning:
[warn] /home/spidla/play/Signatory/app/services/SignaturesServiceImpl.scala:41:79: a pure expression does nothing in statement position
[warn]         .map(s => models.FullSignature(s.id, s.html, s.templateId, calculated(s)))
[warn]

At runtime, the query generates an error:
[error] c.g.m.a.d.p.PostgreSQLConnection - Error with message -> ErrorMessage(fields=Map(Position -> 40, Line -> 523, Hint -> No function matches the given name and argument types. You might need to add explicit type casts., File -> parse_func.c, SQLSTATE -> 42883, Routine -> ParseFuncOrColumn, Message -> function calculated(integer) does not exist, Severity -> ERROR))

Looks like the problem is in passing the whole table to infix function.
Any ideas?
@getquill/maintainers

val calculated = quote {
  (t: Signature) => infix"calculated($t)".as[String]
}

You had to change type of t to Signature instead of Unit

Well, I feel stupid now. :-) Thank you for kicking me the right way and sorry for unnecessary issue ticket.


NBT tag support.

@RealizedMC Would it be possible to add NBT tagging support for item displays? I mainly would like it to add the Unbreakable NBT tag to an item since my resource pack has custom item textures for items with specific damage values and an unbreakable nbt tag on it.
https://minecraft.gamepedia.com/Tutorials/Command_NBT_tags
It would also be nice to set glow effect on an item without an enchant or enchant an item and hide all tags.

Added the option 'unbreakable:true' for shop items in 3407c06

@RealizedMC Where would I put it in the config, assuming it is functioning as intended? I did the following but I still do not see the item in the shop.
      '16':
        displayed: 277:117 1 name:&bCrown_Hat lore:&dCost:&a_32_Tokens
        cost: 32
        confirm-purchase: true
        unbreakable: true
        message: '&b&lToken &f&l» &7Purchase completed, %player%! &c-32 tokens'
        commands:
        - 'mgive %player% hat_pvpcrown 1'

What it looks like in the GUI shop.

What it looks like in-game when held - a specific durability shovel with unbreakable nbt tag set.

Paper dev 1386 (Spigot 1.12.2)
TokenManager v3.0.3

displayed: 277:117 1 name:&bCrown_Hat lore:&dCost:&a_32_Tokens unbreakable:true

That seems to work, thanks!


Clear logic on missing? method

I think this approach is more obvious since we have inner logic conditions. Here logic conditions are placed on one level

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Found a file with an invalid name: .gitignore

I think it might be reasonable to have for example a .gitignore file in the migrations directory. What do you think about just letting the directory walker skip invalid entries?

PR: https://github.com/Keats/dbmigrate/pull/5


Add compatibility with custom user models

When using a custom user model the username field may not exist on the model.
Django solves this by having a get_username method on the User model as documented here.
Since this is already required for a working custom user model I think it would be great to adhere to the same interface.

I forked the project to implement some features that I needed. Feel free to submit your PR there.
Source: https://github.com/lucasrcezimbra/ninja-api-key
PyPI: https://pypi.org/project/ninja-api-key/


Make environment fails

PIGT version:
Python version: 3.10
Operating System: 5.19.0-41-generic #42~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 18 17:40:00 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Description
I tried to build NeuralPlexer, but failed at building the environment.  It seems that openfold is anticipating a different compiler version.
     /usr/local/cuda/bin/nvcc -I/tmp/pip-install-cha4n9yk/openfold_11bccc4449554c609bc856dc695361f0/openfold/utils/kernel/csrc/ -I/path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include -I/path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include -I/path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/TH -I/path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/THC -I/usr/local/cuda/include -I/path/to/conda/envs/neuralplexer_dev/include/python3.10 -c openfold/utils/kernel/csrc/softmax_cuda_kernel.cu -o build/temp.linux-x86_64-cpython-310/openfold/utils/kernel/csrc/softmax_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options '-fPIC' -O3 --use_fast_math -DVERSION_GE_1_1 -DVERSION_GE_1_3 -DVERSION_GE_1_5 -std=c++14 -maxrregcount=50 -U__CUDA_NO_HALF_OPERATORS__ -U__CUDA_NO_HALF_CONVERSIONS__ --expt-relaxed-constexpr --expt-extended-lambda -gencode arch=compute_89,code=sm_89 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -DTORCH_EXTENSION_NAME=attn_core_inplace_cuda -D_GLIBCXX_USE_CXX11_ABI=0
      In file included from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/extension.h:5,
                       from openfold/utils/kernel/csrc/softmax_cuda_kernel.cu:18:
      /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/all.h:4:2: error: #error C++17 or later compatible compiler is required to use PyTorch.
          4 | #error C++17 or later compatible compiler is required to use PyTorch.
            |  ^~~~~
      In file included from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/c10/util/string_view.h:4,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/c10/util/StringUtil.h:6,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/c10/util/Exception.h:5,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/c10/core/Device.h:5,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/ATen/core/TensorBody.h:11,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/ATen/core/Tensor.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/ATen/Tensor.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/autograd/function_hook.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/autograd/cpp_hook.h:2,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/autograd/variable.h:6,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/autograd/autograd.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/autograd.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/all.h:7,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/extension.h:5,
                       from openfold/utils/kernel/csrc/softmax_cuda_kernel.cu:18:
      /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/c10/util/C++17.h:27:2: error: #error You need C++17 to compile PyTorch
         27 | #error You need C++17 to compile PyTorch
            |  ^~~~~
      In file included from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:4,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/csrc/api/include/torch/all.h:9,
                       from /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/torch/extension.h:5,
                       from openfold/utils/kernel/csrc/softmax_cuda_kernel.cu:18:
      /path/to/conda/envs/neuralplexer_dev/lib/python3.10/site-packages/torch/include/ATen/ATen.h:4:2: error: #error C++17 or later compatible compiler is required to use ATen.
          4 | #error C++17 or later compatible compiler is required to use ATen.
            |  ^~~~~
      error: command '/usr/local/cuda/bin/nvcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for openfold
ERROR: Could not build wheels for openfold, which is required to install pyproject.toml-based projects

failed

CondaEnvException: Pip failed

make: *** [Makefile:87: environment] Error 1

What I Did
make environment

This is because you need to pin certain versions of torch, torchvision and torch-scatter - otherwise openfold will not install and torch will error.
If you set:
In the env yml -
pytorch=1.11.0
In the requirements txt:
torch-scatter==2.0.9
torchvision==1.12.0

You will be able to install without any problems.
I hope this helps.

It now complains that
RuntimeError:
      The detected CUDA version (12.0) mismatches the version that was used to compile
      PyTorch (11.7). Please make sure to use the same CUDA versions.

Does this install work with CUDA 12?  Thanks!

I see - this is likely an issue with the cudatoolkit version in your env and your nvcc version - for me I am using:
cudatoolkit               11.8.0              h4ba93d1_13    conda-forge
Within this environment. If I check my nvcc version:
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

I can see that this matched. So I know It works using 11.8 - that is all I can say.
Maybe try downgrading your nvcc to a lower version, or ensuring that your cudatoolkit version matches your nvcc that you have installed.

@MKCarter Could you kindly show which gcc/g++ version you are using?

Hello,
@forcefield  I did experience the same initial error.
You can resolve the building of openfold by setting the build flags in the setup.py (of openfold) to std=c++17, it is per default set to 14, which breaks CUDA11.8 compilation. Also make sure the loaded gcc version is less than 11 . My default was 13.3 and loading gcc/10.2.0 did the trick with the correct flag.
The secondary issue with mismatch in PyTorch CUDA compiled version I've mitigated by manually installing the correct CUDA (for me cu118) prior to doing the pip installs.
Hope that helps.
Cheers

To follow up appropriately:
PIGT:
Python version: 3.10.13
Linux: RedHat EL, Fedora 8.9 ; 4.18.0-513.5.1.el8_9.x86_64
NVIDIA-SMI 545.23.08              Driver Version: 545.23.08    CUDA Version: 12.3
final installed version for all GPU units CUDA=11.8

Initial mamba env create -f environment_dev.yaml failed due to openfold installation error, initially mismatch in CUDA versions 12.1 (PyTorch) vs 11.8 (installed)
manual installation of PyTorch for cu118: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 fixed the mismatch
openfold installation still failing due to #error C++17 as indicated by @forcefield
downgrade of local gcc required to version lower than 11.0.0 , manual change of setup.py set extra_cuda_flags to std=c++17 -- this successfully installs openfold
manually install all listed pip packages remaining after conda errors, this should resolve now
run make install to finish installation
on testing the neuralplexer-inference CLI the run fails due to pytorch3d failing on import : _C.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops10zeros_like4callERKNS_6TensorEN3c108optionalINS5_10ScalarTypeEEENS6_INS5_6LayoutEEENS6_INS5_6DeviceEEENS6_IbEENS6_INS5_12MemoryFormatEEE this indicates a mismatch between the (mamba/conda) installed pytorch3d and the current torch/CUDA versions
following pytorch3d repository installation instructions required building from source via pip install, --force-reinstall --no-deps, since otherwise other version conflicts will be created by pytorch3d installation

After unpacking the model checkpoints the neuralplexer-inference CLI should work correctly now.

@RMichae1 Thanks for tracing this!
How do you install PyTorch for cu118 in the same conda environment that step 1 is trying to create unsuccessfully?
In step 4, do you mean that you need to do a standard alone installation of openfold?  Likewise for step 8, do you build pytorch3d in the same conda environment that step 1 is trying create?

Here is a Dockerfile that is working for me
Dockerfile
NeuralPLexer-requirements.txt
NeuralPLexer.yml

@RMichae1 Thanks for tracing this!
How do you install PyTorch for cu118 in the same conda environment that step 1 is trying to create unsuccessfully?
In step 4, do you mean that you need to do a standard alone installation of openfold? Likewise for step 8, do you build pytorch3d in the same conda environment that step 1 is trying create?

@forcefield
If resolving the environment with conda (or mamba) fails on the pip (requirements) installs, an environment should have already been created at this point. So you should be able to activate the neuralplexer_dev environment and work from there.
You should be able to install PyTorch cu118 there (within the neuralplexer_dev environment).
Re step 4:
There are different ways to resolve this. You can check-out (/clone) openfold at the pinned commit id and modify the setup.py . I cloned openfold directly (not at the pinned commit), modified the setup file and ran pip install -e . (where . refers to the openfold directory) - the pip install is required to be run in the neuralplexer_dev environment.
And lastly the pytorch3d has to be installed in the same conda environment - the neuralplexer_dev environment via the appropriate pip install.
This should be a pip install --force-reinstall --no-deps "git+https://github.com/facebookresearch/pytorch3d.git@stable" the reinstall is required, since a pytorch3d installation should have been present due to the initial conda/mamba resolve and the no-deps flag is required as to not reinstall pytorch and other dependencies.
Hope that helps!
Cheers
PS: I'm only doing this because Docker is not an option on the target HPC system.

Thanks a lot!  This worked with just one small change to the Dockerfile:

RUN conda run -n NeuralPLexer pip install torch-scatter==2.1.0 -f
https://data.pyg.org/whl/torch-1.13.1+11.7.1.html --no-cache-dir + RUN
conda run -n NeuralPLexer pip install torch-scatter==2.1.0 -f
https://data.pyg.org/whl/torch-1.13.1+cu117.html --no-cache-dir

Best,
Huafeng
On Sat, Feb 17, 2024 at 8:04 AM tkram01 @.***> wrote:

Here is a Dockerfile that is working for me
Dockerfile
https://github.com/zrqiao/NeuralPLexer/files/14318848/Dockerfile-NeuralPLexer.txt
NeuralPLexer-requirements.txt
https://github.com/zrqiao/NeuralPLexer/files/14318846/NeuralPLexer-requirements.txt
NeuralPLexer.yml
https://github.com/zrqiao/NeuralPLexer/files/14318852/NeuralPLexer_yml.txt
—
Reply to this email directly, view it on GitHub
https://github.com/zrqiao/NeuralPLexer/issues/1#issuecomment-1950118696,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADU52CB72LLXHJPVJ2MGLTYUCTG3AVCNFSM6AAAAABDGX7KQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJQGEYTQNRZGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Here is the full Dockerfile that worked for me.  Thanks to @tkram01 for the enabling hard work and sharing.

COPY NeuralPLexer-requirements.txt .
RUN conda run -n NeuralPLexer conda env update --file NeuralPLexer.yml && conda run -n NeuralPLexer conda clean -afy

RUN git clone https://github.com/zrqiao/NeuralPLexer.git && cd NeuralPLexer && conda run -n NeuralPLexer make install

ENTRYPOINT ["conda", "run", "-n", "NeuralPLexer"]

Glad to help! Please add me to the repository so that I can contribute to it. Thanks!
…
On Tue, Feb 20, 2024 at 3:25 PM Zhuoran Qiao @.> wrote: Thanks so much for the contributions @tkram01 https://github.com/tkram01 , @forcefield https://github.com/forcefield , @MKCarter https://github.com/MKCarter , and @RMichae1 https://github.com/RMichae1 ! Hey @forcefield https://github.com/forcefield , would you be willing to make a PR to enable a docker build of the package? In due time, I will update the main branch with (1) better version pins for the dependencies and (2) removal of warnings that do not affect model prediction. — Reply to this email directly, view it on GitHub <#1 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADU52GUXN5RZWBCVX5DITLYUUBFLAVCNFSM6AAAAABDGX7KQOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJVGAYTEMRYGY . You are receiving this because you were mentioned.Message ID: @.>

Thanks @forcefield ! I have added you to the repo contributors. In general, for any public repo you could also create a fork with requested changes and make a pull request to the upstream repo.

Here is the full Dockerfile that worked for me. Thanks to @tkram01 for the enabling hard work and sharing.

COPY NeuralPLexer-requirements.txt .
RUN conda run -n NeuralPLexer conda env update --file NeuralPLexer.yml && conda run -n NeuralPLexer conda clean -afy

RUN git clone https://github.com/zrqiao/NeuralPLexer.git && cd NeuralPLexer && conda run -n NeuralPLexer make install

ENTRYPOINT ["conda", "run", "-n", "NeuralPLexer"]

Hi forcefield,
What's the CUDA and gcc version in your setup? I used CUDA 11.7 and gcc 10.5 and follow your steps solely using conda and pip (not docker), and after pip install the openfold (pip install .), it does not pass the test by runig "scripts/run_unit_tests.sh" in the openfold dir.
I assume it has to correctly install openfold before install neuralplexer? But openfold repo needs CUDA11.3 and pytorch 1.12.1, etc. I'm so confused here :-(

DLLogger @ git+https://github.com/NVIDIA/dllogger.git@0540a43971f4a8a16693a9de9de73c1072020769
openfold @ git+https://github.com/aqlaboratory/openfold.git@103d0370ad9ce07579c20fa9c889a632f9b16618
power-spherical @ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4
fair-esm @ git+https://github.com/facebookresearch/esm@57da016e5d740a9ac5bcf62c3689a42e88584bc
I think this version is no longer available. Is there a workaround?

As far as I can see - it looks like this should still work - if you have torch installed you should be able to run the following:
pip install DLLogger@git+https://github.com/NVIDIA/dllogger.git@0540a43971f4a8a16693a9de9de73c1072020769
pip install openfold@git+https://github.com/aqlaboratory/openfold.git@103d0370ad9ce07579c20fa9c889a632f9b16618
pip install power-spherical@git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4
pip install fair-esm@git+https://github.com/facebookresearch/esm@57da016e5d740a9ac5bcf62c3689a42e88584bc

I just ran this in a fresh environment and this is the output I have:
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting DLLogger@ git+https://github.com/NVIDIA/dllogger.git@0540a43971f4a8a16693a9de9de73c1072020769
  Cloning https://github.com/NVIDIA/dllogger.git (to revision 0540a43971f4a8a16693a9de9de73c1072020769) to /tmp/pip-install-xf9mi5rw/dllogger_86b15378365c4c788894dd3cb6c9bc58
  Running command git clone --filter=blob:none --quiet https://github.com/NVIDIA/dllogger.git /tmp/pip-install-xf9mi5rw/dllogger_86b15378365c4c788894dd3cb6c9bc58
  Running command git rev-parse -q --verify 'sha^0540a43971f4a8a16693a9de9de73c1072020769'
  Running command git fetch -q https://github.com/NVIDIA/dllogger.git 0540a43971f4a8a16693a9de9de73c1072020769
  Resolved https://github.com/NVIDIA/dllogger.git to commit 0540a43971f4a8a16693a9de9de73c1072020769
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: DLLogger
  Building wheel for DLLogger (setup.py) ... done
  Created wheel for DLLogger: filename=DLLogger-1.0.0-py3-none-any.whl size=5654 sha256=f54a1a65a4f5f2778c1e3977a9bdd9e11bc10803265ce4752515bd5b691dccfe
  Stored in directory: /tmp/pip-ephem-wheel-cache-i_z8zgqo/wheels/e9/8d/3f/d9eb545644ec998a186f0ae00a851d4e5467369830f5877d53
Successfully built DLLogger
Installing collected packages: DLLogger
Successfully installed DLLogger-1.0.0
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting openfold@ git+https://github.com/aqlaboratory/openfold.git@103d0370ad9ce07579c20fa9c889a632f9b16618
  Cloning https://github.com/aqlaboratory/openfold.git (to revision 103d0370ad9ce07579c20fa9c889a632f9b16618) to /tmp/pip-install-veynr890/openfold_2c132d795351463fa9a42a21a60d2e72
  Running command git clone --filter=blob:none --quiet https://github.com/aqlaboratory/openfold.git /tmp/pip-install-veynr890/openfold_2c132d795351463fa9a42a21a60d2e72
  Running command git rev-parse -q --verify 'sha^103d0370ad9ce07579c20fa9c889a632f9b16618'
  Running command git fetch -q https://github.com/aqlaboratory/openfold.git 103d0370ad9ce07579c20fa9c889a632f9b16618
  Running command git checkout -q 103d0370ad9ce07579c20fa9c889a632f9b16618
  Resolved https://github.com/aqlaboratory/openfold.git to commit 103d0370ad9ce07579c20fa9c889a632f9b16618
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: openfold
  Building wheel for openfold (setup.py) ... done
  Created wheel for openfold: filename=openfold-1.0.1-cp39-cp39-linux_x86_64.whl size=285116 sha256=9481eecd20405355f6c29e57319126ec1f4ab9785199a65334d1ce58968bbd82
  Stored in directory: /tmp/pip-ephem-wheel-cache-_5lr9yzh/wheels/bb/fa/65/c6478011890e2ef41a8d7c8b0b3739509564da278e00345c39
Successfully built openfold
Installing collected packages: openfold
Successfully installed openfold-1.0.1
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting power-spherical@ git+https://****@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4
  Cloning<EMAIL_ADDRESS>(to revision 290b1630c5f84e3bb0d61711046edcf6e47200d4) to /tmp/pip-install-358wr2e6/power-spherical_beb4f68d83184db899d400641da31dd2
  Running command git clone --filter=blob:none --quiet<EMAIL_ADDRESS>/tmp/pip-install-358wr2e6/power-spherical_beb4f68d83184db899d400641da31dd2
  Running command git rev-parse -q --verify 'sha^290b1630c5f84e3bb0d61711046edcf6e47200d4'
  Running command git fetch -q<EMAIL_ADDRESS>290b1630c5f84e3bb0d61711046edcf6e47200d4
  Resolved<EMAIL_ADDRESS>to commit 290b1630c5f84e3bb0d61711046edcf6e47200d4
  Preparing metadata (setup.py) ... done
Requirement already satisfied: torch>=1.5.0 in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (1.13.1)
Requirement already satisfied: typing-extensions in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from torch>=1.5.0->power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (4.12.2)
Requirement already satisfied: nvidia-cuda-runtime-cu11==11.7.99 in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from torch>=1.5.0->power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (11.7.99)
Requirement already satisfied: nvidia-cudnn-cu11==<IP_ADDRESS> in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from torch>=1.5.0->power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cublas-cu11==<IP_ADDRESS> in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from torch>=1.5.0->power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (<IP_ADDRESS>)
Requirement already satisfied: nvidia-cuda-nvrtc-cu11==11.7.99 in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from torch>=1.5.0->power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (11.7.99)
Requirement already satisfied: setuptools in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from nvidia-cublas-cu11==<IP_ADDRESS>->torch>=1.5.0->power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (72.1.0)
Requirement already satisfied: wheel in ./miniconda3/envs/test_pip/lib/python3.9/site-packages (from nvidia-cublas-cu11==<IP_ADDRESS>->torch>=1.5.0->power-spherical@ git+https://git@github.com/zrqiao/power_spherical.git@290b1630c5f84e3bb0d61711046edcf6e47200d4) (0.44.0)
Building wheels for collected packages: power-spherical
  Building wheel for power-spherical (setup.py) ... done
  Created wheel for power-spherical: filename=power_spherical-0.1.0-py3-none-any.whl size=5276 sha256=39defc370b3f3ff8d4a26ed5a7a6f57a3f5baf39efb4b904e05aafa3f22248a0
  Stored in directory: /tmp/pip-ephem-wheel-cache-dga1thdw/wheels/48/46/63/29262300fd5b96ce075cdd847d0a4c70131f6cb49233589658
Successfully built power-spherical
Installing collected packages: power-spherical
Successfully installed power-spherical-0.1.0
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Collecting fair-esm@ git+https://github.com/facebookresearch/esm@57da016e5d740a9ac5bcf62c3689a42e88584bc
  Cloning https://github.com/facebookresearch/esm (to revision 57da016e5d740a9ac5bcf62c3689a42e88584bc) to /tmp/pip-install-05c9cas6/fair-esm_7a5fa60e14034b7d8e388ecc026ec992
  Running command git clone --filter=blob:none --quiet https://github.com/facebookresearch/esm /tmp/pip-install-05c9cas6/fair-esm_7a5fa60e14034b7d8e388ecc026ec992
  WARNING: Did not find branch or tag '57da016e5d740a9ac5bcf62c3689a42e88584bc', assuming revision or ref.
  Running command git checkout -q 57da016e5d740a9ac5bcf62c3689a42e88584bc
  Resolved https://github.com/facebookresearch/esm to commit 57da016e5d740a9ac5bcf62c3689a42e88584bc
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: fair-esm
  Building wheel for fair-esm (pyproject.toml) ... done
  Created wheel for fair-esm: filename=fair_esm-2.0.1-py3-none-any.whl size=95474 sha256=d1a55a9436ad6cc93646c7ffeb67459459f282b7d5ef0db55a12b320c97b51fe
  Stored in directory: /tmp/pip-ephem-wheel-cache-my5hbyl9/wheels/eb/71/85/15806313aef887b7cff981e191e63e585c7ad93d24554e084a
Successfully built fair-esm
Installing collected packages: fair-esm
Successfully installed fair-esm-2.0.1

It does appear that for fair-esm the branch or tag may have changed, but it should still install fair-esm for you. Could you post the error you are seeing?
Thanks,
Mike

Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'
Pip subprocess error:
Running command git clone --filter=blob:none --quiet https://github.com/NVIDIA/dllogger.git /tmp/pip-install-cxr8vymu/dllogger_d657669e7bc84a7fba24d02e5237d21f
Running command git rev-parse -q --verify 'sha^0540a43971f4a8a16693a9de9de73c1072020769'
Running command git fetch -q https://github.com/NVIDIA/dllogger.git 0540a43971f4a8a16693a9de9de73c1072020769
Running command git clone --filter=blob:none --quiet https://github.com/aqlaboratory/openfold.git /tmp/pip-install-cxr8vymu/openfold_0b5d96e1c866436e94c1ad1ca93495a2
Running command git rev-parse -q --verify 'sha^103d0370ad9ce07579c20fa9c889a632f9b16618'
Running command git fetch -q https://github.com/aqlaboratory/openfold.git 103d0370ad9ce07579c20fa9c889a632f9b16618
Running command git checkout -q 103d0370ad9ce07579c20fa9c889a632f9b16618
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [8 lines of output]
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/tmp/pip-install-cxr8vymu/openfold_0b5d96e1c866436e94c1ad1ca93495a2/setup.py", line 19, in
import torch
File "/home/lnptest/anaconda3/envs/neuralplexer_dev/lib/python3.9/site-packages/torch/init.py", line 218, in
from torch._C import *  # noqa: F403
ImportError: /home/lnptest/anaconda3/envs/neuralplexer_dev/lib/python3.9/site-packages/torch/lib/libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
failed
CondaEnvException: Pip failed
The following error occurs, and I can't proceed any further.
Thanks,
Danid

Hi Danid,
It looks like this is due to the version of torch you have installed - this line is the key to the error:
ImportError: /home/lnptest/anaconda3/envs/neuralplexer_dev/lib/python3.9/site-packages/torch/lib/libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent
Did you install torch without cuda? Do you have a GPU enabled machine?
I think to install and run NeuralPlexer cuda enabled torch is needed.

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
I had installed version 11.7 of CUDA. However, I keep encountering errors.

OK, after looking at the torch error - it may be that your env has the wrong mkl version installed. This torch error is thrown when mkl 24.1+ is installed - if you can downgrade your mkl to be 24.0.0 then you should fix the bug.
https://github.com/pytorch/pytorch/issues/123097 - see this github issue for more information

Oh, I'll give it a try and leave a comment afterward. Thank you!
thank!
Danid


Logging! Could have

I'd like to be able to see logs of what the library did. What steps did it take? Why did it not evaluate x? Why did it decide that y was invalid?
As per discussed on slack, filing an issue =]

I have ideas... the question is: are any of them good?

Partial implementation: see https://github.com/json-schema-org/JSON-Schema-Test-Suite/issues/291