Allow symbols for literal record construction

This should work:
Rec('name -> "Hanna")

How about this instead: Rec(name = "Hanna")? This would give record construction the same syntax like case class copy methods.

There is already Record(name="Hanna") and Record("name" -> "Hanna"). Any reason to have a third syntax?

Good point, it is still nicer than the string syntax. Maybe we should remove the string syntax altogether and just leave the symbols.

The tuple constructor syntax allows record with non identifier keys. You have test cases for that. I won't add that to my implementation, but maybe it is a feature you want to support.
On February 11, 2015 4:59:37 AM EST, Vojin Jovanovic<EMAIL_ADDRESS>wrote:

Good point, it is still nicer than the string syntax. Maybe we should
remove the string syntax altogether and just leave the symbols.

Reply to this email directly or view it on GitHub:
https://github.com/scala-records/scala-records/issues/96#issuecomment-73857137

Well record field names must be statically known for records to work. I do not see the usecase for records whose keys should be modified at run-time. How would you access those fields in a meaningful (type-safe) way.

I wasn't talking about runtime, I think I saw tests like Rec( 5 -> "foo" ). If you only allow Rec( ...= "foo") you couldn't create 5 -> anymore. Which is fine by me. Just pointing out that change to make sure you are aware of it.

We allow only string literals, and in case of 5 you would have to do Rec(5=5) which is OK I think.

I don't think Rec(5=5) passes the scala parser. the lhs needs to be an identifier.
scala> class Foo extends Dynamic{ def applyDynamicNamed(method: String)(kvs: (String,Any)*) = kvs }
scala> new Foo().foo(5=5)
<console>:1: error: ')' expected but '=' found.
       new Foo().foo(5=5)

Ah markdown swallowed it: `5` does pass the parser.

Ah interesting :).

@vjovanov I propose we dismiss this. There is really no need for another syntax.

No need since we have the equals syntax. Close.

+1


custom virtual module could not be solved in production mode

Hi,
I am using my own virtual module in my Service Worker.
In dev mode this works fine but not in production mode.
In my service worker script I have this import statement:
import { version } from "virtual:version-info";

While building I get the following message
"virtual:version-info" is imported by "src/service-worker/ServiceProxy.ts", but could not be resolved – treating it as an external dependency.

In Chrome I get the following error message:
Uncaught SyntaxError: Cannot use import statement outside a module (at sw.js:1:173)

Are virtual modules not supported? Do I need some special configuration?

Found a solution in this comment: https://github.com/vite-pwa/vite-plugin-pwa/issues/260#issuecomment-1092777123
Adding the plugin with the virtual module to the vitePlugins list solves my issue.
VitePWA({
 strategies: "injectManifest",
  injectManifest: {
    vitePlugins: [...defaultInjectManifestVitePlugins, "version-info"],
  },
  ...
})


proposal: implement politeia voting

Requires https://github.com/planetdecred/dcrlibwallet/pull/202
This pr implements politeia voting using tickets into the politeia vote modal. Previous vote options are shown on the vote modal and the proposals are refreshed after successfully sending a vote.

I get a crash when I double click on a navigation menu on the side nav. Here's the log
2021-08-05 23:11:06.403 [INF] DLWL: Loaded 2 wallets
2021-08-05 23:11:07.209 [INF] DLWL: Opened wallet
2021-08-05 23:11:08.039 [INF] DLWL: Opened wallet
2021-08-05 23:11:08.041 [INF] WALL: fetching all tickets
2021-08-05 23:11:08.058 [INF] DLWL: Politeia sync: started
2021-08-05 23:11:08.058 [INF] DLWL: Syncing 2 wallets
2021-08-05 23:11:08.058 [INF] DLWL: [3] Headers synced through block 00000000cda025df1acd5e8d724f824642d864d73a802cdfac351ffc5eae96ea height 742049
2021-08-05 23:11:08.058 [INF] DLWL: [3] Transactions synced through block 00000000cda025df1acd5e8d724f824642d864d73a802cdfac351ffc5eae96ea height 742049
2021-08-05 23:11:08.058 [INF] DLWL: [1] Headers synced through block 00000000cda025df1acd5e8d724f824642d864d73a802cdfac351ffc5eae96ea height 742049
2021-08-05 23:11:08.058 [INF] DLWL: [1] Transactions synced through block 00000000cda025df1acd5e8d724f824642d864d73a802cdfac351ffc5eae96ea height 742049
2021-08-05 23:11:08.061 [INF] DLWL: Loaded 121 addresses from file '/Users/klinsmann/Library/Application Support/Godcr/testnet3/peers.json'
2021-08-05 23:11:08.062 [INF] DLWL: New peer <IP_ADDRESS>:19108 /dcrwire:0.4.0/dcrd:1.6.2/ SFNodeNetwork|SFNodeCF
2021-08-05 23:11:08.062 [INF] DLWL: Loading active addresses and unspent outputs...
2021-08-05 23:11:08.124 [INF] DLWL: Registered for transaction notifications for 695 HD address(es)
2021-08-05 23:11:08.124 [INF] DLWL: Registered for transaction notifications for all relevant outputs
2021-08-05 23:11:08.124 [INF] DLWL: Loading active addresses and unspent outputs...
2021-08-05 23:11:08.160 [INF] DLWL: Registered for transaction notifications for 449 HD address(es)
2021-08-05 23:11:08.160 [INF] DLWL: Registered for transaction notifications for all relevant outputs
2021-08-05 23:11:08.160 [INF] DLWL: [3] Indexing transactions start height: 742043, end height: 742049
2021-08-05 23:11:08.160 [INF] DLWL: [1] Indexing transactions start height: 742043, end height: 742049
2021-08-05 23:11:08.162 [INF] DLWL: [1] Transaction index finished at 742049, 33 transaction(s) indexed in total
2021-08-05 23:11:08.167 [INF] DLWL: [3] Transaction index finished at 742049, 297 transaction(s) indexed in total
2021-08-05 23:11:09.082 [INF] DLWL: Politeia sync: checking for updates
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x4b2c664]

goroutine 69 [running]:
github.com/planetdecred/godcr/ui/page.(*TransactionsPage).OnClose(0xc001d88380)
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/ui/page/transactions_page.go:233 +0x24
github.com/planetdecred/godcr/ui.(*mainPage).changePage(0xc0002b97a0, 0x4f5a868, 0xc)
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/ui/main_page.go:297 +0x112
github.com/planetdecred/godcr/ui.(*mainPage).changeFragment(...)
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/ui/main_page.go:292
github.com/planetdecred/godcr/ui.(*mainPage).Handle(0xc0002b97a0)
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/ui/main_page.go:266 +0x74f
github.com/planetdecred/godcr/ui.(*Window).layoutPage.func2(0x0, 0x0, 0x640, 0x4b0, 0x4000000040000000, 0x526f9c0, 0xc000509c90, 0xc03b3660a3868350, 0x2430fa498, 0x5bcf820, ...)
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/ui/window.go:240 +0x4e
gioui.org/layout.Stack.Layout(0x4dec201, 0x640, 0x4b0, 0x640, 0x4b0, 0x4000000040000000, 0x526f9c0, 0xc000509c90, 0xc03b3660a3868350, 0x2430fa498, ...)
        /Users/klinsmann/go/pkg/mod/gioui.org@v0.0.0-20210418151603-3b69b5ed0512/layout/stack.go:60 +0x7d5
github.com/planetdecred/godcr/ui.(*Window).layoutPage(0xc0001a6b60, 0x640, 0x4b0, 0x640, 0x4b0, 0x4000000040000000, 0x526f9c0, 0xc000509c90, 0xc03b3660a3868350, 0x2430fa498, ...)
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/ui/window.go:235 +0x2f7
github.com/planetdecred/godcr/ui.(*Window).Loop(0xc0001a6b60, 0xc000509c00, 0xc00010eea0)
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/ui/window.go:363 +0x44b
created by main.main
        /Users/klinsmann/go/src/github.com/raedahgroup/godcr/main.go:91 +0x525

Inaccurate vote count
When I view the proposal in the proposal list and proposal details page, I see 0 votes already made. However, when I click on the vote button to display the vote modal and I select the wallet I used to vote, I see 1 yes vote which is the correct value.
Proposal details page

Voting modal

The view on politeia button

directs me to the mainnet politeia platform, even though I changed the politeia host parameter to another url.

Inaccurate vote count

@oshorefueled It is not inaccurate, the proposals are still syncing and the vote will be updated when syncing completes.

@Sirmorrison @oshorefueled this is ready for futher review.


[Obs] 4.5 - High-level API

Provide two very similar high-level entries into the observable measurement framework. This provides more sensible defaults for some of the execution details and can return nicer values
    df = measure_observables_df(
        circuit,
        [observable],
        cirq.Simulator(),
        stopping_criteria='variance',
        stopping_criteria_val=1e-3 ** 2,
    )

measure_grouped_settings lets you control how settings are grouped and returns "raw" data in one container (BitstringAccumulator) per group. This level of control is probably desirable for people seriously executing and expensive experiment on the device. The high-level API makes some simplifying assumptions

The qubits are the union of circuit and observable qubits
We will group the settings using a GROUPER_T function, by default "greedy"
We'll always initialize settings into the |00..00> state, so you can just provide PauliStrings
You'll probably be using one of the two built-in stopping criteria and can just provide a name and a value instead of grokking these objects.
(for the second entrypoint) you really don't care about how things were grouped and executed, you'd just like the observable values in a dataframe table

I'm still adding some tests, annotations, and going over the docstrings but feel free to take a look in the mean time

Thanks for the initial look @95-martin-orion .
Since you wrote https://github.com/quantumlib/Cirq/pull/3910, I'd like to make this PR get us basically all the way there. I'll re-work, but let me know if you have any ideas or want to set up a video call to sync

https://github.com/quantumlib/Cirq/pull/4392/commits/f92fc655bcf71f08be32dd0c6a9cdb08e9949b33 implements the API from https://github.com/quantumlib/Cirq/pull/3910
Current thinking on the APIs:

lowest: measure_grouped_observables. The user has to group things and deal with InitObsSetting instead of PauliString and gets back raw data (List[BistringAccumulators]) that are grouped like the grouping
questionable medium: measure_observables will group for you and take PauliString. It still returns the raw data (List[BitstringAccumulator]) that are grouped like the grouping
high, data-science edition: measure_observables_df: get a dataframe with all the results
high, Sampler API edition: Sampler.sample_expectation_values takes PauliSums (as well as PauliStrings) and will do the summation for you. It only lets you use RepetitionsStoppingCriteria. It returns values nested by input sweep index, input pauli sum index.

I'm not super happy with the "medium" version's return type. Maybe it can be a flat list of ObservableMeasuredResult

I think this is a reasonable philosophy for the API - especially now that the Sampler code is (mostly) relying on the public interface of Observable Measurements. Probably can update the docstring there to point specifically at measure_observables_df as the data science alternative.

Lint check is for documenting exceptions. Some offline discussion has built some consensus that we should follow the style guide, especially:

You should not document exceptions that get raised if the API specified in the docstring is violated (because this would paradoxically make behavior under violation of the API part of the API)

and not document "input validation" checks in the docstring.

@95-martin-orion PTAL if you're still around :)


Tear apart the match_term_type into to new elements

Currently, we have the match_term_type, to indicate wether a match is between classes, properties etc.

TermMatch: A match between two terms
ConceptMatch: A match between two SKOS concepts
ClassMatch: A match between two OWL/RDFS classes
ObjectPropertyMatch: A match between two OWL object properties
IndividualMatch: A match between two OWL Individuals
DataPropertyMatch: A match between two OWL object properties

