luci-proto-3g: fix error on proto selection

If you select the proto 3g you will see the following error

Missing protocol extension for proto "3g"
cannot open /usr/lib/lua/luci/model/cbi/admin_network/proto_3g.lua: No such file or directory

To fix this move the 3g proto from luci-proto-ppp to luci-proto-3g and add the missing file proto_3g.lua under /model/network/.
I am open this PR again because the other discussion #1682 was not related to this topic anymore. As suggested by @yousong.

Looks like this is the same change as with #1682 and it also looks good to me as well.  My mind must be out of track when I said "new change will be very different" 😕 sorry for the trouble.

@yousong no problem :smiley:
@hnyman sorry for the ping but could you have a look at this issue as well?

@yousong no problem thanks for merging


Angular CLI Configuration Based Styles

Versions
6.0.3

Is it possible to include common styles when we build the app and include configuration specific styles along with it?
I have an app which uses different material themes depending on the configuration used during the build. This is how build section of app's angular.json looks like:
    "build": {
      "builder": "@angular-devkit/build-angular:browser",
        "options": {
            "outputPath": "dist/my-app",
            "index": "src/index.html",
            "main": "src/main.ts",
            "tsConfig": "src/tsconfig.app.json",
            "scripts": [ ],
            "styles": [
              // These are the common styles
              "src/styles.scss"
            ],
            "assets": [
              "src/assets",
              "src/favicon.ico"
            ]
          },
          "configurations": {
            "theme-one": {
              "styles": [
                "src/styles/themes/theme-one/material.theme.scss"
              ]
            },
            "theme-two": {
              "styles": [
                "src/styles/themes/theme-two/material.theme.scss"
              ]
            }
          }
        },

Observed behavior
Current behavior is that when I specify the configuration, the styles from that configuration are built and build:options:styles are ignored.
Desired behavior
I would like to add/build the styles specified in individual configuration along with the styles specified in build:options. For example, using the following command:
ng build --configuration theme-one
The above command should build "src/styles.scss" and "src/styles/themes/theme-one/material.theme.scss". Same for theme-two.

@faisalmuhammad
You can use this.
First specify import in styles.scss.
@import 'path/to/custom/theme-name.scss';

Create same configurations but with different fileReplacements array.
Just add JSON element to fileReplacements array, to replace one file with another.
"fileReplacements": [
    {
        "replace": "AngularApp/src/environments/environment.ts",
         "with": "AngularApp/src/environments/environment.prod.ts"
     },
     {
        "replace": "path/to/custom/theme-name.scss",
         "with": "path/to/custom/theme-one.scss"
     }
 ]

@duki994 , Unfortunately this does not solve the problem. I am looking for a solution where I can build my app with multiple configurations. This is not possible at the moment.

Heya, the feature you are requesting is partially https://github.com/angular/angular-cli/issues/11149 and partially https://github.com/angular/angular-cli/issues/10612. I'm closing this one not because it doesn't have merit, but just because there's already a conversation going on for the individual bits in those issues.


how to load model pytorch_model.bin

Is there anyway to direct load model, such as pytorch_model.bin

@hzylyq,
Yes. You can load (unpickle) Pytorch model bin using subpackage 'pickle'.
See example at https://github.com/sugarme/gotch/blob/7153719f596ffadabba1272730c2edf2bc8f0ce6/example/pickle/main.go

well, how load m3e-base model.https://huggingface.co/moka-ai/m3e-base

 err := pickle.LoadInfo("/home/huzhiyang/pytorch_model.bin") 	if err != nil { 		log.Fatal(err) 	}
LoadInfo() failed: Decode() failed: expected 'OrderedDict' type, got *pickle.Dict
exit status 1
It's fail

I unzip pytorch_model.bin and I use ts api.still got an error.
_, err := ts.Load("/home/huzhiyang/pytorch_model/data.pkl") if err != nil { 	log.Fatal(err) }
Libtorch API Error: torch::jit::load() received a file from torch.save(), but torch::jit::load() can only load files produced by torch.jit.save()

close for now. If you want to see example, please see the folder in example folder or other previous closed issues.


Update README.md

Please see #993. Basically, the code examples are so simple that I don't think it's worth sacrificing the readability of the plain-text file for some syntax highlighting.


Authentic handler

Finishes #21
Closes #20

@joshuap This is 👍 good to go.  If this should be released immediately, I'll add a version bump to this pull.

@robacarp thanks! I got behind on reviews. Can you release if you haven't yet?


pi_statusdisplay and sh1306 i2c device

Hi Dominik,
I got luma.oled running on my rpi with an sh1306 i2c oled display.
Running the sample code from the luma.oled project works without a problem.
As I am more an interested user than a coder, I am suffering difficulties getting pi_statusdisplay to work.  Upon trying this I get:
`$ python3 main.py
Version: luma.oled 3.4.0 (luma.core 1.12.0)
Display: ssd1306
Interface: i2c
Dimensions: 128 x 64
Traceback (most recent call last):
File "main.py", line 8, in
import oled_control as oled #Modifizierter Display-Treiber
File "/root/pi_statusdisplay/oled_control.py", line 284, in
font = make_font(STANDARD_FONT, STANDARD_FONT_SIZE)
File "/root/pi_statusdisplay/oled_control.py", line 35, in make_font
return ImageFont.truetype(font_path, size)
File "/usr/local/lib/python3.7/dist-packages/PIL/ImageFont.py", line 642, in truetype
return freetype(font)
File "/usr/local/lib/python3.7/dist-packages/PIL/ImageFont.py", line 639, in freetype
return FreeTypeFont(font, size, index, encoding, layout_engine)
File "/usr/local/lib/python3.7/dist-packages/PIL/ImageFont.py", line 188, in init
font, size, index, encoding, layout_engine=layout_engine
OSError: cannot open resource
`
Any help on this is highly appreciated.
Cheers,
bighegi.

Hi,
it looks like you don't have the necessary fonts installed. Simply put the folder 'fonts' in the same folder as the main.py, or change the path to it in der oled_control.py.
But I'm afraid this won't be the last issue, because I never made the code compatible to Python3. I would recommend, that you try to make it work with Python2.7.

Hi Dominik,
downgrading to 2.7 and the fonts issue helped a lot.
Now I got

the clock view working
the pihole view shows (after updating the IP in pihole.py) the bar-diagram, but no text / numbers -- however the __oldPiholeStatus works. - OLED is an ssd1306 via I2C.
weather shows an error that it cannot find weather.wtd, however, i did enter a location and a valid api-key in getWeather.py - maybe you got here an example of a working setup? - For the DWD-Warnings the api seems to have changed. - But I'd be happy to get "normal" weather working in the first place.

If you got an idea or two, this would surely help. Thanks a lot in advance!
Cheers,
bighegi.

Hi,
sorry for the late response. I'm not at home right now, so I can't have a look at my pi. But I try to help you remotely.
The getWeather.py is meant to be called externally via cronjob and edits the weather.wtd. The main.py only reads the weather.wtd. I don't know if the getWeather.py can create the file, so the best would be to create an empty file.
The piHole Status is odd. Could you show me the output of your /api.php?status ?

Hi Dominik,
I'm a bit further, thanks to you hints. But not yet fully there.

I did a "touch weather.wtd" and "touch storm.wtd".
I changed the area for the weather warnings to my area.
I tried to put my location in the openweathermap call.
Then ran getWeather.py and afterwards main.py

The good news: The weather-warnings work now :).
However I have an issue with the openweathermap. Here's what I tried:
LOCATION_ID = '2871034' ## my hometown "Löhne"
and later on I found "YOURDATA" not clear to me ...
response = url.urlopen('http://api.openweathermap.org/data/2.5/'+ YOURDATA)
I tried  ...
response = url.urlopen('https://api.openweathermap.org/data/2.5/weather?q=L%C3%B6hne,de&appid=[my api key here]')
or alternatively ...
response = url.urlopen('https://api.openweathermap.org/data/2.5/weather?id=2871034&appid=[my api key here]')
... how is this code supposed to look like? - I'd appreciate an example from you.
Thanks a lot in advance.
bighegi.

... me again, now the pihole.py issues.
When I call "api.php?status" I get:
status: "enabled"
The "api.php" gives me for the first entries:
domains_being_blocked: 970689
dns_queries_today: 1733
ads_blocked_today: 445
ads_percentage_today: 25.678015
... lines 2-4 is exactly what "__oldPiholeStatus()" reports.
I suppose this is an issue with the other way of drawing text in piholeStatus(). I'm not sure whether this is an I2C or an ssd1306 issue ... in theory luma.oled should take care of this.
Interesting though, that the percentage-graph works ...
Well, maybe you got another idea here, too?
Tnx & good night
bighegi.

Hey, I'm sorry I didn't answer your messages.
Today I updated the script to work in Python3. I also did a bit of refactoring and inline documentation. I hope some things get a lot clearer now. Maybe your first issue with getWeather will be solved.
The API response from pihole looks fine to me. But maybe this issue is solved now too with the new version.
If something's not working please don't hesitate to ask again here. I promise I will answer much faster next time ;)
Dominik

Hi Dominik,
... I'm slowly getting forward, but there are still issues. Just for clarification:

the font to be fa-solid.ttf is fa-solid-900.ttf right?
I need python-configparser to source the config
currently i'm crashing with "import urllib.request as url". - This is apparently not solved by installing python-urllib3.
... any ideas what I need (ubuntu) for the urllib request?

Thx & stay healty
bighegi.

Hi,

that should be correct. I don't know if they changed their naming or if I simply renamed the fonts to look more clean. But you also need fa-brands.ttf for the bootscreen. I'm using the Pi-Logo from there.
configparser and the urllib should work out of the box. I don't think I installed something for this.
Maybe you're still starting it with python2? I updated the script to python3 so you now have to start it via python3 main.py -f ....conf

