How to detect recompilation reason?

Hey! Is there a way to make jit explain why its recompiling? I have a complex function with multiple static arguments and deeply structured pytrees, I can't figure out what is forcing recompilation :s
If not, is there a way where I could use something in tree_utils to mimic jax's notion of equality between arguments?

It would also be super useful if one could count the number times a function has compiled for testing purposes or even inspect the "signature" of each compiled function.

cc @froystig
We absolutely need tooling like this. There isn't much now, though you can set JAX_LOG_COMPILES=1 to get some basic logging on every recompile.
As for why it's recompiling, this could be #2813 (see also #3701, #3708, #3712, the latter being a first step in fixing it), which is that if you pass unhashable values to static_argnums arguments then JAX will silently hash (and hence cache) on object ID. That could be as simple as passing a list (unhashable) instead of a tuple (hashable) as a static argument, with the result being that you never get compilation cache hits.
In any case, we need to make recompilations (and, as you say, the reason for them) transparent.

If not, is there a way where I could use something in tree_utils to mimic jax's notion of equality between arguments?

Can you say more about this?

Thanks a lot @mattjj !

Can you say more about this?

I was thinking of putting all the arguments into a tuple on each call and maybe using something like tree_multimap to compare the pytree-tuples between calls, this is just a rough idea. I guess I would have to make a special case for static arguments. My interest would be finding out which arguments force recompile.
That said, I do have some non-hashable (lists and dicts) static arguments which might be the culprits.

I was looking into make_jaxpr  which seems to give a hint into what the signature of each function looks like.

Just a brainstorming thought: one way to "explain why" we got a recompile might be to compute a kind of minimal edit distance to existing cache entries (maybe we could even use the standard library's difflib).

@mattjj may I ask, what are the cache entries? Where are they stored?
I fixed my bug (I think) it might have been multiple things. However, I think users can face this kind of issues very easily, it would be super useful to be able to have a tool for this kind of stuff which is very central to Jax. I can give it a try but I don't know where to start.

BTW: One part of the bug was related to Python scalars being promoted to Jaxs arrays when they become outputs of a jitted function, I guess its the users fault but I don't know if a warning of even an error for this kind of bad behavior would be even better. I believe this is already in one the issue you liked at the begining.

There are a few different compilation caches: one for jit, one for pmap, and one for op-by-op primitives. They're all just implemented as memoization decorators.
For jit, the function _xla_callable in xla.py is decorated with the linear_util.py cache decorator. The fact that it's just memoization makes it very easy to reason about! (But it's not quite functionally pure memoization; there's a special kind of side-effect related to the stores you see in that code. We manage it carefully based on the constraint that, in JAX internals, transformed functions are executed exactly once ever. That's where the "linear" in linear_util.py comes from.) The cache is in principle just a dict, the keys are just the arguments to _xla_callable (basically a transformed function and some abstract values, where the transformed function's hash reflects all the transformations that have been applied to it), and the values are return values of _xla_callable, namely partially-applied _execute_compiled functions which just [package together an XlaExecutable with argument and result handlers that unbox argument DeviceArrays into raw buffers and package raw result buffers back into DeviceArrays, respectively.
The pmap compilation cache is the same as the jit one, just in pxla.py.
The op-by-op compilation cache is just a functools.lru_cache applied to a roughly analogous function (taking a primitive and abstract args, and returning a partially-applied _execute_compiled_primitive). It doesn't have any of that stores stuff or transformations to worry about.

All the above implementation details are subject to change, but this is how things look today!

I think one of the things you were running into has to do with JAX "weak types". We don't want any use of Python scalars (where 0.0 is nominally float64 and 0 is nominally an arbitrary-precision int) to promote JAX values to higher than expected precision, so we treat them as "undecided precision" until they come into contact with a JAX value. Thus e.g.
x = 0.
f = jax.jit(lambda x: x + np.float32(0.))
y = f(x)
z = f(y)

will compile f twice: once with weak type on x and once without. This can be a bit of a gotcha for training loops, and the solution (for now) is to initialize scalars (e.g. learning rates) used as arguments to jitted functions as NumPy or jnp scalars with explicit type (e.g. x = np.float32(0.).
(CC @jakevdp, who's been thinking about weak_type recently)

Not sure if there is a main issue for this, but logging +1 for the gotcha @jekbradbury described. Was confused why my method was recompiling during testing: it was because jnp.ones() is "float32" and jnp.arange() is "int32". An warning message here would perhaps be helpful, although I'm not sure if this is generalizable :)

FYI, jnp.arange defaults to the type of the argument you pass it, so jnp.arange(10) has int dtype, while jnp.arange(10.0) has float dtype. I agree it might be somewhat surprising, but it's a behavior inherited from numpy. For what it's worth, in JAX's native version of range, lax.iota, the dtype argument must be specified explicitly.


Unable to change database from Edit Dataset modal

When using the Edit Dataset modal to change a dataset to a table in a different database, the changes do not get saved.
How to reproduce the bug

Go to the Datasets page
Click the edit icon on an existing Physical dataset
In the Edit Dataset modal, click the lock icon to make changes to the dataset
Select a different database from the current database. Then select a schema/table
Save changes
Open the Edit Dataset modal again

Expected results
The changes should be reflected and the user should see the new database/schema/table in the Edit Dataset modal
Actual results
The previous database name is still displayed and the dataset didn't get updated with the changes that were made
Environment

superset version: master

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

just realized this bug was priporized 2 months ago but didn't make it into the bash project broad. @yousoph we will take care of it :)
@geido 🙏


Set ServiceConnection

Unblocks pipelines to run live tests using federated auth

Merging to unblock this piece. Other parts of live test are not functioning properly yet but this is required to get things closer to working.

/check-enforcer override


Varbits

Things to change:

BitManipulation class belong in the Util module.
VarpSet belongs in the engine. An api interface will need to be created and override methods which are need for api interaction.
VarpSet is currently exactly rsmod's code. You also need to change the package to the correct one in that class.
Remove OSRSGameFrame. Varps and varbits are defined in the api module in const/varbits.kt.
Varps.kt is not needed since varbits are a bitwise shift of 3 from the startbit to the end bit. The start and end bits can be pulled from the cache for a given varbit.

All the game logic for varps should be in the engine. A interface class gets implemented into that and overrides functions / values that are needed for api use.
That way we can separate the api from the game logic for plugin development.
Packets look good.
Saving of run energy looks good.

I am closing this PR since they way I plan to handle varps and varbit is different to how RSMod handles them currently. I want to have them automatically build based on the start / end bit read from the game cache. These will be tied into player attributes.
You are welcome to make a PR with the packets you have added however varbits are going to be handled differently and through a more modular system.


stripPrefix is double-encoding paths

Description
This is happening in Spring Cloud Gateway Server MVC 4.1.4.
The stripPrefix filter is using the UriComponentsBuilder.build overload that defaults to encoded=false.
But by this point the URI is encoded, so this double-encodes.
Sample
See new test case in PR.

Closing in favor of #3437


Create university-of-california-davis.md

Hey @RichardLitt
Created UC Davis OSPO profile.
@RichardLitt - just a reminder to link it to the page to: https://github.com/sustainers/academic-map/blob/main/universities.md

go raibh maith agat


disable sign ups & user management

is there a way to disable sign ups?
also, is there a way to manage (view/delete) users?

You can manage users using the admin interface, at https://localhost/admin/.
As for disabling sign ups, the only built in way to do that is it kick users over to the payment form and not run the new user queue, which will keep new users in purgatory.
After looking through the code, it seems we ripped it out. So I suggest jusst throwing an assert False into the apps/reader/forms.py code so new user registration doesn't work and instead throws an exception.

hmm, regarding the /admin/ (Django administration) login; i am authenticated (as my only user thus far), but i am not authorized to access this page.. i am apparently not a staff account?

Ah-ha, you'll want to change the is_staff flag on your account:
>>> u = User.objects.get(username='samuel')
>>> u.is_staff = True
>>> u.save()

progress; after setting is_staff = True, i can login to the /admin/ (Site administration) area, but i "don't have permission to view or edit anything."
Recent actions is empty, and My Actions has "None available"

Apparently Django changed it to is_superuser, as per https://stackoverflow.com/questions/33556515/django-admin-you-dont-have-permission-to-edit-anything.

alrighty, that gives me a bunch of functionality..
however, the page is lacking any style or images, and it appears that none of the /media/admin assets (css/js/svg) are loading; they're all 404's..

Try make collectstatic, that should collect the admin assets.

Where do we do the is_staff or is_superuser?

Ah-ha, you'll want to change the is_staff flag on your account:
>>> u = User.objects.get(username='samuel')
>>> u.is_staff = True
>>> u.save()

Where do we do the is_staff or is_superuser?

Ah-ha, you'll want to change the is_staff flag on your account:
>>> u = User.objects.get(username='samuel')
>>> u.is_staff = True
>>> u.save()

I support the question.
Can I explain in more detail how to do this, please.

progress; after setting is_staff = True, i can login to the /admin/ (Site administration) area, but i "don't have permission to view or edit anything."

Hello!
Please tell me how did you do it?

the stuff shown here with >>> at the beginning of the line is done in the python/django(?) shell. in the NewsBlur dir, type make shell and you can then enter the commands above (without the >>>)


Add cookie consent module

https://www.cookiechoices.org/

Any update or plan on this? I see Pull Request #163 open for this feature.

Probably not. I'm only interested in adding features or enhancements that most people will want. This falls in the category of something you can add yourself and customize it if you need it.

Since cookie consent is now required as per AdSense TOS, the existing AdSense support feels incomplete :-)
If its something you don't wish to do, that's fair enough! Thank you for your work!

It's not something I feel belongs in the theme and rather should be something you customize and add yourself. I'm trying to balance these sorts of requests out. I merge it in and I likely get requests to make it toggle-able or customize it further (style, color, behavior, etc).
I'd rather leave it to those forking and cloning the theme to determine if it's important to them and take it from there. Can't possibly please everyone :stuck_out_tongue:


can't access taiga api from network

access taiga via http://<IP_ADDRESS>:8080  or http://localhost:8080 is success, but can't access from network.
taiga report http code 400, this seems that nginx block the access.

modify  settings.py, set ALLOWED_HOST to  [*]

ALLOWED_HOSTS = [
    '*'
]

modify front.json, set correct  eventsUrl

@jeffery9 If you got it to work, do you mind sharing the working config for docker, front and back?

@jeffery9 You most certainly don't wanna use ALLOWED_HOSTS = ['*']. Please, read about ALLOWED_HOSTS.

Agreed, but that's the only way I could get it to start. If it's on a firewalled local machine it's ok.
Nonetheless, this docker image is really buggy.

It's really not. Please, read the documentation I've linked, it provides detailed description of why it's necessary and how to configure it properly. Also, I'm the original creator of this image and it works as intended, adhering to the principle of least privileges and zero trust. We haven't received a single valid bug report since publishing it, all the problems people have stem from not reading the documentation and the lack of experience with this technological stack.

This is from an older image that I created and it worked well for a long time:
SITES["api"]["domain"] = "localhost:8000" SITES["front"]["domain"] = "localhost:8000"
I decided to use this image instead, as it's an official one.
But like @jeffery9, I couldn't get it to work (Admittedly, I haven't done any python in years, so maybe the docs would help me) - but I think it should "just work" without becoming a python expert. :) Like I said above, for those who are self-hosting and the app is behind a firewall, or behind nginx/apache, it "should be ok" to use "*". (If not, please educate me as to why?)