This is a bit limited because we may have to map between different kinds of elements. Before finalising version 1, we would like to propose to remove this field in favour of a more fine grained approach that allows to provide typing for both the subject and the subject, like:

subject_type (owl:Class, rdf:Resource, skos:Concept etc etc)
object_type
predicate_type (owl:AnnotationProperty)

This gives us a range of advantages:

We can use the semantic web standard vocabularies for entity types and do not have to define our own
We can use the typing information in tools which is very useful for example when generating OWL mappings
We avoid combinatorial explosions of match_types (ObjectPropertyToAnnotationPropertyMatch, ClassToDatabaseEntityMatch)

@ernestojimenezruiz since you were the one proposing this element originally, can you provide use with some feedback on this proposal?

Hi Nico
Apologies for the slow response. I'm in the middle of the teaching term.
I think adding a type to both the subject and object will be a good option. This way we can also allow for more general mappings.
match_term_type was handy for retrieval purposes, but adding the type of the subject and object will lead to the same retrieval options and beyond (i.e. classMatch => both subject and object are owl:Class). The predicate can also be meaningful in this regard, that is, owl:EquivalentClass is assumed to be used among owl:Classes. I guess when mixing types in the matching, one should avoid owl equivalence/subsumption pedicates.
Ernesto
PS: there is a typo here: DataPropertyMatch: A match between two OWL data properties.

Thank you very much @ernestojimenezruiz! This is great!


find actual minimal requirements

What does this PR do?
Find the minimal requirements that let tests pass. In follow-up PR we shall recover back compatibility with PyTorch 1.1 and 1.2
PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

@williamFalcon I think that this is an important step to let all other work on this project smoothly going...

@Borda sorry we can't do this. We need to recover 1.1 and 1.2 as the most immediate priority

I understand, I just propose to do it step by step, not in a single large effort... so the next one is lower to 1.2 with all test passing and then 1.1...

ok that makes sense. Can we prioritize that for now? The next release will need to be pushed back if we can't support 1.1 or 1.2.

ok that makes sense.

well, I thought that  you merge it, but instead, you closed it :disappointed:

Can we prioritize that for now? The next release will need to be pushed back if we can't support 1.1 or 1.2.

just working on it...


Update audit.md

Hi. Why should we make this change?

Hi. Why should we make this change?
Hi @sftim
Because backslash is wrong here! From time to time when I'm copying/pasting those params I must do one more action - to delete \ from the configuration file of kube-apiserver.yaml.

Thanks.

/lgtm
/approve

/lgtm cancel

Hi @sftim
@tengqm updated the PR and we can merge it if so.

Hello @SebastianUA , please can you push an empty commit to retrigger the build?

(even better: rebase this PR against main)

/lgtm
/approve


Moodboard

Description
Design team to create moodboard based on competitor & industry analysis. Moodboard will cover aesthetic and interface inspiration.
Criteria

[ ] Sixteen entries
[ ] 8x Aesthetic/Visual inspiration
[ ] 8x Interface inspiration

Added some images to moodboard (landing page layout inspiration and logo/color inspiration).

Added links to Moodboard in issue description.


Passing custom properties with logging events

Version: 0.11.3
Is it possible to pass custom data to Application Insights along with logging events? It seems like the parameters that get passed are fixed at the moment?
https://github.com/Microsoft/ApplicationInsights-Python/blob/adb53ac988f10ca72a0656df5021d01f10e1afbd/applicationinsights/logging/LoggingHandler.py#L94-L100
I'd be interested to get this functionality added and can try to submit a pull request if it is not already possible somehow.

Which instruction have you followed to enable logging? "Basic logging configuration (first option)" from Readme?
Do you want to add some constant property to all log messages or something specific for every message? Generally there are two patterns we are following in other languages - telemetry pipeline extensibility when we call telemetry processor for every event just before submitting it into the channel. Or callback on serializing of specific log message from logger infrastructure into Application Insights format. I can give corresponding links.
Depending on scenario you are trying to enable - recommendations on what feature to implement would be different.

Thanks for the super-quick reply. I agree I wasn't quite clear in what I am trying to accomplish.
I'm following the "Basic logging configuration (first option)" approach from the readme, but I think the question is relevant regardless.
Essentially I have two goals, the first one is to pass custom properties with specific calls to the logging methods. Something like the following,
logger = logging.getLogger('jobs')
logger.info('Job completed with status %s', "success", extra={"job_id": "123456"})

and here have job_id being sent to AI as "Custom Data" which I could use to find all log events related to that job_id without having it included in the log message for each row.
The second goal would be to do some sort of scoping like,
logger = logging.getLogger("jobs")
logger.info("start processing jobs")
job_logger = scope_logger(logger, {"job_id":"123456"})
job_logger("starting job") # here {"job_id":"123456"} would be passed automatically
...

I suppose I could do that quite easily using a LoggerAdapter to add my context to each call, but is there a better way? Python is not really my native language, I'm coming from a dotnet background, so I was thinking there might be a more pythonic way.

I think I have a similar request/question: I'd like to know how/be able to specify the cloud role (name) in all telemetry data:
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-monitor-multi-role-apps#use-cloudrolename-to-separate-components
I believe in this scenario the data would ideally be specified once at server start and read from env var/data vault/config file.

@kaa I'd suggest you have a look at both the basic logging tutorial and logging cookbook for more info on Python logging.  It's a fairly big system with a lot of parts.
On your first point - no, we do not currently read in extra properties from LogRecords - and perhaps we should read in custom properties as ... custom properties on the telemetry.
As far as sub-loggers, what you are looking for is a LoggerAdapter - that link is from the cookbook and goes into detail on the subject.

Hi,
are there any plans on added the the loggers extra content as custom properties?


Refactoring all instances of u64/usize to the new umem/imem model

This PR replaces the currently hardcoded u64/usize values with a new umem/imem typedef. Additionally a new PrimitiveAddress trait is added which will allow writing generics that abstract over the targets address type (u32/u64 or later u128).

Codecov Report

Merging #69 (2da1d05) into next (e94aa35) will decrease coverage by 0.19%.
The diff coverage is 48.63%.

@@            Coverage Diff             @@
##             next      #69      +/-   ##
==========================================
- Coverage   33.40%   33.20%   -0.20%
==========================================
  Files         105      105
  Lines        8970     9083     +113
  Branches     1615     1628      +13
==========================================
+ Hits         2996     3016      +20
- Misses       5363     5444      +81
- Partials      611      623      +12

Impacted Files
Coverage Δ

memflow-bench/src/vat.rs
0.00% <0.00%> (ø)

memflow-bench/src/virt.rs
0.00% <0.00%> (ø)

memflow-ffi/src/architecture/mod.rs
0.00% <0.00%> (ø)

memflow-win32/src/kernel/ntos.rs
0.00% <0.00%> (ø)

memflow-win32/src/kernel/ntos/pehelper.rs
0.00% <0.00%> (ø)

memflow-win32/src/kernel/ntos/x64.rs
0.00% <0.00%> (ø)

memflow-win32/src/kernel/ntos/x86.rs
0.00% <0.00%> (ø)

memflow-win32/src/kernel/start_block.rs
0.00% <0.00%> (ø)

memflow-win32/src/kernel/start_block/aarch64.rs
0.00% <0.00%> (ø)

memflow-win32/src/kernel/start_block/x64.rs
0.00% <0.00%> (ø)

... and 62 more

Continue to review full report at Codecov.

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


Added VueJS example app

As a learning exercise I created another TODO application using VueJS and Vite. I don't know if you'd be interested in incorporating this but I'm happy to make any adjustments you need to make it fit with this repo. I'd also like to learn from you too as my Rust skills are very basic.
Current state of play for the new TODO app is:

runs with Tauri backend when running in dev mode (aka, npx tauri dev)
in most cases I have tried to keep the new TODO app precisely the same as the prior one

Changes to TODO app
Changes that I made to the app:

the frontend can be run without the backend and it reports an error about the lack of DB connection but still manages state from the browser's state mgmt framework (VueJS's pinia). Found this useful so that I could iterate quickly with only frontend from time to time (see screenshot below).
due to the ability for the TODO app to work only with frontend I needed a way to create the id for the TODO on the frontend and used the popular uuid package for this; this also means that I needed to change the database property for id to a string (instead of a number)
Because of the database schema change I changed the src-tauri/migrations/1.sql to reflect this new schema
On the backend, I also added a simple menu for the app so I could "quit"; seems to work as desired (though I was hoping to build in a keyboard shortcut and couldn't find out how to do this)
Just for fun I created a new icon for the app

What's NOT working
The following is not working and if you would be willing to help me with it I would like to get this fixed and documented:

when I run in dev using npx tauri dev it boots up the app without error but if I quit the app and then restart I see an issue with the way the RUST service is saving data:

Below are two screenshots; the "state" before existing and then the state after returning:

Before
After

I looked at the RUST code and while I know serde is Rust's serialization library I don't know too much more but it would appear that somehow in serializing the INSERT INTO values it is adding quote marks to the strings. You can see the state of the actual model here:

this is from the Typescript call of (where I can assure you the string values are not quoted):
await db.execute('INSERT INTO todos (id, title, completed) VALUES ($1,$2,$3)', [
      newTodo.id,
      title,
      false
 ]);

What is more puzzling to me is that:

when I do a full build (aka, npx tauri build), it is able to connect to the database
I suspect, but don't know, that that is because the test.db is not being added to the DMG installer (I'm using macOS)
I don't know of any good way to determine if the DB has been packaged up but my frontend does report this error:

Note: this is an error I'd obviously expect for the scenario where i'm just iterating on the frontend without running Tauri and it does actually work (only with frontend state); as previously mentioned

Also I'm presuming that the add_migrations() call is used both in calls to tauri dev and tauri build but is only run if the test.db is not present.

this is nice but because the DMG wasn't packaging up the database I then assumed I would need to add the database to the resources section of the tauri.conf.json so I did that and it does appear to check this during the build process (aka, it fails if the file doesn't exist) but I still can't load up a database from the production build

@FabianLars I've removed all the files you mentioned with the exception of those found in the examples/vue-todos/vs-code folder. I've mentioned above why I think it might be useful to keep them but I will remove them if you prefer.

Ok I believe all the files that were identified as being extraneous have been removed now unless my ADHD is acting up. :)

Now I was experimenting around with the quotes issue I brought up before and added the following println to the plugin's execute service:
let mut instances = db_instances.0.lock().await;
    let db = instances.get_mut(&db).ok_or(Error::DatabaseNotLoaded(db))?;
    let mut query = sqlx::query(&query);
    for value in values {
        println!("value: {}", value);
        query = query.bind(value);
    }

And this validates what I thought about where the error is coming from (or at least I think it does). The resulting output is as follows:

Now I suspect that having the values come in as Vec<JsonValue> is maybe the culprit as I think the quotes are a result of the deserialization by Serde. I've not used Serde before though I'm aware of it; do either of you two know?

@ksnyde That's serde_json not being our friend again :)
I think the way to go here would be to change the for loop a little bit. So we replace this
for value in values {
    query = query.bind(value);
}

with something like this
for value in values {
    if value.is_string() {
        query = query.bind(value.as_str().unwrap().to_owned());
    } else {
        query = query.bind(value);
    };
}

Hey whatya know ... that code snippet did the trick.

Now I do have a newbie question because i was looking at the json_serde docs and was thinking of a code block similar to what you suggested but when I tried to start this in vs-code I was getting zero typing support and it made me doubt what I was doing. As a "for instance":

Shouldn't value have strong type info exposed in vs-code? I'm getting very little in the way of types. I had started using the Rust Analyzer but because of this shortage I switched back to vs-code RLS but in both cases I feel like something's not quite right.