Hi Dominik,
yes, I forgot the python3 ... I uninstalled python-dev but not python-2.7 ... too bad.
The good news: The script now runns, but it does not do what it is supposed to do.
It recognizes the the ssd1306, makes the font-test with the 4 lines of text and shows the analog clock for 10 secs. Then the display blanks and after about 2 minutes, it shows the clock for another 10secs. - Which means, none of the other modules are working ;-((.
The fonts dir looks like this:
ls -l fonts insgesamt 9044 -rw-r--r-- 1 root root   49432 Mär 10 19:20 'C&C Red Alert [INET].ttf' -rw-r--r-- 1 root root   11380 Mär 10 19:20  ChiKareGo.ttf -rw-r--r-- 1 root root 8377000 Mär 10 19:20  code2000.ttf -rw-r--r-- 1 root root   85484 Mär 10 19:20  creep.bdf -rw-r--r-- 1 root root  134316 Aug  5 22:23  fa-brands.ttf -rw-r--r-- 1 root root  203980 Aug  5 22:24  fa-solid.ttf -rw-r--r-- 1 root root  165548 Mär 10 19:20  fontawesome-webfont.ttf -rw-r--r-- 1 root root   64880 Mär 10 19:20  FreePixel.ttf -rw-r--r-- 1 root root   23280 Mär 10 19:20  miscfs_.ttf -rw-r--r-- 1 root root   22184 Mär 10 19:20  pixelmix.ttf -rw-r--r-- 1 root root   35656 Mär 10 19:20  ProggyTiny.ttf -rw-r--r-- 1 root root    2847 Mär 10 19:20 'README [INET].txt' -rw-r--r-- 1 root root    6656 Mär 10 19:20  tiny.ttf -rw-r--r-- 1 root root   55580 Mär 10 19:20  Volter__28Goldfish_29.ttf
And the config.ini  like this:
`cat config.ini
[weather]
cityid1 = 2871034
cityid2 = 2988507
apikey = [top secret]
#Storm ID from dwd.de - Only for Germany (Example ID: Munich)
stormid = 10575800
[pihole]
ip = <IP_ADDRESS>
#Only for German stations
[timetable]
station = Köln Hbf
Next I rememberd, I forgot to runpython3 get_weather.py(which creates strom.wtd and weather.wtd). When runningpython3 main.pyI get again only the following output on the console:python3 main.py
Version: luma.oled 3.4.0 (luma.core 1.12.0)
Display: ssd1306
Interface: i2c
Dimensions: 128 x 64
`
The only change to the previous tests is, that the analog clock flickers on and off a couple of times ...
And there my creativity ends for today ...
Any help is appreciated ...
Cheers
Stefan.

That's odd. Could you post your crash.log?
I only have one idea:
Every font in the font folder is owned by root. I think it shouldn't be a problem, but please try in your folder where fonts/ lies:
sudo chown -R pi:pi font/
This sets the owner of the folder fonts and every file in it to pi.

Hi Dominik,
I do not have a user "pi" and I am running these tests as root.
Therefore access ought to be not the problem, I think. Moreover, fonts is world-executable + -readable and all the fonts are world-readable.
The crash.log is empty.
Any other ideas?
Thx again
Stefan.

Hm,
there should at least be something in the crash.log.
If there is no exception the problem lies probably deeper but first let's check if the functions are running without an error. First set DEBUG to True and add at the near bottom of the file a print(str(e) in the except from weather() so it should look like this:
...
        try:
            weather()
        except Exception as e:
           print(str(e)
           crashWriter("Weather",e)
        nightMode()
...

Hi Dominik,
thanks for bearing with me.
When just setting DEBUG=True, I get the following output

python3 main.py
Version: luma.oled 3.4.0 (luma.core 1.12.0)
Display: ssd1306
Interface: i2c
Dimensions: 128 x 64
Clock
Weather
Storm
piHole Status
Timetable
PiStatus
Clock
Weather
^C
Stopped by KeyboardInterrupt

Interesting is, than when it writes Weather, the Clock flashes on again for the fraction of a second. Timetable takes >1min. All other modules go through smoothly.
Regarding the extra command, I added a closing bracket: print(str(e)) to make it work, but I get no extra output on the console.
As there are no errors or problems (and no entries in crash.log ... I even made it word-writeable ... just in case), I suspect there is a problem with either:

a missing package (e.g. vcgencmd did not provide status data previously, because it was missing - package libraspberrypi-bin needed to be installed)
the fonts, or
with the OLED config / communications (mine is a ssd1306)
some problem with my path

As the luma-test-modules work, 3. seems less likely.
As I had already font-problems with the python2.7-Version (namely: Pihole module, I got only the bar, not the text. This was the only function, where explicitly a font was specified; oldPiholeStatus works fine), but the fonts are there, I assume that maybe I miss some odd python package for processing ttf-fonts or so ...
If there was a python-fonts package missing,I'd expect some error message. Nevertheless, what about:

python3-fonttools
... I shy away from a quick try, as this wants to install 60(!) packages in total due to dependencies.

python3-qtawesome
... I shy away from a quick try, as this wants to install 72(!) packages in total due to dependencies.

As I am currently testing, I have everything in /root/pi_statusdisplay - could this be a problem to font-access?
That's all I got for now.
Thanks again. And keep cool in the heat today!
bighegi.

Hi,
what os is running on your Raspi? You said you don't have a user named 'pi' so I suspect you have some other type of linux running?
I recently formatted my pi and installed the new version of Raspberry Pi OS (former Raspbian). Except from luma.oled I didn't have to download anything else.
It's really odd the script is not throwing errors. If it couldn't find some packets or fonts he should throw something. But it's running normally, so that shouldn't be the case. Also really odd is, that timetable takes so long. This means internally my script for scrolling the text is running fine. It just displays nothing.
My only idea is, that some of my scripts for printing I wrote in oled_control, are working (or not working) differently on your hardware. But I cant't understand why, as luma should handle everything and even our resolution is the same.
I wrote a absolutely minimum program for you that prints some infos and should show something on the screen.
First it prints with my method. After 5 seconds it draws text on the screen like the clock is drawn or the pihole screen.
Let me know what you're seeing and what the console says.
import oled_control as oled

from luma.core.render import canvas

import time

device = oled.getDevice()
font = oled.getFont()
print('Lines: ' + str(oled.getHeight()))
print('Line-Width: ' + str(oled.getWidth()))

oled.scPrint('Line1','Line2')

time.sleep(5)

with canvas(device) as draw:
    draw.text((0,30), font=font, text='Canvas Text')

time.sleep(1000000)

Hi Dominik,
... well I'am running a raspbian buster. BUT originally this was a voyage-mpd installation (http://linux.voyage.hk/voyage-mpd) for raspbian ... but that was discontinued long ago.
In the meantime I added a lot of stuff, including pihole and upgraded all the way to buster.
Since I have so much special stuff on this box, I shy away from a new install.
What I suggest is, you do a dpkg --get-selections |egrep python and compare that to my output (I currently have python-2.7 and python-3 in parallel). - Very likely this will show the missing package.

dpkg --get-selections |egrep python
dh-python					install
libpython-dev:armhf				install
libpython-stdlib:armhf				install
libpython2-dev:armhf				install
libpython2-stdlib:armhf				install
libpython2.7:armhf				install
libpython2.7-dev:armhf				install
libpython2.7-minimal:armhf			install
libpython2.7-stdlib:armhf			install
libpython3-dev:armhf				install
libpython3-stdlib:armhf				install
libpython3.5-minimal:armhf			deinstall
libpython3.7:armhf				install
libpython3.7-dev:armhf				install
libpython3.7-minimal:armhf			install
libpython3.7-stdlib:armhf			install
python						install
python-configparser				install
python-dev					install
python-gobject-2				install
python-minimal					install
python-pip					install
python-pip-whl					install
python-talloc:armhf				install
python2						install
python2-dev					install
python2-minimal					install
python2.7					install
python2.7-dev					install
python2.7-minimal				install
python3						install
python3-dev					install
python3-distutils				install
python3-lib2to3					install
python3-minimal					install
python3.5-minimal				deinstall
python3.7					install
python3.7-dev					install
python3.7-minimal				install

I tried your code. Copied it into a file called test.py and run it with python3. - As expected, the display says nothing ;-(. On the console I get:

python3 test.py
Version: luma.oled 3.4.0 (luma.core 1.12.0)
Display: ssd1306
Interface: i2c
Dimensions: 128 x 64
Lines: 6
Line-Width: 21
Traceback (most recent call last):
File "test.py", line 22, in
^C    time.sleep(1000000)
KeyboardInterrupt
I hit -C after a few minutes, then changed the value for the final time.sleep :-).

... but the working output with python-2.7 was generated with oled.oPrint() and oled.println().
I tried to modify your sample code accordingly, but I did not get oled.oPrint() to work. oled.println() works fine with python 2.7 and 3:

oled.println(oled.center("Line 1"))
oled.println(oled.center("Line 2"))

Any more clues?
Thanks again.
bighegi.

Hi,
here my output from dpkg. There are definitely some differences. Did you install luma.oled accordingly to this manual?
pi@raspberrypi:~ $ dpkg --get-selections | egrep python
dh-python                                       install
libpython-stdlib:armhf                          install
libpython2-stdlib:armhf                         install
libpython2.7-minimal:armhf                      install
libpython2.7-stdlib:armhf                       install
libpython3-dev:armhf                            install
libpython3-stdlib:armhf                         install
libpython3.7:armhf                              install
libpython3.7-dev:armhf                          install
libpython3.7-minimal:armhf                      install
libpython3.7-stdlib:armhf                       install
python                                          install
python-apt-common                               install
python-minimal                                  install
python-pip-whl                                  install
python-rpi.gpio                                 install
python2                                         install
python2-minimal                                 install
python2.7                                       install
python2.7-minimal                               install
python3                                         install
python3-apt                                     install
python3-asn1crypto                              install
python3-certifi                                 install
python3-cffi-backend                            install
python3-chardet                                 install
python3-crypto                                  install
python3-cryptography                            install
python3-dbus                                    install
python3-debconf                                 install
python3-dev                                     install
python3-distutils                               install
python3-entrypoints                             install
python3-gi                                      install
python3-idna                                    install
python3-keyring                                 install
python3-keyrings.alt                            install
python3-lib2to3                                 install
python3-minimal                                 install
python3-pip                                     install
python3-pkg-resources                           install
python3-requests                                install
python3-secretstorage                           install
python3-setuptools                              install
python3-six                                     install
python3-urllib3                                 install
python3-wheel                                   install
python3-xdg                                     install
python3.7                                       install
python3.7-dev                                   install
python3.7-minimal                               install

At least the draw.text should have drawn something on the screen. That's bare code from luma.oled. So my guess is that it's the few missing python3 libs. Still not understanding why no exceptions are thrown. Maybe bad error handling on luma's side?

Hi Dominik,
thanks for your patience with me :).
I installed all the missing python packages ... though the crypto stuff is clearly not needed ... whatever ...
I did install luma historically following the specified manual in your post.
Now I just re-installed and upgraded form 3.4.0 to 3.5.0.
... but this does not change anyting. ;-(.
Then I checked out the latest luma.examples - python3 font_awesome.py works without problems showing the fa pictograms.
My suspicion is, that something is wrong with the fonts directory, especially with the two manually downloaded ttf-fonts. Could you please compare name and size to yours?

-rw-r--r-- 1 root root 134316 Aug  5 22:23 fa-brands.ttf
-rw-r--r-- 1 root root 203980 Aug  5 22:24 fa-solid.ttf

Copying the fonts dir from the luma examples over mine for the rest of the fonts did not change anything.
Or could it have something to do with me having just a 1" ssd1306 (instead of the bigger ssd1325)?
I'm really running out of ideas ... this all feels so wrong.
It's probably just a minor tweak which is obviously out in the open ... and I miss it.
Thanks again
bighegi.

Hey,
no problem. At this point I'm just as curious as you are ;)
Oh no. I really hoped the missing packages were the problem...
I just replaced my fonts folder with a fresh download from FontAwesome and the example fonts. Still working for me.
-rw-r--r-- 1 pi pi  134316 Aug  9 21:53  fa-brands.ttf
-rw-r--r-- 1 pi pi  203980 Aug  9 21:53  fa-solid.ttf
-rw-r--r-- 1 pi pi   35656 Aug  9 21:51  ProggyTiny.ttf

Or could it have something to do with me having just a 1" ssd1306 (instead of the bigger ssd1325)?

Well, I never tested it on another display. But the differences should be handled by luma.oled and I tried to write my methods to be broadly usable. Furthermore the resolution is the same on both of our displays.
I don't understand, why you can run luma.examples, but not my small script which just use the draw from examples. Did you try to run a few different example files? Maybe there are some issues, too.
Which display exactly do you have? The issue says sh1306, but in your last answer you said ssd1306. The scripts are running with this device description, too. Did you try some other display-configs? For example python3 main.py --display=sh1106
or any of those:
 'ssd1306', 'ssd1309', 'ssd1322', 'ssd1362', 'ssd1322_nhd', 'ssd1325', 'ssd1327', 'ssd1331', 'ssd1351', 'sh1106', 'pcd8544', 'st7735', 'ht1621', 'uc1701x', 'st7567', 'ili9341', 'max7219', 'ws2812')

To rule out my oled_config I modified the little script I sent you yesterday. It now only uses luma directly.
from luma.core.render import canvas
from demo_opts import get_device

import time
import os
from PIL import ImageFont

def make_font(name, size):
    font_path = os.path.abspath(os.path.join(
        os.path.dirname(__file__), 'fonts', name))
    return ImageFont.truetype(font_path, size)

device = get_device()
font = make_font("ProggyTiny.ttf", 16)

print('Device: ' + str(device))
print('Font: ' + str(font))

with canvas(device) as draw:
    draw.text((0,30), font=font, text='Canvas Text')

time.sleep(10)

Dominik

Hi Dominik,
... this thing is starting to drive me nuts ...
Your new test script is showing on the OLED ... nothing!

python3 test2.py
Version: luma.oled 3.5.0 (luma.core 1.14.1)
Display: ssd1306
Interface: i2c
Dimensions: 128 x 64
Device: <luma.oled.device.ssd1306 object at 0x75f56b70>
Font: <PIL.ImageFont.FreeTypeFont object at 0x75f56a50>

Other things I did:

checked ProggyTiny.ttf font
OLED was sold as ssd1306. - But I also tried test-prog and main.py with "--display=sh1106" ... just in case (with no recognisable differences).
Tried the 2nd test script with tiny.ttf instead of ProggyTiny.ttf ... no change
Now I ran through all the luma examples ...

With PYTHON3:
These example-schripts work:
3d_box.py, animated_gif.py, bounce.py, chroma.py, clock.py, colors.py, crawl.py (...cool), demo.py (no dimming though), font_awesome.py, game_of_life.py, greyscale.py, image_composition.py, invaders.py, jetset_willy.py, larson_hue.py, matrix.py, maze.py, perfloop.py, pi_logo.py, runner.py, savepoint.py, scrolling_pixelart.py, sprite_animation.py, starfield.py, terminal.py (though the progress bar does not show, only the percentages), tv_snow.py, welcome.py
These example-scritps do NOT work:
carousel.py (fails to import psutil), sevensegment_demo.py (not supported on a ssd1306 device), sys_histogram.py (fails to import psutil), sys_info.py (fails to import psutil), scripts in hotspot dir (fails to import psutil and hotspot module)
BUT... after the installation of "python3-psutil" working: carousel.py, sys_histogram.py, sys_info.py
Not sure:
dotmatrixtool.py (says only "HELP" on screen) ... but seems to be working after psutil installation ...
These scripts require dependencies (I have not installed so far):
bitstamp_realtime.py (requires pusherclient), bitstamp_ticzker.py (requires requests), picamera_photo.py & picamera_video.py (require picamera), tweet_scroll.py (requires tweepy), video.py (requires pyav), weather.py (requires feedparser)
Effects of the installation of psutils on main.py:
I do now get the char-test of all the different chars at startup, then a blank screen and afterwards the clock.
The rest remains blank as before ... but the char-test worked only on the old version with python2 so far.
So the installation of python3-psutil helped a little ...
But still not getting there ...
Tried again your first test.py script ... no outout. The same applies for the second test-script.
Frustrated for the moment after 2 hours of testing, I hope you find another clue ...
Thx & Greetings
bighegi.


[SPARK-32450][PYTHON] Upgrade pycodestyle to v2.6.0

What changes were proposed in this pull request?

This patch upgrades pycodestyle from v2.4.0 to v2.6.0. The changes at each release:
2.5.0: https://pycodestyle.pycqa.org/en/latest/developer.html#id3
2.6.0a1: https://pycodestyle.pycqa.org/en/latest/developer.html#a1-2020-04-23
2.6.0: https://pycodestyle.pycqa.org/en/latest/developer.html#id2
Changes: Dropped Python 2.6 and 3.3 support, added Python 3.7 and 3.8 support...
Why are the changes needed?

Including bug fixes and newer Python version support.
Does this PR introduce any user-facing change?

No, dev only.
How was this patch tested?

Ran dev/lint-python locally.

cc @HyukjinKwon

Test build #126586 has started for PR 29249 at commit e8be65a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31209/
Test PASSed.

Test build #126586 has finished for PR 29249 at commit e8be65a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

Merged to master.


parse failure: parenthesis in constructor argument

Haddock fails to parse this:
data T2 a b
  = T2         -- ^ This is the documentation for the 'C1' constructor
      (a -> b) -- ^ This is the documentation for the argument of type 'a -> b'
      b        -- ^ This is the documentation for the argument of type 'b'

but this parses fine:
data T1 a b
  = T1   -- ^ This is the documentation for the 'C1' constructor
      a  -- ^ This is the documentation for the argument of type 'a'
      b  -- ^ This is the documentation for the argument of type 'b'

What's the exact error message you are seeing? It's hard to tell wether it's haddock or GHC in question.

I think it's haddock:
Running Haddock on library for hackup-0.20.3..

lib/Hackup/Backends/Restic.hs:50:7: error: parse error on input ‘a’
   |
50 |       a  -- ^ This is the documentation for the argument of type 'a'
   |       ^

Building with stack, using $ stack haddock, but I am not up-to-date:
$ cat  stack.yaml | grep lts
resolver: lts-12.26

$  stack exec haddock -- --version
Haddock version 2.20.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008

$ stack exec ghc -- --version
The Glorious Glasgow Haskell Compilation System, version 8.4.4

I think it's haddock:
Running Haddock on library for hackup-0.20.3..

lib/Hackup/Backends/Restic.hs:50:7: error: parse error on input ‘a’
   |
50 |       a  -- ^ This is the documentation for the argument of type 'a'
   |       ^

Building with stack, using $ stack haddock, but I am not up-to-date:
$ cat  stack.yaml | grep lts
resolver: lts-12.26

$  stack exec haddock -- --version
Haddock version 2.20.0, (c) Simon Marlow 2006
Ported to use the GHC API by David Waern 2006-2008

$ stack exec ghc -- --version
The Glorious Glasgow Haskell Compilation System, version 8.4.4

The error message is actually GHC, can you open a ticket on GHCs issue tracker? Haddock itself never fails parsing the markup. Similar to, say Markdown parsers.

The error message is actually GHC, can you open a ticket on GHCs issue tracker? Haddock itself never fails parsing the markup. Similar to, say Markdown parsers.

I don't know how haddock uses GHC, but the project builds fine otherwise (e.g. $ stack build).
Also, if using comments without the haddock markups (e.g., without ^), haddock builds everything fine.
Are you sure the issue is with GHC?
Here is a detailed excerpt of the build log:
$ LANG=C stack build --haddock --cabal-verbose

...

hackup> haddock
/home/damien/.stack/programs/x86_64-linux/ghc-tinfo6-8.4.4/bin/haddock --ghc-version --hyperlinked-source --quickjump
/home/damien/.stack/programs/x86_64-linux/ghc-tinfo6-8.4.4/bin/ghc --print-libdir -fhide-source-paths
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/autogen
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/autogen
Preprocessing library for hackup-0.20.3..
Running Haddock on library for hackup-0.20.3..
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/doc/html/hackup
/home/damien/.stack/programs/x86_64-linux/ghc-tinfo6-8.4.4/bin/haddock<EMAIL_ADDRESS>--hyperlinked-source --quickjump

lib/Hackup/Backends/Restic.hs:50:7: error: parse error on input `a'
   |
50 |       a  -- ^ This is the documentation for the argument of type 'a'
   |       ^
Haddock coverage:

...

I don't know how haddock uses GHC, but the project builds fine otherwise (e.g. $ stack build).
Also, if using comments without the haddock markups (e.g., without ^), haddock builds everything fine.
Are you sure the issue is with GHC?
Here is a detailed excerpt of the build log:
$ LANG=C stack build --haddock --cabal-verbose

...

hackup> haddock
/home/damien/.stack/programs/x86_64-linux/ghc-tinfo6-8.4.4/bin/haddock --ghc-version --hyperlinked-source --quickjump
/home/damien/.stack/programs/x86_64-linux/ghc-tinfo6-8.4.4/bin/ghc --print-libdir -fhide-source-paths
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/autogen
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/build/autogen
Preprocessing library for hackup-0.20.3..
Running Haddock on library for hackup-0.20.3..
creating .stack-work/dist/x86_64-linux-tinfo6/Cabal-<IP_ADDRESS>/doc/html/hackup
/home/damien/.stack/programs/x86_64-linux/ghc-tinfo6-8.4.4/bin/haddock<EMAIL_ADDRESS>--hyperlinked-source --quickjump

lib/Hackup/Backends/Restic.hs:50:7: error: parse error on input `a'
   |
50 |       a  -- ^ This is the documentation for the argument of type 'a'
   |       ^
Haddock coverage:

...

This was indeed a GHC-side bug, but it was fixed a release or two ago. With Haddock bundled with GHC 8.10.1:

In the upcoming GHC 9.0 series, you won't get errors for misplaced doc strings either - just warnings.

Although I know this wasn't the point of your question, note that single quotes are generally for trying to link to other identifiers (and won't work on anything not identifier-like, such as a -> b). For just mono-spacing, consider using @-delimited blocks.

This was indeed a GHC-side bug, but it was fixed a release or two ago. With Haddock bundled with GHC 8.10.1:

In the upcoming GHC 9.0 series, you won't get errors for misplaced doc strings either - just warnings.

Although I know this wasn't the point of your question, note that single quotes are generally for trying to link to other identifiers (and won't work on anything not identifier-like, such as a -> b). For just mono-spacing, consider using @-delimited blocks.