Do you mean like this?
https://github.com/taigaio/docker-taiga-5/blob/0e5435f856d84a1c30034d367226481d4fdd68b4/root/opt/taiga-back/settings/local.py#L20
This image uses the IANA-assigned port 8080. I don't know what you mean, this image "just works" by default, out of the box and it definitely doesn't require you to know Python at all, it's the application that requires the minuscule knowledge of Python. All you have to do is make sure your custom configuration is valid according to the provided and linked documentation, which again, is given mostly by the application itself.
When it comes to the ALLOWED_HOSTS setting. From Host header validation (linked in ALLOWED_HOSTS, which I linked in my previous message):

Django uses the Host header provided by the client to construct URLs in certain cases. While these values are sanitized to prevent Cross Site Scripting attacks, a fake Host value can be used for Cross-Site Request Forgery, cache poisoning attacks, and poisoning links in emails.

I believe it's obvious now why not configuring it properly is a problem. Respectfully, your answers make me believe you have read none on the documentation and that's probably why you couldn't make it work.

True. But keep in mind at least two people needed to hack that config option to get it to work. Maybe the problem is just us.

@jeffery9 You most certainly don't wanna use ALLOWED_HOSTS = ['*']. Please, read about ALLOWED_HOSTS.

yes, when i setup a  reverse proxy before  taiga docker cluster, ALLOWED_HOSTS = ['locahost', '<IP_ADDRESS>'] is ok.
eg.  taiga docker cluster expose 8080, and setup another  nginx on the docker host, proxy  port 8000 for public access to  8080.  for this situation, we need to set eventsUrl to the public url. so user can access taiga in full function.

If you serve your instance publicly, ALLOWED_HOSTS = ['locahost', '<IP_ADDRESS>'] is insufficient. Please, read the documentation, it also states which settings need to be changed and how.
The sample configuration is meant to be secure by default, that's why you get 400 outside localhost unless you change your settings accordingly. If you haven't changed your settings, then it works as expected. I really don't understand what's the issue here. I'd also like to urge you @jeffery9 to not share configuration that you haven't validated against the documentation and which doesn't follow good practices like adhering to the principle of least privilege, etc. Other inexperienced users might copy-paste it without reviewing it and make their instances vulnerable.


Remove CMSDS

Issue
Can't find the issue this was originally associated with
About
We have two conflicting style systems: CMS's design system and USWDS. We want to converge to USWDS.
This PR remove's CMS':

checklists
buttons
radio groups

Pending work