So my one bit remaining "gotcha" now is that when I build (tauri build) the Vue TODO app it bundles the DMG but the bundled installer once installed cannot connect to the database:

I had thought if I included test.db as an element of Tauri's "resources" property in the tauri.config.json file that might do the trick but it apparently makes no difference.

I was getting zero typing support

Same for me but also for the whole file. If you didn't change rust-analyzer settings related to features yourself, it should be enough to add default = ["sqlite"] to the features block in /Cargo.toml

I had thought if I included test.db as an element of Tauri's "resources" property in the tauri.config.json file that might do the trick but it apparently makes no difference.

Well the plugin is supposed to create one if there isn't one anyway. But i think the problem is that we don't have write access here. And that may not be a dmg-only problem. So maybe instead of just taking the db url we could prepend BaseDirectory::App or something. Probably a good time to ping @lucasfernog 😂
Btw, there are still 2 unresolved things in the review ❤  you may have to click on "show hidden conversations" to show them idk. It was about a) removing the dmg script in package.json and b) adding content to the readme similar to the other example

there are still 2 unresolved things in the review

Oops. My ADHD is real. I will get those sorted.

I think this PR is ready for a merge; is there anything outstanding?

Yeah, looks good to me. The permission stuff is something for another PR anyway :+1:
Thank you for your work :heart:

thanks for helping me along the way :)

Just an FYI ... I am not able to merge this in. Is there more approval needed?

Yep yep, we need a core member for that.

Yep yep, we need a core member for that.

Gotcha. Learning the ropes by bumping into the walls.

If you didn't change rust-analyzer settings related to features yourself, it should be enough to add default = ["sqlite"] to the features block in /Cargo.toml

Would it make any sense to set the feature flag in this repo or does that mean consumers will have this set? It would be nicer if you could just clone the repo and get all the typing rather than having to remember to remove the feature flag before pushing upstream.

Adding a default would change it for users too.
But there are also others ways than adding a default that won't interfere with commits, like that one rust-analyzer setting where you can enable features on a per workspace basis, can't remember what that option was called right now...

I was looking into the problem with the database being usable when shipping a binary. As stated earlier, we currently get an error back from SQLx or Sqlite saying: unable to connect to database file. I figured the first thing I'd need to know is WHERE in the filesystem the database was being placed.
After including my existing database in the tauri.config.json file as a "asset" I was able to identify that it's indeed found in the application bundle itself the Contents/Resources folder:

My tauri.config.json file has allowList set to { "all" : true } -- and I even added { "fs": { "all": true } } out of desperation -- the application, folders, and assets within the folder default to give me read and write and everyone else just read. This seems entirely reasonable actually but because there was a suspicion that maybe permissions were the problem I set it so everyone had read and write to the application, the folders, and the DB file.
So this first line of reasoning -- that permissions to DB file -- was shut down. I then moved to the next line of reasoning ... that the file's location being in Contents/Resources might not be resolving versus some other folder. I then moved the database around from folder to folder but in all cases the error remained the same.
When SQLite runs it creates two temporary files but I'd assume since everyone has access to each level of the directory structure that these files would be allowed to be created. That said, I haven't tested this yet.

So, here's my opinion on this. I am happy to approve and merge, but the question is, who is going to maintain this example? If code breaks, people sad.

I'm happy to do that. I'm very familiar with all the frontend tech and trying to use this as a means to dip into Rust which I've mainly been reading about rather than writing.

Ok, join us on Discord and ping me so we can have a quick chat :)

I'm on the Discord channel already; I dropped you a direct line on Discord if you want to catchup there


Resolve #1: Expose program arguements to the profile

Exposes the program arguements starting from the profile name by appending th arguements
to the environment variables list. For example in this usage:
./capsicumizer ls.profile ./directory
$0 = ls.profile
$1 = ./directory
Closes #1

I'm not sure how this could be useful, do you have a use case in mind?
This doesn't look like it has anything to do with #1, that one was fixed by https://github.com/musec/libpreopen/pull/10 and was not related to arguments at all

I meant to tag #2, sorry. I have cases where a specific argument is always needed to be in the list of directories to be opened. I know it can be done by inserting the directory to the profile each time but I find it more convenient to be able to specify: "I want argument 2 to always be preopened". For example, if I were to run 'ls' I would want $1 to always be opened.

oh. #2 is kind of the opposite :)
Yeah, so the problem with that is, we don't know if $1 would be a directory path or the flags… We also don't know how many path arguments there are.
I guess this patch can be useful (just remove any 'resolve #x' from the commit message), but there should be some better way of handling this.

I'm not sure what other way of doing that is possible besides evaluating the args the same way as the underlying program. Perhaps one can write the signature of the program and capsicumizer can do something like pattern matching on what the actual args are.

hm, also, it's all going to be shifted by one for ./capsicumizer ls.profile vs ./ls.profile (using #!)


ordering of curve_fit input

The ordering of x and y data appears to have significant (at lest to me) impact on the output parameters.
In my naive interpretation of curve_fit I would expect the output to be the same curve irrespective of the order of points.
I suspect this is just my misunderstanding, if that's the case it would be good to have something captured in the docs as a guide.
Reproducing code example:

import pytest
from pytest import fixture
from scipy.optimize import curve_fit

import numpy as np

def nelson_siegel(time, beta_0, beta_1, beta_2, tau):
    t_tau = time / tau
    exp_t_tau = np.exp(-t_tau)
    return beta_0 + beta_1 * (1 - exp_t_tau) / (t_tau) + beta_2 * ((1 - exp_t_tau) / (t_tau) - exp_t_tau)

@fixture
def data():
    return np.array([
        [5.4294, 5.4293],
        [5.8674, 5.8718],
        [2.7585, 2.7524],
        [1.9344, 1.9374],
        [2.9423, 2.9491],
        [1.241, 1.243],
        [3.6387, 3.657],
        [4.6849, 3.5774]
    ])

def scipy_example(x, a, b, c):
    """
    the example from the scipy curve_fit docs
    """
    return a * np.exp(-b * x) + c

# @pytest.mark.xfail(reason="curve_fit seems to be order dependent")
@pytest.mark.parametrize("curve_fit_func", [
    (nelson_siegel),
    (scipy_example),
])
def test_curve_fit_order_independent(data, curve_fit_func):
    attempt1 = run_curve_fit(curve_fit_func, data)

    shuffled_data = np.copy(data)
    np.random.shuffle(shuffled_data)
    attempt2 = run_curve_fit(curve_fit_func, shuffled_data)

    np.testing.assert_allclose(attempt1, attempt2)

def run_curve_fit(curve_fit_func, data):
    xdata = data[:, 0]
    ydata = data[:, 1]
    optimized_params, _ = curve_fit(curve_fit_func, xdata=xdata, ydata=ydata)
    return optimized_params

Scipy/Numpy/Python version information:

scipy: 1.3.0
numpy: 1.16.1
sys.version_info: major 3, minor 7 micro 1

I don't think that this is something that you should expect.  It is probably true in general, when the model fits well and the scaling is good, etc.
For both of your examples, you aren't providing p0, the initial parameter guess, to curve_fit.  If you don't provide p0, it will be set to all ones.  This is a is a very poor guess for these fits.  Providing p0 won't correct your issue, but you really shouldn't be calling curve_fit without it.
For your scipy_example, I find curve_fit results of
In [110]: a = curve_fit(scipy_example, data[:,0], data[:,1])
C:\Users\eric.moore\AppData\Local\Continuum\anaconda3\lib\site-packages\scipy\optimize\minpack.py:785: OptimizeWarning: Covariance of the parameters could not be estimated
  category=OptimizeWarning)

In [111]: a
Out[111]:
(array([ 8.91539935, 19.40919999,  3.42717501]), array([[inf, inf, inf],
        [inf, inf, inf],
        [inf, inf, inf]]))

In [112]: datas = data.copy()

In [113]: np.random.shuffle(datas)

In [114]: b = curve_fit(scipy_example, datas[:,0], datas[:,1])
C:\Users\eric.moore\AppData\Local\Continuum\anaconda3\lib\site-packages\scipy\optimize\minpack.py:785: OptimizeWarning: Covariance of the parameters could not be estimated
  category=OptimizeWarning)

In [115]: b
Out[115]:
(array([ 8.91539935, 19.40919999,  3.42717501]), array([[inf, inf, inf],
        [inf, inf, inf],
        [inf, inf, inf]]))

This would pass your assert_allclose test, but the fits are garbage (plot them and see).  That you shouldn't trust these results is hinted at by failure to estimate the covariance matrix.
For your nelson_seigel example I find
In [116]: a = curve_fit(nelson_siegel, data[:,0], data[:,1])

In [117]: a
Out[117]:
(array([<PHONE_NUMBER> , -181.09100325, 3440.81058124, 1931.68636674]),
 array([[ 3.95971915e+12, -3.95971718e+12, -3.92355895e+12,
          2.19975822e+10],
        [-3.95971718e+12,  3.95971522e+12,  3.92355708e+12,
         -2.19975299e+10],
        [-3.92355880e+12,  3.92355693e+12,  3.93584394e+12,
          3.94158802e+09],
        [ 2.19976625e+10, -2.19976102e+10,  3.94150762e+09,
          1.38904774e+10]]))

In [118]: b = curve_fit(nelson_siegel, datas[:,0], datas[:,1])

In [119]: b
Out[119]:
(array([<PHONE_NUMBER>6, -180.86276529, 2793.92663671, 1585.94850365]),
 array([[ 2.35748741e+12, -2.35748532e+12, -2.21966178e+12,
          7.56884325e+10],
        [-2.35748532e+12,  2.35748324e+12,  2.21965988e+12,
         -7.56883320e+10],
        [-2.21966170e+12,  2.21965980e+12,  2.11187576e+12,
         -5.94991805e+10],
        [ 7.56884741e+10, -7.56883737e+10, -5.94992221e+10,
          8.72604768e+09]]))

In [120]: nelson_siegel(data[:,0], *a[0]) - nelson_siegel(data[:,0], *b[0])
Out[120]:
array([ 2.84462726e-04,  4.55701267e-04, -2.08491184e-04, -1.69056518e-04,
       -2.04953960e-04, -6.57759994e-05, -1.50775528e-04,  5.17928821e-05])

This time the fit results seem quite different, but the difference in values of nelson_siegel is pretty small.  Given the size of the entries in the covariance matrix, I'd say that the difference is meaningless.  This is handwavy, but doesn't have to be.  Any estimate of the uncertainty in your fit parameters that you would like to make from the computed covariance matrix will certainly be larger than the differences observed in the optimal parameters here.
In general, an allclose like approach is not a sufficient way to evaluate the results of curve fitting.
I'm going to close this, but the discussion can continue and feel free to re-open if there is something actionable here.

thanks @ewmoore, very informative and helpful write up.

@ewmoore potentially stupid question but why is it wrong to expect the results to be the same?

I think there are at least two issues.  Since this runs on a computer, changing the data means that you've reordered the arithmetic which can change your results.  Secondly, curve fitting is local minimization and small changes can push you from ending up in one local minima to another.  These kinds of things are why even though your nelson_siedel results are not numerical identical they are probably statistically indistinguishable.
Can I ask what you are trying to do?  Does it really matter if you get identical results with the data shuffled?  If you don't control the order the data is in, you could always sort it first to ensure it is at least in a consistent order.
I once read a paper that looked at the condition number for polynomial regression when the independent data was on [-1, 1] vs elsewhere.   I mention this, since I swear someone linked to in here, but I'm not having any luck locating it again.


Does python speech features have a c port?

Wondering if we can use this lib for MFCC generation in Android NDK?

