__cleanAttrs: Clean packages that don't expose all internals

Description of changes
What
Clean up the attribute zoo on packages, opt-in.
Why
Automatically exposing internals blurs the line between what's expected to be stable and what's not. Let's not do that.
How
Call derivationStrict instead of derivation. derivation is backed by derivationStrict anyway.
When you specify __cleanAttrs = true; in a mkDerivation call, you won't be exposing internals.
What else
This PR improves memory by some 1-2% and cpu time also improves.
Internals are still accessible via overrideAttrs, lib.inspectMkDerivationArgs and pkgs.inputDerivation.
This relates weakly to a proposed improvement to make Nix take outputs from package attrsets instead of store derivations, as both this PR and the proposal work towards a more accurate as an expression-level package concept.

https://github.com/NixOS/nix/issues/6507

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Internals are still accessible via overrideAttrs, lib.inspectMkDerivationArgs and pkgs.inputDerivation.

How about finalAttrs?

Do we want to make cleanAttrs opt-out any time soon, or will it take a lot of effort (do a lot of things in-tree depend on internal attrs)?

Internals are still accessible via overrideAttrs, lib.inspectMkDerivationArgs and pkgs.inputDerivation.

In mkDerivation(finalAttrs: too?

finalAttrs and prevAttrs behave as before, except finalAttrs.finalPackage is smaller, as is to be expected because it is defined to match the return value of mkDerivation.

https://github.com/NixOS/nixpkgs/pull/211685 sets more precedent for extending finalAttrs with more special attributes is useful and/or necessary, so I can imagine adding the complete drvAttrs there, if not cost prohibitive for some reason. I think this would be an extra feature that does not have to be implemented here.

Do we want to make cleanAttrs opt-out any time soon (with perhaps defaults for allowing pname, version, and src to passthru), or will it take a lot of effort (do a lot of things in-tree depend on internal attrs)?

I don't think we'll do this anytime soon, if at all. Applying that change too soon would mean that we fail to pay attention to the actual usage of some packages' attributes, which would be bad for users. cleanAttrs may never be suitable for being enabled by default in mkDerivation, but a successor to mkDerivation may enable it by default or its only behavior. The existence of cleanAttrs provides an anchor point for conversations about such a successor, and helps with experimentation.

So we should document that it should never be set in any package in nixpkgs without strong reasoning?

So we should document that it should never be set in any package in nixpkgs without strong reasoning?

Making the interface of a package explicit helps with maintenance by reducing the surface area that a maintainer has to worry about. This also benefits users, as cleanAttrs starts the conversation about what the public interface should be. Furthermore, we can expect a further performance benefit from having smaller attrsets when applied at a larger scale.
For a single package, I don't see what specifics would make this reasoning stronger, making "strong reasons" a rather tough requirement.

So we should document that it should never be set in any package in nixpkgs without strong reasoning?

If I understand correctly __cleanAttrs can be used for newly added packages without much concern because no usage exists that could break.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/2023-03-13-nixpkgs-architecture-team-meeting-32/26287/1

I didn't mention this in the team meeting, but I don't think we need __cleanAttrs = "warn", I think we can just make __cleanAttrs = true warn for one release, then throw for one release, then actually remove the attributes in another release. We'd still get the same benefits (just not immediately), it adds little complexity to the code, and could probably prevent a lot of frustration depending, especially if we'd like to make __cleanAttrs widely used.

I think we can just make __cleanAttrs = true warn for one release

Then every package that wants to opt in would have to do it in the first release. I don't think that's a good approach, and the cost of "warn" is low enough.
I'd like to avoid blowing up the scope and merge this soon. It adds the mechanism, but avoids changing the policy, so that we can

start applying the solution on a small scale
start solving the engineering problem
gain data and experience to inform policy decisions

Making the interface of a package explicit helps with maintenance by reducing the surface area that a maintainer has to worry about. This also benefits users, as cleanAttrs starts the conversation about what the public interface should be. Furthermore, we can expect a further performance benefit from having smaller attrsets when applied at a larger scale.
For a single package, I don't see what specifics would make this reasoning stronger, making "strong reasons" a rather tough requirement.

For me this translates into more work and discussions. Sometimes I know that the solution I am drafting is hacky and I decided for myself that it is better than the available alternatives. I don't want to contact another person to expose some variable(s) for that though. I personally would want a setting to just disable cleanAttrs everywhere and give me access to everything, as I don't really care if something is marked as an interface or not.
Or do we now need to start doing reflections?

For me this translates into more work and discussions. Sometimes I know that the solution I am drafting is hacky and I decided for myself that it is better than the available alternatives. I don't want to contact another person to expose some variable(s) for that though.

You'll still be able to do this, by using attributes such as .internals.src. If you don't think your use case should be explicitly supported by the package, you don't need to do anything.
Also if you're very confident about your use case, you could just open a PR. It doesn't have to some sort of drawn out discussion.

I personally would want a setting to just disable cleanAttrs everywhere and give me access to everything, as I don't really care if something is marked as an interface or not. Or do we now need to start doing reflections?

What do you mean with reflections?
I'm not in favor of such a global flag, because it is not necessary and it will make some expressions that do or do not use the flag incompatible. (Configuration should always be a last resort)

For example this would majorly break nix-update and complicate it.
https://github.com/Mic92/nix-update/blob/f7eba589cc99a0cb6f0bab298e194c7c5705be13/nix_update/eval.py#L106-L118

It'd be fine for nix-update to peek inside the internals and then carry on as it did.
It would be nicer if the language integrations and nix-update agreed on some small but general interface, such as a package attribute, so that nix-update isn't coupled to each of the language integrations. More concretely, if the language integrations provided a default updateScript attribute, nix-update would be trivial. That's a separate project though that I don't really want to delve into here, but I think it shows that internals highlights the places where the design could be improved.

You'll still be able to do this, by using attributes such as .internals.src.

Totally forgot about that. 😓 Then this should be okay to megre.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/zurich-23-05-zhf-hackathon-and-workshop-report/29093/1

https://github.com/NixOS/nixpkgs/pull/271241#issuecomment-1834596148 shows that access to values computed by mkDerivations can be important for the package definition itself. Ideally this would not go through the public interface, but I'm not sure that I would want to impose finalAttrs.finalPackage.internals.doCheck as a best practice...
Perhaps it'd be better to avoid cleanAttrs and instead move to a module-like situation, where the functions are flattened to a single fixed-point, and the attrsets are unflattened so that what used to be layers between the functions are just groups of attributes.
mk2Derivation({ pythonAttrs, setup, drvAttrs, public }:
  setup.configureFlags = ... (optional drvAttrs.doCheck "--enable-tests") ...;
  # no more passthru
  public.tests = callPackage ./tests { mypkg = public; };
)

Is the overlay pattern (with 1 layer of hardcoded merging) good enough for this, or do we need more module system-like features...

automatic merging of values would be nice, but maybe it's not a must for the start.

Not merging those "top level" attributes, of which we have only few, will make any sort of overriding incredibly needlessly labor intensive, while gaining very little in flexibility or performance (if at all).
I believe we may allow a restricted form of module system-like merging, as the merging implemented in minimod appears quite cheap, especially if we can get rid of priorities, thanks to the implicit priority encoded by overlay layer ordering.

__class

We already have _class in the module system (newish feature) which is named too similarly, yet must be quite different in interpretation to coexist.
Whether similarity - let alone compatibility - with the module system is a valid requirement remains to be seen, because we can not degrade performance by any significant amount, due to the scale of a typical package's dependency closure.

This idea was good, but mkDerivation can not sustain it.
It appeared as low hanging fruit, but it was ever so slightly too much, as exemplified by https://github.com/NixOS/nixpkgs/pull/217243#issuecomment-1835219430.


Update Error Handling for Input Fields

Currently, the error handling does not follow the patterns set forth in PatternFly. As such, they need to be adjusted to properly fit the schematics that are in use.
Please refer to this wireframe: https://redhat.invisionapp.com/share/UAACVQ7XT
Reference is also available on the patternfly.org blog: https://blog.patternfly.org/required-fields/

Do we have a list of the possible errors?  I'd like to review the message copy.  Thanks!

Not that I know of. Let me ask Joshua and see if they are keeping a
resource file in the code... as promised early on LOL
On Thu, Feb 16, 2017 at 2:23 PM, Sarahjane Clark<EMAIL_ADDRESS>wrote:

Do we have a list of the possible errors? I'd like to review the message
copy. Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fabric8io/fabric8-planner/issues/952#issuecomment-280431729,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARTwqxnXhBoMzRGjTPG1OVf9d_km2zJAks5rdKJJgaJpZM4MChfi
.


Error when download Season 8 Episode 10 subtitles

Version: 0.0.1 build 229
Error: GetEpisodeAsTS: download subtitle segment: get 'https://southpark.orchestrator.viacomcbs-tech.com/h/a/dG9wYXoxYDYwMTdmN2U2LWVjZmQtMTFlMC1hY2E2LTAwMjZiOTQxNGYzMGAxN2FjZmJlMDdjN2Y4Mzg0Y2MyMzMxOGZiNGZhOGZiMDg2M2UzZDk4YExmclBxQUg4WXVjSy1JeGdLZVh0bktrLThHNUhUYkFCdXlzM1Zud0FJOEE/segment-9-f9.vtt': HTTP error: 502 Bad Gateway
OS: windows amd64
Region: Germany
Description: I tried to download Season 8 Episode 10 in English from Germany.

[X] I understand that this issue will be deleted if I forget to fill out any of the fields surrounded by brackets ("[ ]"), including the title. Place an "x" into the brackets at the beginning of this line to confirm.

(Created via app)

Hi, sorry for the late response! I've been very busy over the last few months and didn't have the energy to put my head back into this project.
I'll be looking into what's going on in more detail soon, but just by looking at southpark.de, it seems this episode doesn't have any subtitles available at all. This means it could be some situation where the app expects subtitles to exist, but they actually don't. So it shouldn't be too difficult to fix.


Truncate filter in python3(.5) doesn't have leeway

I was looking why truncate filter doesn't like 4 argumets (+ fifth one is string itself) and I found it after about half an hour by looking in source code - it's because the leeway is not there.
Why and why it's not said anywhere?
Your Environment

Python version: 3.5
Jinja version: 2.8

P.S.: I'm new to GitHub and I don't speak EN very well, so please accept this as it is.

Oops, I've got Jinja 2.8, but 2.9 is the latest release and it's okay there. I'm sorry for confusing everyone with this issue.


Upgraded dependencies for groupId com.gradle.enterprise

Dependencies upgrades
com.gradle.enterprise:com.gradle.enterprise.gradle.plugin

Version: 3.7 -> 3.7.1
Release Date: Oct 20 2021

This pull request was automatically generated by Releases Hub Gradle Plugin v3.1.0

com.gradle.enterprise:com.gradle.enterprise.gradle.plugin

Version: 3.7.2 -> 3.8
Release Date: Dec 20 2021


Rob/970 create configuration page for users to selectdeselection fields

PULL REQUEST
Summary
What changes are being proposed?
Related Issue
Fixes #
Additional Information
Anything else the review team should know?

Currently stuck on a few things:
-getting this to show up before the export page
-the appropriate way to trim the data based off what is checked off


Missing support for Python3 features

These AST nodes are not supported and can cause parse failures:

[x] Constant
[x] JoinedStr/FormattedValue
[x] YieldFrom
[x] AsyncFunctionDef
[x] AsyncFor
[ ] AsyncWith

Will update this list as support is added.

Also missing support for PEP 448 - Additional Unpacking Generalizations
For example merged = {**a, **b} fails with a cryptic error
  File "pasta/base/annotate.py", line 804, in visit_Dict
    self.visit(key)
  File "pasta/base/annotate.py", line 1189, in visit
    fmt.set(node, 'indent', self._indent)
  File "pasta/base/formatting.py", line 37, in set
    _formatting_dict(node)[name] = value
  File "pasta/base/formatting.py", line 53, in _formatting_dict
    return getattr(node, PASTA_DICT)
AttributeError: 'NoneType' object has no attribute '__pasta__'

because the node key in visit_Dict will be None

Also missing support for PEP 448 - Additional Unpacking Generalizations

Thanks, split this into #64 to limit the scope of this bug.

Hi folks: Can I take adding YieldFrom?

Hi folks: Can I take adding YieldFrom or is the ticket internal?

Please do!

@soupytwist: Is there a channel where I can ask few questions or would you be ok w/ I creating a draft PR and you having a look if I understand well architecture wise?

I don't have a good channel for it, no. Feel free to send a draft PR for review or ask anything here. I've been meaning to add some instructions on testing locally, will do that today.

These have all been addressed already.


Question on payload representation value assignment in AfaMultiEventListTransformer.cs

This code below from AfaMultiEventListTransformer.cs looks strange, but I can't quite tell if it is a bug or just a candidate for some code-cleanup?
Is a different payloadRepresentation value supposed to be used if Config.ForceRowBasedExecution == true?
Currently both branches of the C ? A : B statement below end up making the same assignment with a new ColumnarRepresentation(typeof(TPayload))
https://github.com/Microsoft/Trill/blob/eaefac3943f76941955f2169d14f92820e58e6f2/Sources/Core/Microsoft.StreamProcessing/Operators/Afa/AfaMultiEventListTransformer.cs#L52-L58
If this code should always assign the same new ColumnarRepresentation, then I can easily submit a PR to simplify and clarify the code down to:
var payloadRepresentation = new ColumnarRepresentation(typeof(TPayload));

I think we should be in row mode at this point of the code, so it can be simplified as you suggested.

I created PR #26 to fix this.


add tests for cded

@ateucher, I took your advice an just did a fresh (and small) pull request for the testing for the cded function. I followed your format, but I'm getting tripped up on the snapshots.
The second test (which is currently commented out), is also producing different results when comparing objects. I'm not certain if this is the snapshot issue or perhaps issue with the comparison. I would appreciate a quick once over to see where my snapshot comparison is going sideways. Thanks!

Hey @gcperk great start!
I don't really think we need any snapshots here, direct tests of the objects themselves are sufficient I think.
Yes, the comparison of the terra objects was really tricky. They contain c++ pointers to locations in memory, which will always be different for different objects. I discovered that terra has an all.equal.SpatRast() method so used that instead of expect_equal().
Other things I did:

I wanted to set ask = FALSE and check_tiles = FALSE to bcmaps::cded_terra() so I added ... to get_cded_dem(), which is passed through to bcmaps::cded_terra().

Added a test that the res argument does what it should.

I also added a helper function to create the aoi file for testing, rather than duplicating that code in every test.

I added tests/setup.R to use a temporary location for the bcmaps cded cache, and then tear it down when the tests finish.

Added skip_ on tests that download data - we don't want these to run if there's no internet or on CRAN's servers (even though we're not planning on submitting to CRAN at this point).