This was indeed a GHC-side bug, but it was fixed a release or two ago. With Haddock bundled with GHC 8.10.1:

Thank you @harpocrates  and @alexbiehl. I did a test with stackage's nightly-2021-01-02, and I confirm that the parsing error is gone.

In the upcoming GHC 9.0 series, you won't get errors for misplaced doc strings either - just warnings.
Although I know this wasn't the point of your question, note that single quotes are generally for trying to link to other identifiers (and won't work on anything not identifier-like, such as a -> b). For just mono-spacing, consider using @-delimited blocks.

Thanks for the feedback.  Yes, that does not make sense in my minimal example used the issue report, but it does make sense in the project I am working on.

This was indeed a GHC-side bug, but it was fixed a release or two ago. With Haddock bundled with GHC 8.10.1:

Thank you @harpocrates  and @alexbiehl. I did a test with stackage's nightly-2021-01-02, and I confirm that the parsing error is gone.

In the upcoming GHC 9.0 series, you won't get errors for misplaced doc strings either - just warnings.
Although I know this wasn't the point of your question, note that single quotes are generally for trying to link to other identifiers (and won't work on anything not identifier-like, such as a -> b). For just mono-spacing, consider using @-delimited blocks.

Thanks for the feedback.  Yes, that does not make sense in my minimal example used the issue report, but it does make sense in the project I am working on.


