_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 19s
master passed

+1 :green_heart:
compile
0m 32s
master passed

+1 :green_heart:
spotless
0m 45s
branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 54s
the patch passed

+1 :green_heart:
compile
0m 30s
the patch passed

+1 :green_heart:
javac
0m 30s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
xml
0m  1s
The patch has no ill-formed XML file.

+1 :green_heart:
hadoopcheck
5m 25s
Patch does not cause any errors with Hadoop 3.3.6.

+1 :green_heart:
spotless
0m 42s
patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 10s
The patch does not generate ASF License warnings.

21m 30s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5621/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5621

Optional Tests
dupname asflicense javac hadoopcheck spotless xml compile

uname
Linux 5a0f6da2ce93 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / a7429a75f2

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
79 (vs. ulimit of 30000)

modules
C: hbase-common U: hbase-common

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5621/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 36s
Docker mode activated.

-0 :warning:
yetus
0m  4s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
2m 58s
master passed

+1 :green_heart:
compile
0m 18s
master passed

+1 :green_heart:
shadedjars
5m 59s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 19s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 20s
the patch passed

+1 :green_heart:
compile
0m 18s
the patch passed

+1 :green_heart:
javac
0m 18s
the patch passed

+1 :green_heart:
shadedjars
6m 33s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 18s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
3m 14s
hbase-common in the patch passed.

25m  5s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5621/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5621

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux b54089d72734 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / a7429a75f2

Default Java
Eclipse Adoptium-11.0.17+8

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5621/1/testReport/

Max. process+thread count
392 (vs. ulimit of 30000)

modules
C: hbase-common U: hbase-common

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5621/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


arc errors

If you enable arc via -fobjc-arc you get a bunch of the following errors:

../mtlpp.mm:1349:17: error: pointer to non-const type 'NSError ' with no explicit ownership
NSError* nsErrorPtr = error ? &nsError : nullptr;

You need to change each instance of this problem to this.
NSError* __autoreleasing nsError = NULL;
NSError* __autoreleasing * nsErrorPtr = error ? &nsError : nullptr;
Took me, and a few people at Apple several hours to work out what was going on :>


prevent erroneous setting of dps/prec on mpmath module

What we really want for Issue #657 is an exception on write access. Instead here is a partial implementation for read access.  Not even close to a solution sadly.
update: exceptions on write access to .dps and .prec in mpmath module.

Todo list

[x] depends on #663
[x] release notes?
[x] test
[x] any performance concerns?

potential changelog entry
My feeling is this maybe doesn't need a changelog, but just in case here's one:
Bug fixes:

  * Prevent accidentally setting `dps`/`prec` on the mpmath module (Colin Macdonald, Sergey Kirpichev, Warren Weckesser)

This really doesn't work very well, not sure I understand why:
>> import mpmath as mp
>> mp.dps
AttributeException(...)
>> mp.dps = 64
>> mp.dps
64

eh?  I was expecting an exception.  So unless I've done this wrong PEP 562 really doesn't offer much control here.

This really doesn't work very well, not sure I understand why:
>> import mpmath as mp
>> mp.dps
AttributeException(...)
>> mp.dps = 64
>> mp.dps
64

eh? I was expecting an exception.

Unfortunately, this is not like the property attribute on classes.  If 'dps' exists in the namespace of the module - the __getattr__() helper will not be invoked.

So unless I've done this wrong

Certainly not.

It seems, release notes (CHANGES) update happens just before release.  Probably, it's a good idea to automate this and keep things more up to date.  But don't worry here.
Yes, lets add tests.  Shouldn't be hard.
I don't think there is any performance penalty.  @oscarbenjamin?

I don't know if this is significant here or not...  I figure it potentially matters when calling frunctions from mpmath in a loop:
e.py:
import mpmath

def test1():
    f = mpmath.sin
    for i in range(0, 1000):
        f(i / 10)

def test2():
    for i in range(0, 1000):
        mpmath.sin(i / 10)

$ python -m timeit -r11 -s 'from e import test1' 'test1()'
100 loops, best of 11: 3.21 msec per loop
$ python -m timeit -r11 -s 'from e import test2' 'test2()'
100 loops, best of 11: 3.25 msec per loop

So its insignficant there, compared to the computation cost.
Of course, if I remove the computation, then I see the same results as @skirpichev:
import mpmath

def test1():
    f = mpmath.sin
    for i in range(0, 1000):
        f

def test2():
    for i in range(0, 1000):
        mpmath.sin

[cbm@x1c10 mpmath.git]$ python -m timeit -r11 -s 'from e2 import test1' 'test1()'
50000 loops, best of 11: 8.86 usec per loop
[cbm@x1c10 mpmath.git]$ python -m timeit -r11 -s 'from e2 import test2' 'test2()'
10000 loops, best of 11: 22.6 usec per loop

So is there some situation where one would tight-loop access to an attribute of mpmath without doing any real work in the loop?
Even if we cannot think of a "real life" example here, it definitely sounds like a point to make if you submit a PEP!

Here's an example, only one letter different sign instead of sin, which is much cheaper:
import mpmath

def test1():
    f = mpmath.sign
    a = 0
    for i in range(0, 1000):
        a += f(i)

def test2():
    a = 0
    for i in range(0, 1000):
        a += mpmath.sign(i)

$ python -m timeit -r11 -s 'from e import test1' 'test1()'
50000 loops, best of 11: 9.11 usec per loop
$ python -m timeit -r11 -s 'from e import test2' 'test2()'
10000 loops, best of 11: 22.2 usec per loop

And we see the slow down in a vaguely real-life example...

So is there some situation where one would tight-loop access to an attribute of mpmath without doing any real work in the loop?

Something like type(foo) is mpmath.mpf or isinstance(foo, mpmath.mpf).

an example, only one letter different sign instead of sin, which is much cheaper ... And we see the slow down in a vaguely real-life example...

Of course, all this can be workarounded by using test1() layout (or from mpmath import sign as f) instead of test2()...  So, I'm still in favor of merging this.  Let's wait few days in case  someone else will review this.

it definitely sounds like a point to make if you submit a PEP!