Let me know what you think!

Hey @ateucher. Thanks I really like the addition of the make_aoi helper and thanks for digging into the SpatRast pointer. I realise my testing knowledge is very underdeveloped!


Rubik Cube game added

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
#780

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

📸

Thank you soo much for contributing to our repository 💗

Thank you @Kalivarapubindusree ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

I have completed task @kunjgit

Thank you  @Kalivarapubindusree , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


[BUG] Correct fix for partial-only HashAggregate with multiple distinct and non-distinct functions

Describe the bug
This is follow on issue of https://github.com/NVIDIA/spark-rapids/issues/153. We currently closed that issue by falling back to CPU for that case. This issue is to figure out proper fix where we can run that case in GPU.
Steps/Code to reproduce bug
Please provide a list of steps or a code sample to reproduce the issue.
Comment out this section of the code in  tagPlanforGpu() in aggregate.scala file to reproduce the bug(disable falling back to CPU).
hashAggReplaceMode match {
      case "partial" => {
        // In partial mode, if there are non distinct functions and multiple distinct functions
        // non distinct functions are computed using First operator. The final result would be
        // incorrect for non distinct functions for partition size > 1. Reason for this is - if the
        // first batch computed and sent to CPU doesn't contain all the rows required to compute
        // non distinct function(s), then Spark would consider that value as final result(due to
        // First)Falling back to CPU for this special case.
        if (agg.aggregateExpressions.exists(e => e.aggregateFunction.isInstanceOf[First])) {
          val count = agg.aggregateExpressions.flatMap(expr =>
            expr.children.flatMap {
              _.collect {
                case a: Count => a
                case b: Count => b
              }
            })
          if (count.size > 1) {
            willNotWorkOnGpu("Aggregate of non distinct functions with multiple distinct " +
              "functions is non deterministic for non distinct functions as it is computed using " +
              "First.")
          }
        }
      }
      case _ =>
    }

and run this test in hash_aggregate.py:
@approximate_float
@ignore_order
@incompat
@pytest.mark.parametrize('data_gen', _init_list_no_nans, ids=idfn)
@pytest.mark.parametrize('conf', get_params(_confs, params_markers_for_confs), ids=idfn)
def test_hash_multiple_mode_query(data_gen, conf):
    print_params(data_gen)
    assert_gpu_and_cpu_are_equal_collect(
        lambda spark: debug_df(gen_df(spark, data_gen, length=100)
            .groupby('a')
            .agg(f.count('a'),
                 f.avg('b'),
                 f.avg('a'),
                 f.countDistinct('b'),
                 f.sum('a'),
                 f.min('a'),
                 f.max('a'),
                 f.countDistinct('c')
                )), conf=conf)

Expected behavior
Correct result should be produced for non-distinct functions in this case.
Gpu Count = 1,
Currently it is : Gpu Count = 0

Additional context
Currently while running on GPU, if the first batch doesn't contain all the rows(gid's corresponding to non distinct function) , then incorrect output is produced for non-distincts. Reason being when there are non-distinct and multiple distincts, Spark computes non-distinct functions using First operator. In case of GPU computation in ColumnarBatch, if the first batch which does the computation doesn't contain all the rows required to compute non distinct function,  then Spark considers that as the final result(due to First) and produces incorrect result. First is non-deterministic in this case.
Things to do in this issue:

Try to repro the case in CPU if possible. If not, then figure out how Spark is producing correct result despite First being non-deterministic.
Look for options to fix based on Step 1.
One of the solution is to consider concating all batches before doing a First.

The plan is rewritten when there are multiple distincts along with non-distinct aggregations in the query by https://github.com/apache/spark/blob/1597d8fcd4c68e723eb3152335298c7d05155643/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/RewriteDistinctAggregates.scala
The computation is done where the regular aggregation expressions and every distinct clause is aggregated
in a separate group.
The plan would not have distinct identifier anymore.
Currently, we are falling back to CPU for this case as follows.
In partial mode, if there is an aggregation within If of First expression -> fall back to CPU.
Non-distinct aggregations are computed by including First as mentioned in the bug. And in the plan, it includes an If expr for the aggs.


BeforeEach guard for (query) params

In my application a user can have multiple characters (which he can use simultaneously on multiple tabs). A character is identified by a query parameter. Since there is only a single "logon" where the character id is set, I wanted to assign the character id globally to all routes and API urls.
With vue-resource I can intercept the request with something like this:
Vue.http.interceptors.push((request, next) => {
  request.params['character'] = characterId
  next()
})

I tried to do basically the same thing with vue-router, but doing so didn't change the URL of the next route. The parameter is present in the new route's route object, but the query param isn't appended to the URL (thus breaking F5/Refresh etc.)
this.$router.beforeEach((to, from, next) => {
  to.query.character = characterId
  next()
})

What I want to accomplish:
I want to add the character's id as a query parameter to all push calls on the router, so instead of:
this.$router.push({ name: 'location.index', query: { character: characterId }})

I can type:
this.$router.push({ name: 'location.index' }) // query parameter is added automatically here

You should pass the url path to the next functionhttps://router.vuejs.org/en/advanced/navigation-guards.html

I want to do the same but haven't figured it out yet.
If I just pass the url to the next functions the query will be missing, no?

ok this worked:
router.beforeEach((to, from, next) => {
  if (!to.query.lang) {
    to.query.lang = store.state.lang;
    next({ path: to.path, query: to.query });
  } else {
    next();
  }
});

What's the reason why next() only accepts a query object and not also a params object?
I would like to be able to for example set a { redirect: to.fullPath } as params object so it would not be visible in the browser url.