Specify members to appear in documentation for pydantic_core

Sets the mkdocstrings handler options in /docs/api/pydantic_core_init.md to include only specified members.
It's also possible to take the opposite approach -- use filter to exclude members that should not appear in the documentation -- but I think the positive members: option approach is more clear.
Will need docstrings in pydantic_core/_pydantic_core.pyi
Change Summary

Related issue number

Checklist

[ ] Unit tests for the changes exist
[ ] Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes where applicable
[ ] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Please review


upgrade hive in 2.3

Signed-off-by: ldpliu<EMAIL_ADDRESS>https://github.com/stolostron/backlog/issues/25252

/cc @elgnay

/lgtm


Encrypted guest root now resizes itself to fit guest

The disk to which the encrypted guest is dd'd is now
2x + 1 the size of the guest root instead of always
defaulting to 25GB
Testing: encrypted ubuntu-14.04, centos6 and rhel6
images and verified the guest booted

Looks good.


Change the behaviour of the save button on dialogues

At the moment, hitting the save button on a dialogue takes you back to the view conversation screen. We should:

Change that behaviour to be "save and stay on this page."
Add a “save and exit” (or something) button that does what the save button does now.

@SteveBarnett ready for review

Bueno! :+1:


Use ETS table instead of application environment variables in riak_core_throttle

Previously, riak_core_throttle had used application environment variables for maintaining its state. However, due to race conditions that manifested during application shutdown, errors would occur that prevented applications from shutting down cleanly. By replacing the use of application environment variables with ETS tables instead, we avoid these errors and shutdown cleanly.
Because riak_core_throttle is not itself a process, it cannot own its underlying ETS table. Thus, the riak_core_table_owner gen_server process was introduced for this purpose.

+1 4067bc4

@borshop merge


Skip node creation for string input when not debugging

Extends changes in #15 to strings as inputNode.
As suggested here: https://github.com/broccolijs/broccoli-debug/pull/15#discussion_r222984702
Need that shirt, you know! 😝

Thank you!


Hydrator?

Is your feature request related to a problem? Please describe.
I miss the hydrator, why did you get rid of it? Or is it being worked on? In general, what's happening to it.
Describe the solution you'd like
Adding the hydrator back or a good description as to what happened to it in the 1.16.4 update.
Additional context
The hydrator was my favorite block in this mod and was just wondering where it went, or if it's coming back, or what's happening. I'm not mad or anything, just curious!
MC Version: 1.16.4
Mod Version: 3.2.5

Please ask your questions in discord, not all the features have been added yet


[Adding Tool]: 8 tools under 'image generation'

What tool are you adding and to what category?
We need to add 8 AI Tools under the category 'image generation'.
Related issue: #947
List of tools is :

PicFinder
Cutout Pro
ImagineMe
ThumbnailMaker
Gencraft
Stockimg
ARTSIO
Draw3D

Add Tool Link
Added tool links:
PicFinder
Cutout Pro
ImagineMe
ThumbnailMaker
Gencraft
Stockimg
ARTSIO
Draw3D
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] The tool is free for use

@inkerton you can only add if the tools are free

ok ,I will check them.

@inkerton you can only add if the tools are free

I changed the list to all free tools. I tried them myself also.


Extensions list can contain objects

https://github.com/SimonSapin/Flask-FlatPages/blob/master/flask_flatpages/utils.py#L45 causes error if markdown extensions list contains non-strings (markdown allows to store extension object in the list). As a quick dirty fix the following code (utils.py, line 45) can be used:
if str(extension).startswith('codehilite'):

Thanks for reporting, will fix shortly


add package version to the package list output

zarf package list now shows the package version of deployed packages.

Fixes #1797

From discussions num 2 could be reworded:
Drop a comment in the issue to let everyone know you're working on it and submit a Draft PR (step 4) as soon as you are able.  If you have any questions as you work through the code, reach out in the [Zarf Dev Kubernetes Slack Channel](https://kubernetes.slack.com/archives/C03BP9Z3CMA).


Customize placeholder and allowed input methods

I thought it could be useful to be able to customize the additional input methods (drop/url paste) and the placeholder, so if I only want to use the file dialog I could do something like:
FileUpload::make(...)
    ->placeholder('Select file')
    ->disableDrop()
    ->disableUrlPaste()

Just a thought, the library is looking great. ☺

Hi @Kturva  Good ideas :)


Reduce low power level

If possible via software, please consider reducing the "L" power level to something more reasonable. Currently, it is over 2.7 W for L power on 2m and over 2.4 W on 70cm. See this video.

Use build option for power reduction

Nice Table of measurements at the end of the film

p.s. Subject POWER also mentioned in Reduce power #52

#egzumer Did you, or someone else, ever measure the output with the reduced option on?

Nice Table of measurements at the end of the film

Only one problem: look at the 27 MHz test at the end. The powermeter measures total power, including spurious and harmonics. So there is no way to be sure ( and I doubt it ) that the measured power is transmitted on the correct frequency.
Only way to really see what is going on is a spectrum analyzer.

I've got only this:

measurement data before firmware: H =4.5 , M=3 w ,L=1.2 data after firmware : H=4.5 w , M <1 w, L < 0.5w . The measured power in low mode is about 200 MWt, the switch device shows only a slight presence of transmission. Thank you so much for your help!

That is what he provided and I didn't want to push him, but it would be nice if someone could do some tests.
I don't know what are the differences between different units. How good the factory calibrations is. What are the different values across spectrum, etc.
I don't have power meter and don't have experience with this topic that is why I didn't want to touch it.

https://github.com/ludwich66/Quansheng_UV-K5_Wiki/wiki/Measurements

The Qunsheng calibration itself contains 3 calibration points for beginning, middle and end for each of the bands.
I will also add calibration editing to chirp driver.

https://github.com/ludwich66/Quansheng_UV-K5_Wiki/wiki/Measurements

That is real good info! And, again, it shows that the HT should not be used outside of the design.
I'm tempted to get myself an SA for Christmas just to see ...

The stock V.26 version is much old for compare and have bad performance , better try with a new online customs firmwares , the official that receives with the walkie or new stock versions for compare with the egzumer version and flash with k5prog and do not use the old UVMOD ver V.26 for reflash . This comparison says only that the old V26 firmware is obsolete out of date

For AsciiWolf
The only way for reduce the power with egzumer firmware for now is transmit with N Narrow mode and L together almost on real distances (tested) and working . On others firmwares you can do others things and/or chose the ultra Narrow option N- that here is not the case.

He uses version 1.26 and not 1.27, on which all custom firmware is based. But I'm not sure if that is an issue.
Looks like testing is happening at 145.475 and 433.575
I measured at 145.0000 with upper VFO. Center of the 2 meter band.

With a powermeter that works up to 150 Mhz (CN620A). Cannot measure the 70 cm.

... and another fresh measurement from my dad recently with QS = egzumer v.19 UV 5R Plus from Quansheng with short and long (38cm) antenna and dummy load:

An implementation of an even lower power setting can be found in this fork https://github.com/armel/uv-k5-firmware-custom
Here: https://github.com/armel/uv-k5-firmware-custom/blob/3e6c2959aeb5fc1b6c250766c8c5f95e601b7ad8/radio.c#L475
Apparently promising a low power setting as low 20mW.
#ifdef ENABLE_FEAT_F4HWN
	// make low and mid even lower
	if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) {
		for(uint8_t p = 0; p < 3; p++ )
		{
			switch (gSetting_set_low) {
				case 0:
					Txp[p] = (Txp[p] * 4) / 19;
					break;
				case 1:
					Txp[p] = (Txp[p] * 4) / 13;
					break;
				case 2:
					Txp[p] = (Txp[p] * 4) / 10;
					break;
				case 3:
					Txp[p] = (Txp[p] * 4) / 7;
					break;
				case 4:
					Txp[p] = (Txp[p] * 4) / 25;
					break;
			}

		}
	}

Maybe the original author of this feature @armel can tell more about the real output power in the end ?
I guess it's especially interesting to make it more PMR446 compliant (TXP < 0.5W)

Hello
any chance this will ever be available? Set "custom" performances for LOW and MID?
Personally, I would find it best if
LOW = 0.5W
MID = 1W
HIGH = about 5W (maximum posible)...

Same here. Although in my case, the "sweet spot" would be 0.5W for LOW, 2W for MID and MAX (5W) for HIGH. :-)

Just read this page
Possibly helpful things to know

The output power 'number' for the lower centre and upper end of each band can be seen  in CHIRP calibration TX power
A 'calibration number for Low Centre and Upper on F3 and another for F6 is inserted at the factory for High Power levels only
The number varies as really you are setting a PA stage gain figure to compensate for a particular hardware.
The number can be set over a wide range but in practice values for high power tend to fall between 110 and 135 on Egzumer Chirp
On F3 the Medium figure is always 105 and the Low is 95.  The 'scale' is different to High power though
On F6 the Medium figure is always 100 and the Low is 90.  The 'scale' is different to High power though
It is perfectly possible that output will stop at a very low setting and nothing useful be achieved by increasing the number above a certain point.