check out https://github.com/Cwiiis/c_speech_features
I haven't had anything to do with it, you'll have to speak with the maintainer if you want to know anything about it.

Please have a look at
https://github.com/csukuangfj/kaldi-native-fbank
It is implemented in C++ and provides both C++ and Python API.
It has been tested on

Linux, macOS, Windows
Android, iOS
x86_64, aarch64, arm, RISC-V


Maintenance of the project

@jterry75 @galvesribeiro How can we maintain the maintenance and further development for Docker.DotNet? It would be a pity if all the work is not continued. There are a couple of pull requests waiting for approval, and the latest Docker Desktop for Windows version (4.10.0) does not work well with version 3.125.5. It has the same issue mentioned here: https://github.com/dotnet/Docker.DotNet/issues/554#issuecomment-1170444866.

Hello @HofmeisterAn.
I've mentioned here on multiple issues, on slack and on Discord. The way the project is built is really hard to maintain since it depends on a Go-based codegen. I've started working on a Roslyn based code-generator which instead of rely on Go it read the models using Docker YAML API file, usage of Pipelines instead of relying on streams, etc.
Unfortunately docker YAML schema doesn't follow a well-structured YAML file definition, which breaks every single parser I've saw so far including ones from MSFT and Yaml.Net and I wasn't able to find time yet to finish/fix it and as mentioned before the current version is only receiving bug fixes when they are blockers without workaround as it seems to be the case on #554 and I replied there.
Contributions are more them welcome. I'd like to keep going with the refactor but both the YAML or JSON definitions from Docker APIs are a big mess and it would be unbearable to keep using Go files.
I'll open another issue that explains what I was planning and see if anyone has a good idea of what could we do to get those specs supported.

Sounds like a challenging and fun task, TBH 😅. I'm happy to help as much as I can. Maybe we can work together on the Roslyn part or split it into smaller chunks. I think it's just important to continuously improve and maintain Docker.DotNet a lot of devs depend on it.

The Roslyn part is quite easy. I have it mostly done. Like I said the major efforts would be to replace the "source" of the model which today is the Go files and my idea would be to use their API schemas. I'll keep looking. If you have any suggestions on that area it would be great! Thanks

If you like to share your work within the new issue or somehow else, I can start to take a look at it. If you know already some specific tasks, just reach out. I can start working on them.

@galvesribeiro
I'm also happy to help whee I can.
It wouldalso be really nice to have a sub-library to interrogate the insallation status of docker in a cross-patform manner.

Hi 👋 @galvesribeiro, Docker.DotNet is one important upstream dependency for Testcontainers for .NET. As OSS maintainers, contributors and users of Docker.DotNet we would like to support with day to day maintenance, bug fixes and upcoming features.
We would like to become strong maintainers and support this project much more. It would be great to have a chat with you (or other core maintainers) about a collaboration.
Please let us know if you are interested and how we get in touch with each other or just ping me on Slack (/cc @kiview).

Hey! Lets talk. I’ll ping you over this week.
THanks!
On Nov 3, 2022, at 2:06 PM, Andre Hofmeister @.***> wrote:
Hi 👋 @galvesribeirohttps://github.com/galvesribeiro, Docker.DotNet is one important upstream dependency for Testcontainers for .NET. As OSS maintainers, contributors and users of Docker.DotNet we would like to support with day to day maintenance, bug fixes and upcoming features.
We would like to become strong maintainers and support this project much more. It would be great to have a chat with you (or other core maintainers) about a collaboration.
Please let us know if you are interested and how we get in touch with each other or just ping me on Slackhttps://slack.testcontainers.org/ (/cc @kiviewhttps://github.com/kiview).
—
Reply to this email directly, view it on GitHubhttps://github.com/dotnet/Docker.DotNet/issues/568#issuecomment-1302416383, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABD64OBTDVTVZHDADP3N2M3WGPWKJANCNFSM52OTTHWQ.
You are receiving this because you were mentioned.Message ID: @.***>

@galvesribeiro Do you have time for a quick chat this week? What about Wednesday >= 15:00 CET?

Hey @HofmeisterAn I was OOO. Can you ping me on slack? I use the same alias as on GH. Thanks

@galvesribeiro Did you join the Testcontainers Slack workspace? Or which Slack workspace are you talking about? I am not member of the .NET Foundation Slack workspace (not sure if one exists), but it looks like it is not public. Nor I am a member of the .NET Foundation, never membership application.

There is a public .net slack.

What's the Workspace?

Now that we are finally in touch (I'm sorry I haven't match your account here with your Slack, silly me) and we have the release, I'll close this issue and will drive this convo on Slack with you guys.
Thanks


ParentNodeExtensions.PrependNodes throws IndexOutOfRangeException if it gets an empty array

