Create new PheWAS Catalog evidence table in rewrite version

On the evidence page in the rewrite, can we please create a new data table that displays the PheWAS Catalog evidence data?
Example GraphQL API query
NOD2 in respiratory system disease
Data table

Data table column
Disease/phenotype
Reported disease/phenotype [Phecode]
Variant
Functional consequence
P-value
Cases
Odds ratio

GraphQL API field
evidences.rows[x].disease.name
evidences.rows[x].diseaseFromSource
evidences.rows[x].variantRsId
evidences.rows[x].variantFunctionalConsequenceId
evidences.rows[x].resourceScore
evidences.rows[x].studyCases
evidences.rows[x].oddsRatio

Sample data
Respiratory system disease
Chronic pharyngitis and nasopharyngitis
rs9302752
sequence variant
0.03152
844
0.866

Within the data table, can we please do the following?

Link the value in the "Disease/phenotype" column to the relevant profile page in the Platform
Link the value in the "Variant" column to Ensembl using the following construct - http://www.ensembl.org/Homo_sapiens/Variation/Explore?v= + evidences.rows[x].variantRsId (e.g. rs5743289)
Round the value in the "P-value" and "Odds ratio" columns to 5 decimal points

As a placeholder, in the "Functional consequence" column, we can show the SO code.
QC checks

NFKBIA (ENSG00000100906) and inflammatory bowel disease (EFO_0003767)
LPL (ENSG00000175445) and coronary heart disease (EFO_0001645)

It's a known issue that all functional consequences in this datasource have the same value. Don't worry about it. We will fix it at source.

It's an open question if we want to keep the rsId links consistent with Genetics Portal. Currently pointing to dbSNP in the rewrite. Thoughts?

Personally, I find dbSNP more informative but I don't know if we want to give preference to EBI resources.

Can we please make some minor adjustments to the data table?
Table functionality

[ ] Implement "Rows per page" feature to allow users to set number of rows visible in table
[ ] Allow user to sort by all numeric columns - "P-value", "Cases", and "Odds ratio"
[ ] By default, sort by p-value (ascending)

Table columns

[ ] Reorder the last three columns to be "Cases" - "Odds ratio" - "P-value"

General formatting

[ ] Fix the formatting of the values in the "Odds ratio column" as extra zeros are added (e.g. table should show 1.569 instead of 1.56900)

External links

[ ] Update the links in the "Variant" column to use the identifiers.org service to direct users to dbSNP using the following construct - https://identifiers.org/ncbi/DBSNP: + evidences.rows[x].variantRsId (e.g. rs2076756) *note: this is similar to the links constructed for RSIDs in the Open Targets Genetics Portal evidence data table

Data table number formatting

[ ] Ensure tabular, spaced numbers are used
[ ] Add comma for large integers (e.g. 336,526 vs 336526)
[ ] Please review the "Features" section on the Inter font website - https://rsms.me/inter/ - to ensure the data table component is using all available number formatting features

@andrewhercules adjustments have been merged. Feel free to check again and close if done.

With the latest iteration of the GraphQL API, can we please make one small adjustment to the PheWAS evidence table?
Sample query: NOD2 and respiratory system disease

[ ] In the "Variant" column, update the name of the column to "Variant RSID (ID)" and always show the variantRsId value and if available, show the variantId value in brackets with a link to the variant page in the Open Targets Genetics Portal. This would be similar to line 57 in the Body.js file for the Open Targets Genetics Portal evidence table except reversed and displayed in the following way:

rs5743289 (16_50722863_C_T)
Note that sometimes the variantId value is null

Changes:

[ ] Move reported disease/phenotype as tooltip in disease column. The tooltip content would be “Reported disease or phenotype:\n{diseaseFromSource}”
[ ] Same formatting for variants as in genetics portal regarding font sizes
[ ] Format p-value in header as in genetics portal


⚠ 366.ru has degraded performance