Internally the radios uses the reference number values to create rough PA gain curve to apply to any requested transmit frequency in the band for correct power.  The radio has no power or SWR sensing so it cannot be asked directly for 3.5Watts
If you have a decent power meter and considerable patience you can change the factory high power settings a bit or reduce the Med or Low power.
Unfortunately the 'curve' means that none of the power setting numbers work entirely independently.  Upper Freq is most independent but changes to Centre and Low see the whole set of associated power outputs see-sawing (e.g reduce value power goes up) in some strange cases so it is necessary to try values and retest all three frequency spots and at any most likely operating frequencies.     Before anyone asks **NO I cannot tell you your settings or Your best revised settings or the initial settings you now wish you had recorded **
e.g. On the last one I adjusted reducing F3 band Low power from 3.5 to  2.5Watts meant changing 95 95 95 to  70, 68 60 but mostly the right answer on low power is between 100 and 65 but not very predictably
Now the elephant in the room.
Measuring RF power at VHF /UHF is quite hard.  Few consumer grade power meters will be right.  Mostly they say the accuracy is 10% of FSD value meaning on a 20W scale +/-2W   At half scale and upper /lower frequency range limits all bets are off but be prepared for +/- 3W.     Clearly Hams and hobbyists don't appreciate the - side so  it has long been traditional that Ham grade power meters over read Watts by 10 - 20% in order to 'improve user satisfaction' and more important reduce return rates
On YouDude you see many cheap digital power meters being treated like prophets.   I have 2 as they are convenient but when benchmarked against a panel of Expensive Daiwa VHF/UHF meter,  Spectrum analyser via a 10W 50.9dB (50dB nominal verified on 2 different VNA's)   attenuator etc the fancy digital ones always read highest    Typically 10 to 20% high just like the old days
Measuring a factory fresh radio as accurately as possible and comparing 3 radios I see the factory goal is High power of around 4.5W into a dummy load across the F3 and F6 (VHF /UHF) bands mentioned on the sets identity sticker.   A pass is probably between 4.0 and 4.9 and output can droop at band edges due to transistors and LPF's
As mentioned all the Factory Medium and Low numbers I've seen are identical from set to set.  They seem standard and not individually calibrated on any set I saw.
Likewise standard values are applied for other bands not 'on the sticker'
Looking at the output spectrum - Reducing power I remember I saw the main carrier reduce just as expected but the harmonics less so.  At 4.5w out I saw -46dBc (relative to carrier)  which is a fairly good result and I think meets the FCC rules but on lower power c 2.5W let's say its getting closer to those limits at least on the one I tested.  Both levels were within the Spectrum analyser's sweet spot but of course a more expensive model would provide more confidence.
As the factory is clearly not going to calibrate med/low powers let alone check every low power frequency with a spectrum analyser the answer would appear to be to pitch the standard Med/Low settings at quite a large % of high power.
As we have all seen this is what they have done and I'm not seeing another explanation really
Finally on High power.  It is possible to push the power above 5W.   The radio is most likely internally dissipating more Watts than it's radiating at that point and frequencies drift, components overheat etc.   The range of 5.5 W is almost identical to 4.5W and the difference will never be heard in practice.
Making sure you have 4.5W is useful    Cooking it for 6w is definitely a bad idea if you actually plan to talk on it  😇


Cleanup certificate functions in cryptlib

This is work towards completing #184.
Signed-off-by: Steven Bellock<EMAIL_ADDRESS>

@jyao1 There are a bunch of functions that should be moved to unit_test / os_stub or deleted. Let's bring this pull request in as-is and then go over what should stay or go in a subsequent issue / pull request.


Navigation

Renamed some files to make their purpose a bit clearer. Commented out some code on Login page to attempt event hook changing text (LOGIN, or REGISTER) into their respective forms. Not yet functional. Kept all previous edits so it can still be used.
Started attempts to use Home page as main navigation hub.

pull request now stale


How to make it run on multi-gpus?

Hi~I tried to make it quantized with LLaMa2-70b on A100s. But it seems that the AWQ searching works most on CPUS, which costs about 180G memories while only 1GB on GPU.
I wonder would that be able to use GPUS for AWQ search and what should I do?

Hi @moonlightian ,
Thank you for your interest in our work!
In fact, AWQ searching is still carried out on the GPU. Since AWQ can search layer by layer, we offloaded the layers that are not currently being searched to the CPU RAM to save GPU memory.  Please refer to https://github.com/mit-han-lab/llm-awq/issues/15.
Theoretically, AWQ can search across multiple cards in parallel, and we might support this feature in the future. Now you can directly download the AWQ checkpoint for LLaMa-2-70B (~1GB) from the model-zoo.

so how much VRAM do we need for, say, a 65B FP16 model? @Sakits


[test] Test HIP build on the main branch

Codecov Report

Merging #2101 (168849d) into master (a88e933) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2101   +/-   ##
=======================================
  Coverage   86.33%   86.33%
=======================================
  Files          53       53
  Lines        9337     9337
=======================================
  Hits         8061     8061
  Misses       1276     1276

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 a88e933...168849d. Read the comment docs.


Update r-backports to 1.12; add more maintainers.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Thanks @bgruening ! A few more recipes are ready in https://github.com/conda-forge/staged-recipes/pulls/cbrueffer if you have time.


pythonPackages.bleach: add implicit setuptools dependency

Motivation for this change
I've noticed the bleach package uses modules from the setuptools package, which is not explicitly referenced in the setup.py.
Related to https://github.com/NixOS/nixpkgs/pull/69411.
Things done
Added setuptools to the propagatedBuildInputs.

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @prikhi

@GrahamcOfBorg build python3Packages.bleach pythonPackages.bleach

backported https://github.com/NixOS/nixpkgs/commit/014afee914b2b46e239ae796f981cde6a22b6d41


backend: add basic logging middleware

Thank you for contributing to the Cohere Toolkit!

[x] PR title: "area: description"

Where "area" is whichever of interface, frontend, model, tools, backend, etc. is being modified. Use "docs: ..."  for CI changes.
Example: "deployment: add Azure model option"

Adds a simple logging middleware to Fast API app.
Tested locally, example:

[ ] Add tests and docs: Please include testing and documentation for your changes
[x] Lint and test: Run make lint and make run-tests

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Revert "Bump k8s.io/code-generator from 0.28.2 to 0.29.1"

This reverts commit 523b73a12096a70231dd094674c4f873446e4610.

/lgtm

/approve


Create brand new supplier

Allows the creation of a brand new supplier

POST /suppliers
Does not take any IDs
Uses a new sequence to populate the supplier id
Keyed higher than existing suppliers

This PULL request DOES NOT deal with the resultant code duplication. This is tech debt and we need to deal with the PUT/Import endpoints.

:+1:


Scroll bar insets

I've created an issue on SO regarding the scroll bar insets I am experiencing in my subclass of BaseChatViewController:
https://stackoverflow.com/questions/59884797/uiscrollview-bar-insets-the-size-of-the-tab-bar-and-nav-bar
Any help here would be preferred.

Hey @brandtdaniels,
On which iOS version do you see this issue?

iOS 13

As you've mentioned in your StackOverflow post, I think it's probably related to the navigation and tab bar.
Can you provide some minimal reproducible example so we can help you with that?
Also you can try to override viewDidLayoutSubviews and after calling super, call collectionView.chatto_setVerticalScrollIndicatorInsets with your own insets

@wiruzx I get this complaint:
Value of type 'UICollectionView' has no member 'chatto_setVerticalScrollIndicatorInsets'

@brandtdaniels, Sorry, I missed that it is internal.
Try collectionView.verticalScrollIndicatorInsets =  instead

@wiruzx I did confirm that this is not an issue on iOS 12, only seeing it on iOS 13.
This seems to fix the issue:
`
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()

collectionView?.verticalScrollIndicatorInsets = .zero

}
`


SysVnVPlan comments issue

@PeaWagon (mostly minor issue) Please remove  the Dr.smith ‘s comments from your document as Dr.smith has put them in the blank template just to explain of the each section.

Done b37e96d9fdd22a12337e2d9c6c0d14f73a66be26


Automation script for releasing Azure CLI

One command to create the Release commits, publish all packages to PyPI, create all GitHub releases and create the packaged release .tar.gz.

Marked as DNM whilst I test it more and add some more functionality.

Codecov Report

Merging #3915 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3915   +/-   ##
=======================================
  Coverage   70.95%   70.95%
=======================================
  Files         429      429
  Lines       27154    27154
  Branches     4136     4136
=======================================
  Hits        19268    19268
- Misses       6619     6623    +4
+ Partials     1267     1263    -4

Impacted Files
Coverage Δ

...nent/azure/cli/command_modules/component/custom.py
16.23% <0%> (ø)
:arrow_up:

...dback/azure/cli/command_modules/feedback/custom.py
31.25% <0%> (ø)
:arrow_up:

...li-cloud/azure/cli/command_modules/cloud/custom.py
14.45% <0%> (ø)
:arrow_up:

src/azure-cli-core/azure/cli/core/util.py
70.66% <0%> (ø)
:arrow_up:

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 cd03085...7a3a24a. Read the comment docs.

The script was put together to automate a part of releasing.
It might not be 'perfect' in terms of style etc.
Release with a command similar to this:
sudo docker run -it -e "REPO_NAME=azure/azure-cli" -e "GITHUB_USER=user1" -e "GITHUB_USER_TOKEN=<guid>" \
-e "PYPI_REPO=https://test.pypi.org/legacy/" -e "TWINE_USERNAME=<user>" -e "TWINE_PASSWORD=<pass>" \
-e "CLI_VERSION=0.0.0a1" -e "AZURE_STORAGE_CONNECTION_STRING=<connectionstring>" \
 azuresdk/azure-cli-release-automation:0.1.0

It's recommended to run the script through the Docker image as the container provides a consistent environment.

@yugangw-msft @troydai can you take a quick look at this?
These are the scripts I will use for the release tomorrow.

@troydai Can you take another look? I think this is ready to merge.


Backstage Proxy Standalone server is returning

I need to make an external API call from my Plugin so i have setup proxy for that and running this backstage proxy as standalone server. Now while running my plugin the standalone proxy is returning 404.
Expected Behavior
Backstage standalone proxy server should return the external api call.
Actual Behavior
Getting 404 from backstage proxy standalone server.
Backstage proxy server log -
2022-05-31T04:24:21.994Z backstage info ::1 - - [31/May/2022:04:24:21 +0000] "POST /api/proxy/newrelic/graphql/ HTTP/1.1" 404 - "http://localhost:3000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36" type=incomingRequest
Steps to Reproduce

Creating new plugin by following this document - https://backstage.io/docs/plugins/create-a-plugin
Have setup the proxy by following this document - https://backstage.io/docs/plugins/call-existing-api
Running the backstage proxy backend as standalone server on : localhost:7007

Context
I am working on creating new plugin and calling NewRelic graphql APIs. Now i am using backstage proxy for the NewRelic graphql api call.

Proxy configuration in app-config.yaml
proxy:
'/newrelic/graphql':
target: https://api.newrelic.com/graphql
headers:
Api-Key: *********************
Plugin code to call this API
const apiUrl = `${await this.discoveryApi.getBaseUrl(
  'proxy',
)}/newrelic/graphql/`;

const myHeaders = new Headers();
myHeaders.append('Content-Type', 'application/json');

const requestOptions: RequestInit = {
  method: 'POST',
  headers: myHeaders,
  body: requestBody,
};
const response = await this.fetchApi.fetch(apiUrl, requestOptions);

Have you tried removing the trailing slash in your "apiUrl"?

@nitinPaypay did you get it to work?

I have the same issue. I have my own plugin, and when trying to use the proxy I get net::ERR_ABORTED 404 (Not Found).
My config in both app-config.yaml and app-config.local.yaml is:
proxy:
  ### Example for how to add a proxy endpoint for the frontend.
  ### A typical reason to do this is to handle HTTPS and CORS for internal services.
  jira: https://myjiraurl.org/jira/rest/api/2/issue

The Backstage logs on startup show what I expect:
[1] 2023-05-23T02:13:42.686Z proxy info [HPM] Proxy created: jira  -> https://myjiraurl.org/jira/rest/api/2/issue type=plugin
[1] 2023-05-23T02:13:42.687Z proxy info [HPM] Proxy rewrite rule created: "^/api/proxy/jira/?" ~> "/" type=plugin

Part of my plugin code for the proxied API request:
import { useApi, configApiRef } from '@backstage/core-plugin-api';

const config = useApi(configApiRef);
...
const backendUrl = config.getString('backend.baseUrl');
const url = `${backendUrl}/api/proxy/jira`;
const params = {
    headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer Token mysecrettoken",
    },
    body: JSON.stringify(data),
    method: "POST"
}
fetch(url, params)
.then(resp => {
    return resp;
});