var document = DocumentBuilder.Html("");
var nodeArray = DocumentBuilder.HtmlFragment("
").ToArray();
document.Body.Prepend(nodeArray);
Console.WriteLine(document.ToHtml());

prints

I expected to get:

Ah, sorry, my bad. I just didn't understand what DocumentBuilder.HtmlFragment does.

No problemo - the fragment is mainly used internally, e.g., when InnerHtml or OuterHtml properties are being set. The context (not given in the example above) determines what mode to enter.
But I see what you want to achieve. I'll provide some handy helper methods for scenarios like that.

Yep, I need to convert some markup to a node. It might be a tag or a comment, so straight-forward code like DocumentBuilder.Html(markup).Body.FirstChild doesn't work as the comment doesn't go to the body. Would be great to have jQuery-like methods that accept strings like node.prepend(stringWithMarkup).

BTW, when I pass an empty array to ParentNodeExtensions.PrependNodes, it throws IndexOutOfRangeException.

Yep, should and will be fixed.

I've added some methods that should be helpful for scenarios as the original one.
Basically these allow you to write code such as:
using AngleSharp.Linq; // extensions ...
// ...
var document = DocumentBuilder.Html("");
document.Body.Prepend("
");
Console.WriteLine(document.ToHtml());

Hope that helps!

Oh, thanks, looks great. But your code example doesn't compile as these extension methods are for IEnumerable<IElement>, not IElement.

Oops! You are right.  Well, something is needed (but not provided by AngleSharp, at least publicly) to convert a T to an IEnumerable<T>. I adjusted the example above.


feat: Support upload of binary files parameter in generated pipeline APIs

Resolves https://github.com/Unstructured-IO/community/issues/14

[x] pipeline_api must have a file or text parameter (or both), otherwise an error is thrown by unstructured_api_tools convert-pipeline-notebooks. If file exists as a parameter in pipeline_api, the FastAPI route should accept files as parameter.
[x] The new pipeline_api parameters are supported: file, file_content_type, and filename.
[x] If a single file is specified in the request, the response is simply returned as the result from pipeline_api.
[x] However, if multiple files are specified in the request, a multipart/mixed response should be constructed where each part is the result of a pipeline_api call.
[x] Verify that the generated pipeline-sec-filings API continues to work as expected with plain text files.
[x] The version in unstructured-api-tools is incremented to 0.4.1.
[x] Test notebook that generates an API that accepts uploads of PDF files and saves them to the project root directory with a JSON success message response: https://gist.github.com/asymness/cd4cbf27f6e60efa369b452e8340d024
[x] Update unit tests

Hi @cragwolfe, thanks for the clarification. I have made the requested changes to handle text_files and files parameters separately and also added another test. Please take a look when available. Thanks!

@cragwolfe, thanks for pointing that out. I have fixed the indentation now.


New Architecture Diagram using the VectorDB

Include a graphical view of the current workflow for creating and querying the Database

We should also switch to using Mermaid for the diagram.


Optional parameter to await completion in bandwidth plugin before sending beacon

Adds optional parameter to force the bandwidth plugin to block the beacon until it completes its test.  Added documentation where applicable as well to describe the behavior.

Looks great.  Just need the one doc update and then I'll merge.

Great.  Made that doc update. Should be good to go.


Repository is not available

Fugru Maven Repository is not available anymore,
are there any alternative repositories?

Will fix that today, or you can use ip <IP_ADDRESS>

Fixed.


Mentionname vs. username vs. german umlauts

On hipchat, we had one user with e-mail address<EMAIL_ADDRESS>and we used e-mail as the login field. The nicknames could be chosen by everyone on their own, so people got creative and one f.ex. also used umlauts in the mentionname (in this case, @jmüller). After the migration, in Mattermost the username is now "jmuller".
Is that because of an limitation of mattermost or will this cause any issues now? I can see that mentions do not seem to show up for this user, but I'm now sure and am still grasping through the history.

Migratemost does not edit the username, so I assume the cause is this:
https://github.com/mattermost/mattermost-server/issues/1528
You could verify this, by importing a user with umlaut in the username using the bulk importer and see if Mattermost imports it without it.
If this is the case, then in order for the mentions to match, you or Migratemost would have to rewrite the chat history fixing all mentions with the non UTF-8 username.


R8 shrink causing flutter_local_notifications plugin to crash when a notification is added.

I'm getting this backtrace from google play store crash report. The crash is being caused when a new notification is added to the device using flutter_local_notifications: ^1.4.3 . I've checked with multiple devices and the crash happens in all of them. Since I kept having this issue only with releases, I decided to directly install the application with and without R8 shrinking. To my surprise, it works perfectly fine without R8 shrinking and with R8 it keeps having the same issue.
backtrace:   #00  pc<PHONE_NUMBER>081f74  /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)   #01  pc<PHONE_NUMBER>2af4f4  /data/app/com.myapp-_RguYrAo3qp4Bt8ZtnQu5Q==/split_config.arm64_v8a.apk!libflutter.so (offset 0x6c3000)
I wonder if this is an issue caused by something I missed or just R8 incompatibility issues with flutter_local_notifications.

Hi @nicomoshi
For issue related to the 3rd party plugin flutter_local_notifications you may want to open an issue in the dedicated GitHub.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you

This is a problem with Flutter since R8 shrinking may not support flutter_local_notifications. I've read a claim that R8 will be compulsory in the future so they must fix this otherwise there will be issues.

Hi @nicomoshi
You can create issue o n their Github as mentioned above


more refactoring of checks

I've verified that all failures in this PR are related to the namecheck service being unreliable at the moment, so it is not a bug introduced by the changes in the PR.


Dapr component updates

Summary
Update Dapr component lists.
Fixes #30246

Ping @IEvangelist since your @mention rule wasn't working until today :)


Pipeline persists 'invalidNodeError'

Describe the issue
A clear and concise description of what the issue is.
To Reproduce
Steps to reproduce the behavior:

Create a [generic] pipeline
Add a component that requires at least one input
Observe validation error (expected)
Fix issue + save pipeline
Open .pipeline file and search for invalidNodeError.

"invalidNodeError": "property \"Filename\" is required\nproperty \"Runtime Image\" is required"

This is an issue because the pipeline is no longer invalid.

General question: should the error be persisted at all even if it is still valid?

afaik there is no downstream consumer that utilizes the property
the pipeline editor/cli validates the pipeline when the file is loaded

yea we have an issue and PR (that will need to be redone) open on the pipeline-editor project for this:

https://github.com/elyra-ai/pipeline-editor/issues/64
https://github.com/elyra-ai/pipeline-editor/pull/79

The property can be safely deleted by the user, because it is recreated/deleted on the fly


Document effects of libtorch asynchronous execution on backend

Documenting current behavior for now. Should be updated with tritonserver enhancement to detect cuda context corruption.

@deadeyegoodwin we should also call our the multiple instance perf issues with the pytorch backend due to thread specific caching in pytorch. Do you think it would be a good idea to have this here?

@deadeyegoodwin we should also call our the multiple instance perf issues with the pytorch backend due to thread specific caching in pytorch. Do you think it would be a good idea to have this here?

Yes, it would be good to refer to that open issue as well.

@tanmayv25 do you want to add in the content in or prefer I do that in a follow up PR?
PS: PyTorch issue https://github.com/pytorch/pytorch/issues/27902

@CoderHam  I think you would be able to better document it with a follow-up PR.. I will bullet these points so we can point to various issues observed with the framework.

Sounds good :)


Active tab indicator "janky" with width auto when using gestures to switch tabs

Just want to say this is awesome and so is the recent addition to accommodate automatic tab widths. Apologises for the use of "janky" I just wanted to highlight it wasn't quite as nice as the rest of the experience :)
Current behaviour

Use tab width "auto" on a MaterialTopTabNavigator
Run the code in iOS simulator
Tapping between tabs works as expected
Swiping between tabs the active tab indicator doesn't expand/shrink to the correct size until the last moment which looks quite jarring.

Expected behaviour
That the tab indicator more smoothly adjusts to the correct size (like it does when you tap a tab) or if that isn't possible an option to disable the tab indicator animation.
Code sample
I believe the behaviour is exhibited in a standard example with tab width set to "auto"
Screenshots (if applicable)
N/A
What have you tried
N/A
Your Environment

software
version

ios or android
ios

react-native
0.60.3

react-native-tab-view
2.9.0

react-native-gesture-handler
1.3.0

react-native-reanimated
1.1.0

node
10.15.3

npm or yarn
yarn

Can you provide a video/gif and a runnable repro?

We are experiencing this as well. Android seems worse than iOS. See attached zip file for reproducible project (excludes ios & android directories in order to fit in to Github's file limits, I can upload full project to Google Drive and link if necessary). jankyTabs.zip
Video showing issue here, https://drive.google.com/file/d/1w39jOy869LmUojC3x7F16TfmSui9qQXS/view?usp=sharing. There is also a large delay between pressing the tab and the UI rendering tab change, as you can see in the video. Video is taken on physical android device using command react-native run-android --variant=release.

Same behaviour with tab indicator here
connected issue here #866

Ok ! I have fix this issue by upgrade react-native-tab-view to  "^2.10.0"
( i had the old one 2.0.1.... ).
thanks for the amazing job boys !

OK i think i have find a solution to avoid this problem !
At the begining i was using severals "hooks" like useSelector ( with redux ) inside my tabView's container & some data manipulation to create dynamically my navigationState.
it's created performance issues... So i was try to useMemo to avoid it and memoize heavy calculations but it's didn't work.
Finally, i moved the code of my hooks selectors & make my data manipulation before my tabView wrapper did mount. => Solve

i have a similar problems
its strange, the issue self fixed just by stop the expo and run with expo r -c

i have a similar problems,
its strange that i need to stop remote debugging on expo go and the issue self fixed.


'install_requires' must be a string or list

I'm having problems installing axes with pip
Using python 2.7.3, pip 18.0 and setuptools 40.0.0
$ pip install django-axes
Collecting django-axes
  Using cached https://files.pythonhosted.org/packages/4b/98/598edf58258ca7f6836dd0cac66866315c0914f754747da0595b45294bfa/django-axes-4.4.0.tar.gz
    Complete output from command python setup.py egg_info:
    error in django-axes setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers

Hi @DBejan! Could you post a bit more diagnostic information with verbose output mode from pip? The install_requires actually is a list of strings, but I'm wondering if pip 18 and setuptools 40 have changed the package spec.

Sad part is that i had no problems with this on local or qa environments. This error was when deploying to live :(
Some additional details which might help: after posting this I downgraded pip to 10 (same as on qa env) and had the same error. Tried older versions of axes and the most recent one that would install was 4.0.1. however, this one threw ImportError: No module named backends, so I had to deactivate it
after retrying to install today:
$ pip install -v -I django-axes
Created temporary directory: /tmp/pip-ephem-wheel-cache-qulfbJ
Created temporary directory: /tmp/pip-req-tracker-qoQmUE
Created requirements tracker '/tmp/pip-req-tracker-qoQmUE'
Created temporary directory: /tmp/pip-install-LoXJ3O
Collecting django-axes
  1 location(s) to search for versions of django-axes:
  * https://pypi.org/simple/django-axes/
  Getting page https://pypi.org/simple/django-axes/
  Looking up "https://pypi.org/simple/django-axes/" in the cache
  Current age based on date: 244
  Freshness lifetime from max-age: 600
  Freshness lifetime from request max-age: 600
  The response is "fresh", returning cached response
  600 > 244
  Analyzing links from page https://pypi.org/simple/django-axes/
    Found link https://files.pythonhosted.org/packages/1d/1d/fb33714043ed80df7d75c1971e84f08308144e9f86197d6e7e9403cb2a6f/django-axes-0.1.0-pre.tar.bz2#sha256=63a7ffa5aad2d84dcd810e89ecd3422bede08f618ee1cd1acde41166695400b0 (from https://pypi.org/simple/django-axes/), version: 0.1.0-pre
    Found link https://files.pythonhosted.org/packages/99/aa/96466aacfe27f10bd49a1fe441e0fc60ba459c7845e84d5a2072f536ca91/django-axes-0.1.0-pre.tar.gz#sha256=7c08eb9e6d9b83bc0898e164627810bf04f712a1a94961ba750571c8af068a5a (from https://pypi.org/simple/django-axes/), version: 0.1.0-pre
    Found link https://files.pythonhosted.org/packages/88/27/25ea0d87f6d294733fd1f0681a49abcee91f93c5699309cbb56bd511e730/django-axes-0.1.0-pre.zip#sha256=946c88fd740b8bd391138b6b309f3c7ed242c0a7550ee9444cc0f221eab63f44 (from https://pypi.org/simple/django-axes/), version: 0.1.0-pre
    Found link https://files.pythonhosted.org/packages/e6/8c/8c2f7f7201c236efb91532e9a3debccb68ae8fdd5f8d18583768cd5be8f0/django-axes-0.1.1-rc1.tar.bz2#sha256=f4308639f40e4dac42758246ee14bf3b4bd6c1caae825ee537e390ad3f044a2e (from https://pypi.org/simple/django-axes/), version: 0.1.1-rc1
    Found link https://files.pythonhosted.org/packages/14/72/b8879ed6b16bfaec5a248d535e46b783cc2a8259d1b54d78dfce240c5f1c/django-axes-0.1.1-rc1.tar.gz#sha256=a5c64ab5d556f95f8040b35cc817933677c43b51b082a43ff8ef9421e979b59f (from https://pypi.org/simple/django-axes/), version: 0.1.1-rc1
    Found link https://files.pythonhosted.org/packages/3f/dd/0d0a6f2e2a49fbdd30abb2af1b9bf9d78641a36aa8ab83daf79d4fe403fd/django-axes-0.1.1-rc1.zip#sha256=7057eae4e7e5c720ff8c75add45079ea5bbc654d328aca88a62e2e9e03b1f46d (from https://pypi.org/simple/django-axes/), version: 0.1.1-rc1
    Found link https://files.pythonhosted.org/packages/28/41/65ce6dee45fbb989f937510c7be193cfa9a01a55fe16f4792cc751857da1/django-axes-1.0.0-rc2.tar.gz#sha256=7976e017ec6c88b805c535d30010fefbe4d64ad4d5407da9e4fcc4854dcde84c (from https://pypi.org/simple/django-axes/), version: 1.0.0-rc2
    Found link https://files.pythonhosted.org/packages/df/ae/f5c03d3063a19f9867153f1d2de09ae3ab9beb8cbe2ee7c0b2e3079b6336/django-axes-1.2.1-rc1.tar.gz#sha256=7b6f2a7aff198c151f4ad8859526e2b6aa19b77a07d61e6713a22b3909fd344b (from https://pypi.org/simple/django-axes/), version: 1.2.1-rc1
    Found link https://files.pythonhosted.org/packages/de/36/b9e044f70ff315ac7026d2fa7e295d70dca1971179ec5a69343325e13539/django-axes-1.2.2-rc1.tar.gz#sha256=56f8a8322e5a672b1d305767a710a23dc95a0530a95d540b3dbda7578aa9f06f (from https://pypi.org/simple/django-axes/), version: 1.2.2-rc1
    Found link https://files.pythonhosted.org/packages/6d/39/d60ccee55345e752b2b36f1bdb372b5948837248d8ffe513be442b5faa36/django-axes-1.2.3-rc1.tar.gz#sha256=9867ac414cc73585f92440aed9f1218dea6d8f31468ee5c3bff2ab55867f8fd4 (from https://pypi.org/simple/django-axes/), version: 1.2.3-rc1
    Found link https://files.pythonhosted.org/packages/1f/1e/00a15981e04b99a93aa20d9b777cdbc8e455168e94f1eb0aeb36a514cc2d/django-axes-1.2.4-rc1.tar.gz#sha256=e24104d03cb60ebf9d57619f043ebf22bc177acf72cbe6a2fa7e5ab26d36f138 (from https://pypi.org/simple/django-axes/), version: 1.2.4-rc1
    Found link https://files.pythonhosted.org/packages/74/a9/5e8998db52709906948563fadfcd248c76fce1041ee66287669097017c4b/django-axes-1.2.5-rc1.tar.gz#sha256=101de9d7cbd180dddc3d9e3af0fd41deaee5ac8b555fb933eda23199b63c6216 (from https://pypi.org/simple/django-axes/), version: 1.2.5-rc1
    Found link https://files.pythonhosted.org/packages/64/1b/38dfcc927e43167e986772e66afabda2dbdeaf2515c09f26cb5b8b221c5b/django-axes-1.2.5.zip#sha256=dec48f9450ba9d848e1de71558e9a0447ed432e43ba74cd45ae53d7ece310515 (from https://pypi.org/simple/django-axes/), version: 1.2.5
    Found link https://files.pythonhosted.org/packages/23/e7/97089b6d965d6fa3e19e0d93dbd53a0fcaeaf7c7fef88a5ecce523ac290c/django-axes-1.2.6.zip#sha256=df9960b1e648e3da9784f56ca0446757f45bd484d39591df163af069e8206560 (from https://pypi.org/simple/django-axes/), version: 1.2.6
    Found link https://files.pythonhosted.org/packages/99/82/32ff17cf078c3b45f4a818926fb32cc642c0c1570f24f15b487c5ff3ce72/django-axes-1.2.7.zip#sha256=8597905cfb2b552bab9af4d5a389b7e04ef963dcfd2ea2a76aeb84096568d075 (from https://pypi.org/simple/django-axes/), version: 1.2.7
    Found link https://files.pythonhosted.org/packages/25/ae/9f0d8ac09a9111da28bd26bcdf2614bb4c6bf7970b3327f15bd1ab898faa/django-axes-1.2.8.zip#sha256=e878b8f02b74e350933903d125cf06ce28847b43c606db68c0fcd91e234d961f (from https://pypi.org/simple/django-axes/), version: 1.2.8
    Found link https://files.pythonhosted.org/packages/f4/a7/486db615d228a058ea75a23a8e5a62b8a3d504ea0091d00ece17416b599d/django-axes-1.2.9.zip#sha256=2bd51fd77f4fdaf6398c14f49a2093e92cf9537ce21501c7a1e6a30cdb0ea244 (from https://pypi.org/simple/django-axes/), version: 1.2.9
    Found link https://files.pythonhosted.org/packages/23/15/51c7e268f8cbb4da24a9f49d18386c03ab9ea30dce69936c0da9b73084d7/django-axes-1.3.0.zip#sha256=1fb1f9566aa60b676d0585d4264237ca9dc6bbccfea3f7ed038f42b3ad345b15 (from https://pypi.org/simple/django-axes/), version: 1.3.0
    Found link https://files.pythonhosted.org/packages/2b/c5/99eafa88281623aa79f8c1c7744dd1005b73b45929dff3daf95674f8febc/django-axes-1.3.1.zip#sha256=1963e2e383f1d2da6d04206074d20c46b41110101da3cfa643be5fc8bab72b60 (from https://pypi.org/simple/django-axes/), version: 1.3.1
    Found link https://files.pythonhosted.org/packages/08/71/d3ede31695d3f530c16a7dd4af6804e176d453a29b702e4702975d780f22/django-axes-1.3.2.zip#sha256=a21a7a10dff81df179e8d5fec6291f9b0ce577d3b16072bce812544dde27c7ff (from https://pypi.org/simple/django-axes/), version: 1.3.2
    Found link https://files.pythonhosted.org/packages/ca/84/35025b469b8ae200cb54309e0fff661efb750ad55a8d0664c2dc77cf5c1b/django-axes-1.3.4.dev0.tar.gz#sha256=633cb575bc90699eee01c81f810e4cf5f2f287f234b43ee3542e27638a437bb4 (from https://pypi.org/simple/django-axes/), version: 1.3.4.dev0
    Found link https://files.pythonhosted.org/packages/e2/e5/27a05632fd526bffcce57b7557987614cbfdde6444236b95b54c13e319c4/django-axes-1.3.4.zip#sha256=87cc621fe0c3d0bb2a634a1aacd9ce2cd2f8b4eb980887576b3abdbb6d056883 (from https://pypi.org/simple/django-axes/), version: 1.3.4
    Found link https://files.pythonhosted.org/packages/b7/26/9b36c74e250307141447a9ad5ba3fdc94308327e84ae879eebcdf7736cc4/django-axes-1.3.5.zip#sha256=f9dbeb498d13b20bd2345d0c19bbec133f1ebfaa20fde1fc68946bba9aa225fd (from https://pypi.org/simple/django-axes/), version: 1.3.5
    Found link https://files.pythonhosted.org/packages/e2/13/85731549867afd1235d49c8eb39512b4a1c773c9aabc6cc87ed5d59b608d/django-axes-1.3.6.tar.gz#sha256=79e15f6b25430c4fd52a5459379640dfcfde5d3eab9e11f62ccdc71406cdb530 (from https://pypi.org/simple/django-axes/), version: 1.3.6
    Found link https://files.pythonhosted.org/packages/6a/9f/03a25de32bc0bb6f4f191fc635d017adbbf6cd32339522f5db6d7aff905c/django-axes-1.3.7.zip#sha256=ab1d8651d396a2d711c0cb4d78d44e166f0b6ffa1b6bd360a110c7ae0c7df9cd (from https://pypi.org/simple/django-axes/), version: 1.3.7
    Found link https://files.pythonhosted.org/packages/3f/35/e68e6af5b1c3f3e190e696b4a08c89929b1512f89e5c68ac1a062ca61b34/django-axes-1.3.8.zip#sha256=6acecc740c15793f7873bfa2c8703475cf9343d15c3cfd6d6d35313c3f9faf24 (from https://pypi.org/simple/django-axes/), version: 1.3.8
    Found link https://files.pythonhosted.org/packages/8a/8c/6e2049931dfeff0b1124c187504cf6153163638c2a145ac7082c643e5eaf/django-axes-1.3.9.zip#sha256=35fce26fdc1c2f74882ae1a6f105fc33f1c4d486fa02b0680e61ec3e7508d49b (from https://pypi.org/simple/django-axes/), version: 1.3.9
    Found link https://files.pythonhosted.org/packages/41/bb/983aa9b104aecc13022d519a3b5b88d791fedc81d18dad8e677e4da0937f/django-axes-1.4.0.zip#sha256=59a6a3fcc124cd83957971830e6cc9a2d706879e4c3f11db850d6e9951decdbb (from https://pypi.org/simple/django-axes/), version: 1.4.0
    Found link https://files.pythonhosted.org/packages/3d/27/a3c34c2fbd31e79244eeab436787380c18068bc23f380fbc0ab7b23e2b9b/django-axes-1.5.0.zip#sha256=3c8c503762b955706b1af32b0d046c6c5f97eb4509a869f4c429b1909c9c1237 (from https://pypi.org/simple/django-axes/), version: 1.5.0
    Found link https://files.pythonhosted.org/packages/8d/03/a4f1427d7a27f4f2f4280ce5917e48ebbbe2dc04f8b69e5f8ab5e5d4d438/django-axes-1.6.0.tar.gz#sha256=695268ab0f64b5466e45ff5dc253ff78722ad0799157f88de43a0cc49a656569 (from https://pypi.org/simple/django-axes/), version: 1.6.0
    Found link https://files.pythonhosted.org/packages/9e/70/abc92a479f857af56dd1ca674b7c9376d2eb196df06c462603f566de4643/django-axes-1.6.1.tar.gz#sha256=eb6fa62a5c8f8baaf2d4537bb6748d89633d6ced401c75326b6f9e5283028724 (from https://pypi.org/simple/django-axes/), version: 1.6.1
    Found link https://files.pythonhosted.org/packages/84/6a/1c73270ace8108ef7f18a33f607217267fec61a87bb259e96625099d155b/django-axes-1.7.0.tar.gz#sha256=456db72a2bc214e641ac9ceb17b7b2b36ea5d7fb43b3c7a8c3bacacdf7766433 (from https://pypi.org/simple/django-axes/), version: 1.7.0
    Found link https://files.pythonhosted.org/packages/5b/00/e96be2a47978d820f60c60c9d511097fe1885231473fa440ff69b226d740/django-axes-2.0.0.tar.gz#sha256=8708f1d61d6cc3b9379a9d76c61644de78ed25d3aff55cf74d11edb7e728ec96 (from https://pypi.org/simple/django-axes/), version: 2.0.0
    Found link https://files.pythonhosted.org/packages/fd/0a/d8104755c3034e2e5c5409ebf9b7ca60398dfedee70209456ab700b5bc75/django-axes-2.1.0.tar.gz#sha256=bf40eb9b6d21096bd8f02128c7cad20da9a484cb4bd9c7066fc9e63bd1f38faf (from https://pypi.org/simple/django-axes/), version: 2.1.0
    Found link https://files.pythonhosted.org/packages/13/4d/585823d41809b3f97560c97d7cd9a018c54d671fc761eeef644f74ffd22c/django-axes-2.2.0.tar.gz#sha256=83a966dfddb9c8cfb5478e2c960a77420570aa775144c837528604e93255d527 (from https://pypi.org/simple/django-axes/), version: 2.2.0
    Found link https://files.pythonhosted.org/packages/04/b9/2959747607a0d824dde19fb3c3b9b54ce2950aae3a913229e82b092e28ee/django-axes-2.3.0.tar.gz#sha256=8020e1723b2c31a009d00e5d7ce80459df83381f7b78e2290548447c901671e8 (from https://pypi.org/simple/django-axes/), version: 2.3.0
    Found link https://files.pythonhosted.org/packages/50/00/9e8f2732df65dd33acc6326ebc27ca59a2b0d1ecca88db46172a9059a403/django_axes-2.3.0-py2-none-any.whl#sha256=92b3336216d77fd0e3b6ed3e5e78f11020129885568f58b45b5e38d025bee56e (from https://pypi.org/simple/django-axes/), version: 2.3.0
    Found link https://files.pythonhosted.org/packages/a0/22/9dc2d1d028364dfccf195fa3e5d92052c056b903e64708d8816c79a9f406/django-axes-2.3.1.tar.gz#sha256=b1c8a8a0559f421edf7b83c73319a93448c88d00968a6006766cd5428df6f5c2 (from https://pypi.org/simple/django-axes/), version: 2.3.1
    Found link https://files.pythonhosted.org/packages/50/5f/12749156689ecff2a97e74295a13543d87b6a565e90a27dd2517283ee988/django-axes-2.3.2.tar.gz#sha256=7ba74b1028ec325481e526591f26e73540d0da5dff82105c8baba3a546c09f98 (from https://pypi.org/simple/django-axes/), version: 2.3.2
    Found link https://files.pythonhosted.org/packages/47/1c/956fb482004f92f0b4978251a70142c11ba3ffb3f56a5ee9373efefaca8f/django-axes-2.3.3.tar.gz#sha256=408344fe851d468df617d28809cf8c4196e33138744b5b9af5f8b13d0a74aca5 (from https://pypi.org/simple/django-axes/), version: 2.3.3
    Found link https://files.pythonhosted.org/packages/f5/0b/a98ca65c87d82ea35fa571bc64d984a935d575ddab6614581eb89d730fed/django-axes-3.0.1.tar.gz#sha256=7ebe4fd370c48c901db69914ef20630fa1d8da1f37c5d75ea305160cdffcd5a8 (from https://pypi.org/simple/django-axes/), version: 3.0.1
    Found link https://files.pythonhosted.org/packages/ce/16/73992a6d44f1e7bd3374d55d01854d3b1ee2ca711e4e45e312d6f9660e27/django-axes-3.0.2.tar.gz#sha256=214c62a8a936845fa0c5e55bdace96aaec9aa81b97a2b673ed49fbbe866f8f1b (from https://pypi.org/simple/django-axes/), version: 3.0.2
    Found link https://files.pythonhosted.org/packages/61/e9/87e34887040b699b71cc8f765e745039c828f29a899d003e248d588f1a39/django-axes-3.0.3.tar.gz#sha256=5a5af294353e4db676cc6ece5d028d2043bdcf6f844eaefa74923c306ef69f26 (from https://pypi.org/simple/django-axes/), version: 3.0.3
    Skipping link https://files.pythonhosted.org/packages/a7/6e/267f6b1f29b2d5d1a3d038a03eb1ad9f4e9e238fb4379bc327da8b8cf59f/django_axes-3.0.3-py3-none-any.whl#sha256=70d60d38ea60b440a9ab9341d38729c284dc28c0fdd648803cc70dcbb69995de (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/ba/48/981a48762558b4f518318e6c342ad0e3fc7294cef59cc496472666385eab/django-axes-4.0.0.tar.gz#sha256=65f2892a1e768f180e3e083adb56ad1058e75c22472d386b3777fe3841e32fa6 (from https://pypi.org/simple/django-axes/), version: 4.0.0
    Skipping link https://files.pythonhosted.org/packages/ce/b8/5be78ae7c927943b3bfd9165bfd96530d10a60669793a3ab3afdb162735c/django_axes-4.0.0-py3-none-any.whl#sha256=d816671816763b47260c1e9de143ffec5990981f084085841b341626ae98651a (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/35/36/f7410c8459ad329a6c2b9b0dd68f18112aa64c343f9e3ad2729080c37c43/django-axes-4.0.1.tar.gz#sha256=ee110c444249c1fb9ef4b349a0ef6c5b82f85fff4cc2bfbb844d5670413dccb1 (from https://pypi.org/simple/django-axes/), version: 4.0.1
    Skipping link https://files.pythonhosted.org/packages/2b/1e/7eee3e17b0000a9101316e4e177092bcbb96a99aae88f60f5fc2a17d499e/django_axes-4.0.1-py3-none-any.whl#sha256=f28272d4145f7bef94a58b8bea40b782487ed210855e406dd915ba50184f4138 (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/10/e8/a1bf7d62a4fedc33c06acbb55aa3c4738e0c5edf7aac64f07c3b4eed885a/django-axes-4.0.2.tar.gz#sha256=aca98b45de63dc7aae2ec74be0b720e08f70e2cff3df577009099169d0be0187 (from https://pypi.org/simple/django-axes/), version: 4.0.2
    Skipping link https://files.pythonhosted.org/packages/da/e3/61c92dc2dc70381612beb0aa6e7da6e6ae886c20cad7dea52d984c283a19/django_axes-4.0.2-py3-none-any.whl#sha256=75747d30c08b89457bf67c672e2dfbab7d0d46bac1e90492dc743e2d0a44f1ec (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/b6/ec/ef1d5cf15821699291725b022fc37ef0a9909e5ba2352c64d37fe5f16771/django-axes-4.1.0.tar.gz#sha256=563882a99deb67e826575152ab8caa3b77e15bc3298a7a44674fba587d57fbc0 (from https://pypi.org/simple/django-axes/), version: 4.1.0
    Skipping link https://files.pythonhosted.org/packages/cb/a7/f76531fa83f2a51f7beb241e455c63fe8000909f269161ddc304319b0ce4/django_axes-4.1.0-py3-none-any.whl#sha256=719c2fc8ea4d6a20300f474ba4cbd772599f6849a07a006ba2f2155813fbe713 (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/b2/1d/a5629deaf4f5f273c91f24b75de3a9b23e3bc21354a5263f5db5cb42aae1/django-axes-4.2.0.tar.gz#sha256=047154340116115baac37e839fb02ef85efe43e73d702deb664c4613228a81c9 (from https://pypi.org/simple/django-axes/), version: 4.2.0
    Skipping link https://files.pythonhosted.org/packages/cc/d6/1335f16f139265d7aa591e498522584e531294ba6e024774c7bcfe40dacd/django_axes-4.2.0-py3-none-any.whl#sha256=23498fe32fa74ad4ed2efba4e6d9c919becdcb3548546cbae24c19140932da31 (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/34/3f/7c1fd2413e29a4506a276063a7582dc4833f3d7643fd29ce890f895dc92b/django-axes-4.2.1.tar.gz#sha256=0cd70176ac86be83e9f0b78efa8c34cd83b59a2a4355dc884ed5f574c026b0ed (from https://pypi.org/simple/django-axes/), version: 4.2.1
    Skipping link https://files.pythonhosted.org/packages/4e/79/b1adc60a571f204102a94d42210ecce2a29b0440e67d84ca35dc0ee35ea2/django_axes-4.2.1-py3-none-any.whl#sha256=4b5814684a479685e67a66f00a335729afa247ec89141f4b08b03d8693f88b9e (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/9f/8c/fb483becfce8f2bf8c7ae31c209f5ed5df6655181f45b621c28c5fb32167/django-axes-4.3.1.tar.gz#sha256=403b2c5b002a4a64a836000843f8eb6f0c418aa889f54fe260e358be84c5865a (from https://pypi.org/simple/django-axes/), version: 4.3.1
    Skipping link https://files.pythonhosted.org/packages/9a/32/20ae7663f058a6a3b5bfe3ba3b6cf5317c2e476f85f8dbaf9abb350ae6d6/django_axes-4.3.1-py3-none-any.whl#sha256=c955cfd24f92de0aa4895fa7e2b8356cf6ef36dde744ffb0f41967d220a38d44 (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
    Found link https://files.pythonhosted.org/packages/4b/98/598edf58258ca7f6836dd0cac66866315c0914f754747da0595b45294bfa/django-axes-4.4.0.tar.gz#sha256=155e12f95d0691ac15fe68c7274752356c371df93e8ac97bd1c1629ef682cf50 (from https://pypi.org/simple/django-axes/), version: 4.4.0
    Skipping link https://files.pythonhosted.org/packages/c9/ca/c7d126276104431c5fbdef1f0b409f23e5558f21e5996a41660e57599d89/django_axes-4.4.0-py3-none-any.whl#sha256=4129f6fa089778a4be11c372e3398e85946a369ad3b9a6a642bcce774db81f4a (from https://pypi.org/simple/django-axes/); it is not compatible with this Python
  Using version 4.4.0 (newest of versions: 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9, 1.3.0, 1.3.1, 1.3.2, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3.8, 1.3.9, 1.4.0, 1.5.0, 1.6.0, 1.6.1, 1.7.0, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 3.0.1, 3.0.2, 3.0.3, 4.0.0, 4.0.1, 4.0.2, 4.1.0, 4.2.0, 4.2.1, 4.3.1, 4.4.0)
  Created temporary directory: /tmp/pip-unpack-by9gla
  Looking up "https://files.pythonhosted.org/packages/4b/98/598edf58258ca7f6836dd0cac66866315c0914f754747da0595b45294bfa/django-axes-4.4.0.tar.gz" in the cache
  Current age based on date: 88537
  Ignoring unknown cache-control directive: immutable
  Freshness lifetime from max-age: 365000000
  The response is "fresh", returning cached response
  365000000 > 88537
  Using cached https://files.pythonhosted.org/packages/4b/98/598edf58258ca7f6836dd0cac66866315c0914f754747da0595b45294bfa/django-axes-4.4.0.tar.gz
  Downloading from URL https://files.pythonhosted.org/packages/4b/98/598edf58258ca7f6836dd0cac66866315c0914f754747da0595b45294bfa/django-axes-4.4.0.tar.gz#sha256=155e12f95d0691ac15fe68c7274752356c371df93e8ac97bd1c1629ef682cf50 (from https://pypi.org/simple/django-axes/)
  Added django-axes from https://files.pythonhosted.org/packages/4b/98/598edf58258ca7f6836dd0cac66866315c0914f754747da0595b45294bfa/django-axes-4.4.0.tar.gz#sha256=155e12f95d0691ac15fe68c7274752356c371df93e8ac97bd1c1629ef682cf50 to build tracker '/tmp/pip-req-tracker-qoQmUE'
  Running setup.py (path:/tmp/pip-install-LoXJ3O/django-axes/setup.py) egg_info for package django-axes
    Running command python setup.py egg_info
    error in django-axes setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers
Cleaning up...
  Removing source in /tmp/pip-install-LoXJ3O/django-axes
Removed django-axes from https://files.pythonhosted.org/packages/4b/98/598edf58258ca7f6836dd0cac66866315c0914f754747da0595b45294bfa/django-axes-4.4.0.tar.gz#sha256=155e12f95d0691ac15fe68c7274752356c371df93e8ac97bd1c1629ef682cf50 from build tracker '/tmp/pip-req-tracker-qoQmUE'
Removed build tracker '/tmp/pip-req-tracker-qoQmUE'
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-LoXJ3O/django-axes/
Exception information:
Traceback (most recent call last):
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/basecommand.py", line 141, in main
    status = self.run(options, args)
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/commands/install.py", line 299, in run
    resolver.resolve(requirement_set)
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/resolve.py", line 102, in resolve
    self._resolve_one(requirement_set, req)
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/resolve.py", line 256, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/resolve.py", line 209, in _get_abstract_dist_for
    self.require_hashes
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/operations/prepare.py", line 298, in prepare_linked_requirement
    abstract_dist.prep_for_dist(finder, self.build_isolation)
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/operations/prepare.py", line 126, in prep_for_dist
    self.req.run_egg_info()
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/req/req_install.py", line 636, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/home/liferes/life/local/lib/python2.7/site-packages/pip/_internal/utils/misc.py", line 701, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-LoXJ3O/django-axes/

I'm hitting the same problem, using:

django-axes 4.3.1 and 4.4.0
Python 2.7.13
setuptools 18.2
pip 18.0, 10.0.1
pipenv 2018.7.1

Upgrading setuptools to 40.2.0 solved the problem.

Upgraded setuptools to 40.2.0 and still got the same result

@DBejan I am unable to reproduce, from my research it does seem to be a bug with setuptools? Were you able to resolve this? can you give us a pip freeze output please?

I remembered what i used to do before pip and installed it manually. Not an ideal solution, I know, but it worked.
Here's the pip freeze:
ansicolors==1.0.2
backports.shutil-get-terminal-size==1.0.0
boto==2.48.0
certifi==2018.4.16
chainmap==1.0.2
chardet==3.0.4
codegen==1.0
combomethod==1.0.6
decorator==4.1.1
Django==1.11.3
django-appconf==1.0.2
django-axes==4.0.1
django-braces==1.8.1
django-ckeditor==4.4.6
django-ipware==2.1.0
django-oauth-toolkit==0.10.0
django-recaptcha2==1.0.3
django-robots==3.1.0
django-tinymce==2.6.0
django-widget-tweaks==1.3
djangorestframework==3.6.3
enum34==1.1.6
gunicorn==19.7.1
idna==2.7
ipython==5.7.0
ipython-genutils==0.2.0
mementos==1.2.1
MySQL-python==1.2.5
nulltype==2.2.4
oauthlib==1.0.3
olefile==0.44
options==1.4.3
path.py==8.1.2
pathlib2==2.3.0
pexpect==4.2.1
pickleshare==0.7.4
Pillow==4.2.1
prompt-toolkit==1.0.14
psycopg2==2.5.4
ptyprocess==0.5.2
Pygments==2.2.0
pytz==2017.2
requests==2.19.1
say==1.4.2
scandir==1.5
simplegeneric==0.8.1
simplere==1.2.8
singleton-admin==1.0.0
six==1.10.0
sorl-thumbnail==12.4a1
traitlets==4.3.2
urllib3==1.23
wcwidth==0.1.7

Closing as user found a workaround and I could not reproduce

For the Record, I was actually able to reproduce locally with a virtualenv with  setuptools==12.0.5. Upgrading setuptools  fixed the issue


Test data for app based attributions

Hi,
Can we get a test data examples for app based attributions?
Is it supported with the current library?

Hi @levyitay,
Our most recent update includes examples and explanations for how to perform app based attributions. Please see https://github.com/privacysandbox/measurement-simulation/blob/main/examples/platforms.md. Please let us know if you have any additional questions.


Update interface

Coverage remained the same at 98.592% when pulling f5c6d831fc41e7b2b4132475c85948fc09c5bb03 on update-interface into<PHONE_NUMBER>54ea7413759fa995694ca37fc50394 on master.


undefined reference to `__builtin_memset'

Hi All,
I'm seeing the below error while trying to compile the openssl code with below configuration options.
/home/pranava/openssl/openssl-1.0.2o>./Configure linux-ia32-icc no-asm
/home/pranava/openssl/openssl-1.0.2o>make depend
/home/pranava/openssl/openssl-1.0.2o>make
...
../libcrypto.a(mem_clr.o):(.data+0x0): undefined reference to __builtin_memset' ../libcrypto.a(mem_clr.o): In function OPENSSL_cleanse':
mem_clr.c:(.text+0x4): undefined reference to __builtin_memset' make[2]: *** [link_app.] Error 1 make[2]: Leaving directory /home/pranava/openssl/openssl-1.0.2o/apps'
make[1]: *** [openssl] Error 2
make[1]: Leaving directory `/home/pranava/openssl/openssl-1.0.2o/apps'
make: *** [build_apps] Error 1
Please help in resolving this issue. Also, please let me know if you need any further information.
Thanks,
Pranava

Main intention is to disable .s files getting generated during the make. That is the reason, I need no-asm option with the architecture "linux-ia32-icc".

Main intention is to disable .s files getting generated during the make.

In the essence no-asm is rather debugging option than production. no-asm build would lack a bunch of side-channel resistant code, which is arguably incompatible with security by today standards.
In either case, the failure is triggered by Configure adding -Dmemset=__builtin_memset to compiler command line. According to commentary this was done in other to avoid endless loop upon startup in shared build with specific icc version. It should be possible to resolve it by adding following lines in the beginning of mem_clr.c:
#ifdef memset
# undef memset
#endif


Create coin

Find coin.png
Make coin.png appear in game
Make it so multiple copies of coin.png appear in game in locations of your choice
Make it so you can interact with the coin
Make coin disappear when it interacts with player
Make coin add a point to a hidden variable when interacted with by player


[onboarding] tasks to try to complete before the first lecture on Monday, February 20, 2023

[x] Sign into ChatGPT https://chat.openai.com/chat
[x] Ask ChatGPT for help completing this checklist and copy and paste it, or to walk you through it
[x] Install a package manager (Chocolatey for Windows or Homebrew for Mac), and use either to install Anaconda
[x] Install Visual Studio Code using the package manager
[x] Activate GitHub Student Developer Pack: https://education.github.com/pack
[x] Install the Copilot extension for Visual Studio Code: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
[ ] Sign into Visual Studio Code to activate the GitHub Student Developer Pack
[x] Sign up for datathinking.zulipchat.com if you want to contribute to the data we will analyze together with your messages from our group chat

[ ] Post a message in the General (https://datathinking.zulipchat.com/#narrow/stream/345278-general/topic/intros) stream topic called "intros" saying what you hope to get out of the course, and what experience you have with data thinking, AI & machine learning, statistics, mathematics, and computer science and programming. If you are new to all of this, that's great too! We just want to get a sense of where everyone is starting from :)
[ ] Comment on this issue or ask on the Zulip chat if you run into any trouble, have any doubts or questions. Please include which task you were trying to complete, what you tried, and don't worry about asking ChatGPT too many questions or for help as much as possible!

What is meant with "Sign into Visual Studio Code to activate the GitHub Student Developer Pack"? The GitHub Student Developer Pack is an online learning platform, but they have to VSCode extension. Is this completed if I successfully used Copilot with by Student subscrption in VSCode?


Invalid output format should result in an error

If you mistype output format, for example:
./profiler.sh stop  -o collapse
there is no error, but the output is generated in default format.
Maybe a better way would be throwing an error?

Yes, printing an error in this case might be slightly better... or not. The issue is not that trivial.

Should an error be thrown by profiler.sh or by the agent?
profiler.sh is a thin front end for controlling the agent. In order to keep it simple and avoid extra maintenance overhead, I wouldn't like to overload it with much logic. On the other hand, the agent's command line policy is to ignore unknown options for the sake of forward and backward compatibility - this already helped us in our production environment, where different services may use different versions of async-profiler at the same time.

Current behavior is not too bad. I mean, the output in a different format is already a sign that something is wrong with the profiler options. It's OK to correct the options and re-run the command: stop can be called multiple times in a row with different output options - it's actually a feature to dump the same profile in different formats.

When I run stop, my primary intention is probably to cease profiling immediately. Even with a wrong -o option, I will reach the goal. I can then correct command line, and dump the profile in the other format. But if the error is thrown, I will probably miss the opportunity to stop the profiler at the desired time.

For the above reasons, I suggest to leave the behavior as is.


[C-API] C-API updated with tizen ACR

Updating C-API with tizen ACR
Signed-off-by: Parichay Kapoor<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #363. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @kparichay, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/363-202007231518520.75537800788879-3dd493e93821f0ef2fad311b174890c96c16c0a5/.

This PR is to update the Tizen C-API headers and documentation.
Corresponding changes in source and unit tests/applications will be reflected once the API review moves forward.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/363-202007231608090.90168905258179-d54a106374f79b0393693461cd1c2a1edc448d0c/.

:octocat: cibot: @kparichay, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.


Dedent nested else blocks correctly

Is it a bug or an enhancement to the regexes added when working on #6333 (PR #6497)?
Expected behaviour
if foo:
   if bar:
      print('bar')
   else:
      print('foo')
else:
      print('baz')

Actual behaviour

I have to say I find all this focus on indentation aids a little disconcerting. If I had found #6333 (or #6497) earlier, I would have commented there.
I had kind of thought that once the fancy continuation-line indentation was finished, we were really done with automatic indentation.
Note that in Python, this is perfectly legal:
if foo:
    if bar:
        print('foobar')
else:
    print('not foo')

One of the consequences of not having suite-ending delimiters is that it is impossible to infer, even in principle, what the "proper" indentation level is for else when there are multiple outstanding antecedent if statements. It's entirely up to the programmer to specify it. (In #6333, Brett cites the auto-dedent for else in Ruby. But Ruby has the end keyword, so the situation is different.)
I would appeal to the Python sensibility of refusing the temptation to guess.
Please tell me that whatever is being done with auto-dedentation of else and friends, it only happens when the keyword in question appears at the same indentation level as the previous line.
For example, let's say I've already typed the following, and the cursor is on the next line, aligned with print:
if foo:
    if bar:
        print('foobar')
        #<--cursor is here

And let's say I want an else on that 4th line. Because I am a conscientious programmer (which I believe most are, by the way), I am not going to just type else right there; I'm going to dedent first, manually. Let's say what I want to achieve is this:
if foo:
    if bar:
        print('foobar')
    else:
        print('foo')

Now, recall I said I dedented manually. Please tell me that the plan is not for automatic dedent to kick in when I type the else and move it another level to the left.
Or, let's say I want to achieve the following:
if foo:
    if bar:
        print('foobar')
else:
    print('not foo')

Again, after typing print('foobar') and Enter, I'm going to manually dedent two levels. Please reassure me that my carefully positioned else is not going to be automatically shifted to the right because some overly guessy algorithm thinks it is meant to correspond to the most recent if.
I am sort of OK with the editor automatically dedenting else one level if it isn't already dedented one or more levels. Because then the editor would at least be converting definitely-invalid code into valid-and-possibly-even-intended code. It's definitely not OK to convert already valid code into code that means something else (which is what is happening in #6886, and why that issue has so much attention; indeed, that is how I found this one).

Note that solving this specific issue will require context-aware whitespace formatting.


Move to Suave itself?

Have you had any discussions with Suave's maintainers about making this an official thing?  The prospect of using Suave and piggybacking on Kestrel is exciting.

Hi, no actually I haven't spoken with them, but I'd be more than happy to do what you suggested. If @ademar or @haf want I can help them to move it to Suave and I could even re-write the C# code in F# now that I know what needs to be done. It was easier to do it in C#, because it allowed me to use Visual Studio and debugging of .NET Core, but now that it is working I can reverse engineer it into F#, which would make future maintenance easier (assuming that the tooling for .NET Core F# will improve eventually).

Thanks Dustin, you are welcome to move it under our organization. I'll send you an invitation.
I am OK with it staying in C# but it is your project you do whatever you want :)

We can make it a top-level project of SuaveIO on github, but I don't think we should merge it into the main repo. That way @dustinmoris can keep the maintenance and ownership of this repo.

cool guys. I will do it this way, on my way to work now so will make the move to SuaveIO over this weekend! Cheers!

Thanks man.  I really appreciate it.

Done

You're now admin for it, too.


change abs() to fabs() to fix compilation error

Consider the following snippet:
NSTimeInterval howRecent = [eventDate timeIntervalSinceNow];
if (abs(howRecent) < 10.0) {
Here is NSTimeInterval's definition: typedef double NSTimeInterval;
Here is abs()'s signature: int abs(int) __pure2;
Here is fabs()'s signature: extern double fabs(double);
In both Xcode 6.2 and 6.3, the above call to abs() was causing a compilation error due to the floating-point argument. I fixed the error by changing abs() to fabs(). This change seems logical given howRecent's floating-point type.

Thank you :]


Fix getComponentDocInfo docPath on windows

Fixes #304.  This PR removes the / in the path check logic.  On Windows this is a \.

/cc @davezuko @joshuazmiller

[Current coverage][cc-pull] is 88.32%

No coverage report found for master at d873d2c.

Powered by Codecov. Last updated by [d873d2c...8ac307f][cc-compare]
[cc-base-branch]: https://codecov.io/gh/TechnologyAdvice/stardust/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/TechnologyAdvice/stardust/compare/d873d2cca330ddbf123ac64af7690e997cacdbf6...8ac307f96a5ceb08c395b3bb9f7dbfb997c38cbb
[cc-pull]: https://codecov.io/gh/TechnologyAdvice/stardust/pull/312?src=pr

👻  -- will be curious to see what this resolves in regard to the original issue.

If not, this would have also been an issue.  Then this is at least one of the problems.  His docgenInfo.json keys look like this:
"C:\\Users\\Joshua\\Dropbox\\GitHub\\stardust\\src\\addons\\Confirm\\Confirm.js": {}

There would never be a match on that ^ using the / as you noted.


App password - workaround for login issue

I was unable to log in using the instructions in the README, but creating an app password worked with no issues. Here are the app password instructions: https://support.google.com/accounts/answer/185833
I don't know exactly what the problem was, but I suspect it may be that my account has 2FA configured. I am on a Windows machine, but my gkeepapi version is 0.13.6 (which should have the fix mentioned in #4). The other possibility is that it didn't work because Firefox is my default browser (I don't even have Chrome installed).
I think it would be good to mention this as a viable workaround in the README.

This is addressed in #42 - add any comments there.


Can't set app group id in FirebaseOptions

Description
We want to use same fid with Widget and main app, but  crash while setting app group id with FirebaseOptions.
Reproducing the issue
No response
Firebase SDK Version
11.4.0
Xcode Version
16.0
Installation Method
Swift Package Manager
Firebase Product(s)
Installations
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

@rizafran

Hi @b95505017, per checking, it seems that the error code -34018 means that the entitlement is missing in your app. With this, have you tried enabling the Keychain Sharing capability in your Xcode? You may also check this doc for more info.


⚠ Bofrost.at has degraded performance

In 19dcfb5, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 977 ms

Resolved: Bofrost.at performance has improved in 7fb522a after 6 minutes.


Unable to link c++ project due to missing header files

System information

Linux Ubuntu 18.04
Tensorflow 2.4.1 (from source)
Bazel 4.0.0
g++ 7.5.0

Describe the problem
I am trying to run some c++ source examples that I've found around, but they require the following header files:
#include "tensorflow/core/public/session.h"
#include "tensorflow/core/platform/env.h"

I ran into a compile issue:
/home/cargospectre/tensor/package/tensorflow-2.4.1/tensorflow/core/public/session.h:22:10: fatal error: tensorflow/core/framework/device_attributes.pb.h: No such file or directory

I found this file /tensorflow-2.4.1/bazel-out/host/bin/tensorflow/core/framework/device_attributes.pb.h and moved it to tensorflow/core/framework/, same with graph.pb.h. That seemed to work. However, now I'm running into this issue:
/home/cargospectre/tensor/package/tensorflow-2.4.1/tensorflow/core/framework/device_attributes.pb.h:10:10: fatal error: google/protobuf/port_def.inc: No such file or directory
 #include <google/protobuf/port_def.inc>

I think I found the protobuf that was downloaded for tensorflow at tensorflow-2.4.1/bazel-bin/external/com_google_protobuf, but it doesn't contain this file. I think the version is different? I tried independently downloading protobuf but this file still didn't exist. Here's my protobuf version:
protoc --version
libprotoc 3.0.0

So I'm kind of stuck at this point. Am I doing this right? Is there an easier way to access the c++ api? Is there a different example I need to be following?
EDIT: I tried cloning protobuf and building from source, which seems to be version 3.15.6, but now I'm missing yet another file
protoc --version
libprotoc 3.15.6

/home/cargospectre/tensor/package/tensorflow-2.4.1/tensorflow/core/framework/device_attributes.pb.h:28:10: fatal error: google/protobuf/inlined_string_field.h: No such file or directory
 #include <google/protobuf/inlined_string_field.h>

Hi, since this is a usage question / trouble shooting, I think it better belongs to StackOverflow, etc,...
(Though this could help: https://www.tensorflow.org/guide/create_op , see tf.sysconfig.get_compile_flags() and tf.sysconfig.get_link_flags())