@codeofsumit this did work but not solving your real problem


💎 Implement an Azure store

We need to implement Azure Blob Storage (Azure Store).
We can refer Amazon S3 Bucket Store code - nativelink-store/src/s3_store.rs as a reference.

See also the discussion about a generalized BlobStore with different backends at #659.

Hello, I am tony
will solve this issue

@aaronmondal Is the generalized BlobStore part of the scope for this bounty?
It's unclear whether #659 should implement it or #1542 should implement it.

The Google Cloud Storage store gcs_store should be implemented first.

gcs_store should be done be first.

But no, it is not a blocker. It just won't get reviewed as soon.

/attempt #1542


Add a tutorial section to the page

BEGINRELEASENOTES

Add a tutorial section to the page.
Move existing starterkit documentation into the tutorials section

ENDRELEASENOTES
@jmcarcell @andresailer @gaede as discussed I added a tutorial section to the page. Currently there is an empty "example" tutorial just to demonstrate the layout in the end.
This looks like this in the current page:

I will start to add the converter tutorial to this in a separate PR. I think we could potentially merge this first (or at least everyone can start from here). For adding a new tutorial you simply need to add the markdown or rst file into the eval_rst block in the README.md.

I have realized that we already have quite a bit of tutorial style content on the page, so I have effectively just shuffled that into the Key4hep Tutorials category. I had to adapt the fetch_external_sources.sh script slightly to not only work on the toplevel README.md. This still allows us to put content into this repository but also fetches external content from others, so we don't have to duplicate things.

@jmcarcell @andresailer anything against merging this so that we can continue on top of this for the Paestum tutorial?

I think this is fine


Request: can be downloaded with unity package manager

to make the current code be presented
as custom package in unity:
Create custom package

rename or put Scripts folder into Runtime
add assembly definition file to Editor and Runtime folder (.asmdef)
add package.json
(optional) rename Sample folder into “Sample~” and add more data into package.json (See Add Samples )

Thank you very much @fight4dream.
Also, as issue #4 suggests, it is better to publish the entire unity project and a separate upm branch containing only the package using templates like this
I would highly appreciate it if you could send a PR for these changes. (I am not fast at this kind of things!)

i am not familiar with the said procedure in #4 but regardless we need at least to come up with a package name (com.example.mypackage)
@omid3098 could you choose the desired package name please?

please use com.omid3098.openflowmap as package name.
I have done this OpenUPM process once this year for OpenRest and did not find the pipeline handy. might need to read more about that again. anyway, one step at a time.

some Processors contain references to UnityEditor and some editor only classes. might break build and runtime.
i'll try to see how to isolate them


Fix for TypeError: argument of type 'NoneType' is not iterable

This should handle the case where python_version() can return None:

rebase with master

https://github.com/kennethreitz/pipenv/pull/561

got this merged manually — and passing.  :)  Thanks for the help!

@jacebrowning ps. NO_SPIN is automatic on Travis CI now :)

@kennethreitz Thanks! I'll update my templates.


Implement hotfix for quick bug fixing like CodePush

Use case
Codepush is such a powerful feature that allows developers to instantly deploy mobile updates to end users. I hope flutter will have this feature for quick bug fixing.

Proposal

Implement hotfix module like Codepush

Closing this as a duplicate of https://github.com/flutter/flutter/issues/14330.


Discrete rv docs