Removing dates (CMS' dates are better and this is work to recreate)
removing modals
styling (doesnt matter for MVP too much)
refactoring the form (not in scope)

Discussion
The code here should work fine, but is worth a second pair of eyes to test. I would be switching over to the apollo integration, but don't want this effort to go to waste in a forgotten branch, so creating a PR for it now

:shipit:

thanks for the reviews; gonna merge this. Sorry @dmethvin-gov for the conflicts! 👼


Following login via AWS Login default region is not set to Canada (ca-central-1)

Describe the issue
Currently, when users log in to the AWS web console via our landing zone via the aws-login custom login page, they may find themselves in an AWS region other than "ca-central".  We want them to be in that region by default so they avoid confusing UI error messages they might see when navigating around due to disallowed access non-Canada region.
Which Sprint Priority is this issue related to?

Note: 'Milestone' is a ZenHub term that we use synonymously with 'Sprint'.

The 'Milestone' overview/description (created in ZenHub) should clearly list Sprint Priorities/Goals. This section should indicate which of the priorities/goals this issue is related to.
Additional context
Add any other context, attachments or screenshots
Definition of done

aws-login app updated to ensure users have default region set to Canada following login
updated app deployed
functionality tested - set region manually to non-Canada region, log out, log back in and confirm region set to ca-central-1

Deployed and tested in LZ1

LZ2 deployment is blocked until I speak with @sheaphillips


Encounter issue during installation on Ubuntu 18.04

Hi, I encounter issue during installation on Ubuntu 18.04. When running the command " sudo wget -qO- https://docs.luxonis.com/install_depthai.sh | bash" it fails with the following code:
 ERROR: Could not build wheels for sip, which is required to install pyproject.toml-based projects
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Failed installing dependencies. Could be a bug in the installer or unsupported platform. Open a bug report over at https://github.com/luxonis/depthai - exited with status 1 at line 222

Can you provide the full console output of the installation process, please?
Like around this snippet at least:

which seem to point to something.

@290811 please copy the entire terminal output and send it it us

I am getting the same error trying to build on Jetpack 4.6.2 running Ubuntu 18.04. Here is the entire terminal output: ```sudo wget -qO- https://docs.luxonis.com/install_depthai.sh | bash
[sudo] password for aaeon:
Using default installation path: /home/aaeon/Luxonis
Directory: /home/aaeon/Luxonis is OK
Python version: Python 3.6.9 found.
This python version is not supported by depthai. Enter path to python binary version et least 3.8, or leave empty and python 3.10 will be installed automatically.

 Done
Installing global dependencies.
Hit:1 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease
Hit:4 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
build-essential set to manually installed.
libsm6 is already the newest version (2:1.2.2-1).
libsm6 set to manually installed.
libxext6 is already the newest version (2:1.3.3-1).
libxext6 set to manually installed.
pkg-config is already the newest version (0.29.1-0ubuntu2).
pkg-config set to manually installed.
python3-numpy is already the newest version (1:1.13.3-2ubuntu1).
python3-numpy set to manually installed.
qtchooser is already the newest version (64-ga1b6736-5).
qtchooser set to manually installed.
libtbb-dev is already the newest version (2017~U7-8).
libtbb2 is already the newest version (2017~U7-8).
cmake is already the newest version (3.10.2-1ubuntu<IP_ADDRESS>).
libgl1-mesa-glx is already the newest version (20.0.8-0ubuntu1~18.04.1).
libgl1-mesa-glx set to manually installed.
python3 is already the newest version (3.6.7-1~18.04).
python3 set to manually installed.
ffmpeg is already the newest version (7:3.4.11-0ubuntu0.1).
ffmpeg set to manually installed.
The following additional packages will be installed:
dh-python gir1.2-gtk-2.0 libatk1.0-dev libavutil-dev libcairo-script-interpreter2 libcairo2-dev
libfontconfig1-dev libfreetype6 libfreetype6-dev libgdk-pixbuf2.0-dev libjbig-dev libjbig0
libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8-dev liblzma-dev libpango1.0-dev libpixman-1-0
libpixman-1-dev libpng-tools libpython3-dev libpython3.6 libpython3.6-dev libpython3.6-minimal
libpython3.6-stdlib libqt5concurrent5 libqt5designer5 libqt5help5 libqt5opengl5 libqt5opengl5-dev
libqt5quickcontrols2-5 libqt5quickparticles5 libqt5quicktemplates2-5 libqt5quicktest5
libqt5quickwidgets5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libraw1394-dev libraw1394-tools
libswresample-dev libtiff5 libtiff5-dev libtiffxx5 libudev1 libxcb-shm0-dev libxcomposite-dev
libxcursor-dev libxft-dev libxinerama-dev libxml2-utils python-pip-whl python3-pkg-resources
python3-setuptools python3-wheel python3.6 python3.6-dev python3.6-minimal
qml-module-qtquick-templates2 qt5-qmake-bin qt5-qmltooling-plugins x11proto-composite-dev
x11proto-xinerama-dev
Suggested packages:
git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs
git-mediawiki git-svn libcairo2-doc libgtk2.0-doc liblzma-doc libpango1.0-doc libraw1394-doc
python3-pyqt5-dbg python-setuptools-doc python3.6-venv python3.6-doc binfmt-support
default-libmysqlclient-dev firebird-dev libpq-dev libsqlite3-dev unixodbc-dev
The following NEW packages will be installed:
dh-python gir1.2-gtk-2.0 libatk1.0-dev libavcodec-dev libavformat-dev libavutil-dev
libcairo-script-interpreter2 libcairo2-dev libdc1394-22-dev libfontconfig1-dev libfreetype6-dev
libgdk-pixbuf2.0-dev libgtk2.0-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev
liblzma-dev libpango1.0-dev libpixman-1-dev libpng-dev libpng-tools libpython3-dev
libpython3.6-dev libqt5concurrent5 libqt5designer5 libqt5help5 libqt5opengl5 libqt5opengl5-dev
libqt5quickcontrols2-5 libqt5quickparticles5 libqt5quicktemplates2-5 libqt5quicktest5
libqt5quickwidgets5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libraw1394-dev libraw1394-tools
libswresample-dev libswscale-dev libtiff-dev libtiff5-dev libtiffxx5 libxcb-shm0-dev
libxcomposite-dev libxcursor-dev libxft-dev libxinerama-dev libxml2-utils python-pip-whl
python3-dev python3-pip python3-pyqt5 python3-pyqt5.qtquick python3-setuptools python3-wheel
python3.6-dev qml-module-qt-labs-platform qml-module-qtquick-controls2 qml-module-qtquick-layouts
qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2 qt5-qmake
qt5-qmake-bin qt5-qmltooling-plugins qtbase5-dev qtbase5-dev-tools qtdeclarative5-dev
x11proto-composite-dev x11proto-xinerama-dev
The following packages will be upgraded:
git libfreetype6 libjbig0 libjpeg-turbo8 libpixman-1-0 libpython3.6 libpython3.6-minimal
libpython3.6-stdlib libtiff5 libudev1 python3-pkg-resources python3.6 python3.6-minimal udev
14 upgraded, 72 newly installed, 0 to remove and 178 not upgraded.
Need to get 80.9 MB of archives.
After this operation, 201 MB of additional disk space will be used.

Preparing to unpack .../0-libpython3.6_3.6.9-1~18.04ubuntu1.9_arm64.deb ...
Unpacking libpython3.6:arm64 (3.6.9-1~18.04ubuntu1.9) over (3.6.9-1~18.04ubuntu1.7) ...
Preparing to unpack .../1-python3.6_3.6.9-1~18.04ubuntu1.9_arm64.deb ...
Unpacking python3.6 (3.6.9-1~18.04ubuntu1.9) over (3.6.9-1~18.04ubuntu1.7) ...
Preparing to unpack .../2-libpython3.6-stdlib_3.6.9-1~18.04ubuntu1.9_arm64.deb ...
Unpacking libpython3.6-stdlib:arm64 (3.6.9-1~18.04ubuntu1.9) over (3.6.9-1~18.04ubuntu1.7) ...
Preparing to unpack .../3-python3.6-minimal_3.6.9-1~18.04ubuntu1.9_arm64.deb ...
Unpacking python3.6-minimal (3.6.9-1~18.04ubuntu1.9) over (3.6.9-1~18.04ubuntu1.7) ...
Preparing to unpack .../4-libpython3.6-minimal_3.6.9-1~18.04ubuntu1.9_arm64.deb ...
Unpacking libpython3.6-minimal:arm64 (3.6.9-1~18.04ubuntu1.9) over (3.6.9-1~18.04ubuntu1.7) ...
Preparing to unpack .../5-libjpeg-turbo8_1.5.2-0ubuntu<IP_ADDRESS>_arm64.deb ...
Unpacking libjpeg-turbo8:arm64 (1.5.2-0ubuntu<IP_ADDRESS>) over (1.5.2-0ubuntu<IP_ADDRESS>) ...
Preparing to unpack .../6-udev_237-3ubuntu10.56_arm64.deb ...
Unpacking udev (237-3ubuntu10.56) over (237-3ubuntu10.53) ...
Preparing to unpack .../7-libudev1_237-3ubuntu10.56_arm64.deb ...
Unpacking libudev1:arm64 (237-3ubuntu10.56) over (237-3ubuntu10.53) ...
Setting up libudev1:arm64 (237-3ubuntu10.56) ...
Selecting previously unselected package dh-python.
(Reading database ... 171757 files and directories currently installed.)
Preparing to unpack .../00-dh-python_3.20180325ubuntu2_all.deb ...
Unpacking dh-python (3.20180325ubuntu2) ...
Selecting previously unselected package gir1.2-gtk-2.0.
Preparing to unpack .../01-gir1.2-gtk-2.0_2.24.32-1ubuntu1_arm64.deb ...
Unpacking gir1.2-gtk-2.0 (2.24.32-1ubuntu1) ...
Preparing to unpack .../02-git_1%3a2.17.1-1ubuntu0.15_arm64.deb ...
Unpacking git (1:2.17.1-1ubuntu0.15) over (1:2.17.1-1ubuntu0.11) ...
Selecting previously unselected package libatk1.0-dev:arm64.
Preparing to unpack .../03-libatk1.0-dev_2.28.1-1_arm64.deb ...
Unpacking libatk1.0-dev:arm64 (2.28.1-1) ...
Selecting previously unselected package libavutil-dev:arm64.
Preparing to unpack .../04-libavutil-dev_7%3a3.4.11-0ubuntu0.1_arm64.deb ...
Unpacking libavutil-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Selecting previously unselected package libswresample-dev:arm64.
Preparing to unpack .../05-libswresample-dev_7%3a3.4.11-0ubuntu0.1_arm64.deb ...
Unpacking libswresample-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Selecting previously unselected package libavcodec-dev:arm64.
Preparing to unpack .../06-libavcodec-dev_7%3a3.4.11-0ubuntu0.1_arm64.deb ...
Unpacking libavcodec-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Selecting previously unselected package libavformat-dev:arm64.
Preparing to unpack .../07-libavformat-dev_7%3a3.4.11-0ubuntu0.1_arm64.deb ...
Unpacking libavformat-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Preparing to unpack .../08-libfreetype6_2.8.1-2ubuntu2.2_arm64.deb ...
Unpacking libfreetype6:arm64 (2.8.1-2ubuntu2.2) over (2.8.1-2ubuntu2.1) ...
Selecting previously unselected package libcairo-script-interpreter2:arm64.
Preparing to unpack .../09-libcairo-script-interpreter2_1.15.10-2ubuntu0.1_arm64.deb ...
Unpacking libcairo-script-interpreter2:arm64 (1.15.10-2ubuntu0.1) ...
Selecting previously unselected package libpng-dev:arm64.
Preparing to unpack .../10-libpng-dev_1.6.34-1ubuntu<IP_ADDRESS>_arm64.deb ...
Unpacking libpng-dev:arm64 (1.6.34-1ubuntu<IP_ADDRESS>) ...
Selecting previously unselected package libfreetype6-dev:arm64.
Preparing to unpack .../11-libfreetype6-dev_2.8.1-2ubuntu2.2_arm64.deb ...
Unpacking libfreetype6-dev:arm64 (2.8.1-2ubuntu2.2) ...
Selecting previously unselected package libfontconfig1-dev:arm64.
Preparing to unpack .../12-libfontconfig1-dev_2.12.6-0ubuntu2_arm64.deb ...
Unpacking libfontconfig1-dev:arm64 (2.12.6-0ubuntu2) ...
Preparing to unpack .../13-libpixman-1-0_0.34.0-2ubuntu0.1_arm64.deb ...
Unpacking libpixman-1-0:arm64 (0.34.0-2ubuntu0.1) over (0.34.0-2) ...
Selecting previously unselected package libpixman-1-dev:arm64.
Preparing to unpack .../14-libpixman-1-dev_0.34.0-2ubuntu0.1_arm64.deb ...
Unpacking libpixman-1-dev:arm64 (0.34.0-2ubuntu0.1) ...
Selecting previously unselected package libxcb-shm0-dev:arm64.
Preparing to unpack .../15-libxcb-shm0-dev_1.13-2~ubuntu18.04_arm64.deb ...
Unpacking libxcb-shm0-dev:arm64 (1.13-2~ubuntu18.04) ...
Selecting previously unselected package libcairo2-dev:arm64.
Preparing to unpack .../16-libcairo2-dev_1.15.10-2ubuntu0.1_arm64.deb ...
Unpacking libcairo2-dev:arm64 (1.15.10-2ubuntu0.1) ...
Selecting previously unselected package libgdk-pixbuf2.0-dev.
Preparing to unpack .../17-libgdk-pixbuf2.0-dev_2.36.11-2_arm64.deb ...
Unpacking libgdk-pixbuf2.0-dev (2.36.11-2) ...
Selecting previously unselected package libxft-dev.
Preparing to unpack .../18-libxft-dev_2.3.2-1_arm64.deb ...
Unpacking libxft-dev (2.3.2-1) ...
Selecting previously unselected package libpango1.0-dev.
Preparing to unpack .../19-libpango1.0-dev_1.40.14-1ubuntu0.1_arm64.deb ...
Unpacking libpango1.0-dev (1.40.14-1ubuntu0.1) ...
Selecting previously unselected package x11proto-xinerama-dev.
Preparing to unpack .../20-x11proto-xinerama-dev_2018.4-4_all.deb ...
Unpacking x11proto-xinerama-dev (2018.4-4) ...
Selecting previously unselected package libxinerama-dev:arm64.
Preparing to unpack .../21-libxinerama-dev_2%3a1.1.3-1_arm64.deb ...
Unpacking libxinerama-dev:arm64 (2:1.1.3-1) ...
Selecting previously unselected package libxcursor-dev:arm64.
Preparing to unpack .../22-libxcursor-dev_1%3a1.1.15-1_arm64.deb ...
Unpacking libxcursor-dev:arm64 (1:1.1.15-1) ...
Selecting previously unselected package x11proto-composite-dev.
Preparing to unpack .../23-x11proto-composite-dev_1%3a2018.4-4_all.deb ...
Unpacking x11proto-composite-dev (1:2018.4-4) ...
Selecting previously unselected package libxcomposite-dev:arm64.
Preparing to unpack .../24-libxcomposite-dev_1%3a0.4.4-2_arm64.deb ...
Unpacking libxcomposite-dev:arm64 (1:0.4.4-2) ...
Selecting previously unselected package libxml2-utils.
Preparing to unpack .../25-libxml2-utils_2.9.4+dfsg1-6.1ubuntu1.8_arm64.deb ...
Unpacking libxml2-utils (2.9.4+dfsg1-6.1ubuntu1.8) ...
Selecting previously unselected package libgtk2.0-dev.
Preparing to unpack .../26-libgtk2.0-dev_2.24.32-1ubuntu1_arm64.deb ...
Unpacking libgtk2.0-dev (2.24.32-1ubuntu1) ...
Selecting previously unselected package libjpeg-turbo8-dev:arm64.
Preparing to unpack .../27-libjpeg-turbo8-dev_1.5.2-0ubuntu<IP_ADDRESS>_arm64.deb ...
Unpacking libjpeg-turbo8-dev:arm64 (1.5.2-0ubuntu<IP_ADDRESS>) ...
Selecting previously unselected package libjpeg8-dev:arm64.
Preparing to unpack .../28-libjpeg8-dev_8c-2ubuntu8_arm64.deb ...
Unpacking libjpeg8-dev:arm64 (8c-2ubuntu8) ...
Selecting previously unselected package libjpeg-dev:arm64.
Preparing to unpack .../29-libjpeg-dev_8c-2ubuntu8_arm64.deb ...
Unpacking libjpeg-dev:arm64 (8c-2ubuntu8) ...
Selecting previously unselected package libpng-tools.
Preparing to unpack .../30-libpng-tools_1.6.34-1ubuntu<IP_ADDRESS>_arm64.deb ...
Unpacking libpng-tools (1.6.34-1ubuntu<IP_ADDRESS>) ...
Selecting previously unselected package libpython3.6-dev:arm64.
Preparing to unpack .../31-libpython3.6-dev_3.6.9-1~18.04ubuntu1.9_arm64.deb ...
Unpacking libpython3.6-dev:arm64 (3.6.9-1~18.04ubuntu1.9) ...
Selecting previously unselected package libpython3-dev:arm64.
Preparing to unpack .../32-libpython3-dev_3.6.7-1~18.04_arm64.deb ...
Unpacking libpython3-dev:arm64 (3.6.7-1~18.04) ...
Selecting previously unselected package libqt5concurrent5:arm64.
Preparing to unpack .../33-libqt5concurrent5_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking libqt5concurrent5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package libqt5designer5:arm64.
Preparing to unpack .../34-libqt5designer5_5.9.5-0ubuntu1_arm64.deb ...
Unpacking libqt5designer5:arm64 (5.9.5-0ubuntu1) ...
Selecting previously unselected package libqt5sql5:arm64.
Preparing to unpack .../35-libqt5sql5_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking libqt5sql5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package libqt5help5:arm64.
Preparing to unpack .../36-libqt5help5_5.9.5-0ubuntu1_arm64.deb ...
Unpacking libqt5help5:arm64 (5.9.5-0ubuntu1) ...
Selecting previously unselected package libqt5opengl5:arm64.
Preparing to unpack .../37-libqt5opengl5_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking libqt5opengl5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package libqt5test5:arm64.
Preparing to unpack .../38-libqt5test5_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking libqt5test5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package qt5-qmake-bin.
Preparing to unpack .../39-qt5-qmake-bin_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking qt5-qmake-bin (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package qt5-qmake:arm64.
Preparing to unpack .../40-qt5-qmake_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking qt5-qmake:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package qtbase5-dev-tools.
Preparing to unpack .../41-qtbase5-dev-tools_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking qtbase5-dev-tools (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package qtbase5-dev:arm64.
Preparing to unpack .../42-qtbase5-dev_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking qtbase5-dev:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package libqt5opengl5-dev:arm64.
Preparing to unpack .../43-libqt5opengl5-dev_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking libqt5opengl5-dev:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package libqt5quicktemplates2-5:arm64.
Preparing to unpack .../44-libqt5quicktemplates2-5_5.9.5-0ubuntu2_arm64.deb ...
Unpacking libqt5quicktemplates2-5:arm64 (5.9.5-0ubuntu2) ...
Selecting previously unselected package libqt5quickcontrols2-5:arm64.
Preparing to unpack .../45-libqt5quickcontrols2-5_5.9.5-0ubuntu2_arm64.deb ...
Unpacking libqt5quickcontrols2-5:arm64 (5.9.5-0ubuntu2) ...
Selecting previously unselected package libqt5quickparticles5:arm64.
Preparing to unpack .../46-libqt5quickparticles5_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking libqt5quickparticles5:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package libqt5quicktest5:arm64.
Preparing to unpack .../47-libqt5quicktest5_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking libqt5quicktest5:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package libqt5quickwidgets5:arm64.
Preparing to unpack .../48-libqt5quickwidgets5_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking libqt5quickwidgets5:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package libqt5sql5-sqlite:arm64.
Preparing to unpack .../49-libqt5sql5-sqlite_5.9.5+dfsg-0ubuntu2.6_arm64.deb ...
Unpacking libqt5sql5-sqlite:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Selecting previously unselected package libraw1394-dev:arm64.
Preparing to unpack .../50-libraw1394-dev_2.1.2-1_arm64.deb ...
Unpacking libraw1394-dev:arm64 (2.1.2-1) ...
Selecting previously unselected package libraw1394-tools.
Preparing to unpack .../51-libraw1394-tools_2.1.2-1_arm64.deb ...
Unpacking libraw1394-tools (2.1.2-1) ...
Selecting previously unselected package libswscale-dev:arm64.
Preparing to unpack .../52-libswscale-dev_7%3a3.4.11-0ubuntu0.1_arm64.deb ...
Unpacking libswscale-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Preparing to unpack .../53-libjbig0_2.1-3.1ubuntu<IP_ADDRESS>_arm64.deb ...
Unpacking libjbig0:arm64 (2.1-3.1ubuntu<IP_ADDRESS>) over (2.1-3.1build1) ...
Selecting previously unselected package libjbig-dev:arm64.
Preparing to unpack .../54-libjbig-dev_2.1-3.1ubuntu<IP_ADDRESS>_arm64.deb ...
Unpacking libjbig-dev:arm64 (2.1-3.1ubuntu<IP_ADDRESS>) ...
Selecting previously unselected package liblzma-dev:arm64.
Preparing to unpack .../55-liblzma-dev_5.2.2-1.3ubuntu0.1_arm64.deb ...
Unpacking liblzma-dev:arm64 (5.2.2-1.3ubuntu0.1) ...
Preparing to unpack .../56-libtiff5_4.0.9-5ubuntu0.9_arm64.deb ...
Unpacking libtiff5:arm64 (4.0.9-5ubuntu0.9) over (4.0.9-5ubuntu0.5) ...
Selecting previously unselected package libtiffxx5:arm64.
Preparing to unpack .../57-libtiffxx5_4.0.9-5ubuntu0.9_arm64.deb ...
Unpacking libtiffxx5:arm64 (4.0.9-5ubuntu0.9) ...
Selecting previously unselected package libtiff5-dev:arm64.
Preparing to unpack .../58-libtiff5-dev_4.0.9-5ubuntu0.9_arm64.deb ...
Unpacking libtiff5-dev:arm64 (4.0.9-5ubuntu0.9) ...
Selecting previously unselected package libtiff-dev.
Preparing to unpack .../59-libtiff-dev_4.0.9-5ubuntu0.9_arm64.deb ...
Unpacking libtiff-dev (4.0.9-5ubuntu0.9) ...
Selecting previously unselected package python-pip-whl.
Preparing to unpack .../60-python-pip-whl_9.0.1-2.3~ubuntu<IP_ADDRESS>_all.deb ...
Unpacking python-pip-whl (9.0.1-2.3~ubuntu<IP_ADDRESS>) ...
Selecting previously unselected package python3.6-dev.
Preparing to unpack .../61-python3.6-dev_3.6.9-1~18.04ubuntu1.9_arm64.deb ...
Unpacking python3.6-dev (3.6.9-1~18.04ubuntu1.9) ...
Selecting previously unselected package python3-dev.
Preparing to unpack .../62-python3-dev_3.6.7-1~18.04_arm64.deb ...
Unpacking python3-dev (3.6.7-1~18.04) ...
Selecting previously unselected package python3-pip.
Preparing to unpack .../63-python3-pip_9.0.1-2.3~ubuntu<IP_ADDRESS>_all.deb ...
Unpacking python3-pip (9.0.1-2.3~ubuntu<IP_ADDRESS>) ...
Preparing to unpack .../64-python3-pkg-resources_39.0.1-2ubuntu0.1_all.deb ...
Unpacking python3-pkg-resources (39.0.1-2ubuntu0.1) over (39.0.1-2) ...
Selecting previously unselected package python3-pyqt5.
Preparing to unpack .../65-python3-pyqt5_5.10.1+dfsg-1ubuntu2_arm64.deb ...
Unpacking python3-pyqt5 (5.10.1+dfsg-1ubuntu2) ...
Selecting previously unselected package python3-pyqt5.qtquick.
Preparing to unpack .../66-python3-pyqt5.qtquick_5.10.1+dfsg-1ubuntu2_arm64.deb ...
Unpacking python3-pyqt5.qtquick (5.10.1+dfsg-1ubuntu2) ...
Selecting previously unselected package python3-setuptools.
Preparing to unpack .../67-python3-setuptools_39.0.1-2ubuntu0.1_all.deb ...
Unpacking python3-setuptools (39.0.1-2ubuntu0.1) ...
Selecting previously unselected package python3-wheel.
Preparing to unpack .../68-python3-wheel_0.30.0-0.2ubuntu0.1_all.deb ...
Unpacking python3-wheel (0.30.0-0.2ubuntu0.1) ...
Selecting previously unselected package qml-module-qt-labs-platform:arm64.
Preparing to unpack .../69-qml-module-qt-labs-platform_5.9.5-0ubuntu2_arm64.deb ...
Unpacking qml-module-qt-labs-platform:arm64 (5.9.5-0ubuntu2) ...
Selecting previously unselected package qml-module-qtquick-templates2:arm64.
Preparing to unpack .../70-qml-module-qtquick-templates2_5.9.5-0ubuntu2_arm64.deb ...
Unpacking qml-module-qtquick-templates2:arm64 (5.9.5-0ubuntu2) ...
Selecting previously unselected package qml-module-qtquick-controls2:arm64.
Preparing to unpack .../71-qml-module-qtquick-controls2_5.9.5-0ubuntu2_arm64.deb ...
Unpacking qml-module-qtquick-controls2:arm64 (5.9.5-0ubuntu2) ...
Selecting previously unselected package qml-module-qtquick-layouts:arm64.
Preparing to unpack .../72-qml-module-qtquick-layouts_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking qml-module-qtquick-layouts:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package qml-module-qtquick-window2:arm64.
Preparing to unpack .../73-qml-module-qtquick-window2_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking qml-module-qtquick-window2:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package qml-module-qtquick2:arm64.
Preparing to unpack .../74-qml-module-qtquick2_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking qml-module-qtquick2:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package qt5-qmltooling-plugins:arm64.
Preparing to unpack .../75-qt5-qmltooling-plugins_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking qt5-qmltooling-plugins:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package qtdeclarative5-dev:arm64.
Preparing to unpack .../76-qtdeclarative5-dev_5.9.5-0ubuntu1.1_arm64.deb ...
Unpacking qtdeclarative5-dev:arm64 (5.9.5-0ubuntu1.1) ...
Selecting previously unselected package libdc1394-22-dev:arm64.
Preparing to unpack .../77-libdc1394-22-dev_2.2.5-1_arm64.deb ...
Unpacking libdc1394-22-dev:arm64 (2.2.5-1) ...
Setting up gir1.2-gtk-2.0 (2.24.32-1ubuntu1) ...
Setting up libraw1394-dev:arm64 (2.1.2-1) ...
Setting up python-pip-whl (9.0.1-2.3~ubuntu<IP_ADDRESS>) ...
Setting up libavutil-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Setting up qtbase5-dev-tools (5.9.5+dfsg-0ubuntu2.6) ...
Setting up libxcursor-dev:arm64 (1:1.1.15-1) ...
Setting up qml-module-qtquick2:arm64 (5.9.5-0ubuntu1.1) ...
Setting up libqt5quickwidgets5:arm64 (5.9.5-0ubuntu1.1) ...
Setting up qt5-qmake-bin (5.9.5+dfsg-0ubuntu2.6) ...
Setting up qml-module-qt-labs-platform:arm64 (5.9.5-0ubuntu2) ...
Setting up libjbig0:arm64 (2.1-3.1ubuntu<IP_ADDRESS>) ...
Setting up qml-module-qtquick-layouts:arm64 (5.9.5-0ubuntu1.1) ...
Setting up libpng-tools (1.6.34-1ubuntu<IP_ADDRESS>) ...
Setting up libdc1394-22-dev:arm64 (2.2.5-1) ...
Setting up libxcb-shm0-dev:arm64 (1.13-2~ubuntu18.04) ...
Setting up libqt5test5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up libxml2-utils (2.9.4+dfsg1-6.1ubuntu1.8) ...
Setting up libatk1.0-dev:arm64 (2.28.1-1) ...
Setting up libtiff5:arm64 (4.0.9-5ubuntu0.9) ...
Setting up libjpeg-turbo8:arm64 (1.5.2-0ubuntu<IP_ADDRESS>) ...
Setting up python3-wheel (0.30.0-0.2ubuntu0.1) ...
Setting up python3-pkg-resources (39.0.1-2ubuntu0.1) ...
Setting up libqt5opengl5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up libfreetype6:arm64 (2.8.1-2ubuntu2.2) ...
Setting up libswscale-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Setting up libjbig-dev:arm64 (2.1-3.1ubuntu<IP_ADDRESS>) ...
Setting up libpython3.6-minimal:arm64 (3.6.9-1~18.04ubuntu1.9) ...
Setting up libqt5quickparticles5:arm64 (5.9.5-0ubuntu1.1) ...
Setting up libpixman-1-0:arm64 (0.34.0-2ubuntu0.1) ...
Setting up libqt5quicktemplates2-5:arm64 (5.9.5-0ubuntu2) ...
Setting up libjpeg-turbo8-dev:arm64 (1.5.2-0ubuntu<IP_ADDRESS>) ...
Setting up qt5-qmake:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up libqt5quicktest5:arm64 (5.9.5-0ubuntu1.1) ...
Setting up libjpeg8-dev:arm64 (8c-2ubuntu8) ...
Setting up libjpeg-dev:arm64 (8c-2ubuntu8) ...
Setting up x11proto-xinerama-dev (2018.4-4) ...
Setting up udev (237-3ubuntu10.56) ...
update-initramfs: deferring update (trigger activated)
Setting up libpixman-1-dev:arm64 (0.34.0-2ubuntu0.1) ...
Setting up libswresample-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Setting up libxinerama-dev:arm64 (2:1.1.3-1) ...
Setting up qml-module-qtquick-window2:arm64 (5.9.5-0ubuntu1.1) ...
Setting up libraw1394-tools (2.1.2-1) ...
Setting up libqt5sql5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up python3-pip (9.0.1-2.3~ubuntu<IP_ADDRESS>) ...
Setting up libtiffxx5:arm64 (4.0.9-5ubuntu0.9) ...
Setting up liblzma-dev:arm64 (5.2.2-1.3ubuntu0.1) ...
Setting up libpng-dev:arm64 (1.6.34-1ubuntu<IP_ADDRESS>) ...
Setting up python3-setuptools (39.0.1-2ubuntu0.1) ...
Setting up libqt5designer5:arm64 (5.9.5-0ubuntu1) ...
Setting up libqt5quickcontrols2-5:arm64 (5.9.5-0ubuntu2) ...
Setting up dh-python (3.20180325ubuntu2) ...
Setting up libqt5concurrent5:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up x11proto-composite-dev (1:2018.4-4) ...
Setting up git (1:2.17.1-1ubuntu0.15) ...
Setting up qt5-qmltooling-plugins:arm64 (5.9.5-0ubuntu1.1) ...
Setting up libpython3.6-stdlib:arm64 (3.6.9-1~18.04ubuntu1.9) ...
Setting up qml-module-qtquick-templates2:arm64 (5.9.5-0ubuntu2) ...
Setting up libxcomposite-dev:arm64 (1:0.4.4-2) ...
Setting up libcairo-script-interpreter2:arm64 (1.15.10-2ubuntu0.1) ...
Setting up qtbase5-dev:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up libavcodec-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Setting up libtiff5-dev:arm64 (4.0.9-5ubuntu0.9) ...
Setting up python3.6-minimal (3.6.9-1~18.04ubuntu1.9) ...
Setting up libqt5opengl5-dev:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up qtdeclarative5-dev:arm64 (5.9.5-0ubuntu1.1) ...
Setting up libqt5help5:arm64 (5.9.5-0ubuntu1) ...
Setting up libqt5sql5-sqlite:arm64 (5.9.5+dfsg-0ubuntu2.6) ...
Setting up libgdk-pixbuf2.0-dev (2.36.11-2) ...
Setting up libfreetype6-dev:arm64 (2.8.1-2ubuntu2.2) ...
Setting up libavformat-dev:arm64 (7:3.4.11-0ubuntu0.1) ...
Setting up qml-module-qtquick-controls2:arm64 (5.9.5-0ubuntu2) ...
Setting up libpython3.6:arm64 (3.6.9-1~18.04ubuntu1.9) ...
Setting up libfontconfig1-dev:arm64 (2.12.6-0ubuntu2) ...
Setting up libtiff-dev (4.0.9-5ubuntu0.9) ...
Setting up python3.6 (3.6.9-1~18.04ubuntu1.9) ...
Setting up libcairo2-dev:arm64 (1.15.10-2ubuntu0.1) ...
Setting up python3-pyqt5 (5.10.1+dfsg-1ubuntu2) ...
Setting up libpython3.6-dev:arm64 (3.6.9-1~18.04ubuntu1.9) ...
Setting up libxft-dev (2.3.2-1) ...
Setting up python3-pyqt5.qtquick (5.10.1+dfsg-1ubuntu2) ...
Setting up libpango1.0-dev (1.40.14-1ubuntu0.1) ...
Setting up python3.6-dev (3.6.9-1~18.04ubuntu1.9) ...
Setting up libpython3-dev:arm64 (3.6.7-1~18.04) ...
Setting up python3-dev (3.6.7-1~18.04) ...
Setting up libgtk2.0-dev (2.24.32-1ubuntu1) ...
Processing triggers for libc-bin (2.27-3ubuntu1.6) ...
Processing triggers for systemd (237-3ubuntu10.53) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu<IP_ADDRESS>) ...
Processing triggers for bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for initramfs-tools (0.130ubuntu3.13) ...
update-initramfs: Generating /boot/initrd.img-4.9.253-tegra
Warning: couldn't identify filesystem type for fsck hook, ignoring.
I: The initramfs will attempt to resume from /dev/zram5
I: (UUID=d671a621-da1f-429a-82c3-69dceb3f2bf9)
I: Set the RESUME variable to override this.
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/aarch64-linux-gnu_EGL.conf: No such file or directory
/sbin/ldconfig.real: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf.d/aarch64-linux-gnu_GL.conf: No such file or directory
Collecting pip
Downloading https://files.pythonhosted.org/packages/a4/6d/6463d49a933f547439d6b5b98b46af8742cc03ae83543e4d7688c2420f8b/pip-21.3.1-py3-none-any.whl (1.7MB)
100% |████████████████████████████████| 1.7MB 368kB/s
Installing collected packages: pip
Successfully installed pip-21.3.1
Installing udev rules...
Finished installing global libraries.
Running Linux installer.
Downloading demo app.
Cloning into '/home/aaeon/Luxonis/depthai'...
remote: Enumerating objects: 15501, done.
remote: Counting objects: 100% (1014/1014), done.
remote: Compressing objects: 100% (470/470), done.
remote: Total 15501 (delta 607), reused 888 (delta 542), pack-reused 14487
Receiving objects: 100% (15501/15501), 118.16 MiB | 17.87 MiB/s, done.
Resolving deltas: 100% (10057/10057), done.
Already on 'main'
Your branch is up to date with 'origin/main'.
Already up to date.
installing python 3.10
This PPA contains more recent Python versions packaged for Ubuntu.
Disclaimer: there's no guarantee of timely updates in case of security problems or other issues. If you want to use them in a security-or-otherwise-critical environment (say, on a production server), you do so at your own risk.
Update Note
Please use this repository instead of ppa:fkrull/deadsnakes.
Reporting Issues
Issues can be reported in the master issue tracker at:
https://github.com/deadsnakes/issues/issues
Supported Ubuntu and Python Versions

Ubuntu 18.04 (bionic) Python2.3 - Python 2.6, Python 3.1 - Python 3.5, Python3.7 - Python3.11
Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9 - Python3.11
Ubuntu 22.04 (jammy) Python3.7 - Python3.9, Python3.11
Note: Python2.7 (all), Python 3.6 (bionic), Python 3.8 (focal), Python 3.10 (jammy) are not provided by deadsnakes as upstream ubuntu provides those packages.

Why some packages aren't built:

Note: for focal, older python versions require libssl<1.1 so they are not currently built
Note: for jammy, older python versions requre libssl<3 so they are not currently built
If you need these, reach out to asottile to set up a private ppa

The packages may also work on other versions of Ubuntu or Debian, but that is not tested or supported.
Packages
The packages provided here are loosely based on the debian upstream packages with some modifications to make them more usable as non-default pythons and on ubuntu.  As such, the packages follow debian's patterns and often do not include a full python distribution with just apt install python#.#.  Here is a list of packages that may be useful along with the default install:

python#.#-dev: includes development headers for building C extensions
python#.#-venv: provides the standard library venv module
python#.#-distutils: provides the standard library distutils module
python#.#-lib2to3: provides the 2to3-#.# utility as well as the standard library lib2to3 module
python#.#-gdbm: provides the standard library dbm.gnu module
python#.#-tk: provides the standard library tkinter module

Third-Party Python Modules
Python modules in the official Ubuntu repositories are packaged to work with the Python interpreters from the official repositories. Accordingly, they generally won't work with the Python interpreters from this PPA. As an exception, pure-Python modules for Python 3 will work, but any compiled extension modules won't.
To install 3rd-party Python modules, you should use the common Python packaging tools.  For an introduction into the Python packaging ecosystem and its tools, refer to the Python Packaging User Guide:
https://packaging.python.org/installing/
Sources
The package sources are available at:
https://github.com/deadsnakes/
Nightly Builds
For nightly builds, see ppa:deadsnakes/nightly https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly
More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic InRelease [15.9 kB]
Hit:2 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease
Hit:4 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease
Hit:5 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
Get:6 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 Packages [35.5 kB]
Get:7 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main Translation-en [8,296 B]
Fetched 59.7 kB in 3s (19.1 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libpython3.10-minimal libpython3.10-stdlib python3.10-minimal
Suggested packages:
python3.10-venv binfmt-support
The following NEW packages will be installed:
libpython3.10-minimal libpython3.10-stdlib python3.10
python3.10-minimal
0 upgraded, 4 newly installed, 0 to remove and 178 not upgraded.
Need to get 4,837 kB of archives.
After this operation, 18.8 MB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 libpython3.10-minimal arm64 3.10.9-1+bionic1 [814 kB]
Get:2 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 python3.10-minimal arm64 3.10.9-1+bionic1 [1,768 kB]
Get:3 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 libpython3.10-stdlib arm64 3.10.9-1+bionic1 [1,706 kB]
Get:4 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 python3.10 arm64 3.10.9-1+bionic1 [549 kB]
Fetched 4,837 kB in 13s (375 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package libpython3.10-minimal:arm64.
(Reading database ... 177162 files and directories currently installed.)
Preparing to unpack .../libpython3.10-minimal_3.10.9-1+bionic1_arm64.deb ...
Unpacking libpython3.10-minimal:arm64 (3.10.9-1+bionic1) ...
Selecting previously unselected package python3.10-minimal.
Preparing to unpack .../python3.10-minimal_3.10.9-1+bionic1_arm64.deb ...
Unpacking python3.10-minimal (3.10.9-1+bionic1) ...
Selecting previously unselected package libpython3.10-stdlib:arm64.
Preparing to unpack .../libpython3.10-stdlib_3.10.9-1+bionic1_arm64.deb ...
Unpacking libpython3.10-stdlib:arm64 (3.10.9-1+bionic1) ...
Selecting previously unselected package python3.10.
Preparing to unpack .../python3.10_3.10.9-1+bionic1_arm64.deb ...
Unpacking python3.10 (3.10.9-1+bionic1) ...
Setting up libpython3.10-minimal:arm64 (3.10.9-1+bionic1) ...
Setting up libpython3.10-stdlib:arm64 (3.10.9-1+bionic1) ...
Setting up python3.10-minimal (3.10.9-1+bionic1) ...
Setting up python3.10 (3.10.9-1+bionic1) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu<IP_ADDRESS>) ...
Processing triggers for bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
python3.10-distutils python3.10-lib2to3
The following NEW packages will be installed:
python3.10-distutils python3.10-lib2to3 python3.10-venv
0 upgraded, 3 newly installed, 0 to remove and 178 not upgraded.
Need to get 3,239 kB of archives.
After this operation, 4,524 kB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 python3.10-lib2to3 all 3.10.9-1+bionic1 [125 kB]
Get:2 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 python3.10-distutils all 3.10.9-1+bionic1 [187 kB]
Get:3 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main arm64 python3.10-venv arm64 3.10.9-1+bionic1 [2,927 kB]
Fetched 3,239 kB in 8s (432 kB/s)
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package python3.10-lib2to3.
(Reading database ... 177813 files and directories currently installed.)
Preparing to unpack .../python3.10-lib2to3_3.10.9-1+bionic1_all.deb ...
Unpacking python3.10-lib2to3 (3.10.9-1+bionic1) ...
Selecting previously unselected package python3.10-distutils.
Preparing to unpack .../python3.10-distutils_3.10.9-1+bionic1_all.deb ...
Unpacking python3.10-distutils (3.10.9-1+bionic1) ...
Selecting previously unselected package python3.10-venv.
Preparing to unpack .../python3.10-venv_3.10.9-1+bionic1_arm64.deb ...
Unpacking python3.10-venv (3.10.9-1+bionic1) ...
Setting up python3.10-lib2to3 (3.10.9-1+bionic1) ...
Setting up python3.10-distutils (3.10.9-1+bionic1) ...
Setting up python3.10-venv (3.10.9-1+bionic1) ...
Creating python virtual environment in /home/aaeon/Luxonis/venv
Requirement already satisfied: pip in /home/aaeon/Luxonis/venv/lib/python3.10/site-packages (22.3.1)
Collecting packaging
Downloading packaging-23.0-py3-none-any.whl (42 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.7/42.7 kB 2.4 MB/s eta 0:00:00
Installing collected packages: packaging
Successfully installed packaging-23.0
Collecting pyqt5
Downloading PyQt5-5.15.7.tar.gz (3.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 15.3 MB/s eta 0:00:00
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [183 lines of output]
Collecting sip<7,>=6.4
Downloading sip-6.7.5.tar.gz (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 4.1 MB/s eta 0:00:00
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Collecting PyQt-builder<2,>=1.9
Downloading PyQt_builder-1.14.0-py3-none-any.whl (3.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 18.4 MB/s eta 0:00:00
Collecting packaging
Using cached packaging-23.0-py3-none-any.whl (42 kB)
Collecting ply
Downloading ply-3.11-py2.py3-none-any.whl (49 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.6/49.6 kB 3.3 MB/s eta 0:00:00
Collecting setuptools
Using cached setuptools-66.1.1-py3-none-any.whl (1.3 MB)
Collecting toml
Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
Building wheels for collected packages: sip
Building wheel for sip (pyproject.toml): started
Building wheel for sip (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
    × Building wheel for sip (pyproject.toml) did not run successfully.
    │ exit code: 1
    ╰─> [148 lines of output]
        running bdist_wheel
        running build
        running build_py
        creating build
        creating build/lib.linux-aarch64-cpython-310
        creating build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/pyproject.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/version.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/exceptions.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/distutils_builder.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/builder.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/bindings.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/installable.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/configurable.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/abstract_builder.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/abstract_project.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/buildable.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/project.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/py_versions.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/setuptools_builder.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/argument_parser.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/api.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        copying sipbuild/bindings_configuration.py -> build/lib.linux-aarch64-cpython-310/sipbuild
        creating build/lib.linux-aarch64-cpython-310/sipbuild/module
        copying sipbuild/module/abi_version.py -> build/lib.linux-aarch64-cpython-310/sipbuild/module
        copying sipbuild/module/main.py -> build/lib.linux-aarch64-cpython-310/sipbuild/module
        copying sipbuild/module/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/module
        copying sipbuild/module/module.py -> build/lib.linux-aarch64-cpython-310/sipbuild/module
        creating build/lib.linux-aarch64-cpython-310/sipbuild/tools
        copying sipbuild/tools/sdist.py -> build/lib.linux-aarch64-cpython-310/sipbuild/tools
        copying sipbuild/tools/install.py -> build/lib.linux-aarch64-cpython-310/sipbuild/tools
        copying sipbuild/tools/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/tools
        copying sipbuild/tools/wheel.py -> build/lib.linux-aarch64-cpython-310/sipbuild/tools
        copying sipbuild/tools/build.py -> build/lib.linux-aarch64-cpython-310/sipbuild/tools
        creating build/lib.linux-aarch64-cpython-310/sipbuild/distinfo
        copying sipbuild/distinfo/main.py -> build/lib.linux-aarch64-cpython-310/sipbuild/distinfo
        copying sipbuild/distinfo/distinfo.py -> build/lib.linux-aarch64-cpython-310/sipbuild/distinfo
        copying sipbuild/distinfo/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/distinfo
        creating build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/specification.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/utils.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/templates.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/instantiations.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/error_log.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/scoped_name.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        copying sipbuild/generator/python_slots.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator
        creating build/lib.linux-aarch64-cpython-310/sipbuild/generator/resolver
        copying sipbuild/generator/resolver/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/resolver
        copying sipbuild/generator/resolver/resolver.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/resolver
        creating build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs
        copying sipbuild/generator/outputs/pyi.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs
        copying sipbuild/generator/outputs/type_hints.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs
        copying sipbuild/generator/outputs/extracts.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs
        copying sipbuild/generator/outputs/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs
        copying sipbuild/generator/outputs/xml.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs
        copying sipbuild/generator/outputs/api.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs
        creating build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/parsetab.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/python_exceptions.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/rules.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/parser_manager.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/parser.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/tokens.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        copying sipbuild/generator/parser/annotations.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/parser
        creating build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/value_list.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/utils.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/klass.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/signature.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/enum.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/scoped.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/overload.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/template.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/base_formatter.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/variable.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/__init__.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        copying sipbuild/generator/outputs/formatters/argument.py -> build/lib.linux-aarch64-cpython-310/sipbuild/generator/outputs/formatters
        creating build/lib.linux-aarch64-cpython-310/sipbuild/module/source
        creating build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/objmap.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/sip_array.h -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/siplib.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/qtlib.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/int_convertors.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/LICENSE -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/LICENSE-GPL3 -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/threads.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/sip_array.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/descriptors.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/MANIFEST.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/sip.rst.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/sipint.h -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/apiversions.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/pyproject.toml -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/setup.py.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/voidptr.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/bool.cpp -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/setup.cfg.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/LICENSE-GPL2 -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/sip.pyi -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/README.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        copying sipbuild/module/source/12/sip.h.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/12
        creating build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_int_convertors.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_array.h -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/LICENSE -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/LICENSE-GPL3 -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_array.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/MANIFEST.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_enum.h -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip.rst.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/pyproject.toml -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/setup.py.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_enum.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_descriptors.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/setup.cfg.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/LICENSE-GPL2 -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip.pyi -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_voidptr.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_core.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/README.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_threads.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_core.h -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_object_map.c -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip_bool.cpp -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        copying sipbuild/module/source/13/sip.h.in -> build/lib.linux-aarch64-cpython-310/sipbuild/module/source/13
        running build_ext
        building 'sipbuild.code_generator' extension
        creating build/temp.linux-aarch64-cpython-310
        creating build/temp.linux-aarch64-cpython-310/code_generator
        aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Icode_generator -I/home/aaeon/Luxonis/venv/include -I/usr/include/python3.10 -c code_generator/gencode.c -o build/temp.linux-aarch64-cpython-310/code_generator/gencode.o
        code_generator/gencode.c: In function ‘generateCode’:
        code_generator/gencode.c:2212:23: warning: ‘max_per_part’ may be used uninitialized in this function [-Wmaybe-uninitialized]
                     if (parts && files_in_part++ == max_per_part)
                         ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        code_generator/gencode.c:1155:39: note: ‘max_per_part’ was declared here
             int i, nrSccs = 0, files_in_part, max_per_part, this_part, enum_idx;
                                               ^~~~~~~~~~~~
        aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Icode_generator -I/home/aaeon/Luxonis/venv/include -I/usr/include/python3.10 -c code_generator/heap.c -o build/temp.linux-aarch64-cpython-310/code_generator/heap.o
        aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Icode_generator -I/home/aaeon/Luxonis/venv/include -I/usr/include/python3.10 -c code_generator/py2c.c -o build/temp.linux-aarch64-cpython-310/code_generator/py2c.o
        code_generator/py2c.c:25:10: fatal error: Python.h: No such file or directory
         #include <Python.h>
                  ^~~~~~~~~~
        compilation terminated.
        error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
        [end of output]

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

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Failed installing dependencies. Could be a bug in the installer or unsupported platform. Open a bug report over at https://github.com/luxonis/depthai - exited with status 1 at line 222```

I ended up with a low storage message.
Collecting pyqt5
Using cached PyQt5-5.15.8.tar.gz (3.2 MB)
Installing build dependencies ... error
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [4 lines of output]
Collecting sip<7,>=6.6.2
Using cached sip-6.7.6.tar.gz (1.2 MB)
ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

@RhythmDJay thank you. This looks like a good progress. Could you please delete some data on your hard drive to free up space? I would say that clearing approx. 200MB of data should be enough. Then do the above mentioned steps again. If you obtain the ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device error, clear more space.
If the installation completes, try the depthai installation again, i.e. sudo wget -qO- https://docs.luxonis.com/install_depthai.sh | bash
Please let me know how that goes no matter the result

@RhythmDJay I think I have found the problem, the script used pip install --upgrade pip instead of python -m pip install --upgrade pip. Got fixed in PR.
If you encounter any problems, let us know. Please create new issue for that as I consider this one fixed

Hi @PetrNovota it looks like after clearing space I'm getting the original issue again.
I get:
ERROR: Failed building wheel for sip
Anything else you can think of?

@RhythmDJay thank you for the message.
Just to clarify. You are using a Jetson platform which is using ARM CPU?
The error comes from installing PyQt5 which is a package for developing front end. It is widely used. The sip package that you cannot install in thy PyQt5 dependency.
I dont have the Jetson platform available so I cannot recreate the problem you are having.
We just have to figure out how to build the sip package from source. Please try the following:

open new terminal window
run: sudo apt-get install python3.10-dev
activate virtual environment with source /home/aaeon/Luxonis/venv/bin/activate
run: python -m pip install --upgrade pip setuptools wheel
run: pip install sip

Please let me know how it goes. this will either result in the same error as before or sip will get installed, if it gets installed you may try the depthai installation once more.

@PetrNovota PyQt5 doens't provide wheels for AArch64 nor armv7l. Its common that those are used "from the system", by eg sudo apt install python3-pyqt5. I think this would be best path for that platform. Note, in that case the installation of custom python (3.10) should be skipped

@themarpe his global python interpreter is v. 3.6.9. Is it fine for depthai or should we update?

From core's perspective, yes

@RhythmDJay I think we have a good plan how to make it work for you. If you dont mind I would start by installing the Pyqt5 as my college suggested. Please open a terminal and type sudo apt install python3-pyqt5.
Then continue with the following:

delete /home/aaeon/Luxonis/venv directory  # we will install new one
cd /home/aaeon/Luxonis
sudo pip3 install virtualenv  # making sure virtualenv is installed. might be already installed
virtualenv --system-site-packages venv  # pyqt5 is installed as global package. This ensures your venv inherits those as well
source venv/bin/activate  # activate virtual environment
pip install -I -r depthai/install_requrements.txt  # install depthai dependencies
python depthai/depthai_demo.py  # run demo. Make sure you have a OAK device connected at this point

Let me know how it goes.


About the SAM dataset

Hi,
"the SAM dataset (Only the first 51 (i.e., 0-50) parquets"
I am still somewhat confused about this. Is this referring to the file named {000000:000050}.tar, or the content of the first 51 lines in the official text file?

000000:000050

Sorry for the confusion. We utilize 000000:000050 files.

Got it. Many thanks!


Not compatible with custom (Japanese) IME

I was trying out the Japanese text corpus. Unfortunately, the program is not really compatible with using a custom IME, to the point that it’s completely unusable.
It currently behaves in the following way:

When a word consists of multiple characters, the input is cut after the first character and after the penultimate character (which makes it very difficult to input the rest of the word due to the way pronunciation-based IMEs work).
Also when a word consists of multiple characters and the last character is input, it will be doubled.
When a word consists of a single character, it works just fine. WTF?

I’m using ibus-mozc to input Japanese on Ubuntu.

Confirming that the program behaves similarly when using a Chinese IME like ibus-libpinyin.

Terminals are nasty beasts. It's difficult to get them right. Please try my fix on master.

Sorry for not replying sooner. It seems to work fine now, thank you very much!


Hamdi/challenge vulnerability

Ensure that the txBytes used to challenge both deposits/transactions are direct spends of the exiting transaction. Using the grandchild transaction will not work because the confirm signature needs to sign over the spending the transaction.
No tests as this is a simple require statement.
Fixes #63

Pull Request Test Coverage Report for Build 362

10 of 11 (90.91%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 88.814%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

contracts/rootchain/RootChain.sol
10
11
90.91%

Totals

Change from base Build 344:
-0.8%

Covered Lines:
188

Relevant Lines:
203

💛  - Coveralls


Sorting

A nice to have and very useful IMHO feature would be the possibility to sort Images table (and not only) by headers (Virtual Size, Name, Created, etc.)

Does docker API supports sorting?
Does angular supports sorting of table?

Angular makes it pretty easy to sort and filter tables


Nagios Bash Script - update Descriptions of new hostgroups

Nagios Bash Script - update Descriptions of new hostgroups
when a new hostgroups is added by the script add a hook to send a  slack notification to #infrasrtucture so that the admins can updated the Description section of the hostgroup as required

Updated to Slack #infrasrtucture-bot channel  when a new hostgroup is add and if the Pre-Flight checks fail


Portal design for compilation vs. runtime logs

Currently, compilation logs are interleaved with runtime logs, which makes portal development hard. This issue is to track a better design for the scenario.
"Control" messages should also be shown. For example, issue https://github.com/Azure/azure-webjobs-sdk-script/issues/1023 will restart the host in particular circumstances. This should display something very visible in the portal rather than just logging a message to the stream.
CC @mattchenderson

We have discussed exposing a diagnostics (and control) stream that could be consumed by the portal. @ahmelsayed has been part of that conversation and I think he is just waiting for the runtime to expose this information.

@ahmelsayed  and @fabiocav this item is almost 2 years old, is it still relevant?
I plan on closing this with s98 unless there are further comments.


compiling native_posix64 with unistd.h & net/net_ip.h fail

posix64 comilation fail on:

/usr/include/unistd.h:277:21: error: conflicting types for ‘socklen_t’
typedef __socklen_t socklen_t;
^~~~~~~~~
In file included from ../src/main.c:9:0:
/home/ehudn/work/new_zephyr/zephyr/include/net/net_ip.h:154:16: note: previous declaration of ‘socklen_t’ was here
typedef size_t socklen_t;
^~~~~~~~~

To Reproduce
1.
add to helloworld app the following lines

#include <net/net_ip.h>
#include <unistd.h>

cd samples/hello_world/
mkdir build
cd build
cmake -GNinja -DBOARD=native_posix64 ..
use the attaching config
config.txt
ninja
See error

Expected behavior
compilation pass
Environment:

OS: LINUX
Toolchain Zephyr SDK
Commit SHA: a4f4f6d6f3c580e9230ec0b3de567bb786b3319e

native_posix* targets: a) leak host headers into the build; b) not compatible with Zephyr POSIX subsystem (because there's no proper separation between host vs Zephyr POSIX layers). This is known problem, see e.g. https://github.com/zephyrproject-rtos/zephyr/issues/13054
Unassigning from myself and assigning to @aescolar. I'd also suggest to lower priority of this (because this is effectively a known limitation of native_posix* targets).

@ehudmarvell This is a not a bug as such, as much as something that was willingly chosen to stop supporting :( . You can see some history in #13054. You can also see #13540 where the POSIX API shim was disabled in native_posix targets.
I will be closing this ticket as you are trying to do something which is just not supported. If you would like this to be supported you could either create a "feature request", or chip-in in #13540


Rename more things related to contract instantiation

See #3645. I've tried to have 'instantiation' refer specifically to contracts while 'creation' refer to accounts. This gets a little tricky when you're talking about smart contract accounts, so I've kept lines like:
srml/contracts/src/lib.rs
392:	/// The fee required to create an account.
393:	type CreationFee: Get<BalanceOf<Self>>;
423:/// and the account id that requested the account creation.
491:		/// The fee required to create an account.
492:		const CreationFee: BalanceOf<T> = T::CreationFee::get();
568:		/// a regular account will be created and any value will be transferred.
589:		/// - The smart-contract account is created at the computed address.
590:		/// - The `ctor_code` is executed in the context of the newly-created account. Buffer returned
681:				// We don't have a spare buffer here in the first place, so create a new empty one.
803:		T::Currency::deposit_creating(&dest, origin_free_balance);
874:	pub account_create_fee: BalanceOf<T>,
886:			account_create_fee: T::CreationFee::get(),

Please don't merge until this issue is closed, thanks :^)

I am not sure if this has already happened in this PR but it might also make sense to rename the expected Wasm contract exported function names from create to instantiate.

Yep, that happened in #3649.

Thanks @expenses !


Natural Merge Sort

Runlengths are two naturally sorted arrays

Changes to the psuedocode (line 12) + '//Done' at the end

run-length clarification and psuedocode changes


Release 2024-01-24

#3116
#3117
#3118
#3115

Lets get this merge only after approval from @trechriron


refcactor: encapsulate WindowMetrics better

As discussed in #840 (and merges into that, of course)
This does everything I suggested, except replacing the dirty flag with a variant to prevent invalid data from being accessed, as that would be pretty invasive. All this currently does is move code around to make the contract explicit.

Looks great to me, @glennsl - thanks for the help, appreciate it!


Test Draft

Hi. Is there any method to do a test draft like in pick and bans ui? to test without enter a match.

Not yet but it is definitely a good idea 👍


Switch to TypeScript

Are we looking at a full TypeScript switch? We can start with TypeScript declaration that adds types to existing JS code: https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html

Great call! This is exactly what I've been working on 😄


Fix Half-Functional Text Control Codes

Fixes a few text control codes (quicktext enable, SFX, delay) that were bugged in the original NA release. It seems these weren't properly adjusted to account for two characters being displayed each frame, so they only worked about half of the time.
Rika Alfa:
https://github.com/HarbourMasters/2ship2harkinian/assets/42286723/91f7743b-c159-4ceb-97d1-8189badc194e
This PR:
https://github.com/HarbourMasters/2ship2harkinian/assets/42286723/e8193c91-cb11-4d80-8e81-779533aae779

Should this be optional to account for the differences in versions? (I'm thinking yes..)
I'm not entirely sure what you mean by this, but I'm willing to add a checkbox just for the sake of fixes being optional.

I think what Proxy was asking was whether we needed to account for the eventual support of PAL ROMs, or if the code will work with their control character flow automatically.

Mostly just that out of the box, the default behavior (aside from rare exceptions like widescreen support or fixing crashes) should reflect US 1.0, anything else should be opt-in.
We may in the future do smart toggling of these options based on the rom they extracted.

Mostly just that out of the box, the default behavior (aside from rare exceptions like widescreen support or fixing crashes) should reflect US 1.0, anything else should be opt-in.

Yeah, that makes sense.
https://github.com/HarbourMasters/2ship2harkinian/assets/42286723/6cfb4f51-073e-41cd-9450-30d7c4f08145

Mostly just that out of the box, the default behavior (aside from rare exceptions like widescreen support or fixing crashes) should reflect US 1.0, anything else should be opt-in.
We may in the future do smart toggling of these options based on the rom they extracted.

As far as I can tell, this functions the same as in PAL and GC, so toggling this on when extracting those ROMS would make sense.

Ayyy nice!
Should this be optional to account for the differences in versions? (I'm thinking yes..)

I imagine we can use z_message_nes for PAL too based one what small investigations I've done. z_message would need this treatment for JP support to have it too, but that's something I can add on my PRs end


nunjucks Unexpected token ILLEGAL

reported error:
gulp-notify: [Error running Gulp] SyntaxError in plugin 'gulp-nunjucks'
Unexpected token ILLEGAL
/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/ttf2woff2/jssrc/ttf2woff2.js:1
(function (exports, require, module, __filename, __dirname) { var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB;var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFile

Template render error: (unknown path)
  TypeError: must start with number, buffer, array or string
    at Object.exports.withPrettyErrors (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/nunjucks/src/lib.js:33:17)
    at Obj.extend.render (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/nunjucks/src/environment.js:344:20)
    at Obj.extend.renderString (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/nunjucks/src/environment.js:231:21)
    at Object.module.exports.renderString (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/nunjucks/index.js:66:14)
    at Transform._transform (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/gulp-nunjucks-render/index.js:29:18)
    at Transform._read (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_transform.js:184:10)
    at Transform._write (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_transform.js:172:12)
    at doWrite (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_writable.js:237:10)
    at writeOrBuffer (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_writable.js:227:5)
    at Transform.Writable.write (/Users/hugo/programming/github/node-resources/gulp-starter/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_writable.js:194:11)

I just add a paragraph in index.html like below, and run gulp production:
{% block content %}
   ... ...

RMA Procedures

  Sales invoices and packing lists in order for us to obtain the detailed information of the relevant goods from our quality control database.

{% endblock %}

Hmm... Maybe related to https://github.com/vigetlabs/gulp-starter/issues/249
Feel like ttf2woff2 has been problematic. Try removing woff2 from the iconFont config extensions list, upgrading gulp-iconfont, or removing the iconfont config all together. I've been using SVG sprites instead for a while now.

Weird that it's throwing an error in Nunjucks though.

No matter upgraded gulp-iconfont, removing woff2 from config extensions list or removed all iconfont config, it's also reported error.
After upgraded gulp-iconfont to 6.0.0, it reproted:
Error in plugin 'svgicons2svgfont'
Message:
    The "appendUnicode" option were renamed "prependUnicode". See https://github.com/nfroidure/gulp-svgicons2svgfont/issues/33

Maybe it is cause by Unicode Character 'LINE SEPARATOR' (U+2028), Javascript parse error on '\u2028' unicode character , can saw it in git diff:

mozilla/nunjucks/#126

I think this may be fixed by #256
@huguangju Can you pull the latest from master and confirm?

Also fixed the upgrade issue you mentioned with #258
Closing this, but please re-open if you're still having issues.

After removed Unicode Line Separator in Bash u2028, this end up worked
# http://stackoverflow.com/a/16552635/4723163
sed -i.old $'s/\xE2\x80\xA8/ /g' inFile


Proper certificate usage with pygnmi

Is it possible to use anything other than a self signed certificate with gNMIclient? I have gotten it to work using a self signed certificate that I generated on my switch (Cisco Nexus 9k), but I cannot make it work with a "proper" certificate, either one signed by our local CA for the device itself or a wildcard.
The certificate seems to be in good order, I was able to import the pkcs12 on the device successfully and using openssl to verify the certificate locally and also via a channel to the device on port 50051 works. Additionally gnmic also works, but gNMIclient does not. I can, for example, use the following gnmic command:
gnmic -a switch.example.com:50051 -u admin -p admin --tls-ca root.ca get --path 'System/bgp-items'
But the following code results in a rather generic grpc.FutureTimeoutError error:
from pygnmi.client import gNMIclient

handle = gNMIclient(
    ("switch.example.com", 50051),
    username="admin",
    password="admin",
    path_root="./root.ca",
)
with handle as session:
    session.get(["System/bgp-items"])

I have tried using many different combinations of path_cert, path_root, and path_key pointing to the respective elements of the certificate and also the override option and I get basically the same error every time.

The strange thing that I've discovered is that this works from my laptop, but not from a VM in our colo environment. I again have tried all different combinations of signatures for gNMIclient, and specifying the path to our wildcard PEM in path_cert works from my laptop without needing to specify path_root. I'm assuming this is because my laptop is part of the same domain as the CA, so the CA certificates are trusted already. From the VM it doesn't work, but it appears that the CA is trusted from there as well, and in any case providing the CA cert via path_root also doesn't work...

Hey @ianbarrere ,
Unfortunately, it is a bit difficult to answer your question without any data. As you mentioned in the second post yourself, pygnmi works perfectly with any kind of certificates, either self-signed or not.
As a recommendation, what I and many customers do in the prod environment, you would specify the root certificate in path_root and not to specify cert and path for a specific device to avoid changing your code for every device.
One of the things to compare between your "proper" cert and self-signed is to check, which ciphers are supported in both. Do they overlap?
Best,
Anton

Yeah, this is surely something wrong with my environment rather than a problem with gNMIclient as I originally thought, so we can close this issue. I'll try to fix on my environment if it comes up again.
Thank you for maintaining this project btw, it's been a great help for automation at my organization.


vendor._gowin: Fix sdc file syntax.

SDC files for Gowin vendor toolchain are normally generated from the IDE.
Example syntax for 'create_clock' can be seen chapter 4.6 of SUG940-1.2E ("SUG940-1.2E_Gowin Design Timing Constraints User Guide.pdf").

That's funny; these are definitely no longer "Synopsys Design Constraint" files then.

Next time please include the explanation for the fix in the commit message as well.


feat(radio): add radio buttons

Adding radio buttons component
<div class="btn-group" data-toggle="buttons" [(ngModel)]="model" ngb-radio-group>
    <label class="btn btn-primary">
        <input type="radio" name="rad2" [value]="one" ngb-radio>One
    </label>
    <label class="btn btn-primary">
        <input type="radio" name="rad2" [value]="two" ngb-radio>Two
    </label>
</div>

Behaviour:

single model
can use arbitrary values, not only strings
when a model is updated => proper radio gets selected
when a selected radio value is updated => model is updated
when a selected radio is hidden => model sets to null

Here is the updated plunker:
http://plnkr.co/edit/hHNhl8lBgZrMdOTY8jDj?p=preview

LGTM after quick scan, just left one minor comment.
@wesleycho @Foxandxss could you guys have a look as well?

The only thing I'm wondering is in the tests, should the inputs have the same name? Currently they are missing it, but generally inputs in a set of radio inputs should have the same input name.

Nice catches, amended:

core.ts update
NGB_RADIO_DIRECTIVES export
name attribute for tests
double --> single quotes in typescript
some comments for tests

Thnx @maxokorokov, merging! Great stuff, very high quality for the very first PR. Keep them coming!


Register renamed package: BlockEnums.jl

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/82650
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.0 -m "<description of version>" 7604e7a148273eff78aa8e65ad952bd43adbe046
git push origin v1.0.0


Breaks "Configure Settings"

When I enable mg-living-world-core, I can no longer access the "configure settings" screen. Any indication on what your timeline or intent are would be great. Not trying to pressure you to do anything. Just asking for an ETA.

This should be fixed with the latest release of mg-living-world-core,
v2.0.0.
On Wed, Nov 23, 2022 at 10:59 AM William W @.***> wrote:

When I enable mg-living-world-core, I can no longer access the "configure
settings" screen. Any indication on what your timeline or intent are would
be great. Not trying to pressure you to do anything. Just asking for an ETA.
—
Reply to this email directly, view it on GitHub
https://github.com/TheMasterGeese/mg-living-world-core/issues/7, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AUTCOS2J2TZJYBMGNGYQ35LWJY5PXANCNFSM6AAAAAASJD43P4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>