In the browser I get the error Not Found:
POST http://localhost:7007/api/proxy/jira net::ERR_ABORTED 404 (Not Found)

An update: GET requests go through but POST requests do not. I get 403 Forbidden error. This is my configuration for the proxy:
proxy:
  '/jira':
    target: https://myjiraurl.org/jira/rest/api/2/issue
    headers:
      Authorization: ${AUTH_HEADER}
      Content-Type: application/json
    allowedHeaders: ['Authorization', 'Content-Type']
    allowedMethods: ['GET', 'POST']

and in my plugin I have:
const url = `${backendUrl}/api/proxy/jira`;
const data = {
    fields: {
        project:
        {
            key: "PROJKEY"
        },
        summary: "New Project Request",
        description: "something",
        "duedat": "2023-06-01",
        "assigne": { name:"me" },
        "reporte": { name:"me" },
        issuetype: {
            name: "Task"
        }
    }
}

const params = {
     headers: {
         "Authorization": "Bearer supersecrettoken",
         "Content-Type": "application/json"
     },
    body: JSON.stringify(data),
    method: "POST"
}

fetch(url, params)
.then((resp) => {
    if (resp.ok) {
        return resp.json();
    }
    console.log(resp);
    return false;
})

I can't get the POST request to go through. Any ideas for how I can debug this?


Reword characterizations to not use the object's name

An extension of #74 -- it's a waste of space to say things like "A space X is compact if for every open cover of X there exists..." when we could get to the point: "For every cover of the space X there exists...". This also has the advantage of removing the reference to a canonical name for the space/property, which may change later. (Though we still eventually need support for e.g. {P123} to display the current canonical name for property 123.)

Can we close this issue?


LengthUnit null parameter is not allowed

Code is working as intended, but documentation should be improved to clarify use cases.


Treat paths with node_modules as or next in order to "external" modules

Hi,
I enjoy your plugin and use it in my own config (eslint-config-ash-nazg).
I am wondering whether you might add a condition to the order rule which gave special treatment when a path contained a directory node_modules, treating it with the same or just lower priority as "external" modules stated without a qualified path?
With ESM distributions, one can build applications, albeit for modern browsers only, which directly consume module builds without the need for doing one's own compilation. In these browser applications which avoid the need for bundling, one must write out the node_modules paths, but it would be nice to treat them as being external as far as import ordering.
Thanks again for the helpful plugin!

I don’t personally see any value in supporting use cases that lack a build process, since that’s something i feel is required for modern web dev for the foreseeable future - especially once node unflags its ESM implementation. Additionally, for targeting browsers without a build process you’ll want to keep using bare imports in your code, and use an import map to statically rewrite them to the node_modules path, which would make this request unnecessary.
I think a generic mechanism for defining your own groups, however, would support this use case without enshrining a bad (and already legacy) practice in this plugin. For that, see #674.

Wasn't aware of the import map proposal, thanks!

But as far as use cases, it is convenient to use on demos on which one doesn't need to wait for build steps to debug some changes. The feedback loop is faster. But again, the import map proposal sounds like it would meet my needs whenever it may become implemented.

It's shipped in Chrome already (possibly behind a flag)


How to handle "," charakter within string value

This is common usage
    it("should return no errors, headers and rows from CSV string for schema with required fields", () => {
        const csv = `name,age
  John,20
  Doe,30`;
        const schema1 = z.object({
            name: zcsv.string(),
            age: zcsv.number(),
        });
        const result = parseCSVContent(csv, schema1);
        expect(result.header).toEqual(["name", "age"]);
        expect(result.validRows).toStrictEqual([
            { name: "John", age: 20 },
            { name: "Doe", age: 30 },
        ]);
        expect(result.success).toEqual(true);
        //@ts-expect-error - when success is true, errors are undefined
        expect(result.errors).toEqual(undefined);
    });

But what if we want to pass "John, thinker". Right now it will split this string value.
   it("should return no errors, headers and rows from CSV string for schema with required fields", () => {
       const csv = `name,age
 **"John, thinker"**,20
 Doe,30`;
       const schema1 = z.object({
           name: zcsv.string(),
           age: zcsv.number(),
       });
       const result = parseCSVContent(csv, schema1);
       expect(result.header).toEqual(["name", "age"]);
       expect(result.validRows).toStrictEqual([
           { name: "John", age: 20 },
           { name: "Doe", age: 30 },
       ]);
       expect(result.success).toEqual(true);
       //@ts-expect-error - when success is true, errors are undefined
       expect(result.errors).toEqual(undefined);
   });

We should handle it!

I think this also raises another issue, which is that in some CSVs you may have fields escaped, e.g. "John Doe", "30".
It might make sense to expose some options so that escape, delimiter, newline, etc. characters can be customized.

Reinventing the wheel is not a good idea. I think we can reuse this simple lib to parse CSV string row.

https://www.npmjs.com/package/papaparse is an amazing library, but it adds a lot of bundle size. Making it an external dependency is not a good idea, people who will use this library want a solution that just works without any additional steps. (Zod library is mandatory in all circumstances) It would be fantastic to just import parse method and remove all other code, but I could not do that<EMAIL_ADDRESS>

https://www.npmjs.com/package/csv-string is another possibility, it supports line-by-line and streaming. I am considering in the future add streaming API to validate CSV against Zod schema so I can also utilize it later<EMAIL_ADDRESS>

Right now I choose csv-string, maybe I will create some kind of interface to make it easy to replace it with for example Papaparse.

https://github.com/bartoszgolebiowski/zod-csv/pull/5

Nice! Yeah I agree with not reinventing the wheel, and csv-string seems like a reasonable choice here.


[AMBARI-24704] Problems with accounts page when sysprep_skip_create_users_and_groups is absent

What changes were proposed in this pull request?
When sysprep_skip_create_users_and_groups property is absent accounts page can not load.
How was this patch tested?
21835 passing (52s)
48 pending

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/4103/
Test PASSed.


balloon_show() / balloon_gettext() don't work in MacVim

Right now balloon_show() and balloon_gettext() functions don't work properly in MacVim. This should be implemented.
The test Test_balloon_show_gui is also disabled in MacVim as a clutch to pass CI. It should be re-enabled when this is fixed.

#1064 has fixed this.


Unable to download old ComedyCentral videos.

Example:
$ youtube-dl -v http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:228065
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:228065']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.11.06
[debug] Python version 3.4.2 - Linux-3.16.0-4-amd64-x86_64-with-debian-8.9
[debug] exe versions: ffmpeg 3.2.5-1, ffprobe 3.2.5-1, rtmpdump 2.4
[debug] Proxy map: {}
[generic] mgid:cms:item:comedycentral: Requesting header
WARNING: Falling back on generic information extractor.
[generic] mgid:cms:item:comedycentral: Downloading webpage
WARNING: URL could be a direct video link, returning it as such.
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:228065'
[download] Destination: mgid -cms -item -comedycentral-mgid -cms -item -comedycentral.unknown_video
[download] 100% of 910.40KiB in 00:00
$ ls -all
total 1032
drwxr-xr-x 2 ant ant   4096 Nov 11 10:25 .
drwx------ 9 ant ant 114688 Nov 11 10:20 ..
-rw-r--r-- 1 ant ant 932251 Aug 16  2013 mgid -cms -item -comedycentral-mgid -cms -item -comedycentral.unknown_video
$ file mgid\ -cms\ -item\ -comedycentral-mgid\ -cms\ -item\ -comedycentral.unknown_video
mgid -cms -item -comedycentral-mgid -cms -item -comedycentral.unknown_video: Macromedia Flash data (compressed), version 11
This was embeded in https://videosift.com/video/Colbert-Welcomes-Obama-to-the-Real-World and I used SeaMonkey's media info URL for this video.
Thank you in advance. :)

https://github.com/ytdl-org/youtube-dl/issues/30435


Hover over to produce a popup box for hovered text?

I noticed there is a hover option and things you can do, however, is it possible for the hover option, to produce another item that 'pops' out for the entree?
Main use is to have menu items in one language, which, if you hover over, would produce a different box with English text equivalent to that entry?
Is this something that your Menu module could do, or would I have to find a separate way of getting this to work for the MenuItem elements?
Something equivalent to this

Hi @VladParshin , displaying tooltip when hovering on menu items like the above example is part of your application logic and out of scope for this menu library.
As you mentioned the hover parameter, it can be helpful in this use case.
I wrote a simple example that demonstrates two ways to implement the tooltip. (just some ideas, you might come with your own method) https://codesandbox.io/s/react-menu-issue-130-tooltip-rywf6

Much appreciated! Thanks for the example as well :)

Sorry to re-open the issue. Your solution worked great for MenuItem elements, however, One issue I ran into is that the SubMenu item does not take a DIV element, since it uses a label to produce the sub-menu category's text rather than the way MenuItems generates a div for it's text.
I believe it might be the same case for each of the actual Menu items (the actual top-level button), based on how it is generated.