Unfortunately, I don't see too much usage examples for this "feature".  And mpmath's case seems to be very special.  What else?  To prevent mutations of the module __dict__, e.g. mpmath.sin="spam"?:)  On another hand, PEP 562 has not too much as well... (BTW, I don't see where stuff from that PEP was documented.)

I think that replacing the module in sys.modules like this is a bad idea. It is messing around with things that should not really be messed with and will cause something to break. I am certain that this change would end up being regretted (this looks like precisely the kind of thing that I would want to remove from a codebase if I saw it).
Being able to define __setattr__ on a module would be a useful change to the Python language. In the absence of a properly supported way to prevent attributes being set on a module though it is better just to accept that this can happen even if it is unfortunate.
It would be better to focus on designing an interface for precision control that is less prone to mistakes and misunderstanding.

will cause something to break.

Could you provide an example?  We can't reject pr only on the ground of unspecified potential problems.

Being able to define __setattr__ on a module would be a useful change to the Python language.

I doubt it will be accepted.  (As I said above, there are no good practical examples of why it could be helpful.)  But if it will - we can switch the present workaround to that solution.

In the absence of a properly supported way to prevent attributes being set on a module

Actually, Python does support customizing module attribute access, it is only slow.  The recommended way in the CPython docs is exactly how things are implemented in this pr.

FYI: https://discuss.python.org/t/extend-pep-562-with-setattr-for-modules/25506

@fredrik-johansson, how this solution looks for you?

I think this could be merged as-is, I will do this on monday.  Unfortunately, from the discussion thread it seems for me, that proposing a PEP for __setattr__ helper doesn't make sense.

There is some scenarios where measurable code slowdown exits, but I doubt this will pose real problems for someone.  And there are simple workarounds.
@oscarbenjamin, if you have any clue on what this may "break" - please show us.  BTW, similar replacing of the module in sys.modules was used for a long time in the scipy (FFT submodule).
@asmeurer, I would appreciate your opinion.

2. if you have any clue on what this may "break" - please show us

I don't have any specific examples. My experience is that when you do something like this it seems like you can reason about whether it should work but then something somewhere else turns out to have made some assumptions that will be broken as a result of the change.
I think it would be better to reflect on whether setting a global dps attribute is actually a good interface in the first place (I don't think it is) rather than making the change here to give an error for someone who sets the attribute on the wrong object. After that I would consider whether the docs can be improved so that the mistake is less likely. After that I would just do nothing. It isn't ultimately necessary to do anything in response to gh-657: sometimes an issue is just an issue but does not need to be "fixed".

Perhaps we should just leave this open, then see if such an alternative interface as @oscarbenjamin describes) can be developed.  If no such alternative materializes then we can revisit this, say in 6 months or so.
To be concrete: if the docs in the dev tree are are still recommending mp.dps = 64 in 2024, then I suggest merging this.

I don't have any specific examples.

Good news.  Then I don't see technical objections: this pr does very tiny and fine grained customization of the module behavior, exactly on the way the official docs recommends.

I think it would be better to reflect on whether setting a global dps attribute is actually a good interface in the first place (I don't think it is)

I think we all agreed that the context management could be better.  But this is much more complex change (and probably with API breakage).

It isn't ultimately necessary to do anything in response to https://github.com/mpmath/mpmath/issues/657

This is a common gotcha for mpmath users (2-3 duplicates of this issue were mentioned in the issue thread), that's why I would like to include some fix in the next (minor?) release.
Alternatively, we can add something to the docs (as a note/warning or a dedicated section), but this solution seems much better for me: it just forbids wrong scenarios of altering context attributes.

I think it's worth at least trying out https://github.com/mpmath/mpmath/issues/657#issuecomment-1498195928. It's much less invasive. I think if we put the check in the right place it won't be a major performance issue.

To be concrete: if the docs in the dev tree are are still recommending mp.dps = 64 in 2024, then I suggest merging this.

Ok.

if the docs in the dev tree are are still recommending mp.dps = 64 in 2024, then I suggest merging this.

I don't see any reason to wait until 2024: if you're going to do it then just do it now. Personally I would not do this now or later because it would be better to fix the interface design rather than add hacky workarounds to make the current interface slightly less confusing. Especially there should be no noticeable performance penalty for users who are using mpmath correctly just to provide better error messages to someone who uses it incorrectly.
It would be better to have an interface that does not depend on either attribute access or setting global variables at all and the docs could easily recommend that:
from mpmath import make_context
mp = make_context(real=True, dps=100)

Note this from the README:

4. Known problems
Mpmath is a work in progress. Major issues include:
...

The interface for switching precision and rounding is not finalized. The current method is not threadsafe.

I suggest that we think about what is (or could be) a good recommended way for users to use mpmath in the first instance and then consider what to recommend in the docs. Once that is done we might find that this issue is just not an issue any more.

it would be better to fix the interface design

I've opened an issue #683

Especially there should be no noticeable performance penalty

I don't think there is a practical performance penalty.

at least trying out https://github.com/mpmath/mpmath/issues/657#issuecomment-1498195928. It's much less invasive. I think if we put the check in the right place

@asmeurer, I doubt there is such "right place".  You will have to do it differently for every context (mp, fp, etc).  E.g. for the mp context you, probably, should adapt defun* decorators, for the fp - _mathfun() helper and so on.  I would welcome a pr, but it will definitely will be more complex than the current solution.

https://peps.python.org/pep-0726/

To be concrete: if the docs in the dev tree are are still recommending mp.dps = 64 in 2024, then I suggest merging this.

Ok, I'm going to merge this in few days.  Regardless on the PEP fate (https://github.com/python/steering-council/issues/216) - we don't have yet a better workaround for the issue.

To be concrete: if the docs in the dev tree are are still recommending mp.dps = 64 in 2024, then I suggest merging this.

Ok, I'm going to merge this in few days.  Regardless on the PEP fate (https://github.com/python/steering-council/issues/216) - we don't have yet a better workaround for the issue.

Thanks

Thanks, all!


Not working properly, It says something about Imm_ptl_core and idk what that even means

So basically It just doesn't work.
crash-2021-02-27_12.30.31-client.txt

you are using sodium, sodium is not compatible

qouteall does however have a version that is compatible

https://github.com/qouteall/sodium-fabric

ok thanks


template won't compile locally with Miktex/texstudio distribution on MS W10

Prerequisites

[ X] Put an X between the brackets on this line if you have done all of the following:

Check that you are using the latest version of kaobook.
Check that your issue isn't already filed: https://github.com/fmarotta/kaobook/issues

Description
I get a "Missing $ inserted. \chapter{First Chapter}" when I try to compile any kaobook example locally on my computer. The examples work online with overleaf, and I only have trouble with the kaobook template (all other book examples dowloaded from the "Latex templates" web site work on first attempt.
See below a screen copy
Any idea ?

I experience the same problem, with both the documentation files, and my own

Compiling the main Kaobook documentation with MikTeX/TeXworks under Window 10 give the following errors:
With pdfLaTex and XeLaTeX:
chapter 1.
! Missing $ inserted.

$
l.2 \chapter{Introduction}
With LuaLaTeX:
chapter 1.
! Improper \spacefactor.
 \spacefactor
l.2 \chapter{Introduction}

I reverted back to Kaobook 0.9.7, and the problem persists. I therefore doubt that it is a Kaobook problem.

I found a solution : installed Tex Live 2021 instead of MikTex.
Compiling with XeLatex instead of PdfLatex then works.
No idea why ;)

Does the problem only occur with kaobook or does it also exist with normal koma-script documents?
That is a nice check to see whether there is a bug in kaobook or somewhere else.

The current koma-script works fine:
\documentclass{scrartcl}
\begin{document}
test
\end{document}

Thank you for your investigations @jhsh! My current understanding is the following:
The nexpx-font package slightly changed the definition of the theoremfont parameter.
This means, if we now want to use theoremfont like we did
\RequirePackage[scaled=.97,helvratio=.93,p,theoremfont]{newpxtext}

we have to include the package amsthm before nexpxtext.
As an aside, the problem also appears in other document classes, if amsthm is not loaded before nexpxtext.
There are several ways of fixing the bug:
1. Drop theoremfont
In kao.sty replace
\RequirePackage[scaled=.97,helvratio=.93,p,theoremfont]{newpxtext}

by
\RequirePackage[scaled=.97,helvratio=.93,p]{newpxtext}

This fixes the error, however, we loss the theoremfont functionality.
2. Load amsthm before the font
Currently the situation is as follows:
\documentclass{kaobook}      % <-- newpx is loaded here
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{kaobiblio}
\usepackage{kaotheorems}     % <-- amsthm is loaded here
\usepackage{kaorefs}

So amsthm is loaded after nexpx, which is a problem for newpx.
Loading amsthm in kao.sty before newpx fixes this problem, however, for people that do not want to use kaotheorems this might generate problems.
3. A slightly bigger rewrite
We could modify the template in the following way:
\documentclass[kaobiblio, kaotheorems, kaorefs]{kaobook}
\usepackage[english]{babel}
\usepackage{blindtext}

So the user specifies which kao-packages to load as documentclass-options.
In this way, we know whether the user wants to use kaotheorem already in kao.sty and we can load amsthm before nexpx.

As a quick fix I would go with 1., but convert to 3. in the future.

Thanks @AlexanderZeilmann! I re-commented l.404 in nexpxtext.sty and implemented your solution 1, which of course works as advertised. However, the more serious original problem flagged by @ronanlefort and myself still remains unsolved.

Thank you guys @AlexanderZeilmann & @jhsh for the discussion. We are a great step forward to the solution. Kaobook is such a nice class that it is really worth to dig further. I also noticed a conflict with the tikz package (and encoding math fonts) but I will keep this for a further issue when I identify more precisely the origin of the bug (which appears with Xelatex and not with Lualatex).

@ronanlefort is the "Missing $ inserted. \chapter{First Chapter}"-bug fixed for you?
Sadly I can not reproduce this bug, so it is a little hard for me to debug this.

No, the bug is still there. What is your setup (OS, tex distro)? From any differences we may be able to zoom in to the problem

Could you please revert this issue to open?

Indeed, I noticed that this error is the one left when you compile a second time with pdflatex. At first run, you get the "\theoremstyle" bug.

What is your setup (OS, tex distro)? From any differences we may be able to zoom in to the problem

Mac OS 10.15.4
TeXLive-2021-Basic
all package updates installed via the Tex Live Utility
pdfTeX 3.141592653-2.6-1.40.23 (TeX Live 2022/dev)
XeTeX 3.141592653-2.6-0.999993 (TeX Live 2021)
LuaHBTeX, Version 1.13.2 (TeX Live 2021)

I have no idea at all, but this is a hint I got, when I could not compile the main.file
Anyways, to fix the problem in the latest version of the template from my website, go to kao.sty and add this on line 644:
\let\Bbbk\relax
This is what lines 642-645 should look like afterwards:
\RequirePackage[scaled=.97,helvratio=.93,p,theoremfont]{newpxtext} % Serif palatino font
\RequirePackage[vvarbb,smallerops,bigdelims]{newpxmath} % Math palatino font
\let\Bbbk\relax % This is a hack to stop the newpxmath and amssymb packages both defining this command and leading to a compilation error
\RequirePackage[scaled=.85]{beramono} % Monospace font

Thanks @DesKartes, but this does not solve the problem. I am not sure which version of kao.sty you refer to, but these lines occur at 1077-1079 in the current version.

I have now also installed TeXLive under Windows 10 and can confirm that the kaobook documentation files and my own files compile without error with pdfLaTeX, XeLaTeX, and LuaLaTeX. So the problem must orginate with some file in MikTeX, and not with kaobook. We'll just have to wait until the bug is recognised and found by some MikTeX guru.

The newpx and microtype MikTeX packages have just been updated, and with these updates both of the ""Missing $ inserted." and the
! Undefined control sequence.
l.561 \theoremstyle
{plain}
errors do not occur anymore. Note that it is unnecessary to modify kaobook.sty as suggested by @AlexanderZeilmann.
@ronanlefort could you please check that you have the same experience? If so, then this issue can be safely closed.

I apologise, but my previous comment was only partly correct. I discovered that after installing TeXlive its binaries were in the path before the mikTeX binaries. Once I corrected this the
! Undefined control sequence.
l.561 \theoremstyle
{plain}
error came back, but fortunately the more problematic "Missing $ inserted." did not occur anymore.

Hi @jhsh, @DesKartes, @AlexanderZeilmann
I installed back the updated version of Miktex : that's OK now, provided you swith to p option in the call to the nexpxtext pacakage in kao.sty
Thank you guys
Have fun with this second to none kaobook class !


window.alert(new Error('test')) cause "dialog.showMessageBox argument 2" error

When running window.alert('new Error('test')') from the dev tools, I got the dialog.showMessageBox argument 2 error.
I checked the code for a while and find out electron has override the default browser alert() method, and presume the message params as a String, and haven't handle the case when it's something else like an error Object.
If I do the same thing from chrome dev tools, it will converted the error object into string, so I was expected the same behaviour in electron.
It's not a bug but I believe it's something that could be improved.

I believe we can add some simple code to check the type of the message
# Use the dialog API to implement alert().
window.alert = (message, title='') ->
  dialog = remote.require 'dialog'
  buttons = ['OK']
  message = message.toString()
  dialog.showMessageBox remote.getCurrentWindow(), {message, title, buttons}


replace LSTM with charRNN in examples

The "reference" page I believe is correct but the example pages need the new charRNN naming rather than LSTM.

put in a PR for this https://github.com/ml5js/ml5-website/pull/99

The page https://ml5js.org/docs/CharRNN contains a link to an example. The link URL contains LSTM, it should be https://github.com/ml5js/ml5-examples/blob/master/p5js/CharRNN/CharRNN_Text/sketch.js


Add config class

@nkongenelly this branch now has conflicts with main :see_no_evil: Could you please look into it?

Thanks for the reminder. I have now rebased the code.


fix: retry installing jq multiple times in gitlab-runner userdata script

Description
This resolves intermittent failures of the runner to start and register properly when using the new GitLab runner registration method.
Migrations required
NO
Verification
Confirmed this works for my setup by vendoring this module with these changes.

Could you please share the error message you have seen in the logs?

Could you please share the error message you have seen in the logs?

Nov  8 21:43:26 user-data:
Nov  8 21:43:26 user-data: Error downloading packages:
Nov  8 21:43:26 user-data:  jq-1.5-1.amzn2.0.2.x86_64: [Errno 256] No more mirrors to try.
Nov  8 21:43:26 user-data:

The added retry logic eventually retries this package install enough times to make it work. When it was a single try, this would fail causing the userdata script would fail and thus causing the runner to fail to register and start.

Installing jq always shouldn't do any harm, but removes the if. Thought about integrating this into the loop above. But this seems to be a bit more tricky.

Thanks for fixing this issue, @ryancausey


[Feature]: Adapt CDAT Migration regression testing scripts as integration tests to replace image checker

Description

Closes #894

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My changes generate no new warnings
[ ] Any dependent changes have been merged and published in downstream modules

If applicable:

[ ] New and existing unit tests pass with my changes (locally and CI/CD build)
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have noted that this is a breaking change for a major release (fix or feature that would cause existing functionality to not work as expected)

@tomvothecoder thank you for working on this. I'm considering to have both image checker and the new regression tests based on nc files and json. For cases that .nc files are generated correctly, but images are not. We can talk about more on Monday.
P.S. congratulations on the big merge and a brand new code base!

Since this regression testing will be run on HPC and not GH Actions, we won't need to containerize the data or make the image checker an optional test.

@chengzhuzhang Once this is merged, should we do a full run with v3 data on latest main? Might be a good idea before releasing v3.0.0.

@chengzhuzhang Once this is merged, should we do a full run with v3 data on latest main? Might be a good idea before releasing v3.0.0.

Absolutely. When releasing v2.12.1, I only did metrics and image checking because the netcdf files were not saved in the full  run. We should save the nc files this time..

@chengzhuzhang Once this is merged, should we do a full run with v3 data on latest main? Might be a good idea before releasing v3.0.0.

Absolutely. When releasing v2.12.1, I only did metrics and image checking because the netcdf files were not saved in the full run. We should save the nc files this time..

@chengzhuzhang Actually we do need to run the latest main with v3 data for this PR. That way I can write the integration tests and try them on perlmutter.
Can you provide the specific path to where I should save the results for persistence?

EDIT: I made this dir to store results: /global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main

This is good! Thank you.

Hey @chengzhuzhang I want to perform a regression test with v3 data using v2.12.1 and the latest main. I'm trying to re-run the v3 script with v2.12.1 and save_netcdf=True to save outputs to netCDF.
However, I keep getting concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending. at some point. Any ideas why?
Commands
mamba create -n e3sm_diags_2.12.1 -c conda-forge e3sm_diags=2.12.1
mamba activate e3sm_diags_2.12.1

python auxiliary_tools/complete_run_script.py

Script

Same as https://github.com/E3SM-Project/e3sm_diags/blob/tests/894-regression-test/auxiliary_tools/complete_run_script.py

"""
This script sets up and runs a series of diagnostics for the E3SM model output.

The diagnostics include:
- ENSO diagnostics
- Tropical subseasonal variability diagnostics
- QBO diagnostics
- Diurnal cycle diagnostics
- Streamflow diagnostics
- Tropical cyclone analysis
- ARM diagnostics

The script configures the parameters for each diagnostic, including paths to
model output and observational data, time periods for analysis, and output
settings. It then runs the diagnostics using the e3sm_diags package.

Parameters:
- case: The name of the model case.
- short_name: A short name for the model case.
- results_dir: Directory where the results will be saved.
- test_climo: Path to the model climatology data.
- test_ts: Path to the model time-series data.
- test_ts_daily_dir: Path to the model daily time-series data.
- ref_climo: Path to the reference climatology data.
- ref_ts: Path to the reference time-series data.
- start_yr: Start year for the analysis.
- end_yr: End year for the analysis.

The script uses multiprocessing to speed up the diagnostics computation.

Example usage:
    python complete_run_script.py
"""

from e3sm_diags.parameter.arm_diags_parameter import ARMDiagsParameter
from e3sm_diags.parameter.core_parameter import CoreParameter
from e3sm_diags.parameter.diurnal_cycle_parameter import DiurnalCycleParameter
from e3sm_diags.parameter.enso_diags_parameter import EnsoDiagsParameter
from e3sm_diags.parameter.qbo_parameter import QboParameter
from e3sm_diags.parameter.streamflow_parameter import StreamflowParameter
from e3sm_diags.parameter.tc_analysis_parameter import TCAnalysisParameter
from e3sm_diags.parameter.tropical_subseasonal_parameter import (
    TropicalSubseasonalParameter,
)
from e3sm_diags.run import runner

case = "extendedOutput.v3.LR.historical_0101"
short_name = "v3.LR.historical_0101"

# TODO: Update `RESULTS_DIRNAME` as needed.
RESULTS_DIRNAME = "v2.12.1v2"
results_dir = f"/global/cfs/cdirs/e3sm/www/e3sm_diags/{RESULTS_DIRNAME}/"

test_climo = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/clim/15yr"
test_ts = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/ts/monthly/15yr"
test_ts_daily_dir = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/ts/daily/15yr"

ref_climo = "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/climatology/"
ref_ts = "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/time-series"

start_yr = "2000"
end_yr = "2014"

param = CoreParameter()

# Model
param.test_data_path = test_climo
param.test_name = case
param.short_test_name = short_name

# Ref/Obs
param.reference_data_path = ref_climo

# Output dir
param.results_dir = results_dir

# Additional settings
param.run_type = "model_vs_obs"
param.diff_title = "Model - Observations"
param.output_format = ["png"]
param.output_format_subplot = []
param.multiprocessing = True
param.num_workers = 24
param.save_netcdf = True
param.seasons = ["ANN"]
params = [param]

# Model
enso_param = EnsoDiagsParameter()
enso_param.test_data_path = test_ts
# enso_param.test_name = short_name
enso_param.test_start_yr = start_yr
enso_param.test_end_yr = end_yr

# Obs
enso_param.reference_data_path = ref_ts
enso_param.ref_start_yr = start_yr
enso_param.ref_end_yr = end_yr

enso_param.save_netcdf = True
params.append(enso_param)

trop_param = TropicalSubseasonalParameter()
trop_param.test_data_path = test_ts_daily_dir
# trop_param.test_name = short_name
trop_param.test_start_yr = start_yr
trop_param.test_end_yr = end_yr

# Obs
trop_param.reference_data_path = ref_ts
trop_param.ref_start_yr = "2001"
trop_param.ref_end_yr = "2010"

trop_param.save_netcdf = True
params.append(trop_param)

qbo_param = QboParameter()
qbo_param.test_data_path = test_ts
# qbo_param.test_name = short_name
qbo_param.test_start_yr = start_yr
qbo_param.test_end_yr = end_yr
qbo_param.ref_start_yr = start_yr
qbo_param.ref_end_yr = end_yr

# Obs
qbo_param.reference_data_path = ref_ts

qbo_param.save_netcdf = True
params.append(qbo_param)

dc_param = DiurnalCycleParameter()
dc_param.test_data_path = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/180x360_aave/clim_diurnal_8xdaily/"
# dc_param.short_test_name = short_name
# Plotting diurnal cycle amplitude on different scales. Default is True
dc_param.normalize_test_amp = False

# Obs
dc_param.reference_data_path = ref_climo

dc_param.save_netcdf = True
params.append(dc_param)

streamflow_param = StreamflowParameter()
streamflow_param.reference_data_path = ref_ts
streamflow_param.test_data_path = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/rof/native/ts/monthly/15yr/"
# streamflow_param.test_name = short_name
streamflow_param.test_start_yr = start_yr
streamflow_param.test_end_yr = end_yr

# Obs
streamflow_param.reference_data_path = ref_ts
streamflow_param.ref_start_yr = (
    "1986"  # Streamflow gauge station data range from year 1986 to 1995
)
streamflow_param.ref_end_yr = "1995"

streamflow_param.save_netcdf = True
params.append(streamflow_param)

tc_param = TCAnalysisParameter()
tc_param.test_data_path = "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/tc-analysis_2000_2014"
# tc_param.short_test_name = short_name
tc_param.test_start_yr = start_yr
tc_param.test_end_yr = end_yr

# Obs
tc_param.reference_data_path = (
    "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/tc-analysis/"
)
# For model vs obs, the ref start and end year can be any four digit strings
# For now, use all available years from obs by default
tc_param.ref_start_yr = "1979"
tc_param.ref_end_yr = "2018"

tc_param.save_netcdf = True
params.append(tc_param)

arm_param = ARMDiagsParameter()
arm_param.reference_data_path = (
    "/global/cfs/cdirs/e3sm/diagnostics/observations/Atm/arm-diags-data"
)
arm_param.ref_name = "armdiags"
arm_param.test_data_path = (
    "/global/cfs/cdirs/e3sm/chengzhu/tutorial2024/v3.LR.historical_0101/post/atm/site"
)
arm_param.test_name = short_name
arm_param.test_start_yr = start_yr
arm_param.test_end_yr = end_yr
# For model vs obs, the ref start and end year can be any four digit strings.
# For now, will use all available years form obs
arm_param.ref_start_yr = "0001"
arm_param.ref_end_yr = "0001"

arm_param.save_netcdf = True
params.append(arm_param)

# Run
runner.sets_to_run = [
    "lat_lon",
    "zonal_mean_xy",
    "zonal_mean_2d",
    "polar",
    "cosp_histogram",
    "meridional_mean_2d",
    "enso_diags",
    "qbo",
    "diurnal_cycle",
    "annual_cycle_zonal_mean",
    "streamflow",
    "zonal_mean_2d_stratosphere",
    "arm_diags",
    "tc_analysis",
    "aerosol_aeronet",
    "aerosol_budget",
    "tropical_subseasonal",
]

runner.run_diags(params)

Partial Traceback
2024-12-10 16:29:58,256 [ERROR]: run.py(run_diags:91) >> Error traceback:
Traceback (most recent call last):
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2.12.1/lib/python3.10/site-packages/e3sm_diags/run.py", line 89, in run_diags
    params_results = main(params)
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2.12.1/lib/python3.10/site-packages/e3sm_diags/e3sm_diags_driver.py", line 371, in main
    parameters_results = _run_with_dask(parameters)
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2.12.1/lib/python3.10/site-packages/e3sm_diags/e3sm_diags_driver.py", line 316, in _run_with_dask
    results = bag.map(CoreParameter._run_diag).compute(num_workers=num_workers)
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2.12.1/lib/python3.10/site-packages/dask/base.py", line 372, in compute
    (result,) = compute(self, traverse=False, **kwargs)
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2.12.1/lib/python3.10/site-packages/dask/base.py", line 660, in compute
    results = schedule(dsk, keys, **kwargs)
  File "/global/homes/v/vo13/mambaforge/envs/e3sm_diags_2.12.1/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
2024-12-10 16:29:58,267 [INFO]: logger.py(move_log_to_prov_dir:106) >> Log file saved in /global/cfs/cdirs/e3sm/www/e3sm_diags/v2.12.1v2//prov/e3sm_diags_run.log

This is coming back haunting us... I haven't been seen this problem for a while though.

In https://github.com/E3SM-Project/e3sm_diags/issues/720, it turned out that the import order was fragile.  I don't think we really ever figured out why but it may be something in esmpy that's not implemented like it should be.  In working with the ESMF developers, I get the sense that python experience is lacking there.
How is esmpy still used in e3sm_diags now that cdat has been removed?  Through xcdat?

This is coming back haunting us... I haven't been seen this problem for a while though.

@chengzhuzhang Can you try to reproduce it on your end with the commands in my comment above? I wonder if I'm doing something incorrect, although I'm confident I'm not.

How is esmpy still used in e3sm_diags now that cdat has been removed? Through xcdat?

@xylar  The latest main branch uses esmpy via xcdat + xesmf.
This reminds me to remove esmpy from the dependencies since it is not imported directly.

@chengzhuzhang Can you try to reproduce it on your end with the commands in my comment above? I wonder if I'm doing something incorrect, although I'm confident I'm not.

Okay, let me try reproduce, following these steps.

@tomvothecoder I suspect that the concurrent.futures.process.BrokenProcessPool is caused by memory constrain if running on login node. For Perlmutter login node, it has 54 GB limit. I had the same issue when I run the complete run on login, but the the same run is going fine on a compute node. I used following to get an interactive node and run: salloc --nodes 1 --qos interactive --time 02:00:00 --constraint cpu --account e3sm

@tomvothecoder the run just completed here: /global/cfs/cdirs/e3sm/www/chengzhu/e3sm_diags/v2.12.1v2/
I don't have permission for  /global/cfs/cdirs/e3sm/www/e3sm_diags, feel free to make a copy to same time..

@tomvothecoder I suspect that the concurrent.futures.process.BrokenProcessPool is caused by memory constrain if running on login node. For Perlmutter login node, it has 54 GB limit. I had the same issue when I run the complete run on login, but the the same run is going fine on a compute node. I used following to get an interactive node and run: salloc --nodes 1 --qos interactive --time 02:00:00 --constraint cpu --account e3sm

Yes, I am running on the login node. As you suggest, maybe the CDAT codebase is constrained by the 54 GB memory limit.
The good news is that the script runs fine with the Xarray/xCDAT codebase, which suggests the new backend is more memory efficient.

@tomvothecoder the run just completed here: /global/cfs/cdirs/e3sm/www/chengzhu/e3sm_diags/v2.12.1v2/ I don't have permission for /global/cfs/cdirs/e3sm/www/e3sm_diags, feel free to make a copy to same time..

Thank you! I will copy the results over.

The good news is that the script runs fine with the Xarray/xCDAT codebase, which suggests the new backend is more memory efficient.

Nice to know!

Here the regression notebook that compares latest main vs. v2.12.1.

Matching number of .nc files produced (590)
501/590 are matching
4/590 are mismatching (nan positions)
85/590 are not equal

For the 85/590 are not equal to rtol=1e-4. These variables will need further investigation.
['/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/COREv2_Flux/COREv2_Flux-PminusE-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/CRU_IPCC/CRU-TREFHT-ANN-land_60S90N_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/CRU_IPCC/CRU-TREFHT-ANN-land_60S90N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_9.4_MISR-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/Cloud MISR/MISRCOSP-CLDTOT_TAU1.3_MISR-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-NET_FLUX_SRF-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-OMEGA-200-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-OMEGA-500-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-OMEGA-850-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-TREFHT-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-TREFHT-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-TREFHT-ANN-land_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/ERA5/ERA5-U-850-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/GPCP_OAFLux/GPCP_OAFLux-PminusE-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-NET_FLUX_SRF-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-OMEGA-200-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-OMEGA-500-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-OMEGA-850-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-TREFHT-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-TREFHT-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-TREFHT-ANN-land_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-TREFMNAV-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-TREFMNAV-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-TREFMXAV-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/MERRA2/MERRA2-TREFMXAV-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/SST_CL_HadISST/HadISST_CL-SST-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/SST_HadISST/HadISST-SST-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/SST_PD_HadISST/HadISST_PD-SST-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/lat_lon/SST_PI_HadISST/HadISST_PI-SST-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/meridional_mean_2d/MERRA2/MERRA2-OMEGA-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/CRU_IPCC/CRU-TREFHT-ANN-polar_N_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/CRU_IPCC/CRU-TREFHT-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/ERA5/ERA5-TREFHT-ANN-polar_N_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/ERA5/ERA5-TREFHT-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/ERA5/ERA5-TREFHT-ANN-polar_S_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/ERA5/ERA5-TREFHT-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/ERA5/ERA5-U-850-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/ERA5/ERA5-U-850-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFHT-ANN-polar_N_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFHT-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFHT-ANN-polar_S_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFHT-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMNAV-ANN-polar_N_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMNAV-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMNAV-ANN-polar_S_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMNAV-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMXAV-ANN-polar_N_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMXAV-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMXAV-ANN-polar_S_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/MERRA2/MERRA2-TREFMXAV-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/SST_CL_HadISST/HadISST_CL-SST-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/SST_CL_HadISST/HadISST_CL-SST-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/SST_PD_HadISST/HadISST_PD-SST-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/SST_PD_HadISST/HadISST_PD-SST-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/SST_PI_HadISST/HadISST_PI-SST-ANN-polar_N_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/polar/SST_PI_HadISST/HadISST_PI-SST-ANN-polar_S_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_2d/ERA5/ERA5-OMEGA-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_2d/MERRA2/MERRA2-OMEGA-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_2d_stratosphere/ERA5/ERA5-H2OLNZ-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_2d_stratosphere/ERA5/ERA5-H2OLNZ-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_2d_stratosphere/MERRA2/MERRA2-H2OLNZ-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_2d_stratosphere/MERRA2/MERRA2-H2OLNZ-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/ERA5/ERA5-TREFHT-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/MERRA2/MERRA2-TREFHT-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/MERRA2/MERRA2-TREFMNAV-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_ref.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/MERRA2/MERRA2-TREFMXAV-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/SST_CL_HadISST/HadISST_CL-SST-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/SST_PD_HadISST/HadISST_PD-SST-ANN-global_test.nc',
 '/global/cfs/cdirs/e3sm/www/e3sm_diags/complete_run/24-12-09-main/zonal_mean_xy/SST_PI_HadISST/HadISST_PI-SST-ANN-global_test.nc']

Maybe NERSC policies have changed but I have got my account suspended in the past for doing heavy computing on login nodes. I'd strongly recommend interactive jobs on compte nodes.


Route displayed in Nodes list but not in routes list

If a route is not a member of the network relation, it is displayed in the node list but not in the routes list.
Node Passerelle de Lahr and route Chemin des rivières - Passerelle de Lahr

Chemin des rivières - Passerelle de Lahr is not listed here

Like Nodes that aren't members of the network, routes should be listed

@pyrog the behaviour you see is it was intended
The network route list includes:

routes that are member of the network relation

The network node list includes:

nodes that are member to the network relation
nodes that are member of route relations that are member of the network relation
nodes that are member of ways that are part of route relations that are member of the network relation

In the network node list the "routes" column lists all routes that arrive/depart in given node.The number of routes in this route list is intended to match the value specified in the (optional) "expected??n_route_relations"_ tag. The number specified there should match the number of all routes you see on the ground, independent of which network they belong to.
This is why the node route list will contain the routes that are part of the network, but also routes that are not part of the network.
I understand that this can be confusing, but the fact that a route arrives in or departs from a node in a network does not make it part of the network.
Agree?
P.S. I my mind network relations could become less important, I think would perhaps prefer to work with Dole nodes, instead of Réseau pédestre du Grand Dole.


Make Grid3D plugin more flexible

This fixes https://github.com/ignitionrobotics/ign-gazebo/issues/312.
Trying to load ogre when ogre2 is already loaded explodes the whole application. With this change, when loading the plugin from the menu, it now defaults to the first loaded engine / scene instead ogre.

One issue that I found appears when the gui.config file contains a 3DScene and a Grid3D
<!-- 3D scene -->
<plugin filename="Scene3D" name="3D View">
  <ignition-gui>
    <title>3D View</title>
    <property type="bool" key="showTitleBar">false</property>
    <property type="string" key="state">docked</property>
  </ignition-gui>

  <engine>ogre2</engine>
  <scene>scene</scene>
  <ambient_light>0.4 0.4 0.4</ambient_light>
  <background_color>0.8 0.8 0.8</background_color>
  <camera_pose>6 0 6 0 0.5 3.14</camera_pose>
</plugin>

<plugin filename="Grid3D" name="3D Grid">
  <engine>ogre2</engine>
  <scene>scene</scene>
</plugin>

This is the trace of ign-gui
[GUI] [Msg] Loading config [gui.config]
[GUI] [Dbg] [Application.cc:305] Loading plugin [Scene3D]
[GUI] [Msg] Added plugin [3D View] to main window
[GUI] [Msg] Loaded plugin [Scene3D] from path [/home/ahcorde/ignition_citadel/install/lib/ign-gui-3/plugins/libScene3D.so]
[GUI] [Dbg] [Application.cc:305] Loading plugin [Grid3D]
[GUI] [Msg] Added plugin [3D Grid] to main window
[GUI] [Msg] Loaded plugin [Grid3D] from path [/home/ahcorde/ignition_citadel/install/lib/ign-gui-3/plugins/libGrid3D.so]
[GUI] [Dbg] [Application.cc:266] Loading window config
[GUI] [Dbg] [Application.cc:421] Applying config
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Wrn] [Grid3D.cc:233] Engine "ogre2" has no scene, Grid plugin won't work.
[GUI] [Msg] Loading plugin [ignition-rendering-ogre2]
[GUI] [Dbg] [Scene3D.cc:941] Create scene [scene]

The Scene created by the 3DScene is create after the Grid3D is trying to access it. I'm getting a segfault. Is there any way to wait to other plugin to be loaded?
If I add to the config file only the 3DScene and then manually a added with the interface the Grid 3D I'm not getting the segfault

Is there any way to wait to other plugin to be loaded?

Nice catch, addressed in 2cad85a. Also added the grid to the example scene.


Fix flow types

Closes #58.

Add global .flowconfig
Remove .flowconfig from each sub-package
Fix typings in sub-packages
Run flow check on travis
Include flow type definitions in the repository. See https://github.com/flowtype/flow-typed/issues/413#issuecomment-257122003.

The last commit is rather big because I had to include all the type definitions.

Coverage decreased (-0.09%) to 77.138% when pulling 841f85cc0067c7ef9176beabcd8756c9dda0fc5a on 58-fix-flow-types into f12c25bcdfb45dc583353e2a3c49013de560f577 on master.


foreign language get started not working.

Noticed a bunch requests from Sweden were not working correctly.

Patched


make it compatible with vite

Dynamically determine the build output directory ('build' or 'dist').
Ensure 'index.html' exists in the build directory to prevent deployment issues.
Convert TypeScript output to CJS format for Node.js compatibility.

Lgtm, fix the lint errors and we can merge and release.

Sorry. I didn't see.

The lint errors have been fixed


Passive voice suggestion, setting didn't work and too little detail in problem tab.

I have about 41 "Rewrite the sentence" suggestions in the Problems tab.
I click on one of them, and in the document, I hover over it to see "This sentence appears to be [...] passive voice [...]. Consider[...]active voice"
Sometimes I fix it, but right now I am happy with just 41. Anyway, I went into settings to toggle the settings "Flag use of passive voice" OFF. I turned it off under User, Workspace and Folder. I even restarted vscode and verified it's off.
But I still get the same 41 "Rewrite the sentence" problems.
(1) Why is this not ignoring passive voice as I expected
(2) I wouldn't mind if the problems tab had more detail than "Rewrite the sentence". Actually I like to go back sometimes and try to rewrite the passive sentence, but it's not a priority. I rather prioritize "Rewrite the sentence" associated with too wordy or rearrange, but I have to click the problem and jump to the document and hover to see which type of "Rewrite the sentence" it is.

I am having this same issue but with the 'informal pronouns academic' setting. I am deliberately setting this to false with academic set as my domain but these errors are still appearing. I'm having to select academic as technical is no longer an option and i am a technical writer so i need most of those errors but the use of you is totally fine.
Seems some of the settings are not working properly and being overriden by the domain.

The same thing is happening here.

I'd like to reopen this as I am having the same issue on Ubuntu.


Update  README.md: add install essential packages part when quantize model.

Thanks! I just rebased it to the main branch, fixed some typo and merged.


Create Langchain handler based on a Trace

In the Python package, users can create Langchain handlers based on a trace. Here are the docs.
The same behavior does not exist for this JS/TS package yet, but we want to change that. The core langfuse SDK is built in a way to support es5. Langchain does not support es5, hence we have to build it into the langchain-langfuse package.
I would take the following approach:

Wrap the Langchain SDK (LangfuseCore and LangfuseTraceClient) in the langchain-langfuse package
Add a method to LangfuseTraceClient to export the callback handler based on a trace
For LangfuseCore::trace, return the LangfuseTraceClient
Change the callback handler to take a traceId. Within the callback handler, before creating a trace, ensure that the traceId is not set. Otherwise, use the traceId to generate spans and generations

LFJ-1

test


Update main.c

Added register 0x18 that would allow setting up to all 8 outputs with one I2C transaction, only if pin is set to output.
Added checking that pin is set to output before writing to the pin for registers 0x10-0x17.
Added register 0x28 that would read all 8 inputs with one I2C transaction, only if pin is set to input, returning 0 if not.
Added checking that pin is set to input before reading the pin for registers 0x20-0x27.
Updated firmware number from "1" to "2".

@JasonPittenger Excellent update, providing exactly the enhancement I was looking for.  Can you provide any pointer on setting up the required build environment and programming? (lots of general microcontroller experience, just not with this particular family)?  Alternatively, might you be able to supply a prebuilt image with your change?

@colintd I do not have a prebuilt image.  I have been using the standard Arduino IDE.  I use Notepad++ as an external editor, as it's much easier to navigate through the code.  The Arduino IDE has an option for using an external editor.


DH GEX group out of range

Technical data
WinSshFS

[x] stable
[ ] prerelease
[ ] custom build
Version: <IP_ADDRESS>

Dokan driver

[x] stable
[ ] prerelease
[ ] custom build
Version: Dokany 0.7.4

Enviroment

Windows version: 10
Architecture: x64
Related software: none

Support

Usage: personal
Your personal priority to solve this issue: top
Support ability: programming

I cannot connect to my server with a private key via local network.
Sshfs Manager just gives the following error message;
"An established connection was aborted by the Server"
In my server sshd/current log I get a more detailed message;
"DH GEX group out of range [preauth]"
I can connect fine to my server from cygwin directly using ssh with the same private key

I am also having this problem,
Nov 16 15:15:44 MYHOST sshd[4516]: ssh_dispatch_run_fatal: Connection from MYIPport 61126: DH GEX group out of range [preauth]

This still an ongoing issue, 7 months later. I am having this issue as well.

Same issue here. Same config as OP
Server side:
OpenSSH_7.4p1 Debian-10+deb9u4, OpenSSL 1.0.2l  25 May 2017
What I tried in /etc/ssh/ssh_config:
KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
Seems to partly solve the problem (error message different) but still a DH key issue

I'm no longer receiving this error after switching to <IP_ADDRESS> devel RC5 and Dokan 1.0.5.


Fixes anchor links in installation instructions

The header anchor links in the docs (inside the directory g3doc) is using a {#anchor} format that github's Markdown does not understand.  This PR primarily fixes the anchor text in the installation instructions, which I assume is fairly popular.

I signed it!

the internal and OSS versions have diverged for a few days now. Also, they're different, kept in sync with a bunch of script. You can't copy any content from the third_party version into github, it won't work. You'll have to redo the change (it shoudl be possible to apply the patch to the public version you checked out from github, but no guarantees on that either).

I apologize.  Let me retry this.

I signed it!
2015-12-29 17:18 GMT-05:00 googlebot<EMAIL_ADDRESS>
Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project. Before we can look at your
pull request, you'll need to sign a Contributor License Agreement (CLA).
[image: :memo:] Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll
verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check your
existing CLA data https://cla.developers.google.com/clas and verify
that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If you signed the CLA as a corporation, please let us know the
company's name.

—
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/pull/648#issuecomment-167889357
.

Those three goofed links in #660 have been fixed. Also, I modified the anchor-creating Python function back in the line comments to work properly. Just had to change the first lambda to lambda x: ""

Those three goofed links in #660 have been fixed. Also, I modified the anchor-creating Python function back in the line comments to work properly. Just had to change the first lambda to lambda x: ""

After realizing I missed some edge cases for the GitHub-ification of header anchors, I played around with some more edge cases to hone the algorithm. I had to make three small changes to what I had above:

GitHub does not remove trailing hyphens
It replaces groups of whitespace with hyphens before removing strange characters.

This can lead to trailing hyphens. e.g. "This header ends with ellipses ..." -> "#this-header-ends-with-ellipses-"

Make sure that the regex substitution is flagged for UTF-8 encoding

GitHub handles UTF-8 encoding in its header anchors, so make sure that any settings necessary to enable UTF-8 are switched on.
I changed the code in the line notes above, but here is the fixed Python code again so going back up to read it isn't necessary. To test out Unicode letters in Python, make sure to explicitly make the string unicode with u"This is my héader string!" syntax:
def create_anchor_from_header(header, existingAnchors=None):

    # Strip white space on the left/right and make lower case
    out = header.strip().lower()

    # Replace groups of white space with hyphens
    out = re.sub(ur'\s+', lambda x: "-", out, flags=re.UNICODE)

    # Remove non-alphanumeric characters, hyphens, and spaces
    out = re.sub(ur'[^\w\- ]+', lambda x: "", out, flags=re.UNICODE)

    if existingAnchors:
        if out in existingAnchors:
            i = 1
            while (out + "-" + str(i)) in existingAnchors and i < 100:
                i = i + 1
            out += "-" + str(i)
    return out

This PR is superceded by #660, I'll close it.

I'm late to this.  Thanks @samjabrahams for taking this and making it much better :-)
I wrote a small one to fix up some issues I found:
https://github.com/tensorflow/tensorflow/pull/683
Not sure if there are other like this.


Migrate Support Library dependencies to Jetpack

As Android Support libraries are being replaced by AndroidX (which is now stable), this library's dependencies should be updated as well.
https://developer.android.com/topic/libraries/support-library/androidx-overview
This will introduce breaking changes so a major version name update will be required.

Done on https://github.com/zawadz88/MaterialPopupMenu/tree/feature/issue-31-android-x-support
Waiting for Butterknife 9.0.0 to reach stable for now.

Waiting for this to use

Released in 3.0.0


Resolve circular dependency and avoid using reserved keyword 'abstract'

@robdodson PTAL

LGTM :P

alice:master merging  accesss


SteamVR "The Lab" Slingshot button?

Anyone gotten the "Slingshot" game in SteamVR's "The Lab" to work?
For some reason, I can't grab the slingshot.
I can with my Leap Motion controller when I use that, but not with the PS Move. Everything else works and I can "Grip" things in other games... just not the slingshot for some reason. Is it mapped to a different button?

I hadn't tried the Slingshot game myself. You might have to grab using the "grip" button which is mapped to "square" button on the psmove controller.
Here are the default button mappings for SteamVR:
From https://github.com/cboulay/PSMoveService/wiki/Steam-VR-Setup:
   "psmove" : {
      "ps" : "system",
      "move" : "touchpad",
      "trigger" : "trigger",
      "triangle" : "application_menu",
      "square" : "grip",
      "circle" : "a",
      "cross" : "button_8",
      "select" : "button_9",
      "start" : "button_10"
   }

You can change the button mappings in steamvr.vrsettings if you want to assign "grip" to something else.

"grip" itself doesn't appear to work in The Lab.
It does seem to function in the SteamVR interface, although it can be hard to tell as there's nothing specifically to "grip"... it does go "up a level", which is what Leap Motion appears to do as well.
In The Lab, the "grip" function appears to be nonfunctional with PS Move.
"grip" in Leap Motion does work in The Lab.
Both of these are true not only in the Slingshot game, but in the Lab in general. I can pick up objects on the desk with the Leap, but not with the PS Move "grip"... I can with "trigger". "trigger" however does not function as a "grip" in the Slingshot game.
With the Leap, when I'm close to the Slingshot device, the Leap controller glows yellow indicating that I can grip. With the PS Move, it does not.
I can successfully remap buttons on PS Move but it doesn't fix the problem unfortunately.
It's a strange disparity.

I can 'grab' the hanging control thing to the right of the sling shot however I cannot do anything with it once I have it - I imagine it wants to use the tactile pad as a quandrant'ed button.
My config below.
"psmove" : {
"circle" : "a",
"cross" : "button_8",
"move" : "touchpad",
"ps" : "system",
"select" : "button_9",
"square" : "grip",
"start" : "button_10",
"triangle" : "application_menu",
"trigger" : "trigger"
},

For me it works only the first time with the trigger. Other items in the room seem to work well too. However for some reason the slingshot stops interacting with my PSMove controller after the first shot.
The Lab also crashes pretty frequently on me, specially on the Longbow stage. Seems it has something to do with PSMoveService, but I don't know why. I'm going to build from the latest source which has some bugfixes and try again.

Closing old support issues. If this is still a problem please post a request to the google group:
https://groups.google.com/forum/#!forum/psmoveservice


Add content-type plugin documentation

I will merge this as soon as the implementation is merged.

Thank you


Add "Recommend Skus" list to "Create - Advanced"

Fixes #1862
Here is how it looks now:

@fiveisprime what are your thoughts? It looks a bit weird to me to have "F1 - Free" next to "Free - Try out Azure at no cost"
I'm wondering if we should either (1) suppress "recently used" for this prompt (2) leave out the "recommended" skus until VS Code support grouping and/or (3) find a better label/description/detail for each pick

Definitely not digging the two "free" entries. Can you help me understand why there are two "Free" tiers options showing up?

F1 Free is part of what already exists for advanced create.
Free Try out azure at no cost is part of the recommended set.
@ejizba I like option 1 and suppressing (recently used), however also completely removing F1 Free.
I don't see the point of having 2 Free options.
Also maybe appending (Recommended) to each description from the recommended set.
What do you think @fiveisprime?

Wait so F1 is only showing up because you have picked it before, right? With a fresh install, I would only see Free. Is that right? Maybe we can go over this in our next meeting - I'm not sure exactly what this update does.

@fiveisprime  Should we also remove (recently used)?

Yes and I think I like the (recommended). Can you show me how it looks with (recommended)?

After check-in, going with no '(Recommended)' tag, and suppressing '(recently used)'.


Feature request: add location for Hover type

The Hover only contains the documentation to show, but I would like to let the user know where this documentation is from, so maybe add a location field to Hover.

@chemzqm This request does not belong here.
Please raise an issue in the Microsoft/language-server-protocol repository.


VTAP from c5b3e4ea206a68363d349f476e86c5b943983b84

See https://github.com/Azure/azure-rest-api-specs/pull/3684

(message created by the CI based on PR content)

Codecov Report

Merging #3216 into restapi_auto_Network-September-Release will decrease coverage by <.01%.
The diff coverage is 16.66%.

@@                            Coverage Diff                             @@
##           restapi_auto_Network-September-Release    #3216      +/-   ##
==========================================================================
- Coverage                                   55.17%   55.17%   -0.01%
==========================================================================
  Files                                        9200     9200
  Lines                                      185011   185023      +12
==========================================================================
+ Hits                                       102077   102079       +2
- Misses                                      82934    82944      +10

Impacted Files
Coverage Δ

...rk/azure/mgmt/network/network_management_client.py
25.45% <16.66%> (-0.08%)
:arrow_down:

Continue to review full report at Codecov.

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


[2024-10-21] Gracias to Damián Avila!

Context

Name
Value

Title
Gracias to Damián Avila!

Description

Notes
We discussed posting a recognition for Damian on the 2i2c blog, thanking him for his service. I'd like to collect some historical data and stories about Damian's contributions to 2i2c - maybe Chris and Yuvi are best positioned to do that? Timing-wise, I don't want to publish without Damian's review, so we need to wait for him to finish his complete break and start checking email again in early October. With his permission, we could also tag him on social media and promote whatever his next project is.

AirTable[^1]
Base record URL

Publish date
2024-10-21

Metadata & Acknowledgements

Name
Value

Tags

People
Damián Avila

Affiliations

Grants

Open-source software

[^1]: DO NOT EDIT DIRECTLY. This issue body was automatically generated. Make edits at the AirTable record and they'll be reflected here.

We discussed posting a recognition for Damian on the 2i2c blog, thanking him for his service

@jnywong, I really love the idea 😉.

Timing-wise, I don't want to publish without Damian's review, so we need to wait for him to finish his complete break and start checking email again in early October.

Let me know if I can help with anything.

With his permission, we could also tag him on social media and promote whatever his next project is.

Of course, we can coordinate soemthing like that when the post is ready to be published.


AppsfireAdSDKDelegate does not have a protocol method for querying the controller that will host the Store Kit

In AppsfireAdSDK v2.6.0, the old method for getting sashimis are now deprecated.
For instance:
+ (AFAdSDKSashimiView *)sashimiViewForNibName:(NSString *)nibName withController:(UIViewController *)controller andError:(NSError **)error __deprecated_msg("We're now asking for the controller (that will host the Store Kit) via `AppsfireAdSDKDelegate`");

But in the AppsfireAdSDKDelegate protocol there is no method for querying that controller.

Hi !
My bad, it's in the protocol AFAdSDKSashimiViewDelegate (delegate of the sashimi view). I'll update the message in the header file.
Thanks!


Copied code

Hey,
I just came across your project and noticed there is a lot of copied code from tealeg/xlsx without attribution. Especially xmlSharedStrings.go which is a direct copy paste of tealeg/xlsx xmlSharedStrings.go, comments and all.
It's nice to see more xlsx action in the Golang world, but have you considered just contributing to tealeg/xlsx instead?

Thanks for your issue, I'm sorry I didn't comments some code copy from tealeg/xlsx. I have update README file and add comments in all file for this issue. tealeg/xlsx provided much more function. I'm very glad to contribute code to it. Sometimes I need to save file without losing original charts of XLSX, so I had rewrite a simple library.

Thanks for amending it so quickly 👍 !
I can also see a real benefit in being able to edit the original without modifying it. I've actually played with this idea myself, especially for really large xlsx files that do not fit in memory. In those cases it would be need to be disk-backed whilst still permitting editing.


MQTT_LIST_ALL_SENSORS_TOGETHER - Not working

I have been using the Vehicle 1 variant for the past year without issues and really appreciate all the improvements that have been made in this short time.
My wife just bought a GMC Terrain and I'm setting it up with the Vehicle 2 variant now and am unable to combine the sensors even though it is set to true.
I set the Add-on up with this turned on and when I noticed it didn't work correctly, I turned it off and on again. I also restarted Home Assistant and removed the relavent MQTT information from the server. I have also tried it with and without the MQTT_ONSTAR_POLLING_STATUS_TOPIC of: homeassistant/onstar2mqtt/vehicle2/polling
I'd be happy to getting you any information you need but am unsure if logs would help or not. I'm attaching what I think would be relavent from the config yaml:
MQTT_PREFIX: homeassistant
MQTT_ONSTAR_POLLING_STATUS_TOPIC: ""
MQTT_LIST_ALL_SENSORS_TOGETHER: true

This isn't a big deal but it would be nice to have them all under the one entity in Home Assistant.
OnStar2MQTT Home Assistant Add-on (BigThunderSR) for Vehicle 2
Current version: 1.18.5
Home Assistant:
Core: 2024.6.4
Supervisor: 2024.06.0
Operating System: 12.4
Frontend: 20240610.1

Thank you for the quick turn around on getting this fixed.
I did have to delete the MQTT topics manually to update Home Assistant.
Thank you, AGAIN!


when I run /bash build.sh,Is there miss some files?

In file included from /home/wq/Downloads/CODA-master/core/src/core/algebra/EncVec.cpp:1:0:
/home/wq/Downloads/CODA-master/core/include/core/algebra/EncVec.hpp:4:27: fatal error: core/COWPtr.hpp: no such file or directory
#include "core/COWPtr.hpp"
^
compilation terminated.

sorry,  I will check it.

plz try 51fdd8502f2c3563f275265b94402b2da54d7aaa

I have done this,and installed NTL version 10.3.0, but there are some errors as following:
In file included from /home/wq/Downloads/CODA-master/core/include/HElib/DoubleCRT.h:21:0,
from /home/wq/Downloads/CODA-master/core/include/HElib/FHE.h:24,
from /home/wq/Downloads/CODA-master/core/include/HElib/EncryptedArray.h:26,
from /home/wq/Downloads/CODA-master/core/src/core/algebra/EncMat.cpp:4:
/home/wq/Downloads/CODA-master/core/include/HElib/NumbTh.h:54:2: error: #error "This version of HElib requires NTL version 9.4.0 or above"
#error "This version of HElib requires NTL version 9.4.0 or above"
^
core/src/core-imp/PPE/CMakeFiles/PPE.dir/build.make:77: recipe for target 'core/src/core-imp/PPE/CMakeFiles/PPE.dir/SecKey.cpp.o' failed
make[2]: *** [core/src/core-imp/PPE/CMakeFiles/PPE.dir/SecKey.cpp.o] Error 1
CMakeFiles/Makefile2:335: recipe for target 'core/src/core-imp/PPE/CMakeFiles/PPE.dir/all' failed
make[1]: *** [core/src/core-imp/PPE/CMakeFiles/PPE.dir/all] Error 2
core/src/core-imp/algebra/CMakeFiles/algebra.dir/build.make:77: recipe for target 'core/src/core-imp/algebra/CMakeFiles/algebra.dir/EncMat.cpp.o' failed
make[2]: *** [core/src/core-imp/algebra/CMakeFiles/algebra.dir/EncMat.cpp.o] Error 1
CMakeFiles/Makefile2:285: recipe for target 'core/src/core-imp/algebra/CMakeFiles/algebra.dir/all' failed
make[1]: *** [core/src/core-imp/algebra/CMakeFiles/algebra.dir/all] Error 2
Makefile:85: recipe for target 'all' failed
make: *** [all] Error 2

This is a bug of HElib. You can just comment out the codes in "NumbTh.h:54:2"

Hello, I followed your suggestions,and I meet this new error:
[ 66%] Building CXX object core/src/core-imp/CMakeFiles/core-imp.dir/gc_user.cpp.o
/home/zk/CODA/core/src/core/protocol-percentile.cpp: In member function ‘virtual core::FHEArg PercentileProtocol::parameters() const’:
/home/zk/CODA/core/src/core/protocol-percentile.cpp:475:64: sorry, unimplemented: non-trivial designated initializers not supported
core::FHEArg arg = { .p = 8191, .m = 16384, .r = 1, .L = 8 };
^

@IkarosCoCo . It seems that for some old g++, the order of initializer should be the same
as that in the definition of FHEArgs. (i.e., here we should exchange the order of .p and .m).
I have patched this building issues, and passed the building in my machine with g++4.9.4. So I going to close this issue. Thx a lot.

Thx a lot.


Stevens Blog

Mardown format Stevens blog.pdf

That’s a pdf. That does not really help.
Sent from my iPhone

On Oct 4, 2022, at 2:55 PM, rsundhar2002 @.***> wrote:

Mardown format Stevens blog.pdf
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.


Speed convert for mile_per_hour is incorrect

the factor is incorrect, current is 0.4472271914, however, should be 0.44704
current:
MILES_PER_HOUR(new Unit(Category.SPEED, "mph", "Miles per hour", new BigDecimal("0.4472271914")))
should be : MILES_PER_HOUR(new Unit(Category.SPEED, "mph", "Miles per hour", new BigDecimal("0.44704")))

Ups...my fault...thx for the heads-up, fixed it with commit ae4e83e3489a1c54bd540647a50ca504ed69a4ea


Update PHPDoc

Update PHPDoc Faker\Provider\DateTime::dateTimeBetween() which accept \DateTime parameters as well as string ones.

Thanks!


As Dee, I can search for trainings that lead to a specific credential outcome

As Dee,
I want to to search for a specific credential
so that I can see all the classes that lead to that credential
--
GIVEN I am on the product landing page
AND I click on the search bar
WHEN I search for a specific credential
THEN I can see search results specific to that credential
Design
Mobile
Desktop
Tablet

Aisha to check out adding additional column to search bar with credential data


Flakiness on copying stemcells to other storage accounts

When I tried to boot 10 VMs at once on CPI v14, I see the following exception:
  Started creating missing vms
  Started creating missing vms > consul_server/0 (b082d457-5363-4d47-b860-a0d6f06d5be5)
  Started creating missing vms > nats/0 (7b4b95c7-e2cf-4d98-b574-2d89130783ca)
  Started creating missing vms > etcd_server/0 (eef7d734-486c-41e3-b710-ac8a6ed24d74)
  Started creating missing vms > diego_database/0 (06678a03-9fa2-4a96-80be-e8aaa72c4514)
  Started creating missing vms > nfs_server/0 (782d8150-153f-4f4d-9209-704127edacb7)
  Started creating missing vms > mysql_proxy/0 (2562fb2c-0944-49b3-aab7-07786401b9e5)
  Started creating missing vms > mysql/0 (94e643d1-3d19-4f4b-aa71-28926f22c678)
  Started creating missing vms > uaa/0 (f457bb84-e879-4b91-987f-70caa72bf955)
  Started creating missing vms > cloud_controller/0 (d8ac8dae-c5a3-4bf8-bf7c-e0ce76d108b7)
  Started creating missing vms > ha_proxy/0 (ec799571-7d6e-4eb5-8b22-6378aad37192)
   Failed creating missing vms > mysql/0 (94e643d1-3d19-4f4b-aa71-28926f22c678): Cannot find the stemcell bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b in the table stemcells in the default storage account dsomaug18storageaccount (00:00:08)
   Failed creating missing vms > mysql_proxy/0 (2562fb2c-0944-49b3-aab7-07786401b9e5): Cannot find the stemcell bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b in the table stemcells in the default storage account dsomaug18storageaccount (00:00:08)
   Failed creating missing vms > etcd_server/0 (eef7d734-486c-41e3-b710-ac8a6ed24d74): Cannot find the stemcell bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b in the table stemcells in the default storage account dsomaug18storageaccount (00:00:08)
   Failed creating missing vms > diego_database/0 (06678a03-9fa2-4a96-80be-e8aaa72c4514): insert_entity: #<RuntimeError: Xml is not a entry node.>
/var/vcap/packages/bosh_azure_cpi/vendor/bundle/ruby/2.2.0/gems/azure-storage-0.10.2.preview/lib/azure/storage/service/serialization.rb:297:in `expect_node'
/var/vcap/packages/bosh_azure_cpi/vendor/bundle/ruby/2.2.0/gems/azure-storage-0.10.2.preview/lib/azure/storage/table/serialization.rb:102:in `hash_from_entry_xml'
/var/vcap/packages/bosh_azure_cpi/vendor/bundle/ruby/2.2.0/gems/azure-storage-0.10.2.preview/lib/azure/storage/table/table_service.rb:220:in `insert_entity'
/var/vcap/packages/bosh_azure_cpi/lib/cloud/azure/table_manager.rb:54:in `insert_entity'
/var/vcap/packages/bosh_azure_cpi/lib/cloud/azure/stemcell_manager.rb:110:in `handle_stemcell_in_different_storage_account'
/var/vcap/packages/bosh_azure_cpi/lib/cloud/azure/stemcell_manager.rb:69:in `has_stemcell?'
/var/vcap/packages/bosh_azure_cpi/lib/cloud/azure/cloud.rb:107:in `block in create_vm'
/var/vcap/packages/bosh_azure_cpi/vendor/bundle/ruby/2.2.0/gems/bosh_common-1.3262.4.0/lib/common/thread_formatter.rb:49:in `with_thread_name'
/var/vcap/packages/bosh_azure_cpi/lib/cloud/azure/cloud.rb:104:in `create_vm'
/var/vcap/packages/bosh_azure_cpi/vendor/bundle/ruby/2.2.0/gems/bosh_cpi-1.3262.4.0/lib/bosh/cpi/cli.rb:70:in `public_send'
/var/vcap/packages/bosh_azure_cpi/vendor/bundle/ruby/2.2.0/gems/bosh_cpi-1.3262.4.0/lib/bosh/cpi/cli.rb:70:in `run'
/var/vcap/packages/bosh_azure_cpi/bin/azure_cpi:35:in `<main>' (00:00:09)

When I retried the deployment, things worked correctly the 2nd time.  Maybe there is a race condition?  I'll email Abel with my debug log directly so he can look into it.  The debug log shows entries like this:
I, [2016-08-19T16:53:33.627196 #3532]  INFO -- : http_post - 0: trying to post https://management.azure.com//subscriptions/b269df04-a1d5-4e2b-9368-d4abf33bc411/resourceGroups/dsomaug18-pcf-resource-group/providers/Microsoft.Storage/storageAccounts/dsomaug18ompremium/listKeys?api-version=2015-06-15
D, [2016-08-19T16:53:33.627330 #3532] DEBUG -- : http_get_response - 0: #<Net::HTTP::Post POST>, URI: https://management.azure.com//subscriptions/b269df04-a1d5-4e2b-9368-d4abf33bc411/resourceGroups/dsomaug18-pcf-resource-group/providers/Microsoft.Storage/storageAccounts/dsomaug18ompremium/listKeys?api-version=2015-06-15
D, [2016-08-19T16:53:33.978810 #3532] DEBUG -- : http_get_response - 0: 200, request id: 3f7a3ddf-8209-4d37-8b3e-80105fa8dbaf, correlation id: 3f7a3ddf-8209-4d37-8b3e-80105fa8dbaf, routing id: WESTUS:20160819T165333Z:3f7a3ddf-8209-4d37-8b3e-80105fa8dbaf, response.body cannot be logged because it may contain credentials.
D, [2016-08-19T16:53:33.978873 #3532] DEBUG -- : check_completion - azure-asyncoperation:
I, [2016-08-19T16:53:34.052026 #3532]  INFO -- : Copy id: 2192798a-9e0e-49f1-9d6e-c602a6b196f8, copy status: pending
D, [2016-08-19T16:53:34.134320 #3532] DEBUG -- : Copying progress: 0/3221225984
D, [2016-08-19T16:53:39.152761 #3532] DEBUG -- : Copying progress: 0/3221225984
D, [2016-08-19T16:53:44.171524 #3532] DEBUG -- : Copying progress: 0/3221225984
D, [2016-08-19T16:53:49.189041 #3532] DEBUG -- : Copying progress: 0/3221225984
D, [2016-08-19T16:53:54.210445 #3532] DEBUG -- : Copying progress: 157286400/3221225984
D, [2016-08-19T16:54:24.229930 #3532] DEBUG -- : Copying progress: 629145600/3221225984
D, [2016-08-19T16:54:54.249196 #3532] DEBUG -- : Copying progress:<PHONE_NUMBER>/3221225984
D, [2016-08-19T16:55:24.267923 #3532] DEBUG -- : Copying progress:<PHONE_NUMBER>/3221225984
I, [2016-08-19T16:55:54.305130 #3532]  INFO -- : Copy the blob https://dsomaug18storageaccount.blob.core.windows.net/stemcell/bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b.vhd successfully. Duration:<PHONE_NUMBER>84
I, [2016-08-19T16:55:54.305274 #3532]  INFO -- : query_entities(stemcells, {:filter=>"PartitionKey eq 'bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b' and RowKey eq 'dsomaug18ompremium'"})
E, [2016-08-19T16:55:54.353118 #3532] ERROR -- : Cannot find the stemcell record bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b:dsomaug18ompremium in the table stemcells in the default storage account dsomaug18storageaccount
I, [2016-08-19T16:55:54.353247 #3532]  INFO -- : delete_entity(stemcells, bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b, dsomaug18ompremium)
I, [2016-08-19T16:55:54.377543 #3532]  INFO -- : delete_blob(dsomaug18ompremium, stemcell, bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b.vhd)
, exit_status: pid 3532 exit 0
E, [2016-08-19 16:55:54 #2812] [create_missing_vm(ha_proxy/0 (ec799571-7d6e-4eb5-8b22-6378aad37192)/19)] ERROR -- DirectorJobRunner: error creating vm: Cannot find the stemcell record bosh-stemcell-84a9f90a-9ad4-4d23-abc8-babc7dd1fa7b:dsomaug18ompremium in the table stemcells in the default storage account dsomaug18storageaccount

@dsboulder This issue was caused by that Azure returns an invalid response and azure-storage-ruby does not handle it correctly. This issue is hard to reproduce because current azure-storage-ruby does not log routing id and request id for the investigation on Azure side. After azure-storage-ruby fixes this issue, CPI will use the new one.
For now you can enable debug_mode by setting it to true in your bosh.yml. If you hit this issue again, you can send the Azure HTTP raw response to us for trouble shooting.

@AbelHu @dsboulder this seems like a very hard way to debug. i think cpi should include whatever necessary information needed by default.

@cppforlife Agree. We will investigate how to do it.
@dsboulder Could you send below information for us to ask storage team to check Azure logs?

The default storage account name(Table was created under this storage account)
Location
Timestamp when the error occurred.

@cppforlife @dsboulder I have created a PR  for azure-storage-ruby. It can log more information in the exception if the response is invalid.

When Azure returns a failed response, azure-ruby-asm-core still continues to handle the body of the response. Because the body is empty, it always throws '#<RuntimeError: Xml is not a entry node.>' .
Above issue in azure-ruby-asm-core was fixed in this commit .
So if Azure returns a failed response next time, we should be able to get the error message.

Close it since azure-ruby-asm-core has fixed the issue.


squid:S1125 - Literal boolean values should not be used in condition expressions

This pull request is focused on resolving occurrences of Sonar rule squid:S1125 - Literal boolean values should not be used in condition expressions
You can find more information about the issue here:
https://dev.eclipse.org/sonar/coding_rules#q=squid:S1125
Please let me know if you have any questions.
M-Ezzat

Just started reviewing :):rocket:

Thanx, this was much appreciated!
I guess you used some tool for this, I didn't check every changed line :)))

No worries :)


undefined method `group_by' for nil:NilClass

andreas@andreas-desktop:~/dev/work/$ vagrant plugin install vagrant-hostsupdater
Installing the 'vagrant-hostsupdater' plugin. This can take a few minutes...
/usr/lib/ruby/2.3.0/rubygems/specification.rb:946:in all=': undefined methodgroup_by' for nil:NilClass (NoMethodError)
from /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb:275:in with_isolated_gem'         from /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb:231:ininternal_install'
from /usr/lib/ruby/vendor_ruby/vagrant/bundler.rb:102:in install'         from /usr/lib/ruby/vendor_ruby/vagrant/plugin/manager.rb:62:inblock in install_plugin'
from /usr/lib/ruby/vendor_ruby/vagrant/plugin/manager.rb:72:in install_plugin'         from /usr/share/vagrant/plugins/commands/plugin/action/install_gem.rb:37:incall'
from /usr/lib/ruby/vendor_ruby/vagrant/action/warden.rb:34:in call'         from /usr/lib/ruby/vendor_ruby/vagrant/action/builder.rb:116:incall'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:66:in block in run'         from /usr/lib/ruby/vendor_ruby/vagrant/util/busy.rb:19:inbusy'
from /usr/lib/ruby/vendor_ruby/vagrant/action/runner.rb:66:in run'         from /usr/share/vagrant/plugins/commands/plugin/command/base.rb:14:inaction'
from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:32:in block in execute'         from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:31:ineach'
from /usr/share/vagrant/plugins/commands/plugin/command/install.rb:31:in execute'         from /usr/share/vagrant/plugins/commands/plugin/command/root.rb:56:inexecute'
from /usr/lib/ruby/vendor_ruby/vagrant/cli.rb:42:in execute'         from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:268:incli'
from /usr/bin/vagrant:173:in `'

I had the same problem (on ubuntu 16.06).
In my case it was related to a known bug in vagrant version 1.81 (which is what you currently get when you do sudo apt-get install vagrant)
...see http://stackoverflow.com/questions/36811863/cant-install-vagrant-plugins-in-ubuntu-16-04/36991648#36991648)
I solved it by removing vagrant and then installing it again via https://www.vagrantup.com/downloads.html. This gave me version 1.86. I also reinstalled bagrant-hostupdater afterwards.


Call unref on handle

Stop the timeout from keeping the NodeJS event loop active.

Hi,
Thanks for the PR!
To be honest, I think this one would be a bit dangerous as it might have unintended effects on the client side as this is breaking behavior. Also, and more importantly, this won’t work in the browser and I intend to keep this module isomorphic.
Perhaps if you would explain your use case, I would be able to help you.

My use case is quite simple, just fetching a JSON response from an API, then storing it for x amount of time using this module.
However, the process is kept alive until x amount of time has passed.
I did not know timed-cache was intended to be isomorphic, but since you provide the handle I can call unref on my side to unblock the terminal from effectively freezing so I can carry on running tests :)
Maybe worth checking if code is running in a node process and only calling unref if so?
Otherwise you can go ahead and close this if you'd like.


What you have done is remarkable!

What you have here is amazing! Someday daudin can replace bash..., maybe rename it to pysh or something like that.

Someday daudin can replace bash

In short no. If you look deeper to comments around posts about xonsh you can find and read tons of concerns from "old scool" system administrators and devops. Bash is ugly but it was spreaded everywhere by default.

Hi @tahalukmanji - thanks for commenting. Glad you like it!  If it may someday replace bash for you, that would be great.  I just added a simple function to color my prompt (see https://github.com/terrycojones/daudin/blob/master/example-functions.py)
BTW, after I initially wrote it I contacted the guy who has the pysh project on PyPI and asked him if I could maybe have that name :-)  He sent a nice reply and said he'd think about it if daudin got some users and urned into a real project. But he also said it could be confusing. Anyway, I like daudin (I have a position in a Zoology department, too), and it doesn't much matter. It's not very memorable or intuitive, I admit!  I assume you saw the reasoning behind the name at the end of the README?  Thanks again for the nice comment.

+1  This is great.  Daudin is a distinct name but it would be nice to be more descriptive.  What about psh.   Given we import sh, we have sh & zsh as shells so why not psh?
Although ctrl-r will never replace the ease of use I get from zsh the python bash integration is wonderful.  I use it with Python 3.8 and have started to build some little script files with it.  This uses the results of a bash script that saves my CPU temp every 10 seconds to a file called .temps so its nice to use the walrus operator plus piping to nothing to avoid extra output
#!/usr/bin/env daudin cat ~/.temps | [float(x) for x in _][-18:] | sum(_)/len(_) | (x := f'{_:0.2f}') | cat ~/.temps | [float(x) for x in _][-180:] | sum(_)/len(_) | (y := f'{_:0.2f}') | f'Average temperature for the last 30 / 3 minutes is {y} / {x}'
I assist with MITx 6.00.1x (over a million enrollments since 2012) so I'll mention it a few times and see if it ups your interest rate.

Hi @john9631 Thanks for all this - sorry for the slow reply, I've only just seen your comment. I looked for available names quite a bit before going for the left field daudin option (btw, psh is taken on PyPI). I mailed the author of pysh (which doesn't seem to be active) and he very nicely said he would consider giving up the name if daudin saw some adoption but also expressed concern that it might lead to confusion.
Thanks a lot re mentioning in the 6.00.1 course (I suppose that's the most famous course number ever, at least in the CS world), that would be great.

Although ctrl-r will never replace the ease of use I get from zsh the python bash integration is wonderful.

I normally use fish and miss the control-r reverse behavior of bash. But you get the control-r search in daudin (via readline). I'm wondering how zsh behaves - I've never used it. I'm not sure how easy it would be to replace the default behavior.

I use it with Python 3.8 and have started to build some little script files with it. This uses the results of a bash script that saves my CPU temp every 10 seconds to a file called .temps so its nice to use the walrus operator plus piping to nothing to avoid extra output
cat ~/.temps | [float(x) for x in _][-18:] | sum(_)/len(_) | (x := f'{_:0.2f}') |
cat ~/.temps | [float(x) for x in _][-180:] | sum(_)/len(_) | (y := f'{_:0.2f}') |
f'Average temperature for the last 30 / 3 minutes is {y} / {x}'

Cool :-)
I wasn't sure what the "to avoid extra output" meant, but now I get it. I guess you could start out like this too (and not see any output due to the assignment):
cat ~/.temps | temps = [float(x) for x in _]

or cat ~/.temps | temps = list(map(float, _)).

That's easier.
You should try zsh sometime.  I went to it after an MIT TA persuaded me to try fish but I wasn't comfortable with its complete departure from Bash.   Zsh give you a large amount of bash compatibility but with an interface you can't beat.
For me, ctrl r in zsh maps to fzf so I get a fuzzy search of my zhistory:
search for htop

Thanks. Fish has (from my extremely limited knowledge of the state of the art) what seems like a ton of innovation, and despite its reverse search I don't think I could go back to bash. The predictive text it emits and the ease of using that feature is wonderful. But at the same time it feels to me like the change from the regular Bourne shell to a csh way back when - syntax changes meant to make life simpler or more friendly or something positive, that actually (for me) always felt somehow awkward and foreign. I guess it was just growing up (to the extent that I did that at all) with sh. Anyway, maybe zsh has that feature too - I will definitely take a look now, thanks. BTW, here's a 6 year old thread on the fish github repo with people (including me) asking for its search to be improved, with recommendations to use fzf (which I also use, but not enough) https://github.com/fish-shell/fish-shell/issues/602


Where is pjax.js located(bower or ZIP download) ?

Ok, this may be that I am a total idiot, cause I am a designer first and foremost, but I can't find the pjax.js file.
I've tried both the ZIP download and the bower installation, but there is no such file.

@Madebym
Current stable should be available through NPM and Bower.
Current master is available through npm at the moment by running until #55 is processed.
npm install --save git+https://github.com/moOx/pjax.git

This project was quite stagnant for awhile so some things are out of date.
Short survey: do you use bower regularly? Or have you considered using browserify/webpack or similar?

@darylteo
Thanks for the quick reply. First I want to repeat that I am a designer by trade, so I am not that good with all of this front-end automation tools. I know just enough to get by :))
So, I tried the regular ZIP download, then the bower and just now your proposed  npm install --save git+https://github.com/moOx/pjax.git
The package.json and bower.json both say that the main file is located in src/pjax.js , but there is no directory called src.
Again, this may be that I really missed something obvious, but until now I haven't had any issues using bower or npm to intstall various libraries.
p.s. Yes, I use bower regularly. I've heard about browserify/webpack, but haven't used it yet. Bower is fine for my needs.

@Madebym ah okay I see the problem. At version 0.1.4 there WAS a standalone pjax.js. As of 0.2.* this was changed as Maxime split all the files up into components. As it stands, there isn't a standalone pjax.js... it needs to be compiled by a bundler like webpack or browserify.
I was just discussing whether we should be including a standalone distributed artifact. Your input would be appreciated (you can see that discussion in #55). In the meantime, @MoOx should be done with that by the end of week.

@darylteo
Thanks for clearing things for me. I already managed to find that 0.1.4 version which had the standalone pjax.js file, should be enough for me to play a bit with pjax.
As for the standalone distributed file, my vote is that you include it. Why set a prerequisite on being able to use this library? I bet there will be people like me that don't use any browserify/webpack/you-name-it things, but would like to use the script.
For me it is overcomplicating things where it is absolutely not needed. At least have the option of standalone file.
I just now read one interesing article, could be applied to this situation, although they are not that closely tied.
<EMAIL_ADDRESS>Bottom line, just give me the file, I want to build things :))

Reopening. Future version won't have a versionned standalone JS. Instead we will provide a link to https://npmcdn.com

A standalone version would be nice for people who use their own CDN.
Is there any chance someone has an example of how to concat the files using gulp?  I have tried using gulp-amd-optimizer and concat but its not working out. :disappointed:

@commercial-hippie either webpack or browserify will work. Just point it at pjax/index.js

Will be in npm and bower for now (bower main will point to this file, npm will not due to its nature)

Obviously, Bower still not have pjax.js file<EMAIL_ADDRESS>same.

this seems to remain an issue for now

this seems to remain an issue for now

Would love to have a standalone file too.

I'm voting to reopen as well. All building scripts seem to fail me right now and auto injection of assets fail because build version doesn't exist or can't be produced...

Would any one tell us how to build that holy JS file, just include it and that is it!

https://unpkg.com/pjax/pjax.js