These are some docs for the discrete RV functions.   I'd be happy to revise either content and style.  Among other things, please check that the semantics are correct.  I wasn't familiar with all of the distributions, so I looked up info about some of them and had to guess about some of the parameters.  (I did try to find the source for some of the functions, but understanding the C source code for these functions wasn't trivial for me.)

This looks very great to me. Thank you Marshall. 👍 💯


Increase indulgence for integration test

It is not possible to set random.seed to record evolution process for integration tests, so because of the stohastic nature of test_simple_targets_are_found  test there is a need to increase indulgence.

Hello @maypink! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file test/integration/test_structure_search.py:

Line 1:1: F401 'random' imported but unused

Codecov Report

Merging #217 (359dc1d) into main (3e29ad5) will decrease coverage by 0.17%.
Report is 1 commits behind head on main.
The diff coverage is n/a.

:exclamation: Current head 359dc1d differs from pull request most recent head e274d8e. Consider uploading reports for the commit e274d8e to get more accurate results

@@            Coverage Diff             @@
##             main     #217      +/-   ##
==========================================
- Coverage   73.72%   73.55%   -0.17%
==========================================
  Files         131      131
  Lines        7828     7828
==========================================
- Hits         5771     5758      -13
- Misses       2057     2070      +13

Files
Coverage Δ

golem/core/optimisers/adaptive/neural_mab.py
17.15% <ø> (ø)

... and 5 files with indirect coverage changes

А можно это мержить или что-то осталось?

А можно это мержить или что-то осталось?

насколько я помню, тут надо покопаться, что-то не работало. отдам ее @donRumata03


adding dark mode✨

I want to add dark mode to the website. Can you please assign this issue?

Please assign this me under the gssoc-extd


sort arguments to cc

fix #100
with this fix, it is possible for dependent of lzma-sys to have reproducible builds. The fix was tested by building Arti (which depends on lzma-sys) on multiple systems.
Previously, Arti (and other programs trying to have reproducible builds) would have put $CARGO_HOME in a tmpfs to get reproducible builds (tmpfs provides deterministic ordering of readdir output).

the CI issue seems unrelated to my changes

Thanks, I'll work on fixing CI.


model init doesn't parse attributes

Backbone.Model = function(attributes, options) {
    var defaults;
    attributes || (attributes = {});
    if (defaults = this.defaults) {
      if (_.isFunction(defaults)) defaults = defaults();
      attributes = _.extend({}, defaults, attributes);
    }
    this.attributes = {};
    this._escapedAttributes = {};
    this.cid = _.uniqueId('c');
    this.set(attributes, {silent : true});
    this._changed = false;
    this._previousAttributes = _.clone(this.attributes);
    if (options && options.collection) this.collection = options.collection;
    this.initialize(attributes, options);
  };

this.set(attributes, {silent : true}); -> this.set(this.parse(attributes), {silent : true});
I don't like parsing at the collection as I sometimes work with individual models.
I am aware you could just parse the attributes in initialize(), but I feel my suggested method is cleaner.

Should be fixed as of #773.


Running BBH CoT

Hi, I am trying to evaluate my model on the BBH with/without CoT but all task results end up being 0.0. I am quite unexperienced, so please have it in mind when helping me out. Other tasks I've tried do work however (see output below). Thanks!
BBH Script command:
python main.py --model hf-auto --model_args pretrained=[my_path] --tasks=bbh_cot_fewshot_snarks --device cuda --batch_size=4 --output_path=[my_path]
Output:

Tasks
Version
Filter
n-shot
Metric
Value

Stderr

bbh_cot_fewshot_snarks
Yaml
get-answer
0
exact_match
0
±
0

Successful output from task 'bigbench_snarks_multiple_choice':

Tasks
Version
Filter
n-shot
Metric
Value

Stderr

bigbench_snarks_multiple_choice
Yaml
none
0
acc
0.5414
±
0.0371

Hi! What model are you using to run this, and could you potentially post some generations (which you can find if you run the model while passing --log_samples and --output_path ?)
It may be that your model is just not very good at generation tasks, and so fails to properly terminate the CoT (or just does not use the correct format to give its answer.)

Thanks for your response! I am using Bloomz 7B. Here are two outputs from the logs, where the models is choosing A without getting it right (exact match = 0):
Instance 1
Arguments
[['Determine which of two sentences is sarcastic.\n\nAccording to Cambridge University Dictionary, sarcasm is "the use of remarks that clearly mean the opposite of what they say, made in order to hurt someone's feelings or to criticize something in a humorous way." Sarcastic sentences often contain satirical or ironic utterances, hyperboles, ambivalent or witty remarks.\n\nQ: Which statement is sarcastic?\nOptions:\n(A) Yes, because having interests and actively researching them is a huge waste\n(B) Yes, because having interests and actively researching them is a huge deal\nA: Let's think step by step.\nIf we look at (A), it says that having interests and actively researching them is a huge waste, implying that it is a useless effort. However, we know that having interests and actively researching them is typically not a waste but rather is beneficial to the individual. The presence of such a juxtaposition in (A) suggests that it contains a taste of irony and sarcasm.\nIf we look at (B), it says that having interests and actively researching them is a huge deal, implying that it is an important and consequential effort. This is arguably a neutral and correct statement.\nAbove the above, the sarcastic option is (A). So the answer is (A).\n\nQ: Which statement is sarcastic?\nOptions:\n(A) No one is going to disagree with you on this. Avoiding ad hominem attacks really help your case\n(B) No one is going to disagree with you on this. Ad hominem attacks really help your case\nA: Let's think step by step.\nIf we look at (A), it says that avoiding ad hominem attacks really help your case, implying that ad hominem attacks are adverse and injurious. Because ad hominem attacks are adressed at a person rather than an idea, it is indeed true that avoiding them is often useful and helpful; so, (A) is a neutral (valid and agreeable) statement.\nIf we look at (B), it says that ad hominem attacks really help your case, implying that ad hominem attacks are a positive thing. However, we stated previously that ad hominem attacks are often not useful or constructive. The speaker in this sentence therefore seems to mean the opposite of what they are saying; so, there appears to have a taste of irony and sarcasm in (B).\nAbove the above, the sarcastic option is (B). So the answer is (B).\n\nQ: Which statement is sarcastic?\nOptions:\n(A) Consistency in the league's punishments? What do you think this is supposed to be, politics?\n(B) Consistency in the league's punishments? What do you think this is supposed to be, moral?\nA: Let's think step by step.\nIf we look at (A), it likens the consistency in the league's punishments with that in politics. Because politics or political affairs are often not considered to be consistent or dependable, this sentence appears to be satirical.\nIf we look at (B), it likens the consistency in the league's punishments with that in morality. Discussing the consistency of the league's punishments in the context of morality, ethics, or law makes sense and does not appear to make a satirical point about anything.\nAbove the above, the sarcastic option is (A). So the answer is (A).\n\nQ: Which statement is sarcastic?\nOptions:\n(A) Hey just be happy then you won't be depressed anymore\n(B) Hey just be happy that you won't be depressed anymore\nA: Let's think step by step.',
{'max_gen_toks': 1024,
'until': ['', 'Q', '\n\n'],
'do_sample': False,
'temperature': 0.0}]]
Input
{'input': "Which statement is sarcastic?\nOptions:\n(A) Hey just be happy then you won't be depressed anymore\n(B) Hey just be happy that you won't be depressed anymore",
'target': '(A)'}
Response
[[' If we look at (A), it says that avoiding ad hominem attacks really help your case, implying that ad hominem attacks are adverse and injurious. Because ad hominem attacks are adressed at a person rather than an idea, it is indeed true that avoiding them is often useful and helpful; so, (A) is a neutral (valid and agreeable) statement. Yes, because having interests and actively researching them is a huge waste']]
Exact match
0
Instance 2
Arguments
[['Determine which of two sentences is sarcastic.\n\nAccording to Cambridge University Dictionary, sarcasm is "the use of remarks that clearly mean the opposite of what they say, made in order to hurt someone's feelings or to criticize something in a humorous way." Sarcastic sentences often contain satirical or ironic utterances, hyperboles, ambivalent or witty remarks.\n\nQ: Which statement is sarcastic?\nOptions:\n(A) Yes, because having interests and actively researching them is a huge waste\n(B) Yes, because having interests and actively researching them is a huge deal\nA: Let's think step by step.\nIf we look at (A), it says that having interests and actively researching them is a huge waste, implying that it is a useless effort. However, we know that having interests and actively researching them is typically not a waste but rather is beneficial to the individual. The presence of such a juxtaposition in (A) suggests that it contains a taste of irony and sarcasm.\nIf we look at (B), it says that having interests and actively researching them is a huge deal, implying that it is an important and consequential effort. This is arguably a neutral and correct statement.\nAbove the above, the sarcastic option is (A). So the answer is (A).\n\nQ: Which statement is sarcastic?\nOptions:\n(A) No one is going to disagree with you on this. Avoiding ad hominem attacks really help your case\n(B) No one is going to disagree with you on this. Ad hominem attacks really help your case\nA: Let's think step by step.\nIf we look at (A), it says that avoiding ad hominem attacks really help your case, implying that ad hominem attacks are adverse and injurious. Because ad hominem attacks are adressed at a person rather than an idea, it is indeed true that avoiding them is often useful and helpful; so, (A) is a neutral (valid and agreeable) statement.\nIf we look at (B), it says that ad hominem attacks really help your case, implying that ad hominem attacks are a positive thing. However, we stated previously that ad hominem attacks are often not useful or constructive. The speaker in this sentence therefore seems to mean the opposite of what they are saying; so, there appears to have a taste of irony and sarcasm in (B).\nAbove the above, the sarcastic option is (B). So the answer is (B).\n\nQ: Which statement is sarcastic?\nOptions:\n(A) Consistency in the league's punishments? What do you think this is supposed to be, politics?\n(B) Consistency in the league's punishments? What do you think this is supposed to be, moral?\nA: Let's think step by step.\nIf we look at (A), it likens the consistency in the league's punishments with that in politics. Because politics or political affairs are often not considered to be consistent or dependable, this sentence appears to be satirical.\nIf we look at (B), it likens the consistency in the league's punishments with that in morality. Discussing the consistency of the league's punishments in the context of morality, ethics, or law makes sense and does not appear to make a satirical point about anything.\nAbove the above, the sarcastic option is (A). So the answer is (A).\n\nQ: Which statement is sarcastic?\nOptions:\n(A) Hey just be happy then you won't be depressed anymore\n(B) Hey just be happy that you won't be depressed anymore\nA: Let's think step by step.',
{'max_gen_toks': 1024,
'until': ['', 'Q', '\n\n'],
'do_sample': False,
'temperature': 0.0}]]
Input
{'input': "Which statement is sarcastic?\nOptions:\n(A) Hey just be happy then you won't be depressed anymore\n(B) Hey just be happy that you won't be depressed anymore",
'target': '(A)'}
Reponse
[[' A']]
Exact match
0

Fixed by #1356 !


TypeError: Cannot read property 'head' of undefined

I'm using Next.js with Typescript, my code passes compiler very well, but in runtime the web page crashes with the following error:
> Ready on http://localhost:3000
TypeError: Cannot read property 'head' of undefined
    at Head.render (/Users/frankdai/github/with-react-intl/node_modules/next/dist/server/document.js:160:41)
    at za (/Users/frankdai/github/with-react-intl/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:32:322)
    at a.render (/Users/frankdai/github/with-react-intl/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:18)
    at a.read (/Users/frankdai/github/with-react-intl/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:35:250)
    at renderToStaticMarkup (/Users/frankdai/github/with-react-intl/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:44:75)
    at _callee3$ (/Users/frankdai/github/with-react-intl/node_modules/next/dist/server/render.js:227:100)
    at tryCatch (/Users/frankdai/github/with-react-intl/node_modules/regenerator-runtime/runtime.js:62:40)
    at Generator.invoke [as _invoke] (/Users/frankdai/github/with-react-intl/node_modules/regenerator-runtime/runtime.js:296:22)
    at Generator.prototype.(anonymous function) [as next] (/Users/frankdai/github/with-react-intl/node_modules/regenerator-runtime/runtime.js:114:21)
    at step (/Users/frankdai/github/with-react-intl/node_modules/babel-runtime/helpers/asyncToGenerator.js:17:30)

Your Environment

Tech
Version

next
4.2.1

node
v9.3.0

OS
macOS latest

browser
Chrome Version 63.0.3239.84 (Official Build) (64-bit)

etc
typescript 2.6.2

This error disappeared after I changed my code, code is here https://github.com/soulmachine/with-react-intl

Please note that import { Head } from 'next/document' still must be used in the _document.js file.
The import Head from 'next/head' import should be used everywhere else.


Issue #502 - Copy selection to event title

Copy user's current selection on the web page to the event title text area when the browser action loads.
I have used a little bit of code from https://stackoverflow.com/a/19165930. I hope that this is okay.

I believe you’ll be dropping this in favor of https://github.com/manastungare/google-calendar-crx/pull/508 ?


"error: reached the recursion limit during monomorphization (selection ambiguity)" with chunks

Compiling the following code fails with:
error: reached the recursion limit during monomorphization (selection ambiguity)

extern crate futures; // 0.1.10

use futures::{stream, Stream, Future};
use futures::sync::oneshot;

fn main() {
    let (tx, rx) = oneshot::channel(); // future to fetch a collection of objects
    tx.complete((0..200).collect());

    rx.map(|l: Vec<usize>| stream::iter(l.into_iter().map(|i| Ok(i))))
        .flatten_stream()
        .chunks(50)
        .map(|i| Ok(i)) // do work with batch of objects
        .buffer_unordered(5)
        .collect();
}

rustc 1.15.0 (10893a9a3 2017-01-19)

The idea here is to batch process a bunch of objects. If I remove the chunks(50) line, the code successfully compiles 😮

Possibly related to #367.

Some more info:

This happens all the way back to 0.1.3, when Chunks was introduced.
I resolved the issue for now by waiting synchronously for the collection of objects, and then making the stream, removing the need for the map and flatten_stream.

I wonder if this may be a bug in the compiler? We've caught some before through this library. It'd be helpful to reduce the library to the bare bones though to see what's necessary to trigger the bug.

Ok I've reduced it at https://github.com/rust-lang/rust/issues/40003

I suppose this issue can be closed now?


[tool_crash] _CastError: (#0      new WebPlugin.fromYaml (package:flutter_tools/src/platform_plugins.dart:548:34))

Command
flutter --no-color run --machine --track-widget-creation --device-id=B08D208A-3F93-45BD-B0F0-5F96FFF1D00D --start-paused --dart-define=flutter.inspector.structuredErrors=true lib/main.dart

Steps to Reproduce

...
...
...

Logs
_CastError: (#0      new WebPlugin.fromYaml (package:flutter_tools/src/platform_plugins.dart:548:34))
#0      new WebPlugin.fromYaml (package:flutter_tools/src/platform_plugins.dart:548:34)
#1      new Plugin._fromMultiPlatformYaml (package:flutter_tools/src/plugins.dart:142:21)
#2      new Plugin.fromYaml (package:flutter_tools/src/plugins.dart:78:21)
#3      _pluginFromPackage (package:flutter_tools/src/flutter_plugins.dart:63:17)
#4      findPlugins (package:flutter_tools/src/flutter_plugins.dart:88:28)
<asynchronous suspension>
#5      refreshPluginsList (package:flutter_tools/src/flutter_plugins.dart:1080:32)
<asynchronous suspension>
#6      FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:357:5)
<asynchronous suspension>
#7      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:1412:7)
<asynchronous suspension>
#8      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1257:27)
<asynchronous suspension>
#9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#10     CommandRunner.runCommand (package:args/command_runner.dart:209:13)
<asynchronous suspension>
#11     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:283:9)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
<asynchronous suspension>
#13     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:229:5)
<asynchronous suspension>
#14     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:64:9)

[!] Flutter (Channel stable, 3.7.10, on macOS 13.2.1 22D68 darwin-x64, locale en-NG)
    • Flutter version 3.7.10 on channel stable at /Users/nugigroup/flutter
    ! Warning: `flutter` on your path resolves to /Users/nugigroup/flutter_sdk/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nugigroup/flutter. Consider adding /Users/nugigroup/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nugigroup/flutter_sdk/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nugigroup/flutter. Consider adding /Users/nugigroup/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4b12645012 (9 days ago), 2023-04-03 17:46:48 -0700
    • Engine revision ec975089ac
    • Dart version 2.19.6
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/nugigroup/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] IntelliJ IDEA Community Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 70.0.3
    • Dart plugin version 213.7371

[✓] VS Code (version 1.77.1)
    • VS Code at /Applications/Visual Studio Code 2.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (3 available)
    • iPhone 14 (mobile) • B08D208A-3F93-45BD-B0F0-5F96FFF1D00D • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 13.2.1 22D68 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 112.0.5615.49

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Flutter Application Metadata
Type: app
Version: 1.0.0+1
Material: true
Android X: false
Module: false
Plugin: false
Android package: null
iOS bundle identifier: null
Creation channel: stable
Creation framework version: 52b3dc25f6471c27b2144594abb11c741cb88f57

Closing this as a duplicate of https://github.com/flutter/flutter/issues/115738.
Kindly upvote the original issue.
Thank you


fix k8s versions tested in CI

Remove older versions not available on platforms anymore.
Make K8s 1.27 the default version on all platforms.

/ci-eks

This PR does not require running any CI outside of ci-eks:

It changes which K8s versions are tested as part of the automated scheduled runs, which run outside of PRs.
It changes the default K8s version for EKS, and testing confirms the proper version is picked: https://github.com/cilium/cilium/actions/runs/8706912523


Postage batch store

Part of epic #920

Part of epic #920

architecture proposal https://hackmd.io/o8RGsNwZSN6IE0lkBAZCPw


validate_call does not support | correctly

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
After a brand new fresh install of Pydantic 2, I got an issue with the use of | None and validate_call:
The error happens at JIC time (not run time).
It does work if I replace the | None with Optional.
I boiled down the issue to these few lines:

Example Code
from pydantic import ConfigDict, validate_call

class TestClass:
    ...

@validate_call(config=ConfigDict(strict=True, arbitrary_types_allowed=True), validate_return=True)
def test(test: TestClass | None):
    print("this is a test")

Python, Pydantic & OS Version
             pydantic version: 2.4.2
        pydantic-core version: 2.10.1
          pydantic-core build: profile=release pgo=false
                 install path: /Users/lpgros/.virtualenvs/env3-exp/lib/python3.9/site-packages/pydantic
               python version: 3.9.12 (main, May 12 2023, 09:21:14)  [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
                     platform: macOS-14.0-x86_64-i386-64bit
             related packages: email-validator-2.0.0.post2 typing_extensions-4.7.1

Hi @slorg1,
Thanks for reporting this. I think the problem is that python==3.9.12 doesn't support defining Union types with |.


Global feedback

Currently global feedback (Rétroaction générale) don't get parsed (in numerical questions at least).
GIFT:
// question: 229196  name: Test Numerical
::Test Numerical::Whats two plus 4?{#
	=%100%6:0#Good job its really 6!
	####2+4 \= 6
}

Result
Line 2, column 36: Expected {#... }, {= match1 -> Match1 ...}, {=correct choice ~incorrect choice ... }, or {T} or {F} or {True} or {False} but "{" found.

Expected
[
   {
      "type": "Numerical",
      "title": "Test Numerical",
      "stem": "Whats two plus 4?",
      "hasEmbeddedAnswers": false,
      "choices": [
         {
            "isCorrect": true,
            "weight": 100,
            "text": {
               "type": "range",
               "number": 6,
               "range": 0
            },
            "feedback": "Good job its really 6!",
            "globalFeedBack": "2+4 = 6"
         }
      ]
   }
]

On my side this issues don't need to be fixed. Just wanted to notify you.

Thanks for the bug and the expected output. It looks like you generated this question by exporting a Moodle question to GIFT. Can you confirm that's how you did it? There are no examples on the web that I've found so far.
General feedback isn't parsed at all for now. I added the check box to #1

Yes, it was exported from Moodle question to GIFT.

Fixed in #9


Update link to playground

Unfortunately, svgomg hasn't been updated for a long time and still uses svgo v3.0.0
So I made a fork svgomfg featuring the latest svgo v3.0.4

We're actually discussing this with Jake Archibald, the maintainer of SVGOMG, to get it up-to-date and resume maintenance!
The playground should be updated to use the latest version of SVGO soon.
Related: https://github.com/svg/svgo.dev/issues/2#issuecomment-1822643241


ENH: Add a cookiecutter template to create new examples

Add a cookicutter template to create new examples.
Supersedes the CreateNewExample.py.in script.
Closes #21, closes #22.

@phcerdan

A few comments:

We assume that the example does not exist. If it exists, we may need to manage that situation.
Not sure that the placement of the {{cookicutter.example_name}} folder is the right one, since the group and module names are not known beforehand, and I ignore the consequences of creating a {{cookicutter.group_name}}  if the group already exists.
Missing to modify (or add) the upper-level CMakeLists.txt and index.rst files with the newly added example.
The current CreateNewExample.py.in script infers the group and module from the demonstrated class. Not sure how to do it in the cookiecutter framework.
Not sure if we have a way to accommodate to the title length in reST syntax (=) in the Documentation.rst file
Should we encourage using the TRY_EXPECT_NO_EXCEPTION macro?
Still missing to change the permissions to the Code.py file.
Not sure whether we should encourage the procedural interface for the Python examples, as encouraged here.
I guess the README.rst documentation and/or the ITK site will need to include some explanation on how to use the template.

Thanks.

Not sure that the placement of the {{cookicutter.example_name}} folder is the right one, since the group and module names are not known beforehand, and I ignore the consequences of creating a {{cookicutter.group_name}}  if the group already exists.

Missing to modify (or add) the upper-level CMakeLists.txt and index.rst files with the newly added example.

The current CreateNewExample.py.in script infers the group and module from the demonstrated class. Not sure how to do it in the cookiecutter framework.

Maybe we can use the cookie cutter hooks for this?
https://cookiecutter.readthedocs.io/en/latest/advanced/hooks.html

* Not sure if we have a way to accommodate to the title length in reST syntax (`=`) in the `Documentation.rst` file

The length can be extra long.

* Should we encourage using the `TRY_EXPECT_NO_EXCEPTION` macro?

Maybe? We should probably move it to itkMacro.h first.

* Not sure whether we should encourage the **procedural interface** for the Python examples, as encouraged [here](https://discourse.itk.org/t/itk-5-0-beta-1-pythonic-interface/1271).

+1

@thewtex thanks for the review ! I will investigate the discussed aspects as soon as possible.

Looks like we will need to reach consensus on using a given style, even if we offer more than one interface:
https://github.com/InsightSoftwareConsortium/ITKSoftwareGuide/issues/118

Maybe? We should probably move it to itkMacro.h first.

We may need to think if it makes sense.
Not sure whether the general name for the hook is OK, or else we want an alternative, purpose-specific name, e.g.
incorporate_example.py
hook_up_example.py
pool_example.py
integrate_example.py
consolidate_example.py
The hook and the cookiecutter have not been tested. We will checked them once we get to a more stable version and before merging.

@jhlegarreta There will be some work done to cleanup these examples soon.  It would be nice if this task were completed before another method is used to generate new examples.

@hjmjohnson thanks for the follow-up !
There are a few open question and the cookiecutter needs to be tested. Reviews and proposals are welcome.

Thinking out loud.
While we take the time to address the questions, I tested the cookiecutter, and I realized that the download_url is missing the group_name and module_name values, since they are expected to be captured by external sripts, as discussed with @thewtex.
The mentioned fields are in theory filled and used by the post_gen_project post-generation hook, so they may need to be filled in a pre-generation hook.
The question is to locate the ITK source tree.
For a similar reason, and as opposed to the ITKModuleTemplate cookiecutter, it looks like offering to specify a value for the project_name tag does not make sense in this case. It is not used anywhere else beyond the json file, so the download_url could be fixed to
  "download_url": "https://github.com/InsightSoftwareConsortium/ITKExamples",

or just do not add it. Suggestions are welcome.
Similarly, I'd dare that it makes no sense to have the fields project_short_description and project_long_description since we do not have a Python setup setup.py script.
Comments and reviews are welcome. Thanks.

Some other stuff that I've tried and a few thoughts.
Following this comment, I removed the download_url, project_short_description, project_long_description fields from the cookiecutter.json file and created a pre_gen_project.py hook script to test a few things.
Interestingly, the fields group_name, module_name have to have some default values/be present in the .json file; otherwise, the cookiecutter fails because it is unable to create the folder structure. It looks like the pre-commit hook is run once the JSON file has been read and cookiecutter has generated the folder structure. Which it is not what we look for I guess.
In any case, skipping that part and allowing the process to continue, provided that the right ITK and ITKExamples source trees (which I hard-coded), and ITK class are given, without the itk namespace (i.e. not sure while not temp_res['bool']: is working in this context), the group and module names are correctly identified when calling the cookiecutter module:
python -m cookiecutter {Path_To_Utilities_CookieCutter}

The issue is then that we would like to create the folder structure with the values that we inferred in the pre-commit hook, and this means injecting content to the json dictionary:
http://lira.no-ip.org:8080/doc/python-cookiecutter-doc/html/advanced/injecting_content.html
However, this triggers an infinite prompt/loop due to the call
cookiecutter('{Path_To_Utilities_CookieCutter}', no_input=True,
         extra_context={'class_name': class_name, 'group_name': group_name, 'module_name': module_name})

as anticipated here.
Not sure whether other alternatives exist to modify the context or if they work.
Or still, whether it makes sense to modify the contents in a pre-commit hook.
Another option would be to completely avoid the pre_gen_project hook, and use a Python script to dynamically create and fill the cookiecutter.json file. Then calling the
cookiecutter('{Path_To_Utilities_CookieCutter}', no_input=True)

method may make the trick.
This, however, means that we would be calling a Python script to generate the example structure, e.g.
python {Create_Example.py}

instead of:
python -m cookiecutter {Path_To_Utilities_CookieCutter}

We are still missing a way to access from the Python script (whether it is a hook or not):

The ITK source root
The ITK Examples source root

@hjmjohnson @fbudin69500 @thewtex thoughts and suggestions are welcome.

Following this comment, I removed the download_url, project_short_description, project_long_description fields from the cookiecutter.json file and created a pre_gen_project.py hook script to test a few things.

:+1: Yes, these fields are only relevant for the ITKModuleTemplate cookiecutter.
Regarding the group name and module name, we can avoid a lot of complexity, at least for now, by making these regular cookie cutter input fields that the user specifies, instead of trying to infer them.

1e84a65 rebased on master. Questions and issues still to be addressed.

876336f rebased on master after the last big example import from the Wiki Examples has been merged.

Thanks Hans.
I will work on fixing the issues from master since this was still not yet working. Matt's comment had not been addressed, and local tests were not successful. So . Also, not sure #21 and #22 are really fixed. We need to investigate this.


Upgrade RoboVM to 2.3.21 and minimumOS version to 12

XCode 15 has dropped support for iOS 11. I've checked on my live games and the game with the higher iOS 11 user share has 0.03% (popular in developing countries amongst young users) and the others have 0.01%. Worth noting as well that no Apple device has iOS 11 as its latest supported OS version.

Interesting, that this seems to be no where documented in the XCode release notes, or am I blind?
Is there any issue with staying on iOS 11? From my test it seems to create no problems during build.

Interesting, that this seems to be no where documented in the XCode release notes, or am I blind?
Is there any issue with staying on iOS 11? From my test it seems to create no problems during build.

XCode 15 has a minimum deployment target of 12 which is where the minimum OS version is taken on XCode built apps. You can find it on the first paragraph of the  release notes: The Xcode 15 release supports on-device debugging in iOS 12 and later (https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes). My understanding is that apps can still be built setting the minOSVersion manually to 11 but can't be tested running/debugging them directly from XCode.
In practice this change has no real impact on existing apps (that's why I wasn't sure if add the Breaking Change tag), it only sets a reasonable default on new Gdx Apps. Several popular 3rd party libraries including AdMob require iOS 12 and I don't expect we test libGDX on iOS 11 from now on. If we add the incredible low user base I think it's the right move.

My understanding is that apps can still be built setting the minOSVersion manually to 11 but can't be tested running/debugging them directly from XCode.

Okay, I understand, thank you!

In practice this change has no real impact on existing apps (that's why I wasn't sure if add the Breaking Change tag), it only sets a reasonable default on new Gdx Apps.

Alright, I see! So do we want to still keep minOSVersion 11 in jnigen/ObjectAL for building?

Alright, I see! So do we want to still keep minOSVersion 11 in jnigen/ObjectAL for building?

My understanding is that we don't currently set the minOSVersion explicitely for the natives on libGDX config side and we just use the defaults of the jnigen lib right?
If that's the case and we keep this approach, imo it'd make sense to upgrade to a new jnigen with the new default minOS before the next release. Considering we dropped support for iOS 11 on July last year and next libGDX is probably months away it'd be good timing (policy of deprecating 1 version per year is consistent with Apple and Google policy/strategy). But, if you don't want jnigen project to force the default to 12 for some reason then I don't think it's a big deal either and we can always set the minimumOS version manually on libGDX side.

My understanding is that we don't currently set the minOSVersion explicitely for the natives on libGDX config side and we just use the defaults of the jnigen lib right?

Correct!

But, if you don't want jnigen project to force the default to 12 for some reason

I think I just don't really like to cut ties/deprecate versions, without an specific reason to do so. E.g. dropping iOS 9 and going to iOS 11 as min version made sense, because we could get rid of the armv7 build/configuration complexity. However, I don't see any complexity/downside for minOS 11 vs minOS 12. It just seems like a restriction, where there doesn't have to be one.
However, since iOS 11 users are very rare as you pointed out, my hesitation is not that high.

My understanding is that we don't currently set the minOSVersion explicitely for the natives on libGDX config side and we just use the defaults of the jnigen lib right?

Correct!

But, if you don't want jnigen project to force the default to 12 for some reason

I think I just don't really like to cut ties/deprecate versions, without an specific reason to do so. E.g. dropping iOS 9 and going to iOS 11 as min version made sense, because we could get rid of the armv7 build/configuration complexity. However, I don't see any complexity/downside for minOS 11 vs minOS 12. It just seems like a restriction, where there doesn't have to be one.
However, since iOS 11 users are very rare as you pointed out, my hesitation is not that high.

Fair enough. I wouldn't say there's no specific reason though, trying to support versions not fully supported by Apple itself is a bit risky. It may work for a long time but it may also break something we won't be able to test. I'd rather reduce unnecessary risks for the tiny price of droppping an unused version. In any case, as I said, it's up to you jnigen guys to decide, it doesn't make a difference for this PR (except for the BREAKING CHANGE tag maybe but I'd rather leave it there).


docs: change from anyhow to color-eyre

Change anyhow to color_eyre in all tutorials
Issue : https://github.com/ratatui-org/website/issues/192
NOTE : This is a Work-In-Progress PR

Hello!

NOTE : This is a Work-In-Progress PR

Feel free to mark this as "draft" until it is ready for review 🐻

@orhun it's done !

This looks good to me and I don't think it conflicts with @joshka's changes, so I'm good to merge after @joshka gives it an approval!
Thanks for making the PR!


Import UmlsEntityLinker fails due to nmslib

I used pip to install scispacy into my conda environment and exported that to a yml file. Subsequently, I created this conda environment in another machine using this yml file. However, when I try to import UmlsEntityLinker, I get the following error:
ImportError: /envs/<conda_directory>/lib/python3.6/site-packages/nmslib.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZTINSt6thread6_StateE
Trace is the following:
from scispacy.umls_linking import UmlsEntityLinker -> from scispacy.candidate_generation import CandidateGenerator -> import nmslib

Hmm sorry about that! Unfortunately to use the entity linker you do actually need nmslib. It looks like it's some system level problem with cython - perhaps you could try upgrading cython? Alternatively, you can look at the steps in our Dockerfile (which we use on a linux server to run our tests:
https://github.com/allenai/scispacy/blob/master/Dockerfile#L4
These lines might help you?

Closing due to inactivity, feel free to reopen if you are still having issues.


Class is missed

Hello, SociableView.class from import com.hendraanggrian.socialview.SociableView is missed.
So I can`t do onMentionClickListener, because I need this class.
text.setOnMentionClickListener(new Function2<SociableView, CharSequence, Unit>() {
                    @Override
                    public Unit invoke(SociableView sociableView, CharSequence charSequence) {
                        //my click
                    }
                });

Try to replace 'SociableView' class with 'SocialView'

@CripyIce it`s not working. Nothing happend when I click

@CripyIce Yes it should be SocialView. I named it SociableView following Android's own naming convention for Java interfaces that must have their implementation in Java class. But since Kotlin, its interface is much more powerful than Java's (allowing more codebase in interface), that pattern seem to be obsolete so it is now SocialView.
@sfucko About that click listener doing nothing, I need to know several things:

Is your app running on skinned Android like Samsung's TouchWiz? If it is we might have to dig a little deeper because I've only tested it in AVD and my personal device Nexus 6.
Is hashtag click listener also does nothing?
Have you explicitly set MovementMethod to that TextView?

Anyway, Unit is Kotlin's equivalent of Java's Void type, so you should return null on that Function2.


Add --hide_warnings_for to suppress warnings by path.

I'd love the ability to hide warnings for all code in a given path, such as for third-party projects that I don't control. This change attempts to support that.
If I should send a CL instead, let me know. This is my first PR, so be gentle (ish). =)
Thanks!

Yes, let's handle this through a CL. There is a similar flag that is internal only.


Support writes to Bucket Partitioned Tables

Feature Request / Improvement
We'd like to support writes to Bucket partitioned tables by leveraging pyiceberg_core package of iceberg-rust.

[ ] Expose Bucket Transform through PyO3 on pyiceberg_core (https://github.com/apache/iceberg-rust/pull/556)
[ ] Release pyiceberg_core 0.0.1
[ ] Add pyiceberg_core 0.0.1 optional dependency and Bucket Transform support in PyIceberg

Discussion thread: https://lists.apache.org/thread/33c0nkc3k6646lvro1lv22pvhwlp50ss

I'm willing to help with the release about pyiceberg_core.


Code examples Output

Hi, I started to use Exercism for practice in Golang recently and I like you product. Thank you for you job 👍🏼
I have one remark.
I've noticed that https://exercism.org/tracks/go/exercises/annalyns-infiltration has nice code example with Output after fmt.Println:
var archerIsAwake = true
var prisonerIsAwake = false
var petDogIsPresent = false
fmt.Println(CanFreePrisoner(knightIsAwake, archerIsAwake, prisonerIsAwake, petDogIsPresent))
// Output: false

but if you take a look at this example https://exercism.org/tracks/go/exercises/vehicle-purchase (and most of other)
needLicense := NeedsLicense("car")
// Output: true

it also has Output but there is no function to Print variable needLicense. It can be confusing.
I would recommend to use one style in each task: use fmt.Println() before // Output: or show value of variable in other way.

Good point.

I agree that showing "Output" when there's not a print instruction can be confusing, as there is no output. It's probably a good idea to remove those instances.
Other ways to express the idea can be to put the value in the same line of the variable or explicitly saying what the variable is == to:
needLicense := NeedsLicense("car")   // true

or:
needLicense := NeedsLicense("car")
// true

or even:
needLicense := NeedsLicense("car")
// needLicense == true

I tend to prefer the first two forms as they are compact and descriptive, while not having the confusing "Output" bit.
Since this is an issue that can affect several exercises, my suggestion would be to use this issue as a reference to all PRs that fix this. If someone wants to fix a particular exercise where they see this, it's ok to create a PR for a specific exercise, just make sure to reference this issue for easy tracking.

I believe the good first issue label would be a good fit for this one.

I always thought the general logic of these type of comments is that they should be written in a REPL fashion. Coming from that perspective, here some comments from my side:

I think removing Output when there is no print statement is good.
I don't think we should have print statements everywhere because that clutters the examples a lot.
I don't think the first and second examples are good because in the REPL logic (which a lot of people are used to from other languages), those examples would mean the return value of the assignment is true which is not the case in Go.
The assignment in the first and second example does not add value imo.

I would recommend to use this format as it is clear enough imo and does not include any excess code that was only added for the purpose of writing the example:
NeedsLicense("car")
// true

(Same as at the bottom of vehicle purchase, just without the "Output".)
Just for completion, the correct format with print would be:
needLicense := NeedsLicense("car")
fmt.Println(needLicense)
// Output: true

@andrerfcsantos @norbs57 WDYT about my suggestion above? In case we can agree on the two desired versions, we should add those somewhere in the track documentation.

@junedev That makes sense. I like it as a standard going forward.

I agree with most of the points raised.
With regards to the "results of assignments", in the recent parsing_log_files example, I used the following notation taken from the C# track:
b = re.MatchString("[a12]")       // => true
b = re.MatchString("12abc34(ef)") // => true
b = re.MatchString(" abc!")       // => true
b = re.MatchString("123 456")     // => false

This notation is pretty concise, but I feel ambivalent about those arrows. On the one hand, it is neat to use an arrow to indicate something being "returned".  On the other hand, the arrow goes in the wrong direction from an "assignment semantics" point of view, e.g.  it should be  b ← true.
What do others think about this style?

Also, I saw on the C# track that some of the examples were written without assignments, e.g. the above example would then be written as
re.MatchString("[a12]")       // => true
re.MatchString("12abc34(ef)") // => true
re.MatchString(" abc!")       // => true
re.MatchString("123 456")     // => false

My understanding was that the arrows are used because they appear in some form in the actual REPL that comes with the language. Not sure how it is for C#. Because a REPL is not a standard thing in Go, I am not sure it makes sense to include it.
I wouldn't worry about the direction of the arrow too much because as noted in the second comment by @norbs57, often the assignment can be removed from the example.

This probably doesn't help, but in case it does - here are two examples of the Python REPL.  The first is the standard one that ships with Python.  Note that the arrows are for inputs, and the "output"/"value" or "return" doesn't have them:

The second 2 examples are from iPython, an "enhanced" REPL that is often used in data sci.  Note that here there are explicit in and out lines.  However, this is a bit misleading since out is not necessarily output.  Sometimes, it's the value of a variable, sometimes the result of calling a function.

@BethanyG I know that officially we should use the some standard REPL format for the examples. But tbh even if a standard REPL would exist for Go, I still find this
NeedsLicense("car")
// => true

more readable than this
>>> NeedsLicense("car")
true

Do you actually always use some official REPL format in Python as described here https://exercism.org/docs/building/markdown/markdown#h-code?

I realized that there is an issue with the version without the arrow. It gets confusing when there is an additional explaining comment:
NeedsLicense("car")
// true
// This is true because ...

Also people on Slack voted for the arrow so let's go with that.

@junedev For the scope of this issue, should the assignee apply the arrowed comment to all exercises?

I would treat the issue as a general one. So in the end it would be great to have consistent examples with either the arrow or print syntax in all concept exercises and concepts. And of course updated documentation of what we decided for here.

To give better visibility on exactly what needs to be done and how to contribute to this, I created this new issue with the result of the discussion here.

I am re-opening this because I think the track readme was not yet updated to include the guidelines we settled on here. This is also not mentioned in the new issue linked above so let's use this one here to track the readme update.

Here for reference the final formats we used:
Without print:
NeedsLicense("car")
// => true

With print:
needLicense := NeedsLicense("car")
fmt.Println(needLicense)
// Output: true


README broken links fixed

⚠ Pre Checklist

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

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

Summary
Broken links fixed
Does this close any open issues?
Closes #5842
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

Partly duplicate with #5836

Sorry, another user has already fixed this issue, and I need to close this PR.


Support top chinese language models

List of planned models:
Baichuan2
Qwen

Transformers officially supports Flash Attention 2, but it only covers models like Llama. Is it necessary for us to support Flash Attention 2 for other models?

https://github.com/huggingface/transformers/issues/26350 Transformers community is adding support for more architecture.

List of expected supported models:

GLM
Baichuan2
Qwen
InternLM

Done,  but requires further performance testing, and more model support is also welcome.
Data for test:

SFT: alpaca+alpaca_cn
RM: hh-rlhf
PPO: alpaca-cleaned+full-hh-rlhf+oasst1_pairwise_rlhf_reward

model
SFT
RM
PPO
Notes

Baichuan2-7B-Chat
1h
4h

chatglm2-6b

Qwen-7B-Chat

internlm-chat-7b-v1_1

List of expected supported models:

GLM
Baichuan2
Qwen
InternLM

Done, e770404 but requires further performance testing, and more model testing is also welcome.
Data for test:

SFT: alpaca+alpaca_cn
RM: hh-rlhf
PPO: alpaca-cleaned+full-hh-rlhf+oasst1_pairwise_rlhf_reward

model	SFT	RM	PPO	Notes
Baichuan2-7B-Chat	1h	4h	71h
chatglm2-6b
Qwen-7B-Chat
internlm-chat-7b-v1_1

more test please!

Qwen-14B needs to support:

Different model architectures
Qwen cannot add extra special tokens
Qwen lacks eos_token setting, causing errors during dataset processing
Qwen supports flash_attention, but the parameter passing method is different

What's the progress?

Add RWKV
Would you like implementing RLHF for RWKV, here are some suggestions:

As a non-transformer architecture, RWKV does not use the HF transformers library.
RWKV uses a different tokenizer, called rwkv_vocab_v20230424, and tokenization process is based on their own tokenizer.
The official repositories are https://github.com/BlinkDL/RWKV-LM and https://github.com/BlinkDL/ChatRWKV. See train.py for training process.
RWKV contains tons of new tricks and would fail if any of these tricks is not set correctly.

Add RWKV
Would you like implementing RLHF for RWKV, here are some suggestions:

As a non-transformer architecture, RWKV does not use the HF transformers library.
RWKV uses a different tokenizer, called rwkv_vocab_v20230424, and tokenization process is based on their own tokenizer.
The official repositories are https://github.com/BlinkDL/RWKV-LM and https://github.com/BlinkDL/ChatRWKV. See train.py for training process.
RWKV contains tons of new tricks and would fail if any of these tricks is not set correctly.

It seems that it is not easy to be compatible with RWKV in OpenRLHF.

I am wondering if mistral has been supported?

I am wondering if mistral has been supported?

Not yet

I am wondering if mistral has been supported?

OpenRLHF supports mistral since it's model architecture is the same as llama2.

现在qwen支持了吗

我看qwen的 特殊token       <|endoftext|>  在代码里面没有体现？

我看qwen的 特殊token <|endoftext|> 在代码里面没有体现？

应该是支持了，周末测测看~


✨ Allow project import from GitHub

Once #41 is ready, it should be rather easy to implement project import:

[ ] Define a simple project.json structure. This can be inspired/adapted from mip, node.js, PlatformIO etc.
[ ] Implement the project import mechanism. This is very similar to package installation

[ ] Install project dependencies (libraries)

[ ] Improve UI/UX

[ ] Display README.md from the sample
[ ] Connect board step
[ ] Install projects

[ ] Project sharing via link, i.e. https://viper-ide.org/?import=https://github.com/emlearn/emlearn-micropython/tree/master/examples/soundlevel_iir
[ ] Add featured examples to the left panel

package.json suggestion:
{
    "name": "MySample",
    "version": "master",
    "description": "Makes everyone happy",
    "author": "Citizen of the Universe",
    "license": "MIT",
    "readme": "",
    "files": [
        "main.py", "cfg/config.json", "www/logo.png"
    ],
    "urls": [
      ["some_file.py", "github:org/repo/dir/file.py"],
      ["data.dat", "github:org/repo/dir/file.dat"]
    ],
    "deps": [
    ]
}

Notes:

files is a simpler/shorter version of urls
urls, deps are the same as described in https://docs.micropython.org/en/latest/reference/packages.html
When ViperIDE (and later mpremote) installs a project (not a package), target installation path should / or /flash by default

Comments and ideas are welcome

@RobertBlackhart I think this would be very useful for education scenarios

I agree. I really like the ability to link using a URL query. I'd be happy to do some work on #41/#42 if you're looking for volunteers, although I can't promise a timeline right now (not that you're asking, just wanted to set expectations).

No, this is completely on me for now. Also, it's in discussion/definition phase (also setting expectations here :) )

There's now an experimental support of installing applications.
For example you can install aiodns example using this button:

I am adding Run in ViperIDE to another example in emlearn-micropython. Ref this package.json, https://github.com/emlearn/emlearn-micropython/blob/master/examples/har_trees/package.json
However, this example one depends on a couple of libraries which are not in micropython-lib, and fails to install because the dependencies are not known.
The libraries in question are:

https://github.com/jonnor/micropython-zipfile
https://github.com/jonnor/micropython-npyfile
And I also plan to utilize these also soon:
https://github.com/jonnor/micropython-mpu6886
https://github.com/jonnor/bma423-pure-mp

How to add these?

How to add these?

Using the URL works! For example "deps": [ [ "https://github.com/jonnor/micropython-mpu6886", "master" ] ]. Don't know why I did not try it before...


Cannot enable Keybase in Finder

I cannot access my /keybase folder from my terminal, it gives me "permission denied". I tried uninstalling Keybase but it still isn't working. In "Security & Privacy" in System Preferences, I do not have a prompt to allow the Keybase developer when I try to enable Keybase in finder.
my log id: 53e351d01b95209d43d9981c

Hi @Gujibell, looks like you might be hitting a strange macOS issue where it doesn't allow some third-party devices, including their own trackpads.  Check out this comment and see if it helps: https://github.com/keybase/client/issues/11763#issuecomment-410790612
If not, let me know and we can dig deeper.


How to get the istyle-verilog-formatter binary?

Greetings,
In the setting extensions, it asks for the path to the istyle-verilog-formatter binary.  I downloaded the code from https://github.com/thomasrussellmurphy/istyle-verilog-formatter but it just contains cpp files.  Do you know if there is a way to compile these files to create a binary?  Or is there a way to just download the binary on it's own?
Thanks in advance!

Hi,
You need to compile the tool yourself using the "make" command. After it's compiled, you need to copy the file from "bin/release/iStyle" to some permanent location (e.g. /usr/local/bin/ or ~/.local/bin/, or somewhere else on Windows) and set the  "Path to the istyle-verilog-formatter binary" configuration option in the extension settings to this location.
Hope that helps


Update build/test instructions in README.

There's no advantage to running devdocs inside govuk-docker as far as I can tell. It's much easier and quicker — especially for external contributors — to run it directly using Bundler.
Issue #4528 is an example of where the complexity of the previous build/run instructions prevented an external contribution.
Folks can still use govuk-docker if they wish, of course.
Fix some minor style issues along the way, like avoiding unnecessary use of the passive voice and preferring the imperative mood in section headings.
Preview

Thanks for this @sengi, as a non GDS user (obligatory you could hire me plug) had these docs been in the state your branch proposes them, I'd have submitted the changes my self, as I ran in to some issues when trying the build locally and assumed it was required to use govuk-docker to fix these issues,


ExportCalendar improvements

Summary
Add support for downloading .ics calendars for Summer Sessions, as well as support for calendars which are not set to PST/PDT thanks to Eric's suggestion in #324 to inject a VTIMEZONE section into the .ics file.
Also converted ExportCalendarButton into a functional component and added the starting dates for 2022 Summer Sessions so users will be able to export their Summer Session schedules.
Test Plan

Test that summer sessions can be exported successfully and imported into Google Calendar with no issue, with start/end dates in accordance with the Quarterly Academic Calendar. (NB: Since all Summer Session courses have TBA finals dates, even as far back as 2017, this aspect of the code could not be tested. It should function as intended, given that exporting finals works fine for regular quarters.)
Test that calendars imported into a timezone that does not observe Daylight Savings Time reflect the correct local time after transitioning between PDT and PST.

Issues
Closes #143; closes #329.
Future Followup

Something to do with #147. Will involve significant refactoring though, considering it has quite a bit of technical debt (calendar items are hacked together using Date objects with an internal date of January 2018).
Revert or modify the VTIMEZONE section if/when DST gets patched out by the government.

Regarding the inconsistency between the first calendar event and actual start dates for SS1 and SS10wk this year: it's because Juneteenth happens to be observed on the Monday of Week 1 for those terms. If you consider the "actual" start date to be June 20th, then these terms all have the same number of instruction days as the same terms from prior years.
So I think it would be fine if the first class meeting was reported as Monday; the only way I could think of actually making this work for future years is to encode whether a holiday observed prior to the start of instruction shortens the instruction period.


Add info about the dir command

What type of PR is this? (check all applicable)

[ ] ♻ Refactor
[x] ✨ New Chapter
[x] 🐛 Bug Fix/Typo
[ ] 👷 Optimization
[x] 📝 Documentation Update
[ ] 🚩 Other

Description
Add information regarding the dir command
Related Tickets & Documents
https://man7.org/linux/man-pages/man1/dir.1.html is the Linux manual page for this command
Added to documentation?

[ ] 📜 readme
[ ] 🙅 no documentation needed

[optional] What gif best describes this PR or how it makes you feel?

The heading and the first paragraph have been changed to reflect the correct chapter's name.


Campaign | Posters: addition of experience areas to submenu

As an app user, I want the submenu #267 to reflect the addition of #339.
Acceptance criteria (order from left to right):

[ ] #271
[ ] [#220] [non-critical: later addition]
[ ] #339
[ ] the menu options can be toggled on or off and is initially off.

Screenshots need UX addition:

Prototype (need update): https://www.figma.com/proto/7wE0Iveas3GGb8u4oL0714/App-Design-Mitglieder-App-(1)-(Copy)?node-id=2683-13221&t=b8swD5IOAFfZ0OSo-1&starting-point-node-id=2425%3A17429

Edit: Wahllokale #220 aren't critical and need further discussion in the future (not an acceptance criteria atm)
issue reviewed, rfd

screenshots (with additional Erfahrungsgebiete) will be provided asap @leagerndt

Updated to reflect Release 0*


HTML imports into packages are user-unfriendly

 Issue by justinfagnani
Originally opened as dart-lang/sdk#20395

Having to add any number of "../.." tot he begging of an import is easy to get wrong and hard to justify to users.

 Comment by sigmundch

without changes to script semantics in Dartium, we unfortunately wont be able to fix this. We have however added more documentation of how it works and improved error messages for users running into this here:
https://www.dartlang.org/polymer/app-directories.html

Added NotPlanned label.

 Comment by justinfagnani

See https://code.google.com/p/dart/issues/detail?id=20076

 Comment by lrhn

Removed Area-Library label.
Added Area-Pkg label.


rename  example files to ".sample"?

          I think the ending should be ".sample"?

Originally posted by @joernu76 in https://github.com/Open-MSS/MSS/pull/2069#discussion_r1383509294

@ReimarBauer I hope to work on this. please assign to me.


column support for range queries

Description
For Bitmap queries, one can either specify the row label, or the column label, and this will determine whether one gets back a bitmap representing a row or column in the index. Range queries are analogous to Bitmap queries, except that one specifies the start and end timestamps for the time range which the returned bits must fall into.
Right now, however, Range queries seem to neither support, nor throw an error, if the column label is given instead of a row label. (The return is always empty).
Success criteria (What criteria will consider this ticket closeable?)
Come to a decision on whether Range queries should support columns, and make sure that issuing a Range query with the column label either throws an error, or returns correct results based on the outcome of that decision.

Fixed by #514


Missing environment variables

Output of restic version
restic 0.12.0 compiled with go1.14.12 on linux/amd64

What should restic do differently? Which functionality do you think we should add?
Not every option that may make sense to have it's environment variable equivalent for already has it's environment variable.
What are you trying to do? What problem would this solve?
I need to pass CA certificate file path from the environment right now.
# ...
declare -x RESTIC_CACERT_FILE='/path/to/pem'
# ...
restic backup /etc

The similar feature request could be addressed for almost every option missing the possibility to be pre-defined (defaulted) in the environment.

Duplicate of #1233, related to #1926.


Auto-formatting scrolls (sets point) to beginning of buffer

I've rustic-format-trigger set to 'on-save.  When the point is on some line deep down the buffer, upon saving, rustic auto formats just before saving as expected.  However, as a side effect, the point is set to the beginning of the buffer i.e. scrolls to the top.  This is quite unproductive and needless when you're actively authoring code.
Here's my configuration:
(use-package rustic
  :custom
  ((rustic-format-trigger 'on-save)))

Details

Rustic Version: 20210805.1755 (commit 1941f52d34e7e4752e1e465e5636b21ef7ad42b9)
Emacs Version: 27.2
OS: macOS 11.4

Yeah there's at least an open issue for this problem. I thought this was fixed some time ago, maybe this is a regression. Or maybe I'm wrong.

Can confirm.

But formatting manually doesn't ?

At least with rustic-format-file this shouldn't happen anymore(that's the reason why I added the function).

I was having the same problem. Then I realized I was running an old version of rustic. Pulling master fixed it. If you're using straight.el make sure you run straight-pull-package to update.

This does happen (depending on the buffer position) when using rustic-format-buffer so I changed the default to rustic-format-file some time ago.

My findings:
rustic-format-buffer can freeze emacs. It scrolls and if you have your fingers crossed, maybe unfreezes it.
rustic-format-file doesn't scroll the buffer, but ignores the .rustfmt.toml in the project directory. This makes it almost completely useless.
This suggests that the issue is not with rustic mode but with lsp itself.

rustic-format-file doesn't scroll the buffer, but ignores the .rustfmt.toml in the project directory. This makes it almost completely useless.

I doubt that, since both commands use the same parameters. But I'll take a look.

This suggests that the issue is not with rustic mode but with lsp itself.

You're right, it's very unlikely that rustic-format-buffer is the problem. It just formats the buffer string and replaces the old contents. Maybe that's a problem for rust-analyzer+lsp-mode, but that's also hard to believe.
I also encountered emacs freezes with emacs28 but that doesn't seem to be related to rust features. It could be some minor mode or even an issue with emacs internals.

Regarding the original issue, I added calls to save-excursion in combination with save-window-excursion to several functions including rustic-format-buffer. This did at least work for rustic-cargo-build.
If this still doesn't work, please open a new issue. If there are still other issues please also open a new issue and I'll try to fix it.


Player "Skill Metrics" graphs - dates inconsistencies

The dates for these graphs seem to be in reverse order (going along the x axis from left to right shows decreasing dates)

This was fixed a while back, never closed the issue, thanks for reporting the issue ^^


TensorFlow is also needed before launch

As to launch server, tensorflow (not only tensorflow_gpu) are also needed as a basic module, but it's missed in the manual. (Only tensorflow_gpu is mentioned)

So I think it's important to fix it or more users may come to unexpected missing problems.
By the way, this project is quite PERFECT ! We like it very much! Thanks a lot!

@bimOvO can you tell me how you installed tensorflow as a basic module ?

@abdellbobo I don't know if my expressions are correct, but I means run pip install tensorflow before python server.py , otherwise an error would be occurred when importing "tensorflow". (ai.py, line 1)


windows: Panic in tauri-plugin-deep-link if 2 Windows users try to run the client at the same time

Describe the bug
The 2nd instance will panic here https://github.com/FabianLars/tauri-plugin-deep-link/blob/0c28b75ac663b4ba0fb1f0d1ea4220f82a583764/src/windows.rs#L59
I'm guessing this is what happens to the 2nd instance:

prepare tries to connect to the local socket and fails, because it's owned by the instance in another desktop session, so it believes we are the only instance
register tries to listen on its own local socket and fails because the sockets share the same namespace

To Reproduce

Log in to unprivileged Windows account
Start Firezone
Switch users to another Windows account, leaving the unprivileged account signed in but locked
Start Firezone in debug mode in a terminal

Expected behavior
Expected the 2nd instance to either send a message to the first instance on the other account, or the 2nd instance to consider itself the first instance for this user and not panic.
Screenshots / Logs
thread '<unnamed>' panicked at C:\Users\User\.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-plugin-deep-link-0.1.2\src\windows.rs:59:18:
Can't create listener: Os { code: 5, kind: PermissionDenied, message: "Access is denied." }

Platform (please complete the following information):

Firezone Version 3518937ad1fad2
OS: Windows 11

Additional context
Probably need to report this upstream to Tauri. Since we aren't going to allow multiple Windows users for 1.0 we can probably call this a known issue on our side.

Good find, and thanks for testing this edge case.

In 76635eb33, we get "Error: named pipe server couldn't start listening, we are probably the second instance"
We're not using tauri-plugin-deep-link anymore, so I'll close this.
That message is an error we could handle, and we can do something user-friendly like popping up the currently running instance or showing a "Firezone already running but not responding" like Firefox does.


Improve prompt when installing extension packs

Testing #14291

create an extension pack (see #14291)
install the extension pack. You are prompted with:

Installing 'Martins Favourite Extensions' also installs its dependencies. Would you like to continue?

I wonder if the prompt is useful.
As a user, is it something to worry about? Should I say yes or no?
I guess the prompt can be removed. Else it can be replaced with an more of an information.
Press ok to install 'Martins Favourite Extensions' and 6 dependencies.

Duplicates #14412