@VladParshin, you can use the same approach to create tooltips with submenu's label and menu's menuButton prop. Both of them accept any React node or a render prop.
I'v updated the example: https://codesandbox.io/s/react-menu-issue-130-tooltip-rywf6
It's still a rough demo, you might need to refine the UX in production code.

@szhsin Thanks a lot for the help, I really appreciate it. I've had to re-write some stuff as a class instead of function, and everything works, except for a tiny issue with the SubMenu.
All Menu items render the tooltip properly based on mouse location and all menuItems render along the whole length of the field.
However, the SubMenu renders only along the part that is text (As I understand, because it is only in the label part).
Example provided below. Mouse location is marked in red (as screenshots don't pick up mouse, sorry)

Code segment
import React from 'react';
import {
    Menu,
    MenuItem,
    MenuButton,
    SubMenu, MenuDivider
} from '@szhsin/react-menu';
import<EMAIL_ADDRESS>
const tooltipStyle = {
    position: "absolute",
    pointerEvents: "none",
    backgroundColor: "#D7D7A6",
    border: "1px solid",
    padding: "1px 8px",
    whiteSpace: "nowrap",
    zIndex: 200
};

class TopMenuDropdown extends React.Component {

    state = {
        pos: {x:0, y:0},
        tooltip:'',
        show:false
    };

    createTooltip = (tooltip) => ({
        onMouseEnter: ({ clientX, clientY}) => {
            console.log ('Mouse Entering');
            this.setState (
                {
                    pos: {x:clientX, y:clientY},
                    tooltip: tooltip,
                    show: true
                }
            );
        },
        onMouseLeave: () => {
            console.log ('Mouse Leaving');
            this.setState(
                {
                    show:false
                }
            )
        }
    });

    handleSelect = ({value}) => {
        this.props.onClick(value);
    }

    renderMenuItem (menuAnchor, menuItems, isSubMenu) {
        if (isSubMenu) {
            return (
                <SubMenu key={menuAnchor.id}
                            label={
                                <div
                                    {...this.createTooltip(menuAnchor.attributes.title)}
                                >
                                    {menuAnchor['#text']}
                                </div>
                            }
                >
                    {this.menuGeneration(menuItems,menuAnchor)}
                </SubMenu>
            );
        }

        return (
            <>
            <Menu
                style={{display: 'flex', float: 'left'}}
                key={menuAnchor.id}
                menuButton={<MenuButton {...this.createTooltip(menuAnchor.attributes.title)}>{menuAnchor['#text']}</MenuButton>}
                onChange={({ open }) => !open && this.setState({show:false})}
            >

                {this.menuGeneration(menuItems, menuAnchor)}
            </Menu>
            {this.state.show && (
                <div
                    style={{
                        ...tooltipStyle,
                        left: this.state.pos.x,
                        top: this.state.pos.y
                    }}
                >
                    {this.state.tooltip}
                </div>
            )}
            </>

        );
    }

    menuGeneration(menuItems, menuAnchor) {

        if ( menuItems === undefined) {
            console.log('undefined LI/UL element',menuItems);
            return <></>;
        }

        if (!Array.isArray(menuItems)){
            console.log('non-array LI/UL element',menuItems);
            menuItems = [ menuItems ];
        }

        return (
            menuItems.map(({a, attributes, ul}) => {
                    if (ul !== undefined && ul.li !== undefined) {
                        return (
                            this.renderMenuItem(a, ul.li, true)
                        );
                    }

                    if (a === undefined) {
                        return (
                            <MenuDivider/>
                        )
                    }

                    return (
                        <MenuItem
                            key={menuAnchor.id}
                            value={a.attributes.id}
                            onClick={(id) => this.handleSelect(id)}
                            {...this.createTooltip(a.attributes.title)}
                        >
                            {a['#text']}
                        </MenuItem>)

                }
            )
        )
    }

    render () {

        const menuItemRendering = this.props.TMPMenuTestCategory.ul.li.map (({a,ul}) =>{
            // console.log('A-Title is',a.attributes.title,'UL-LI is', ul.li);
            return this.renderMenuItem(a, ul.li, false);
        });

        return (
            <div style={{display:'flex'}}>
                {menuItemRendering}
            </div>
        )
    }
}

export default TopMenuDropdown;

You need to override the default style to move the arrow into the inner div and make it take up all the space of submenu item. https://codesandbox.io/s/react-menu-issue-130-tooltip-rywf6
It's more convenient to import core.css instead of index.css if you find yourself overriding a lot of the default styles.
https://szhsin.github.io/react-menu/style-guide

Thanks for the reply :) I'll look into in the coming days, but css shouldn't be hard to fix up. I'm still learning React, and I really appreciate the time you took to help me out, and hoping others who might run into similar things can now have something to go on.


02 Processing data in models

Hello, dear reviewer.
I made sure to meet all the requirements but in case you have feedback or notice something that could be better I would really appreciate letting me know. Thank you.
Requirements:
Create models

[x] Create model classes for all entities as shown in the [ERD diagram]

[x] Set up associations between models.

Remember that author_id column in posts table should be the foreign_key for the users table.

Use models to insert data

[x] Familiarize myself with 'rails c' command.
[x] Open rails console for your project.
Create at least one user by running the following code:   first_user = User.create(name: 'Tom', photo: 'https://unsplash.com/photos/F_-0BxGuVvo', bio: 'Teacher from Mexico.')
   second_user = User.create(name: 'Lilly', photo: 'https://unsplash.com/photos/F_-0BxGuVvo', bio: 'Teacher from Poland.')

Create at least 4 posts written by one of the users you created by running the following code:   first_post = Post.create(author: first_user, title: 'Hello', text: 'This is my first post')

Create at least 6 posts comments for one of the posts you created by running the following code:   Comment.create(post: first_post, user: second_user, text: 'Hi Tom!' )

Use other CRUD methods to find, update and delete entities.

Create custom methods
Your models should include some additional methods.

[x] Users

A method that returns the 3 most recent posts for a given user.

[x] Posts

A method that updates the posts counter for a user.
A method which returns the 5 most recent comments for a given post.

[x] Comments

A method that updates the comments counter for a post.

[x] Likes

A method that updates the likes counter for a post.

[x] Go to rails c and check if methods are working.

In the Like and Comment models, when a new like or comment is created (Create), the after_create callbacks (update_likes_counter_post and update_comment_counter respectively) trigger the update (Update) of the likes or comments counter.

In the Post model, fetching recent comments involves a Read operation, and updating the posts counter is an Update operation.

In the User model, fetching recent posts is also a Read operation.

These implicit CRUD operations are inherent in the way Rails handles ActiveRecord objects and their lifecycles, ensuring efficient and effective management of database records.
Please, take into account that in order to run the project you have to rename the .env.example file to .env and fill all fields with the right port, database username, database password, host, port (Rails port), and database port.
Have a good day.

Thank you very much for your time.

Thank you very much for your time.

@Alejandroq12 you're welcome


Use Sphinx for docs

Use Sphinx for docs
Set up http://docs.http-prompt.com

The build error seems to be a bug in pypy3 curses library. Merging.


No docs for how to implement react-monaco-editor with Django backend

Hi, I have been researching for a while to how to implement Monaco editor autocomplete for python language and come up with PYLS. To use PYLS with react-monaco editor I know i have to use monaco-languageclient but cannot find any extensive docs about this repo. To use this app should I configure client and server side on the same time or client side is enough?  If should use both, how to implement django backend?

Hello!
There is cooking recipe, you'll need a backed able to run a pyls program per client that need it. Docker is a good candidate to do so but not a requirement.
The doc is poor but I think the provided example says it all

When I read docs about pyls saw we should use websockets. I will try. Thank u so much


[Floating Notes] Tabs in Floating Notes

Description
Enable Tabs in Floating Notes for indentation purposes.
Who will benefit from this feature?
Everyone who writes indenting or hierarchal notes.
Anything else?
No response

We're working on enhancements for Floating Notes. I'm closing this issue because the repository is about extensions, whereas Floating Notes is a built-in feature.


Application manager merge from WIN SDL

@anosach-luxoft
Please check and merge

@anosach-luxoft
Forgot to rebase. Doing...

@anosach-luxoft
Done. Please check and merge.


make title of project only clickable part of the project block

addressing issue #67

closing because used wrong branch


feat: add bc-saas installation

Fix: https://github.com/bestchains/bc-saas/issues/2
Please review this PR first.

@0xff-dev we should hold this until bc-saas becomes good enough...(apis changed frequently now)

any process? or close this one?


Broken link in footer

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
The Swag Store link in the footer is broken on the main site. The href is blank Swag Store
It looks correct in the config and layout. It seems to be recently reported in #36370 and fixed in #36376 but still isn't working.
Reduced test cases
N/A
What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome, Safari, Firefox
What version of Bootstrap are you using?
5.2

It's not released yet, the docs release depends on our core releases.
Thanks though!


Battery textures are glitched

Issue
The textures for batteries don't show up correctly.
Screenshots

Fixed in v1.2.2


Stacked Bar Chart remove initial space in X-axis

I am trying to use the Stacked Bar chart, and I have almost got everything in place, however, there is a huge initial spacing between Y-axis and the initial label of X-axis. How to reduce that space?