In 909ed56, 366.ru (https://366.ru) experienced degraded performance:

HTTP code: 200
Response time: 6359 ms

Resolved: 366.ru performance has improved in d7add4d.


Book component: need work and responsive

🗄 Docs report
Description
 A clear and concise description of the problem...
🔬 Minimal Reproduction
What's the affected URL?**

Reproduction Steps**

Expected vs Actual Behavior**

📷Screenshot

🔥 Exception or Error

🌍 Your Environment
Browser info

Anything else relevant?

I can also work on this


The bibtex entry is not valid for 2022_Evgeni_Designing

The bibtex entry is not valid for 2022_Evgeni_Designing. Can you double check? @LvKvA
Originally posted by @luiscruz in https://github.com/luiscruz/course_sustainableSE/issues/1#issuecomment-1038033235

Apologies, the issue should be fixed in our new Pull Request #8.

Thanks!


Fixed runtime build problem with darwin/amd64

For some strange reason the interaction between the go-sqlite3 lib and the go-serial produced a weird panic as described in:
https://github.com/bugst/go-serial/issues/115
https://github.com/bugst/go-serial/issues/116
The solution is to just upgrade the x/unix package to the latest version available at the moment.
Fix #115
Fix #116
/cc @huyungtang @002269

LGTM @cmaglie


[Menu] Fix autoFocus to work correctly with keepMounted

[x] I have followed (at least) the PR section of the contributing guide.

Closes #16444

I think the two failed checks are just flakiness unrelated to my changes, but let me know if there is something I should do to address it.

Could you do a quick git commit --allow-empty -m 'poke azure'? It refuses to rebuild from the UI. (totally blaming olivier for this :smile:)

Very nice, thanks!


generation of remaining AVC streams based on released mezzanine

This is to track the generation / packaging of all the remaining AVC test content based on the most recently released mezzanine.
This is currently blocked waiting on Fraunhofer and Eurofins checking the most recently generated AVC.
@rbouqueau Please correct me but I believe the following need to be generated, re-generated or packaged.

SS1 needs to be re-generated or re-packaged as mentioned in https://github.com/cta-wave/dpctf-tests/issues/96#issuecomment-1340761182
the long duration stream needs to be generated (for the first time) https://github.com/cta-wave/Test-Content-Generation/issues/17
the chunking script needs to be written and run to generate the stream for the chunked tests https://github.com/cta-wave/Test-Content/issues/41
If I look on https://cta-wave.github.io/Test-Content/ at "CFHD-SPLICING", the filenames include "2022-01-18" in them. Does this mean they need re-generating?

Does anything need doing for the encrypted streams? If I look on https://cta-wave.github.io/Test-Content/ at "CFHD-CENC", they have the same date, 2022-10-17, as the non-encrypted streams.

For SS1, I think this is good. We have an accepted content + the script is up to date. The splicing content indeed needs to be regenerated. Ok for long duration and chunked.
Encryption should be ok at this stage. It is clearkey CENC.

The name of the current mpd is suffixed with a _v4. Otherwise all is final. If this were to be a problem, let's comment in the issue and copy the content in a new folder (i.e. with a new date). The core of the issue is that we can't update the mpd because of the server agressive caching.

@louaybassbouss @FritzHeiden over to you ....

I regenerated the tests with the new content. They can be found here: https://github.com/cta-wave/dpctf-tests/tree/content-2023-04-06

Is this validated? Can we close this issue?


Support for Python 3.11 typing.Self type

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
A new type Self was introduced in PEP 673, but now Pydantic does not support it.
This can be useful, for example, for tree structures.
The code below causes an error RuntimeError: error checking inheritance of typing.Self (type: Self).
from typing import Self
from pydantic import BaseModel

class SelfRef(BaseModel):
    idx: int
    children: list[Self, ...] | None

def main():
    children = [SelfRef(idx=1, children=None), SelfRef(idx=1, children=None)]
    instance = SelfRef(idx=0, children=children)

if __name__ == '__main__':
    main()

Affected Components

[ ] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[X] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

Good idea, I'd been keen to support Self as a type annotation in V2.
We should support both typing.Self and typing_extensions.Self - shouldn't be too hard as we already support building a core schema for forward refs to the current model.

I just want to point out that to do this correctly we’ll have to handle subclasses. That is:
class Model(BaseModel):
    x: Self | None = None

class SubModel(Model):
    pass

Model(x=Model())
Model(x=SubModel())
SubModel(x=SubModel())
SubModel(x=Model())  # error

I have 2 queries -

What's the solution for this if I have a recursive model being used in a project?
Can I help/get involved with the implementation in any way?

src\acceleratorkms\model\import_api\document_item_model.py:18: in
class DocumentItemModel(BaseModel):
.venv\Lib\site-packages\pydantic_internal_model_construction.py:178: in new
complete_model_class(
.venv\Lib\site-packages\pydantic_internal_model_construction.py:468: in complete_model_class
schema = cls.get_pydantic_core_schema(cls, handler)
.venv\Lib\site-packages\pydantic\main.py:557: in get_pydantic_core_schema
return __handler(__source)
.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py:82: in call
schema = self._handler(__source_type)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:448: in generate_schema
schema = self._generate_schema(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:689: in _generate_schema
return self._model_schema(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:519: in _model_schema
{k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:519: in
{k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:853: in _generate_md_field_schema
common_field = self._common_field_schema(name, field_info, decorators)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:905: in _common_field_schema
schema = self._apply_annotations(
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:1610: in _apply_annotations
schema = get_inner_schema(source_type)
.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py:82: in call
schema = self._handler(__source_type)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:1574: in inner_handler
schema = self._generate_schema(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:694: in _generate_schema
return self.match_type(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:777: in match_type
return self._match_generic_type(obj, origin)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:801: in _match_generic_type
return self._union_schema(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:988: in _union_schema
choices.append(self.generate_schema(arg))
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:440: in generate_schema
schema = self._generate_schema_from_prepare_annotations(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:553: in _generate_schema_from_prepare_annotations
return self._apply_annotations(
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:1610: in _apply_annotations
schema = get_inner_schema(source_type)
.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py:82: in call
schema = self._handler(__source_type)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:1703: in new_handler
schema = metadata_get_schema(source, get_inner_schema)
.venv\Lib\site-packages\pydantic_internal_std_types_schema.py:308: in get_pydantic_core_schema
items_schema = handler.generate_schema(self.item_source_type)
.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py:96: in generate_schema
return self._generate_schema.generate_schema(__source_type)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:448: in generate_schema
schema = self._generate_schema(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:694: in _generate_schema
return self.match_type(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:781: in match_type
return self._unknown_type_schema(obj)
.venv\Lib\site-packages\pydantic_internal_generate_schema.py:377: in _unknown_type_schema
raise PydanticSchemaGenerationError(
E   pydantic.errors.PydanticSchemaGenerationError: Unable to generate pydantic-core schema for typing.Self. Set arbitrary_types_allowed=True in the model_config to ignore this error or implement __get_pydantic_core_schema__ on your type to fully support it.
E
E   If you got this error by calling handler() within __get_pydantic_core_schema__ then you likely need to call handler.generate_schema(<some type>) since we do not call __get_pydantic_core_schema__ on <some type> otherwise to avoid infinite recursion.
E
E   For further information visit https://errors.pydantic.dev/2.3/u/schema-for-unknown-type

But I am trying to investigate why typing.Self fails.

Because no one has done the work to support it yet.
Feel free to submit a PR, but I suspect it's not that easy.


Support select folder ?

I found that there is no kmp file picker that supports selecting folders, can you support it ？

That would be nice. For now, we only support Audio and Video. I'm working on adding Audio and Documents support as well. I'll add folders selection to the list.

Folder selection is supported, starting with version 0.2.0


Create 312-Burst-Balloons.js

File(s) Modified: 312-Burst-Balloons.js
Language(s) Used: javascript
Submission URL: https://leetcode.com/submissions/detail/768353841/

Thanks, @kciccolella!


const canonicalization depends on which constructor is used

this is explained in a comment in the const_ function (operations.dart)
  // TODO(jmesserly): there's no guarantee in JS that names/symbols are
  // returned in the same order.
  //
  // We could probably get the same order if we're judicious about
  // initializing fields in a consistent order across all const constructors.
  // Alternatively we need a way to sort them to make consistent.
  //
  // Right now we use the (name,value) pairs in sequence, which prevents
  // an object with incorrect field values being returned, but won't
  // canonicalize correctly if key order is different.

this is the reason that compile_time_constant_d_test and compile_time_constant_e_test are failing
Probably the way to fix this is to switch to a hashing/structural equality as noted in this TODO:
  // TODO(leafp): This table gets quite large in apps.
  // Keeping the paths is probably expensive.  It would probably
  // be more space efficient to just use a direct hash table with
  // an appropriately defined structural equality function.

I also wonder whether we might do better to try to canonicalize before construction where possible.  That is, for const, I think you should be able to index into a hash table using a constructor class ID, constructor name, and arguments, to avoid constructing the class in the first place.  Of course, in the general case you might have to allocate a list of arguments instead, but this still might be cheaper, and you might be able to void this in many/most cases.

That is, for const, I think you should be able to index into a hash table using a constructor class ID, constructor name, and arguments, to avoid constructing the class in the first place.

note, canonicalization is based on field values (as evaluated at compile time) not the particular constructor called or its argument values (that's what this bug is about). Other than that, I agree.
Assuming we have a well defined field order (at compile time) we could lookup by TypeRep (JS class constructor) and an array of field values. We could also precompute the hash code, given the compile time object. So we'd generate:
// ... in our SDK ...
dart.const = function(typeRep, hash, values) {
  let map = typeRep[dart.constMap];
  let entries = map.get(hash);
  if (entries != null) {
    // search to see if we match any existing entries at this hash code
    // note: can use === for value comparison
    // note: entries is an array of pairs, each pair is the const object and the values array
    ... search for existing entry ...
  }
  // otherwise, construct class and insert new entry
  let object = new typeRep.const()
  ... add to hash table ...
  return object;
}

// ... compiled code for user's library ...
class MyClass { /* ... */ }
// generate a special constructor that uses the canonical value ordering
(MyClass.const = function(values) { ... initialize fields ... }).prototype = MyClass.prototype;
MyClass[dart.constMap] = new Map();
// ... in another module ...

dart.const(MyClass, 0x12345678 /*hash code*/, ['hi' /*field1*/, 42 /*field2*/ ])

I'm not sure about this approach, though. We still allocate the array of values. And we have to store the value array forever, to implement equality.
Precomputing the hash seems really helpful, at least.
Here's a possible improvement:
class MyClass {
  /* ... */
  static [dartx._constEq](x, y) {
    return x.field1 === y.field1 && x.field2 === y.field2;
  }
}
// ...
dart.const(0x12345678, new MyClass.const('hi', 42));
// ... or we could try this to see if it's faster (probably not)
dart.const(0x12345678,  { __proto__: MyClass.prototype, field1: 'hi', field2 : 42 });

We still have an allocation, but it's already valid as our constant object, unlike the array of values. We can try the object literal too, in case it's faster.
I think the only way to avoid an allocation would be to have a specialized version of dart.const for each class, that knows the number of fields to expect:
class MyClass {
  /* ... */
  static const(hashCode, field1, field2) {
    var values = map.get(hashCode);
    if (values != null) {
      // iterate through values and compare fields
      // note: we don't need to store pairs anymore, we can just iterate `values`
      // and look for a match
      // x.field1 === field1 && x.field2 === field2
    }
    // allocate and store and return a new instance
  }
}
// called via
MyClass.const(0x12345678, 'hi', 42);

All of these have a code size hit compared to the current approach, but probably worth it.
Final note: rather than hash codes, we could compute a unique key of some sort, perhaps using strings. This would essentially be a compile time serialization of the constant value, thus giving us a canonical string key to use for lookups. I'm not sure how well JS handles very long string keys; the resulting performance may not be better or may have unintended side effects. But it's another possibility.


Avoid crash due to iOS createTimer API change

Description:
The API for createTimer has changed in react native master branch.
See relevant change: https://github.com/facebook/react-native/commit/2b5f4de7eb4e5453e91d4956bcb0f58fe37b6562
Due to this change, Detox seems to crash.
The stack trace appears like this:
Signal 11 was raised
(
		0   Detox                               0x000000010cf38b36 _ZL16__DTXHandleCrashP11NSExceptionP8NSNumberP8NSString + 497
	1   Detox                               0x000000010cf388bb _ZL17__DTXHandleSignali + 61
	2   libsystem_platform.dylib            0x0000000116f52b5d _sigtramp + 29
	3   ???                                 0x0000000000000000 0x0 + 0
	4   CoreFoundation                      0x0000000110b544cc __invoking___ + 140
	5   CoreFoundation                      0x0000000110b51a45 -[NSInvocation invoke] + 325
	6   CoreFoundation                      0x0000000110b51e96 -[NSInvocation invokeWithTarget:] + 54
	7   Twilight                            0x0000000109ba3cbc RCTParseMethodSignature + 31388
	8   Twilight                            0x0000000109b01397 _ZN8facebook5react15RCTNativeModule26callSerializableNativeHookEjON5folly7dynamicE + 967
	9   Twilight                            0x0000000109b00ea6 _ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi + 1302
	10  Twilight                            0x0000000109b00df9 _ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi + 1129
	11  Twilight                            0x0000000109b00b71 _ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi + 481
	12  Twilight                            0x000000010b0de900 _ZN8facebook5react14ModuleRegistry16callNativeMethodEjjON5folly7dynamicEi + 336
	13  Twilight                            0x000000010b0eb735

The API change in the link above shows that it has been changed from:
             createTimer:(nonnull NSNumber *)callbackID
                   duration:(NSTimeInterval)jsDuration
   jsSchedulingTime:(NSDate *)jsSchedulingTime
                   repeats:(BOOL)repeats)

to
            createTimer:(double)callbackID
                  duration:(NSTimeInterval)jsDuration
  jsSchedulingTime:(double)jsSchedulingTime
                  repeats:(BOOL)repeats)

In this PR I use method_getArgumentType to determine if the API is now using a double for the argument and use that correct function type in that case.
For some context on why I'm interested in sending a PR in regards to a react native api change in master. At Facebook most apps run against react native master (so code can be battle-tested before it gets officially released as OSS). One downside here is that when we run a Detox test, we can run into an incompatibility like this one before anyone else does. I recognize that I am running against an unsupported version of react native, but I would like to contribute this fix into Detox now so we can avoid having to fork+patch detox before the next react native release (and before official support from detox exists).
Feedback welcome :) Thanks!

Thank you for this PR!
I will go over it tomorrow and merge.

Thank you! I've merged this and will release a version soon.

14.5.1 is out with this change
Thanks!

Thanks for the fast release


json2csv writes all data in single columns

I am using below method, to convert  json data into CSV, problem I am facing is it writes all columns in single column. This causes formatting issues. I want to write each column in separate excel column.
csv = json2csv(jsonData, { fields});

Hi @nakshay ,
I need quite a bit more than that to be able to help.
As a minimum, a data sample, the value of the fields variable and the expected result.
Ideally, a piece of code that I can run.

@juanjoDiaz, Below is code snippet, unfortunately I can not upload excel sheet , but you can take any excel sheet for demonstration, I have observed this problem when number format is European.
var workbook = xlsx.readFile(path.join(__dirname, 'public')+'/test.xlsx');
let sheet = workbook.Sheets['Sheet1'];
let excelJson = xlsx.utils.sheet_to_json(sheet);
fields = Object.keys(excelJson[0]);
csv = json2csv(excelJson,fields);
fs.writeFileSync('./output.csv',csv);  // writes all columns in single excel column

Could just give me some data to see what does excelJson looks like?
Is it an array of arrays? An array of objects? Something else?
Also two notes:

The right way to pass the fields option is as part of an object. So csv = json2csv(excelJson, { fields });
Also, using the keys from the first object is the default behaviour so you can skip that and just do csv = json2csv(excelJson);

@juanjoDiaz , Below is the excelJson data.
[ { col1: 'cell1', col2: 'cell2', col3: 'cell3' },
  { col1: 'cell2', col2: 'cell3', col3: 'cell4' },
  { col1: 'cell3', col2: 'cell4', col3: 'cell5' },
  { col1: 'cell4', col2: 'cell5', col3: 'cell6' },
  { col1: 'cell5', col2: 'cell6', col3: 'cell7' },
  { col1: 'cell6', col2: 'cell7', col3: 'cell8' },
  { col1: 'cell7', col2: 'cell8', col3: 'cell9' },
  { col1: 'cell8', col2: 'cell9', col3: 'cell10' },
  { col1: 'cell9', col2: 'cell10', col3: 'cell11' },
  { col1: 'cell10', col2: 'cell11', col3: 'cell12' },
  { col1: 'cell11', col2: 'cell12', col3: 'cell13' },
  { col1: 'cell12', col2: 'cell13', col3: 'cell14' } ]

Thanks!
I just create a little example with that data:
const json2csv = require("json2csv");

const data = [
  { col1: 'cell1', col2: 'cell2', col3: 'cell3' },
  { col1: 'cell2', col2: 'cell3', col3: 'cell4' },
  { col1: 'cell3', col2: 'cell4', col3: 'cell5' },
  { col1: 'cell4', col2: 'cell5', col3: 'cell6' },
  { col1: 'cell5', col2: 'cell6', col3: 'cell7' },
  { col1: 'cell6', col2: 'cell7', col3: 'cell8' },
  { col1: 'cell7', col2: 'cell8', col3: 'cell9' },
  { col1: 'cell8', col2: 'cell9', col3: 'cell10' },
  { col1: 'cell9', col2: 'cell10', col3: 'cell11' },
  { col1: 'cell10', col2: 'cell11', col3: 'cell12' },
  { col1: 'cell11', col2: 'cell12', col3: 'cell13' },
  { col1: 'cell12', col2: 'cell13', col3: 'cell14' }
];

const csv = json2csv.parse(data);
console.log(csv);

which prints:
"col1","col2","col3"
"cell1","cell2","cell3"
"cell2","cell3","cell4"
"cell3","cell4","cell5"
"cell4","cell5","cell6"
"cell5","cell6","cell7"
"cell6","cell7","cell8"
"cell7","cell8","cell9"
"cell8","cell9","cell10"
"cell9","cell10","cell11"
"cell10","cell11","cell12"
"cell11","cell12","cell13"
"cell12","cell13","cell14"

Isn't that what you expected?
You mention that the problem has to do with numbers. Could you provide some data that produces the issue, the result that you get and the result that you would have expected?

It parses the data and writes properly in excel, problem is when I write csv variable in file, instead of writing each column in separate cell, it writes the entire row in single cell.
fs.writeFileSync('./output.csv',csv);  // writes all columns in single excel column

CSV is a text format, so it doesn't write columns in any way. The output is correct.
The problem is not on the generated CSV but on how your Excel is parsing the CSV.
Excel tends to use a semicolon (;) as a separator instead of a comma (,). So that might be the problem. If that's the case, you can set the delimiter to a semicolon (;) to change the generated CSV. Or you can configure your Excel to accept comma as a separator.

@knownasilya, can you explain this a bit more.

excelStrings is a different thing. It just forces Excel to not coerce string data to other data types as Excel does by default.
The problem of @nakshay is simply that Excel is not using the right separator.

I found the issue, the encoding for the excel should be "Big endian", in notepad ++ when I change encoding to UCS-2 LE BOM, it works properly.


because not found page, changed to add mailto

When clicked the contact us link, get a 404 error.
because changed it

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Don't mind the build failure. Unrelated with this pull request.

thank you for reply and merged


chore: change go module name and repo url to nydus

Relevant Issue (if applicable)
N/A.
Details
Change go module name to dragonflyoss/nydus/**
Notice: Changing the Golang module name may cause some errors. I'm not sure if other projects depend on  these pkgs.
Types of changes
What types of changes does your PullRequest introduce? Put an x in all the boxes that apply:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Go over all the following points, and put an x in all the boxes that apply.

[x] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

@Desiki-high Sorry for the merge order, let's resolve these conflicts first.

@Desiki-high Sorry for the merge order, let's resolve these conflicts first.

Resolved, PTAL. @imeoer


docs: 132 improve docs

closes #132

This PR wasn't ready for merging. I reverted it, please re-open and apply the changes required.


Lock type not working

I use a sonoff as a Lock accessory simulation, but not it's not working anymore. It does work as a regular switch.
I have cleared all the cache, latest hb 1.3.1, latest node, homebridge image, pi3

Hi, please see if v5.0.2 fixes this? Thanks

Hi, please see if v5.0.2 fixes this? Thanks

no luck :(

Are there any messages/errors in the logs when you restart Homebridge or control the device?

No errors, just the regular:
[24/02/2021, 13:38:29] [eWeLink] [Door Sonoff] initialised and LAN mode unavailable as unreachable.
[24/02/2021, 13:38:29] [eWeLink] ✓ Setup complete. Thanks for using this plugin, I hope you find it helpful!
Can't figure out why my sonoff doesn't work on LAN though...
I might be doozy from all the logs, but when I set it up as a Lock, I don't get this:
[24/02/2021, 13:36:11] [eWeLink] [Door Sonoff] has been added to Homebridge.

Is the accessory in the Home app appearing as a switch and a lock? I've just tested this simulation myself and noticed this. I have released an update v5.0.3 to remove the switch service so it just appears as a lock.
Does this update improve things for you?

well i had them appearing as a switch and a lock at the same time, I thought it had something to do with cache, cleared that and restarted homebridge and hasn't happened since.
5.0.3 unfortunately still doesn't fix the issue.
FYI, when I push the button on the Sonoff, Homekit does see that and it notifies me (Lock's do that in homekit)

Could you post your ewelink config? Just the groups section, and redact a couple of characters from the device ID for good measures!

        {             "name": "eWeLink",             "countryCode": "+40",             "username": "",             "password": "",             "mode": "auto",             "groups": [                 {                     "deviceId": "1000######",                     "label": "Door",                     "type": "lock",                     "operationTime": 90                 }             ],             "platform": "eWeLink"         }
https://i.imgur.com/ZerShlQ.png

Please select a value in the “Device Setup” field :)

Yeah that did it BUT i need to mention that at first I had the Device Setup value set to Single Channel and it wasn't working so I'm sure that you managed to fix the initial problem, although the last part my stupid brain
Thank you @bwp91 , you're amazing!

You are correct in that there was a change I needed to make to the code first!
I'm just about to release an update which will print a message to the log if this 'Device Type' field is empty!
Thanks for bringing this to my attention and glad we got it working!


0 duration segment handing - Warning '"S" element must have a duration:' - lib/dash/mpd_utils.js - line 157 onwards

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.2.1
Can you reproduce the issue with our latest release version?
Yes - using https://shaka-player-demo.appspot.com/demo/#build=uncompiled
Can you reproduce the issue with the latest code from main?
Yes
Are you using the demo app or your own custom app?
Custom
If custom app, can you reproduce the issue using our demo app?
Yes
What browser and OS are you using?
Chrome 107.0.5304.107 - Windows 10 & macOS
Safari and HLS streams not affected
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
N/A
What are the manifest and license server URIs?

URI sent to email address as requested
What configuration are you using?  What is the output of player.getConfiguration()?

Configuration sent to email address as requested
What did you do?

Given the above mpd via email, from 3min 20sec issue is visible depending on buffering.
Player stops playing video.
What did you expect to happen?
Player to continue playing video.
What actually happened?

It appears that our video (as linked to above in the email as requested) has a 0 duration segment as provided by our video server.
The code as below is only expecting greater than 0 durations, and we can see a divide by 0 being avoided by no longer building the "timeline" array.
Warning is logged:
'"S" element must have a duration:' -
Which can be found here:
lib/dash/mpd_utils.js - line 157 onwards

Can you check again against the main branch? Thanks!


VM stopped while Migration with Maintenance Mode (KVM)

ISSUE TYPE

Bug Report

COMPONENT NAME

Management Server

CLOUDSTACK VERSION

Master but maybe 4.8 upwards

CONFIGURATION

OS / ENVIRONMENT

KVM with QEMU 2.12 and libwirtd 5.0.0, i think other other versions are also affected because not always there is the problem.
SUMMARY

STEPS TO REPRODUCE

Set a Host in Maintenance Mode
VM Migration is started
If a VM cant migrate it will hard stopped

after @andrijapanicsb started a discussion on mailing list "VMs crashing/stopped during live migration?"  i opened this issue request to track down the problems.
@ustcweizhou gave some interesting hints to this problem.
i picked up specially your point three. i think its most interesting to track this down.

vm is stopped due to some cloudstack bugs. for example, when we put a
host to maintenance, the vm will be stopped if (1) no other host is Up in
same cluster, or (2) vm migration fails and no retry in cloudstack, or (3)
multiple vms are migrated to same destination at the same time but there is
no enough memory on the destination.

EXPECTED RESULTS

The expected result should be to stop the maintenance mode but dont switch off the virtual machines

ACTUAL RESULTS

virtual machines will be hard stopped

@ustcweizhou do you have some idea how we can these part 3?

I believe the biggest problem I saw was VM crashing due to qemu bugs/issue (i.e. recently saw this one “qemu-kvm general protection error in libtcmalloc.so.4.4.5”) – can’t speak for other issues, since I don’t recall having them with ACS 4.5/4.8 with Ubuntu 14.04 (qemu 2.0 initially, later upgraded to 2.5)
If not mistaken, there is indeed a behavior that if there is no enough capacities in the cluster (test with a single KVM host in the cluster), the VMs will be stopped – and that is a thing to change in my opinion. Maintenance should fail and host should be in ErrorInMaintenance mode.
If you want to do maintenance of that host, put the storage into the maintenance mode and you are good to go. Even better, make an additional parameter like “forceMaintenance” which will indeed stop VMs in order to reach Maintenance mode. Othewise will simply be in ErrorInMaintenance.
I really don’ recall having issues with 5 VMs/agent threads – and I’ve been doing a lot of maintenance with couple of hunders of VMs 2-3 years ago (ACS 4.8). This one should be reproduced first.
Regards,
Andrija Panic
Andrija Panic
Cloud Architect
s: +44 20 3603 0540  |   m: +381 69 272 3690
e<EMAIL_ADDRESS>|  w: www.shapeblue.com  |  t:  @shapeblue
a: Amadeus House, Floral Street, London  WC2E 9DPUK
Shape Blue Ltd is a company incorporated in England & Wales. ShapeBlue Services India LLP is a company incorporated in India and is operated under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated in Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty Ltd is a company registered by The Republic of South Africa and is traded under license from Shape Blue Ltd. ShapeBlue is a registered trademark.This email and any attachments to it may be confidential and are intended solely for the use of the individual to whom it is addressed. Any views or opinions expressed are solely those of the author and do not necessarily represent those of Shape Blue Ltd or related companies. If you are not the intended recipient of this email, you must neither take any action based upon its contents, nor copy or show it to anyone. Please contact the sender if you believe you have received this email in error.
Find out more about ShapeBlue and our range of CloudStack related services:
IaaS Cloud Design & Build    |    CSForge - rapid IaaS deployment framework
CloudStack Consulting    |    CloudStack Software Engineering
CloudStack Infrastructure Support    |    CloudStack Bootcamp Training Courses

@svenvogel @andrijapanicsb
I think @andrijapanicsb 's suggestion is good.  Suppose we have a new parameter forceMaintenance in the command
(1) if there are vms running on the host.  if there is no any other server in Up status and Enabled state in the cluster
(1.1) if forceMaintenance  = true, stop all vms
(1.2) if forceMaintenance  = false, throw exception, host is put to ErrorInMaintenance or Up status.
(2) if there are other servers in the cluster, all vms will be migrated away from the host
(2.1) if all vm migrations succeed, then host is put to Maintenance.
(2.2) if vm migration failed, then try to migrate vm to another host . If vm migration failed after 5 times (this can be configured)), then
(2.2.1) if  forceMaintenance  = true, schedule a task to stop/start the vm.
(2.2.2) if forceMaintenance  = false, throw exception, host is put to ErrorInMaintenance.
any suggestion ?

@ustcweizhou @andrijapanicsb i think this sounds good.
one question.

(2.2.1) if forceMaintenance = true, schedule a task to stop/start the vm.

@ustcweizhou why we should stop and start them?
additional we encounter the following problem.

iso could not be mounted or storage pool on destination host, i dont know why this is a problem, manually mounting was no problem. maybe anyone has information about that?
if QEMU or Host Version version are different machine type will change the flags <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
i think this should be on view of the infrastructure admin.

@weizhouapache that sounds OK to me - I assume you handle capacity issues on a per VM basis.
@svenvogel 2.2.1 - if VM can't be live migrated - then stop it and start on another host to avoid permanent downtime - makes sense perfectly (if forceMaint=true)

CC @anuragaw since you were aware of the issue and want to review any code produced...

CC @rhtyd @PaulAngus @nvazquez

@ustcweizhou @andrijapanicsb i think this sounds good.
one question.

(2.2.1) if forceMaintenance = true, schedule a task to stop/start the vm.

@ustcweizhou why we should stop and start them?

@svenvogel if vm cannot be migrated after 5 times, to continue with the maintenance (because forceMaintenance is true), we need to stop it and start it on another server. make sense ?

additional we encounter the following problem.

iso could not be mounted or storage pool on destination host, i dont know why this is a problem, manually mounting was no problem. maybe anyone has information about that?
yes, it is one root cause of failed migration.
if QEMU or Host Version version are different machine type will change the flags <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
i think this should be on view of the infrastructure admin.
If hosts have different cpu model or qemu version, they should use custom cpu or cpu flags. It is not an issue in my point of view.

Agree on that last point of QEMU or HOST versions - not an issue and has been like that forever (nor I think would be possible since that would change what the OS sees and might crash it).

@andrijapanicsb @ustcweizhou yes make sense. Agree. now i understand it.

@andrijapanicsb “forceMaintenance” is something that could help indeed; in some specific corner cases it would be interesting to have such a workaround.

I believe the biggest problem I saw was VM crashing due to qemu bugs/issue (i.e. recently saw this one “qemu-kvm general protection error in libtcmalloc.so.4.4.5”) – can’t speak for other issues, since I don’t recall having them with ACS 4.5/4.8 with Ubuntu 14.04 (qemu 2.0 initially, later upgraded to 2.5) If not mistaken, there is indeed a behavior that if there is no enough capacities in the cluster (test with a single KVM host in the cluster), the VMs will be stopped – and that is a thing to change in my opinion. Maintenance should fail and host should be in ErrorInMaintenance mode. If you want to do maintenance of that host, put the storage into the maintenance mode and you are good to go. Even better, make an additional parameter like “forceMaintenance” which will indeed stop VMs in order to reach Maintenance mode. Othewise will simply be in ErrorInMaintenance.

My 2 cents - adding forceMaintenance is really going to complicate code unnecessarily. Perhaps sticking to the general theory - If Migrations cannot be completed and host cannot be put to maintenance safely, we put the host to ErrorInMaintenance state. At the same time we log/throw exception for informing the admins.
Admins can put the VMs off or snapshot or whatever works best - then they can manually shutdown all VMs on a host as needed and retry maintenance transition.

let's wait @anuragaw 's PR #3425 to be done.

Guys are you sure you've seen this with QEMU 2.12 (assuming also that would be the QEMU-EV repo)?
In my testing on 3425 I cannot see this with 2.12 qemu-ev, but it's still reproducible with stock qemu-1.5.3
cc: @andrijapanicsb @svenvogel

With qemu 2.12 you can't get systemVMs running - so I haven't tested, to be honest (tried briefly but gave up)
I have opened an ML thread on these crashes) - user reporting crashed on different versions of ACS and qemu - so a somewhat common thing as it seems.

@svenvogel  - please re-explain the problem by changing the description of the issues. Stopped VMs and crashed VMs are 2 different things. Current behaviour might be to stop VMs when no free resources - but NOT crash them. And this behaviour (stopping VMs when no free resources) is @weizhouapache trying to address. Crashes are not related, afaik.
Crashes I've seen have nothing to do with that behaviour we are trying to improve (i.e. I had enough free resources in my cluster) - VMs were migrated fine, then crashed later on the new host.
i.e. let's not mix different things?

@svenvogel @andrijapanicsb
vm is stopped due to some cloudstack bugs. for example, when we put a
host to maintenance, the vm will be stopped if (1) no other host is Up in
same cluster, or (2) vm migration fails and no retry in cloudstack, or (3)
multiple vms are migrated to same destination at the same time but there is
no enough memory on the destination.

(1) has been tracked in #3707
(2) is changed in #3425 but not done.
(3) is fixed by #3727 and #3728. which caused crashed vm in host maintenance on our platforms.

Is this fixed/addressed @svenvogel @weizhouapache @andrijapanicsb ?

@rhtyd we will test this in the next week. i lost this in our track.

@andrijapanicsb changed. yes it stopped the VM thats right.

this is on hold it seems, any volunteers to specify this and #3707 to sum up the desired outcome ? it seems to me there are a lot of ideas here but no consensus on functionality, @svenvogel @andrijapanicsb @weizhouapache @rhtyd @borisstoyanov @GabrielBrascher @anuragaw .

My 2 cents on this one would be to add a force maintenance parameter or global settings (I would prefer a force parameter though).
Here follows a draft of a proposal for this issue:

call maintenance of a host with force parameter
normal flow where CloudStack tries to migrate all VMs
if not possible to migrate a VM, stop it
place the host in maintenance state once all VMs are migrated or stopped

PR #4212 is focused on migrating or stopping local storage VMs of a host put in maintenance. However, it holds some similarities with this issue.

is this still an issue @GabrielBrascher @svenvogel and others?

@rohityadavcloud @svenvogel should be fixed by PR https://github.com/apache/cloudstack/pull/4212 which gives autonomy for admins to choose a strategy for such VMs, via global settings name host.maintenance.local.storage.strategy.
With that PR Admins can choose (wisely and knowing eventual risks on each option) between?

error in maintenance when there are local storage VMs
stop local storage VMs and put in maintenance
or. migrate local storage VMs and put it in maintenance

Might require some upgrades on CloudStack documentation thought.

As per comment on PR, it appears fixed by https://github.com/apache/cloudstack/pull/4534 and https://github.com/apache/cloudstack/pull/4212 is also merged
Pl re-open if we got that wrong, thanks.


Design Meeting Notes, 6/14/2023

Watch Factory Plugins
https://github.com/microsoft/TypeScript/pull/54012

What's the motivation for these?
Editors and tools like VS Code have good file-watchers, often which can be shared between other language services.

This would fix a lot of TypeScript's file-watching reliability issues, avoid creating file-watchers within the TypeScript process itself, and would avoid exhausting OS resources for file-watching (usually on Linux).

Main question in the last few meetings was "do we want this in compilerOptions or watchOptions?

Could be its own thing that's parallel to compilerOptions - but that makes the API surface area.
One thought would be to put it in the plugins array - which

The biggest motivator is editing scenarios - is a plugin model overkill?

All the recent discourse on plugins has put pressure on
Can see a version that fits on TSServer but not on tsc.

There are frequent issues filed on us based on file-watching - ask us to use a separate file-watcher, often provided by a daemon watcher process.
Different options to solve the problem:

Write our own file watcher - we're doing this today but it's definitely not the best.
Let someone else plug in the file-watching.
Use someone else's file-watcher.

Peer dependency?
Vendoring?

What does it mean to do custom file-watching only for TSServer?

Events via TSServer messages - LSP requires this anyway, "friendlier" for a lot of editors.

But probably more involved.

Current approach - roughly either via plugin model or something specific.

Really two problems

Inaccurate file watcher

We believe a lot of the issues do come from the built-in watchers in Node.js - they may be due to platform-specific quirks, but it is tough.

Duplication of efforts in file-watching

Cannot solve this via quality.

Revisiting the LSP-ish approach

It will be involved, but one day we may end up doing LSP anyway.
What would work best for web-based editors such as vscode.dev?

Editor ends up being the source of truth, ends up

Why can't editors just use... tsserverlibrary.js instead of tsserver.js?

Can customize all of this to one's heart's content.
Well one has to copy/paste a bunch of code for the Node.js implementation that runs tsserver.js

None of this works if you're using an editor that's not written in JS nor has its own file watcher.

Neither plugins nor using our API directly.
The LSP approach here has the upper hand.

We are leaning away from the concept of watch plugins, and towards file watching events raised in TSServer sessions. We believe that it would address the most common issues that users hit, reduce resource consumption, and make it easier to eventually adopt LSP.

Language server watchers implemented over in #54662.


LHASH: Clarify docs for contraction

Backport #22981 doc fixes to 3.2/3.1/3.0

This pull request is ready to merge

Merged to the 3.2, 3.1, and 3.0 branches. Thank you.


no rgb_to_hsv and Rob_to_hsb

This library is only 1/2 complete it can take hsb and hsv values to rub but not the other way around which renders it completely useless for my use. why such a big omission?

I've had a look around while working on some unrelated stuff for this library and didn't find any usages of it that are in the context of the smallest devices.
I think it'd be fine to add more functions to this library that exist in the CPython implementation, but as noted by tekktrik, circuitpython teds to use primarily RGB so adding more isn't a priority for us.
I'll close this issue, but if anyone would like to submit a PR adding more functions we will review.


Expected double header, but found F9

Describe the bug
Can't deserialize CBOR bytes using https://github.com/Kotlin/kotlinx.serialization if serialized object has a field with double value without fractional part.
To Reproduce
C#
  public class Data2
  {
      public double Field { get; set; }
  }

Kotlin
@Serializable
data class Data2(val field: Double)

Works:
var works = CBORObject.FromObject(new Data2 { Field = 66.77 }).EncodeToBytes()
var res1 = Cbor.Default.decodeFromByteArray<Data2>(works)

Exception 'Expected double header, but found F9':
var doesntWork = CBORObject.FromObject(new Data2 { Field = 66 }).EncodeToBytes()
var res2 = Cbor.Default.decodeFromByteArray<Data2>(doesntWork)

However it worked fine with 4.0 beta1. Tested on all versions after 4.0 beta1 - crashes with that exception.
Environment

Kotlin version: 1.4
Library version on Kotlin side: org.jetbrains.kotlinx:kotlinx-serialization-cbor:1.0.0-RC
Library version on C# side: 4.2

The CBOR library encodes certain double values in a shorter format, namely the half-float format supported by CBOR, if that can be done without loss.  This seems to be the case here.  However, my CBOR library works correctly here; the issue is with your Kotlin serialization library, which appears not to support decoding the half-float format.  You should file an issue for that library.


chore: add pre-commit hook for commit messages

Codecov Report

Merging #27 (e641469) into main (1658843) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   99.00%   99.01%   +0.01%
==========================================
  Files          28       28
  Lines        1603     1621      +18
==========================================
+ Hits         1587     1605      +18
  Misses         16       16

Impacted Files
Coverage Δ

tests/elis_api_client/test_client_sync.py
100.00% <0.00%> (ø)

tests/test_api_client.py
99.53% <0.00%> (+0.01%)
:arrow_up:

rossum_api/elis_api_client.py
97.46% <0.00%> (+0.03%)
:arrow_up:

rossum_api/api_client.py
97.10% <0.00%> (+0.03%)
:arrow_up:

rossum_api/elis_api_client_sync.py
94.73% <0.00%> (+0.04%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


No implementation for maxZoom

Looks like the markerclusterer misses maxZoom option.
It is there in the comments. But no footprint in the code.
https://github.com/googlemaps/js-markerclusterer/blob/ba991e3e5654cea7bee8c828aaa5c30e2f308574/src/markerclusterer.ts#L74

This is how I have it working:
const algo = new  markerClusterer.SuperClusterAlgorithm({maxZoom: 12, minPoints: 10})
this.markerClusterer = new markerClusterer.MarkerClusterer({map: this.gMap, markers: [], algorithm: algo});


Prepare APIs for extension types

This PR is a refactor to enable (logical) extension types.
It is motivated by the design described by @sundy-li in #350.
Main change: all arrays (e.g. Utf8Array) now require DataType as an argument of from_data, new_null and new_empty.

@sundy-li , I kept the DataType on all arrays for now since it is a non-trivial change to decouple arrays from DataType because the logical information is currently necessary in many compute, io and display kernels.

Ok, that's reasonable.

@sundy-li @ritchie46 , I found a beautiful representation of the primitive types that simplifies a lot of code (-400 LOC). I pushed to this PR and updated the user guide accordingly.
Something like
enum PrimitiveType {
    Int8,
    Int16,
    Int32,
    Int64,
    Int128,
    ...
    DaysMs,
}

enum PhysicalType {
    /// A Null with no allocation.
    Null,
    /// A boolean represented as a single bit.
    Boolean,
    /// An array where each slot has a known compile-time size.
    Primitive(PrimitiveType),
    ...
}

this allow us to write things like
    match values.data_type().to_physical_type() {
        Primitive(primitive) => with_match_primitive_type!(primitive, |$T| {
            let values = values.as_any().downcast_ref().unwrap();
            Ok(Box::new(primitive::take::<$T, _>(&values, indices)))
        }),
        Utf8 => {
            let values = values.as_any().downcast_ref().unwrap();
            Ok(Box::new(utf8::take::<i32, _>(values, indices)))
        }
        ...

which shaved LOC via macros (and will likely do the same for dependents).
Basically, instead of matching PhysicalType::Int32, match PhysicalType::Primitive(PrimitiveType::Int32).

Great, we have similar like with_match_primitive_type in  https://github.com/datafuselabs/datafuse/blob/7a3bfc5620e545333ca4e35c71ac849b421b74fc/common/functions/src/aggregates/macros.rs#L15-L28
But your implementation is more graceful because the __with_ty__ is private macro.


Automobiles Sales Data Analysis #576

Pull Request for ML-Crate 💡
Automobiles Sales Data Analysis:

EDA of Automobile Sales Data, and implementation of various ML models and identify best model :
Name: Sanyog Mishra
Email ID for further communication<EMAIL_ADDRESS>GitHub ID: https://github.com/DarkRaiderCB
Idenitfy yourself: SSOC contributor

Closes: #576
Describe the add-ons or changes you've made 📃
Completed the project as per instructions.

Loaded the dataset.
Did a comprehensive EDA on the dataset and visualizations.
Used libraries to train 7 different models and check for highest accuracy.
Chose the best model for prediction of the disease.

Type of change ☑
What sort of change have you made:

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested? ⚙
Tested using evaluation metrics.
Checklist: ☑

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have added things that prove my fix is effective or that my feature works.
[x] Any dependent changes have been merged and published in downstream modules.

@abhisheks008 Thankyou sir!!


Unable to push to 'REMOTE' - Unknown error

Hi all.
I'm mostly creating this issue to ask kindly if anybody can help with debugging a problem I'm having in Gittyup which could, I'm afraid, very well have nothing to do with the application itself...
This is about a repo for which git push works fine when I do it at the command line, but which fails with the rather uninformative error: Unable to push to 'REMOTE' - Unknown error in Gittyup.
The particularity with this repo, maybe, is that it has 3 remotes configures. The config file is like this:
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[branch "master"]
	remote = archpi
	merge = refs/heads/master
[remote "amu"]
	url = https://github.com/SCD-Aix-Marseille-Universite/latexamu
	fetch = +refs/heads/*:refs/remotes/amu/*
[remote "gitlab"]
	url = ssh://gitlab.com:/Marcool04/REPO.git
	fetch = +refs/heads/*:refs/remotes/gitlab/*
[remote "archpi"]
	url = ssh://archpi:/home/mark/git/these
	fetch = +refs/heads/*:refs/remotes/archpi/*
[gui]
	wmstate = normal
	geometry = 1920x961+0+0 179 212

This is the latex source for a PhD thesis. I pulled it from the university repo, which is called amu, then I have two remotes, one on my own homeserver, archpi, the other on Gitlab. Note that archpi, as well as a remote name in this git repo, is an SSH alias to the homeserver.
Could anybody please help me to debug this? I can quite easily see this being an issue with my own setup or the repo, but I can't see how to get Gittyup to help me help myself...
Thanks a lot in advance.
Regards,
Mark.
PS : here is some more system info, this is Archlinux on a Lenovo T480 Thinkpad.
# uname -a
Linux t480 6.2.13-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 26 Apr 2023 20:50:14 +0000 x86_64 GNU/Linux

# pacman -Qi gittyup
Name            : gittyup
Version         : 1.3.0-1

# pacman -Qi qt5-base
Name            : qt5-base
Version         : 5.15.9+kde+r151-1

# pacman -Qi git
Name            : git
Version         : 2.40.1-1
```

Hi @Marcool04 thanks for the description! Can you try to use push to... functionality to find out to which remote it is not possible to push?
I see you don't have a "origin" remote. I will check the code if this might be the problem.

Hi @Murmele, thanks for getting back to me so quickly. So, it is definitely just the archpi remote that is having problems. I can push to gitlab.com.
This is interesting, because the two remotes are so similar that this eliminates quite a few possible variables. Basically, the only two differences left are:

the homeserver remote uses an SSH alias, not a domain, whereas gitlab.com is a resolvable domain name;
the homeserver ssh server is listening on a non-default port (to reduce noise from bots trying to connect).

Note that both have configuration set up in .ssh/config, and that I have set the correct file path in Gittyup options to indicate where that file is. My access to gitlab is such that if the configuration from .ssh/config wasn't being read, then I would not have been able to push there either, as it uses, among other options, a non-default ssh private key.
I also verified that renaming the remote to origin made no difference...

Hi @Murmele, thanks for getting back to me so quickly. So, it is definitely just the archpi remote that is having problems. I can push to gitlab.com.
This is interesting, because the two remotes are so similar that this eliminates quite a few possible variables. Basically, the only two differences left are:

the homeserver remote uses an SSH alias, not a domain, whereas gitlab.com is a resolvable domain name;
the homeserver ssh server is listening on a non-default port (to reduce noise from bots trying to connect).

Note that both have configuration set up in .ssh/config, and that I have set the correct file path in Gittyup options to indicate where that file is. My access to gitlab is such that if the configuration from .ssh/config wasn't being read, then I would not have been able to push there either, as it uses, among other options, a non-default ssh private key.
I also verified that renaming the remote to origin made no difference...

Ahah! Another data point, I have this in the server SSH logs after a failed push:
userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]
Connection closed by authenticating user mark <IPv6 address> port 54512 [preauth]

and my PubkeyAcceptedAlgorithms is:
# sshd -T | rg pubkeyacceptedalgorithms
pubkeyacceptedalgorithms ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256

this follows instructions from: https://www.ssh-audit.com/hardening_guides.html
Best,
Mark

Ahah!
I think I have a smoking gun. When I attempt to push from Gittyup, I get this in the homeserver logs:
userauth_pubkey: signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]

So what is PubkeyAcceptedAlgorithms set to? On the server we have:
# sshd -T | rg pubkeyacceptedalgorithms
pubkeyacceptedalgorithms ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256

And on the client machine:
$ ssh -G httpd600 | rg pubkeyacceptedalgorithms
pubkeyacceptedalgorithms ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256

All of these are inspired by https://www.ssh-audit.com/hardening_guides.html
So this confirms that in some way, Gittyup is imposing its own algorithms for the SSH public key exchange, and this seems to be what is messing up the push.

@Marcool04 thanks for the research, I will check it out

I built Gittyup from source myself, and noticed that push/pull from my homeserver actually works fine.
What the packager is trying to do as far as I can gather, is integrate the build with system packages as much as possible, hence the removal of most of the git sub-modules. It doesn't seem obvious to me why this packaging would cause the default ssh signature algorithm to be different but that seems to be the case.
I've posted a comment against the AUR package anyhow.
Closing this now, but I'd be interested to read your input on the above packaging script, if you have a second.
Best,
Mark.

@exactly-one-kas do you know anything about?


Layout Issue

Hello and thanks for sharing this library.
There is an issue with the layout of the presented view.
To replicate just to do this.

open the app for the 1st time.
tap to open the popup.
tap outside of the popup to close it without pressing any of the buttons.
tap to open the popup again. all items are shown in the top left corner.

screenshot attached below:

Thanks for the report! I'll check this out today.

@nickoneill did you have a chance to look at it?

Fixed this in 8a800f3, sorry for the wait!

thanks for the support :+1:


Create population-metrics.yml

Service that fetches population statistics from Statistics Estonia by location and time (year) parameters. Service works with either parameter as well as both or none.

if no location parameter is given, fetches data for entirety of Estonia
if no year parameter is given, fetches data for current year

If location parameter exists, the service first makes a query toward Data Mapper with the location string to fetch the appropriate stat number for the location. This number is needed for the query toward Statistics Estonia.
Working version of the Data Mapper files & new endpoint
The Data Mapper query requires a POST endpoint with the return header of Content-Type: application/json.
If the service fails in case of incorrect inputs or any other reason, returns the error code 300.

Close as obsolete by now


Rebuilding PDI with tests files to test private functions

In GitLab by @ksiero on Oct 28, 2020, 11:11
There are some private methods we would want to test. Unfortunately we cannot do it using google tests without making PDI core dependent on gtest.
The idea is to create new test classes that will be friends with tested classes and building PDI core source again.
The outcome would be that:

public methods will be tested by gtest
private methods with this new solution.

@jbigot is there something I've missed or you want to add something?

unassigned @ksiero

A first thing to do would be to write tests to prevent #247 from re-appearing


Player is not BlocksTile

Player entity should have BlocksTile. Without it, bystander_ai is allowed to walk onto the Player position.
Unfortunately adding BlocksTile component to player breaks monster_ai, as the A* algorithm approaching the Player will not be allowed to enter Player's position and finish the search. So, monsters just stand still.

I guess verbalizing the problem allowed me to come up with a solution.
https://github.com/smokku/rust_roguelike_tutorial/commit/e857834
The point is to change the finish condition for A* to be done once the distance to Player is less tan 2 tiles (1.something for diagonals), not straight 0.


update babel to version 7

Hello, @aichbauer. This module is useful for me to create REST API back-end. Now, I am using babel version 7 in my project. I have used this package for mapping routes easily. Unfortunately, I have this error message after updating to babel version 7.
Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3". If you are sure you have a compatible version of @babel/core, it is likely that something in your build process is loading the wrong version. Inspect the stack trace of this error to look for the first entry that doesn't mention "@babel/core" or "babel-core" to see what is calling Babel.
    at throwVersionError (${MY_PROJECT_DIR}\node_modules\@babel\helper-plugin-utils\lib\index.js:65:11)
    at Object.assertVersion (${MY_PROJECT_DIR}\node_modules\@babel\helper-plugin-utils\lib\index.js:13:11)
    at api (${MY_PROJECT_DIR}\node_modules\@babel\plugin-proposal-function-sent\lib\index.js:51:7)
    at ${MY_PROJECT_DIR}\node_modules\@babel\helper-plugin-utils\lib\index.js:19:12
    at Function.memoisePluginContainer (${MY_PROJECT_DIR}\node_modules\babel-core\lib\transformation\file\options\option-manager.js:113:13)
    at Function.normalisePlugin (${MY_PROJECT_DIR}\node_modules\babel-core\lib\transformation\file\options\option-manager.js:146:32)
    at ${MY_PROJECT_DIR}\node_modules\babel-core\lib\transformation\file\options\option-manager.js:184:30
    at Array.map (<anonymous>)
    at Function.normalisePlugins (${MY_PROJECT_DIR}\node_modules\babel-core\lib\transformation\file\options\option-manager.js:158:20)
    at OptionManager.mergeOptions (${MY_PROJECT_DIR}\node_modules\babel-core\lib\transformation\file\options\option-manager.js:234:36)
    at OptionManager.init (${MY_PROJECT_DIR}\node_modules\babel-core\lib\transformation\file\options\option-manager.js:368:12)
    at compile (${MY_PROJECT_DIR}\node_modules\babel-register\lib\node.js:103:45)
    at loader (${MY_PROJECT_DIR}\node_modules\babel-register\lib\node.js:144:14)
    at Object.require.extensions.(anonymous function) [as .js] (${MY_PROJECT_DIR}\node_modules\babel-register\lib\node.js:154:7)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at ${MY_PROJECT_DIR}\node_modules\express-routes-mapper\lib\index.js:66:17
    at Array.forEach (<anonymous>)
    at mapRoutes (${MY_PROJECT_DIR}\node_modules\express-routes-mapper\lib\index.js:47:13)
    at Object.<anonymous> (${MY_PROJECT_DIR}\src\index.js:74:59)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Module._compile (${MY_PROJECT_DIR}\node_modules\pirates\lib\index.js:83:24)

Can I help you to upgrade this module using babel 7?

Hello @achmadk,
thank you for your issue.
I think updating the babel version in this package would do the trick.
Would you mind creating a Pull Request to fix this issue?

I have created a pull request. According to travis CI review, express-routes-mapper cannot be used in node 4.


Code doesn't run at all after pressing Run button

Type: Bug
Test code I was attempting to run:
class Account:
    def __init__(self, name, balance, password):
        self.name = name
        self.balance = balance
        self.password = password

    def deposit(self, amountToDeposit, password):
        if password != self.password:
            print("Incorrect password")
            return None
        else:
            if amountToDeposit < 0:
                print("You cannot deposit an amount below 0")
                return None
            else:
                self.balance += amountToDeposit

    def withdraw(self, amountToWithdraw, password):
        if password != self.password:
            print("Incorrect password")
            return None
        else:
            if amountToWithdraw < 0:
                print("You cannot withdraw an amount below 0")
                return None
            else:
                if amountToWithdraw > self.balance:
                    print("You cannot withdraw more than what you have in your account")
                    return None
                else:
                    self.balance -= amountToWithdraw
                    return self.balance

    def getBalance(self, password):
        if password != self.password:
            print("Incorrect password")
            return None
        else:
            return self.balance

    def show(self):
        print(f"""Name: {self.name}
Balance: {self.balance}
Password: {self.password}""")

acc = Account('John', 1000, 'JohnPassword')
acc.show()
acc.withdraw(100, 'JohnPassword')
acc.deposit(200, 'JohnPassword')
acc.getBalance('JohnPassword')
acc.show()

Expected Results:
Name: John
Balance: 1000
Password: JohnPassword
Name: John
Balance: 1100
Password: JohnPassword

Actual Results:
None of the code seems to get runned, the terminal doesnt pop up automatically and using Ctrl + ` to bring it up shows that nothing changed there either.
I attempted this using the Run button and I also tried to delete and reinstall Python and VSCode to see if that would fix the issue. I also tried reinstalling Python from the Microsoft Store rather than the web, but none of these solutions worked.
Extensions I have installed:
Pylance
Python
SQLite
Remote Repositories (temp closed by Extension Bisect)
Azure Repos (linked to Remote Repositories, so is also closed)
GitHub Repositories (linked to Remote Repositories, so is also closed)
Extension version: 2023.14.0
VS Code version: Code 1.81.1 (6c3e3dba23e8fadc360aed75ce363ba185c49794, 2023-08-09T22:22:42.175Z)
OS version: Windows_NT x64 10.0.22621
Modes:

System Info

Item
Value

CPUs
Intel(R) Celeron(R) N4000 CPU @ 1.10GHz (2 x 1094)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: disabled_offopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
3.83GB (0.32GB free)

Process Argv
--crash-reporter-id 1bb5e6bc-98e6-489c-a47e-a7a6a5ac9c56

Screen Reader
no

VM
0%

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes516:30244333
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593:30376534
pythonvs932:30410667
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vscccc:30803845
282f8724:30602487
f6dab269:30613381
a9j8j154:30646983
showlangstatbar:30737416
03d35959:30757346
pythonfmttext:30731395
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
pythonnosmt12:30797651
pythonidxptcf:30805731
pythonnoceb:30805159
dsvsc013:30795093
dsvsc014:30804076
diffeditorv2:30821572

@NexusHex Please share the logs from Output > Python.

Seems to not be able to show the logs. I haven't changed anything to do with the settings on the extension level, so not sure what could be causing that, especially since it was working totally fine earlier in the week.

You can manually go to this location:

Also try Help > toggle developer tools and share any errors reported in the console:

Python

Python Language Server

Main

If there's anything else you need the output for, just ask for it.

Click on run (repro the problem) then share the logs. You can just copy the log contents and paste them here (no need to take screen shot of the logs).

Nothing seems to change when I click run while trying to reproduce the issue. Nothing new appears in the logs at all

Could you run the Python file using the command and check the logs again?

If the logs till appear to be the same, please provide the debug logs:

Run Developer: Set log level command

Select Python -> Select Trace

Run Developer: Reload Window command

Provide the output:

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

XXX

Trying to run the program using the Command Palette throws this error:

Output for Python in Output panel:
2023-09-01 15:43:57.877 [info] Experiment 'pythonPromptNewFormatterExt' is active
2023-09-01 15:43:57.877 [info] Experiment 'pythonPromptNewToolsExt' is active
2023-09-01 15:43:57.877 [info] Test server listening.
2023-09-01 15:43:57.877 [info] Python interpreter path: ~\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 15:44:16.186 [info] Starting Pylance language server.
2023-09-01 17:01:09.311 [info] Experiment 'pythonPromptNewFormatterExt' is active
2023-09-01 17:01:09.311 [info] Experiment 'pythonPromptNewToolsExt' is active
2023-09-01 17:01:09.550 [info] Test server listening.
2023-09-01 17:01:09.551 [debug] Needed to validate C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe with latest info
2023-09-01 17:01:09.551 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:09.552 [info] Python interpreter path: ~\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:09.552 [debug] Cached data exists KeyPrefix=Cache_Method_Output_b._selectIfLaunchedViaActivatedEnv-Args=true
2023-09-01 17:01:09.552 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:09.552 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:11.643 [debug] Cached data exists KeyPrefix=Cache_Method_Output_b._selectIfLaunchedViaActivatedEnv-Args=true
2023-09-01 17:01:11.644 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:11.644 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:17.310 [debug] Extension ms-python.vscode-pylance accessed onDidChangeActiveEnvironmentPath with args: undefined
2023-09-01 17:01:17.315 [debug] Extension ms-python.vscode-pylance accessed onDidEnvironmentVariablesChange with args: undefined
2023-09-01 17:01:20.098 [info] Starting Pylance language server.
2023-09-01 17:01:20.101 [debug] Cached data exists KeyPrefix=Cache_Method_Output_b._selectIfLaunchedViaActivatedEnv-Args=true
2023-09-01 17:01:20.101 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:20.101 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:20.102 [debug] Cached data exists KeyPrefix=Cache_Method_Output_b._selectIfLaunchedViaActivatedEnv-Args=true
2023-09-01 17:01:20.102 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:20.102 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:20.105 [debug] [object Object]. Shell identified as undefined
2023-09-01 17:01:20.105 [debug] Shell path 'C:\WINDOWS\System32\cmd.exe', base path 'C:\WINDOWS\System32\cmd'
2023-09-01 17:01:20.105 [debug] Shell path identified as shell 'commandPrompt'
2023-09-01 17:01:20.105 [debug] Terminal shell path 'C:\WINDOWS\System32\cmd.exe' identified as shell 'commandPrompt'
2023-09-01 17:01:20.105 [debug] [object Object]. Shell identified as commandPrompt
2023-09-01 17:01:20.105 [debug] Shell identified as 'commandPrompt'
2023-09-01 17:01:20.113 [debug] Cached data exists KeyPrefix=Cache_Method_Output_b._selectIfLaunchedViaActivatedEnv-Args=true
2023-09-01 17:01:20.113 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:20.114 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:20.172 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:20.172 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:20.177 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:20.177 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:20.183 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:20.183 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:20.185 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:01:20.185 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:01:20.231 [debug] Extension ms-python.vscode-pylance accessed getActiveEnvironmentPath with args: undefined
2023-09-01 17:01:20.234 [debug] Extension ms-python.vscode-pylance accessed resolveEnvironment with args: {"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","path":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe"}
2023-09-01 17:01:20.237 [debug] Extension ms-python.vscode-pylance accessed getEnvironmentVariables with args: undefined
2023-09-01 17:01:20.239 [debug] Extension ms-python.vscode-pylance accessed getActiveEnvironmentPath with args: undefined
2023-09-01 17:01:20.241 [debug] Extension ms-python.vscode-pylance accessed resolveEnvironment with args: {"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","path":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe"}
2023-09-01 17:01:20.244 [debug] Extension ms-python.vscode-pylance accessed getActiveEnvironmentPath with args: undefined
2023-09-01 17:01:20.248 [debug] Extension ms-python.vscode-pylance accessed resolveEnvironment with args: {"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","path":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe"}
2023-09-01 17:01:20.251 [debug] Extension ms-python.vscode-pylance accessed getEnvironmentVariables with args: undefined
2023-09-01 17:01:20.257 [debug] Extension ms-python.vscode-pylance accessed getActiveEnvironmentPath with args: undefined
2023-09-01 17:01:20.260 [debug] Extension ms-python.vscode-pylance accessed resolveEnvironment with args: {"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","path":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe"}
2023-09-01 17:01:28.136 [debug] Clearing context for python dependencies not installed: c:\Users\khiza\OneDrive\Desktop\Python\OOP\Account.py
2023-09-01 17:02:06.585 [debug] Cached data exists KeyPrefix=Cache_Method_Output_b._selectIfLaunchedViaActivatedEnv-Args=true
2023-09-01 17:02:06.587 [debug] Clearing context for python dependencies not installed: ms-python.python.Python
2023-09-01 17:02:06.588 [debug] Found cached env for C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe
2023-09-01 17:02:06.588 [debug] Resolved C:\Users\khiza\AppData\Local\Microsoft\WindowsApps\python3.11.exe from cache: {"name":"","location":"","kind":"global-microsoft-store","executable":{"filename":"C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe","sysPrefix":"C:\\Program Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.11_3.11.1520.0_x64__qbz5n2kfra8p0","ctime":1693277362106,"mtime":1693277362106},"display":"Python 3.11.5 64-bit (microsoft store)","version":{"major":3,"minor":11,"micro":5,"release":{"level":"final","serial":0},"sysVersion":"3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)]"},"arch":3,"distro":{"org":"Microsoft"},"source":["path env var"],"id":"C:\\USERS\\KHIZA\\APPDATA\\LOCAL\\MICROSOFT\\WINDOWSAPPS\\PYTHON3.11.EXE","detailedDisplayName":"Python 3.11.5 64-bit (microsoft store)"}
2023-09-01 17:02:06.589 [debug] Cached data exists KeyPrefix=Cache_Method_Output_E.ensureEnvironmentContainsPython-Args="C:\\Users\\khiza\\AppData\\Local\\Microsoft\\WindowsApps\\python3.11.exe"-Arg-Separator-undefined

Thanks. Please also provide the developer logs as requested earlier:

Output from Console under the Developer Tools panel (toggle Developer Tools on under Help; turn on source maps to make any tracebacks be useful by running Enable source map support for extension debugging)

XXXX

Also, could you send me the following screenshot in your situation?

I want to make sure you're not using an untrusted workspace, or a virtual workspace.

In that case, try running the following command to trust the workspace first:

wait for Python extension to activate, and try running the file again.

Developer Tools Console Log:

Python Extension state:

I'm not sure what might be going on, you may have a corrupt install. Try deleting all directories starting with ms-python.python-* inside C:\Users\<username>\.vscode\extensions, starting VS Code again using code --user-data-dir temp. This ensures we start fresh.

If none of these seem to help, as a workaround please try using VS Code Insiders instead.

Deleting the extensions and reinstalling them seemed to work, so I suppose that's this issue over and done with.
Thank you so much for helping me out with this problem! I hope you have a nice day/night.

You too, glad to know it helped!


Update version: jurplel.qView version 5.0

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/115029&drop=dogfoodAlpha

@wingetbot run

@wingetbot run


Possible to change FD "threshold" in .html for QA purposes?

When opening the .html file showing visual reports of the output, the FD shows a seemingly arbitrary bar that doesn't correspond to the default .5mm threshold. For example, one subject's .html shows a FD bar at .48mm, and another shows at .41mm. It would be convenient to have this bar be constant for all subjects for quality assessment across subjects. I know that there are commands to censor volumes that are FD>.5mm, but I'm more concerned about the visual inspection aspect. Is there any way to set this to be the same (preferably .5mm) for all subjects?
Thanks!

Hi,
Good question! I don't know how is calculated this line in FMRIPREP report.
For QA purposes, you may use MRIQC where you can see stats of number of volumes above a certain FD threshold (number and percentage of volumes above a certain threshold). But there as well, there is not bar with the visual threshold visible on the reports (as far as I know, I didn't try the latest version of MRIQC). Also, there is still one unresolved issue regarding this visual inspection in MRIQC: https://github.com/poldracklab/mriqc/issues/790
I agree, it would be nice to have a visual display similar to what is done with denoiser :

Hi,
Good question! I don't know how is calculated this line in FMRIPREP report.
For QA purposes, you may use MRIQC where you can see stats of number of volumes above a certain FD threshold (number and percentage of volumes above a certain threshold). But there as well, there is not bar with the visual threshold visible on the reports (as far as I know, I didn't try the latest version of MRIQC). Also, there is still one unresolved issue regarding this visual inspection in MRIQC: https://github.com/poldracklab/mriqc/issues/790
I agree, it would be nice to have a visual display similar to what is done with denoiser :


No test in src

What's the reason that no test was included in the source?

Hey. The short answer for not having a 'test' is that I am not a proper developer - I am self-taught. I have done a lot of testing , but within a format that I am comfortable with (not standard testing framework in Java) and I think it is not in a presentable shape to be shared.
Do you have any specific suggestions of what is the best way to go on with it?

Unit tests as much as you can fit and better to a Maven file instead of uploading JARs to your github repo.

您好，您的来信已收到，我将及时阅读并回复。谢谢您！


Release: Bump Android version to 1.0.1

#443  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 9, 12:59 AM EST: A user merged this pull request with Graphite.


GraphQL: devnet fetching package function fails with internal server error

This returns expected results:
query Func2 {
object(
    address: "0x3"
  ) {
    asMovePackage {
      module(name: "sui_system") {
        function(name: "request_withdraw_stake") {
          ... TheFunction

        }
      }
    }
  }
}
fragment TheFunction on MoveFunction {
  function_name: name
  isEntry
  visibility
  typeParameters {
    constraints
  }
  returns: return {
    signature
  }
  parameters {
    signature
  }
}

This returns internal server error
query Func {
object(
    address: "0x6681d8833d65a55f4b74de43f0f7f92f68eb1f96dbbc8eee4024bfa19ebf03ad"
  ) {
    asMovePackage {
      module(name: "parms") {
        function(name: "check_uints") {
          ... TheFunction

        }
      }
    }
  }
}
fragment TheFunction on MoveFunction {
  function_name: name
  isEntry
  visibility
  typeParameters {
    constraints
  }
  returns: return {
    signature
  }
  parameters {
    signature
  }
}

{
  "data": {
    "object": {
      "asMovePackage": null
    }
  },
  "errors": [
    {
      "message": "Internal error occurred while processing request: Error reading package: VMError with status UNKNOWN_VERSION at location UNDEFINED",
      "locations": [
        {
          "line": 6,
          "column": 7
        }
      ],
      "path": [
        "object",
        "asMovePackage",
        "module"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR"
      }
    }
  ]
}

Thanks for the report @FrankC01

Changing just to the original devnet URL this appears to be fixed

Yes, this issue is specific to trying to use the legacy GraphQL with packages from a newer version of the network. Once we change our versioning and release model (9th September, v1.33), this problem will be resolved.

This has now been addressed as part of the 1.33 release, thanks again for the report Frank!


ValueError: invalid literal for int() with base 10: 'Traceback (most recent call last):\n  File "/home/resistance/miniconda3/envs/pharokkaENV/bin/phanotate

pharokka version: 1.6.1
Python version: 3.10.13
Operating System: WSL Ubunutu 22.0403 LTS

Description
I am trying to do annotation for an assembled phage contig (single contig), runing the pharokka in pharokkaENV, installed with conda previously. I tried with/without -g prodigal, keep getting the same issue.
code I use
pharokka.py -g prodigal -d ~/phage_db -o ~/Data/annotation/test -f -i KSY1_b4_phage_contigs.fasta
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.
```Traceback (most recent call last):
  File "/home/resistance/miniconda3/envs/pharokkaENV/bin/pharokka.py", line 499, in <module>
    main()
  File "/home/resistance/miniconda3/envs/pharokkaENV/bin/pharokka.py", line 143, in main
    ) = check_dependencies(args.skip_mash)
  File "/home/resistance/miniconda3/envs/pharokkaENV/bin/input_commands.py", line 375, in check_dependencies
    phanotate_major_version = int(phanotate_version.split(".")[0])
ValueError: invalid literal for int() with base 10: 'Traceback (most recent call last):\n  File "/home/resistance/miniconda3/envs/pharokkaENV/bin/phanotate

Hi @yzhong005 ,
What is your version of Phanotate? e.g. trying phantotate.py -V
I suspect may be 1.6.4.
If so, please downgrade to 1.5.1 e.g.
mamba install phanotate==1.5.1
Someone put v1.6.4 on conda last week and it caused a lot of grief - I fixed the problem, but maybe you have 1.6.4 installed.
George

Hi @gbouras13 Thank you so much for your fast reply!
I tried ```phantotate.py -V
showing error:
  File "/home/resistance/miniconda3/envs/pharokkaENV/bin/phanotate.py", line 18, in <module>
    args = file_handling.get_args()
TypeError: get_args() missing 1 required positional argument: 'File'

###I also install phanotate with mamba

```mamba install phanotate==1.5.1
###look like everything is fine, but still get the same error when i try to check the version of phanotate

Interesting - I am not sure what the issue is (though it is related to Phanotate I think!)
To be honest @yzhong005 , I would try a fresh install in a new environment (you won't have to redownload the database)
mamba create -n pharokkaENVnew pharokka
conda activate pharokkaENVnew

And try that out. If that doesn't work let me know!
George

@gbouras13 Thank you so much!
Unfortunately, I have re create the environment serval times, that why I put my database separately :( to avoid redownload. I re create the ENV just two minutes ago, still
Traceback (most recent call last):
  File "/home/resistance/miniconda3/envs/pharokkaENV/bin/phanotate.py", line 18, in <module>
    args = file_handling.get_args()
TypeError: get_args() missing 1 required positional argument: 'File'

##Also, I use the -g prodigal, which supposedly should skip the phanotate :(...

I will try and re-create the bug (there's some error with Phanotate!) - for now I would suggest going to
/home/resistance/miniconda3/envs/pharokkaENV/bin/input_commands.py
And manually removing
    #############
    # phanotate
    #############
    try:
        process = sp.Popen(
            ["phanotate.py", "--version"], stdout=sp.PIPE, stderr=sp.STDOUT
        )
    except:
        logger.error("Phanotate not found. Please reinstall pharokka.")
    phan_out, _ = process.communicate()
    phanotate_version = phan_out.decode().strip()
    phanotate_major_version = int(phanotate_version.split(".")[0])
    phanotate_minor_version = int(phanotate_version.split(".")[1])
    phanotate_minorest_version = phanotate_version.split(".")[2]

    logger.info(
        f"Phanotate version found is v{phanotate_major_version}.{phanotate_minor_version}.{phanotate_minorest_version}"
    )

    if phanotate_major_version < 1:
        logger.error("Phanotate is too old - please reinstall pharokka.")
    if phanotate_minor_version < 5:
        logger.error("Phanotate is too old - please reinstall pharokka.")

    logger.info("Phanotate version is ok.")

@gbouras13 Thank you so much!
Fantastic! It works now! Even though don't know what happened to phanotate caused the error, I guess when the error fixed, I can retry with the new phanotate in the future.
Thank you again!