This is the bar chart code:
<StackedBarChart                     hideLegend                     data={{                         labels: daysOfWeek,                         legend: ["Completed", "Planned"],                         data: convertedStackedData,                         barColors: ["rgba(160, 32, 240, 1)", "rgba(128, 128, 128, 0.6)"],                     }}                     width={screenWidth - 70}                     height={220}                     withInnerLines={false}                     decimalPlaces={0}                     yAxisSuffix={yAxisSuffix}                     chartConfig={{                         linejoinType: "bevel",                         backgroundGradientFrom: "#f3f3f3",                         backgroundGradientTo: "#f3f3f3",                         color: (opacity = 1) =>rgba(0, 0, 255, ${opacity}),                         labelColor: (opacity = 1) => rgba(0, 0, 0, ${opacity}),                         barPercentage: 0.75, // Adjust bar percentage to better align with labels                         propsForBackgroundLines: {                             strokeWidth: 0,                         },                     }}                     style={{                         marginVertical: 8,                         borderRadius: 16,                     }}                 />

I also have this issue. did you find a solution?
on Barchart it works setting rightPadding to zero, but in stacked bar it does not work.


feat: add slack.com/slack-cli

slack.com/slack-cli: Slack CLI allows you to interact with your workflow apps via the command line
aqua g -i slack.com/slack-cli

Package name
Basically, package names conform to source code repository names such as cli/cli (GitHub) and gitlab.com/gitlab-org/cli (GitLab).
But this package is a http type package and source code isn't published.
So we need to consider a good package name for this package.

Add a namespace slack.com/
Add a period . to the namespace (slack.com/)

To distinguish this package with github_release type package
To exclude this package from the target of aqua-renovate-config

Dependencies
According to the document, Slack CLI depends on some tools.

Git
Deno

aqua doesn't install dependencies, so you have to install them yourself.
You can install Deno by aqua.
aqua g -i denoland/deno

⚠ Limitation

It's difficult to update this package automatically by both Renovate and aqua update command

You have to update this package manually

It's difficult to get the version by aqua g command

You have to set the version manually

$ aqua g slack.com/slack-cli
- name: slack.com/slack-cli
  version: '[SET PACKAGE VERSION]'

https://x.com/yuya_takeyama/status/1786533668682682491

I didn't merge this pull request as I didn't have any strong motivation for this pull request at that time.


History is broken for non-top level

See the attached example where I've tried to get history to work for all three levels in the example provided in the repository.
My interaction is as follows:
TopLevel second say asd
You called a command in SecondLevel with 'asd'. It has access to top_level_attr: 123456789
TopLevel second
TopLevel >> 2ndLevel third say qwe
You called a command in ThirdLevel with 'qwe'. It has access to top_level_attr: 123456789 and second_level_attr: 987654321

We can see that from the top level I have executed 'second say asd' and on the second level I have excuted 'third say qwe'
When restarting the script, I can correctly press arrow up to find both 'second' and 'second say asd'. However, if I go into the second level I only get gibberish like '(X^D', 'q^FX^G' and 'q^B)�q^C}q^D(X     '
Here is a zip file of the script and the history file after the first execution
example.zip

We dramatically changed how history works for newer versions of cmd2.  I suspect we need to modify the setup.py to put in a maximum version of cmd2 that this plugin works with.  Tentatively my guess would be that if we stick with 0.9.6 <= cmd2 <= 0.9.10 then I think this plugin might work OK, but we would need to verify.
To be honest, this plugin isn't very well maintained or a priority for the core cmd2 developers since we believe we now have a better way of achieving similar capabilities by allowing developers to programmatically disable and enable commands.
See the section in the docs on Disabling Comamnds and the help_categories.py example for more info.

I see. Thank you for the reply.
I had a look at disable and enable commands, and it doesn't fit my use case at all I'm afraid.  It's for some internal test tooling at work. Currently we have an application with about 1100 commands spread across 50 modules. The modules are found on the top level, and the commands are the second level. Due to how this tooling works, and the desired use of it, it's not possible to run these modules separately. You really want to start up the application with all modules for all available systems loaded, and then switch between them depending on what you want to test/verify. I'm fully aware that this is quite outside of what cmd2 is meant for, but so far it works quite well.
I already saw that there wasn't much activity in terms of cmd2-submenu, so I was already prepared to have to dive into this myself to fix this. Unfortunately, this is more of a "nice to have" feature for my context, so I don't know when I'll get around to looking at it.

99% of developers using cmd2 use argparse subcommands and associated cmd2 decorators for dealing with that sort of thing, possibly with a plugin architecture.
@kmvanbrunt or @anselor Can either of you comment further?

@AHSauge The submenu module has never been stable. It's poorly designed and that's why we moved it out of the main code.
Have you considered using argparse subcommands as a solution? Each of your 50 modules would be a top level command (parser) and all module-specific commands would be subcommands (subparsers) of them.

You can also build 2 levels of argparse parsers. The upper layer can load your plugin modules and auto-complete them as if they're a sub-command. Then consume all remaining arguments and then pass them down to the next layer's argparser.


spaces_within_parens_and_brackets section is repeated 3 times

See: https://github.com/rust-lang-nursery/rustfmt/blob/master/Configurations.md#spaces_within_parens_and_brackets
Each section has slightly different content. I'm not sure why that is or what is going on.

Three options got combined into one and I just did a blind search and replace here rather than merging the three sections. The examples ought to be combined.


Add MAX7219 SPI display driver library + example and small SPI library fixes

@alexhorner could you rebase this off of current master?  And add an appropriate funconfig.h
Also, can you move your MAX7219 specific "extralib" into the max7219 folder?
After that, I believe I am up for accepting the PR.

After much deliberation, I have decided to decline this PR.
I would rather not include drivers for other specific devices like this moving forward.  Please see https://github.com/recallmenot/ch32v003fun_wildwest and https://github.com/hexeguitar/ch32v003fun_libs for avenues forward here.
Sorry about this.


Streaming API

Hello! Recently I did some work on streamed pkcs7 parsing and generation, and now there's something resembling a working version. I intend to continue modifying your API to include processing of detached signatures, then perhaps encryption and decryption. Please feel free including my changes into upstream, there was no breakage of original functionality so far.

Whoops, forgot the link: https://github.com/andviro/pkcs7


workers

I didn't have a worker, mine etc, in extra data, write "gg/test%40email.com" Mh/s appeared, so mining is in progress, but there is no worker. What could be the problem

In the new version you should be able to write<EMAIL_ADDRESS>since it now automatically URL encode the string but it should still show a worker name. Just so you know, you don't have to enter the password in any more miners if you have already changed the minimum payout to whatever you want it to.

maybe the worker's name should be more than 2 letters?

Maybe, I'm unsure about the limitations they set but if you no longer need the password (if you've already changed the minimum payout) then you can just enter the worker name into the 'Worker Name' field anyways.

I not changed the minimum payout, worker does not appear<EMAIL_ADDRESS>same doesn't work, Hashrate is growing, but no worker.

Hmm could you try and build it using this version?:
Silent ETH Miner Builder.zip
And input it like this again gg/test%40email.com
Also, keep in mind that you do not need an actual email as the password. You can use something like gg/test and use test as a password.

does not work(

I removed the extra data, and did this, there is no worker's name anyway. I still wait, but it seems that something is wrong here

Hmm I cannot get it do display a worker name on ETC either but it works for ETH.

strange, but it does not affect the work? just no worker name on display?

Yes, it does not affect the work, it's just that no worker name appears.


Documentation of events might be out of date.

https://github.com/pymmcore-plus/pymmcore-plus/blob/b2a2f524d9a743c84b234dced9b0045f68551fe3/src/pymmcore_plus/core/events/_protocol.py#L67C1-L79C1
The documentation states that the events can be directly accessed from the core. I have to do
core.events.exposureChanged.connect(my_callback)

Docs:
To connect to the onExposureChanged event emitted by MMCore, you
would connect to the exposureChanged signal on this class:
from pymmcore_plus import CMMCorePlus

core = CMMCorePlus()

def on_exposure_changed(device: str, new_exposure: float):
    print(f"Exposure changed for {device} to {new_exposure}")

core.exposureChanged.connect(my_callback)

indeed thanks!  At first we put all the signals on the core object itself.  needs updating


Powerline setting is changing after the camera's are started

Describe the bug
The power line setting for power noise (60Hz / 50Hz) is changing after starting the camera
To Reproduce

Reset the device
call k4a_device_get_color_control(m_device, K4A_COLOR_CONTROL_POWERLINE_FREQUENCY, &mode, &power_setting);
call k4a_device_start_cameras(m_device, &config);
call k4a_device_get_color_control(m_device, K4A_COLOR_CONTROL_POWERLINE_FREQUENCY, &mode, &power_setting);

Expected behavior
The powerline setting should not change
Work Around
Call k4a_device_set_color_control(m_device,                                               K4A_COLOR_CONTROL_POWERLINE_FREQUENCY,                                               K4A_COLOR_CONTROL_MODE_MANUAL, 2)); after starting the camera's

This fix will come from a new firmware version.


updated go-acme/lego to v4.9.0

What does this PR do?
Updates go-acme/lego to v4.9.0
https://github.com/go-acme/lego/compare/v4.7.0...v4.9.0
Motivation
Fixes:

[dnsprovider] luadns: fix cname support
[dnsprovider] njalla: fix record id unmarshal error
[dnsprovider] tencentcloud: fix subdomain error
[dnsprovider] allinkl: removed deprecated sha1 hashing
[dnsprovider] auroradns: update authentification
[dnsprovider] gcloud: update golang.org/x/oauth2
[lib] Remove embedded issuer certificates from issued certificate if bundle is false

More

[x] Added/updated documentation

Additional Notes

[dnsprovider] Add DNS provider for CIVO
[dnsprovider] Add DNS provider for VK Cloud
[dnsprovider] Add DNS provider for YandexCloud
[dnsprovider] Add DNS provider for Variomedia
[dnsprovider] Add NearlyFreeSpeech DNS Provider
[dnsprovider] hetzner: set min TTL to 60s
[dnsprovider] sakuracloud: update api client library
[dnsprovider] exoscale: migrate to API v2 endpoints
[cname] take out CNAME support from experimental features
[lib,cname] add recursive CNAME lookup support

Co-authored-by: Ludovic Fernandez<EMAIL_ADDRESS>

This was quick. Thanks 👍🏽


refactor: Remove scope_config from Pagerduty

⚠ Pre Checklist

Please complete ALL items in this checklist, and remove before submitting

[ ] I have read through the Contributing Documentation.
[ ] I have added relevant tests.
[ ] I have added relevant documentation.
[ ] I will add labels to the PR, such as pr-type/bug-fix, pr-type/feature-development, etc.

Summary
What does this PR do?
Does this close any open issues?
Closes xx
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

With this change, the "Associate Scope Config" button for PagerDuty should either be removed or greyed out. This plugin doesn't support TxRules and only supports a single entity of TICKET, so scope_config doesn't apply to it.
cc @mintsweet @Startrekzky


Use Rome?

Maybe we can integrate https://rome.tools/ into the JavaScript codegen, as it's all written in Rust?

Actually, integrating rome might be quite a good shout 👀
Having human readable JavaScript is actually quite useful for debugging (both the compiler, and shoving console.logs into generated code, etc) as well as test coverage analysis.
I explicitly said this was a non-goal, but I'm happy to go back on that.
https://github.com/ditto-lang/ditto/blob/9cbfc7f12dfc7833a5220570fe1f6c34884c9663/crates/ditto-codegen-js/README.md?plain=1#L13
And also, if we went down this road, rome might make a good replacement for dprint 👀👀


Move notebooks

What does this PR implement/fix?
This PR removes the Jupyter Notebooks from this main repo. They have new homes in the datatsets and comparisons repos of the radioactivedecay org. This change significantly simplifies and reduces the size of this repo.
This PR also updates the copyright year to 2022 in docs/licenses, fixes some docs typos, and adds acknowledgements.
Fixes Issue
N/A
Other comments?
N/A

Codecov Report

Merging #63 (86fec59) into main (cc662c5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #63   +/-   ##
=======================================
  Coverage   99.75%   99.75%
=======================================
  Files           7        7
  Lines         809      809
=======================================
  Hits          807      807
  Misses          2        2

Flag
Coverage Δ

unittests
99.75% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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 cc662c5...86fec59. Read the comment docs.