Error messages running DEMETER2

Dear Sir/Madam,
While attempting to run DEMETER2 on our shRNA data, I have encountered the following error:
Eliminating 0 promiscuous hairpins
Traceback (most recent call last):
File "/demeter2/modules/fit_demeter2.py", line 161, in
data = preprocess.make_demeter2_data(dsets, sh_targets)
File "/demeter2/modules/preprocess.py", line 83, in make_demeter2_data
target_df = target_df[~target_df['Gene_ID'].str.contains('NO_CURRENT')]
File "/opt/conda/lib/python3.5/site-packages/pandas/core/generic.py", line 2966, in getattr
return object.getattribute(self, name)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/base.py", line 243, in get
return self.construct_accessor(instance)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/strings.py", line 1909, in make_str_accessor
raise AttributeError("Can only use .str accessor with string "
AttributeError: Can only use .str accessor with string values, which use np.object dtype in pandas
Please, advise on how to solve this issue.
Thank you very much.
Sincerely,
Anna Dvorkin-Gheva

Hi Anna,
I suspect that the problem is with the shRNA-to-gene mapping file you're using. The Gene_ID column needs to be a string. Perhaps you're mapping file has all numeric IDs without any non-numeric characters, so it's getting cast as a numeric type. If you don't have any non-targeting shRNAs (which we gave the geneID 'NO_CURRENT') you might just add a line in the code to force gene_ID column to be a string.
Hope that helps!

Dear Dr. McFarland,
Thank you very much for your quick answer!
Yes, I have no "NO_CURRENT" gene IDs. This explains the problem with the string...
I apologize for the next question, but can you, please, provide more details on how to add a line to the code to force this column to be a string?
Or would it help if I enclose all the numeric IDs in that column in " or ' ?
Thank you very much!
Regards,
Anna

Hi Anna,
As a work-around, you might be able to just add a fake shRNA with
NO_CURRENT as the gene_ID (might need to be the right number of
nucleotides, but just a random sequence). This shouldn't affect the
end-results, but I think would trigger it to treat that column as a string.
Otherwise, you should be able to insert a line to cast this column as a
string, see e.g.
https://stackoverflow.com/questions/22005911/convert-columns-to-string-in-pandas
Best,
James
On Mon, Jun 15, 2020 at 11:03 AM ADvorkinGheva<EMAIL_ADDRESS>wrote:

Dear Dr. McFarland,
Thank you very much for your quick answer!
Yes, I have no "NO_CURRENT" gene IDs. This explains the problem with the
string...
I apologize for the next question, but can you, please, provide more
details on how to add a line to the code to force this column to be a
string?
Or would it help if I enclose all the numeric IDs in that column in " or '
?
Thank you very much!
Regards,
Anna
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cancerdatasci/demeter2/issues/2#issuecomment-644190059,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPPU3FZG46YAUHWRFMTSJLRWYZ4LANCNFSM4N6H43UQ
.

Hi James,
Thank you very much for the advice. I have inserted a fake shRNA (I verified that its sequence does not appear as a real shRNA). I was not sure whether I should just add it to the targets file or to the data file as well. Since I didn't want to introduce fake data, I first tried to add the fake shRNA only to the targets file. Running DEMETER2 led to the following error message:
Loading dataset from: /data/All_files_T2-to-T0_FC_forDEMETER2.csv
Read 1 data files
Loading positive/negative control sets
Using 589 positive and 927 negative control genes for training
Making processed data
Eliminating 0 promiscuous hairpins
Eliminated 0/78432 non-targeting hairpins from map
Identified 0 gene families
Creating dataset with:
78204 hairpins
27 CLs
15982 genes
14985 seeds
Initializing model
2020-06-16 03:41:42.342879: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:41:42.342940: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:41:42.342950: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:41:42.342964: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:41:42.342974: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
Model initialized
Traceback (most recent call last):
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py", line 2393, in get_loc
return self._engine.get_loc(key)
File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20359)
KeyError: 'index'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/demeter2/modules/fit_demeter2.py", line 227, in
mod.init_slopes(data['LFC_mats'])
File "/demeter2/modules/demeter2.py", line 692, in init_slopes
cur_d = cur_d.reset_index().drop_duplicates(subset='index', keep='last').set_index('index')
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 3196, in drop_duplicates
duplicated = self.duplicated(subset, keep=keep)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 3242, in duplicated
labels, shape = map(list, zip(*map(f, vals)))
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 3241, in
vals = (self[col].values for col in subset)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 2062, in getitem
return self._getitem_column(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 2069, in _getitem_column
return self._get_item_cache(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/generic.py", line 1534, in _get_item_cache
values = self._data.get(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/internals.py", line 3590, in get
loc = self.items.get_loc(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py", line 2395, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20359)
KeyError: 'index'
Exception ignored in: <bound method BaseSession.del of <tensorflow.python.client.session.Session object at 0x7f9a0e14bf98>>
Traceback (most recent call last):
File "/opt/conda/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 595, in del
TypeError: 'NoneType' object is not callable
Then I added fake shRNA data to the data file as well and ran it again. I received the following error message:
Loading dataset from: /data/All_files_T2-to-T0_FC_forDEMETER2_lastArtificial.csv
Read 1 data files
Loading positive/negative control sets
Using 589 positive and 927 negative control genes for training
Making processed data
Eliminating 0 promiscuous hairpins
Eliminated 1/78433 non-targeting hairpins from map
Identified 0 gene families
Creating dataset with:
78205 hairpins
27 CLs
15982 genes
14986 seeds
Initializing model
2020-06-16 03:45:05.231831: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:45:05.231864: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:45:05.231874: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:45:05.231887: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2020-06-16 03:45:05.231900: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
Model initialized
Traceback (most recent call last):
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py", line 2393, in get_loc
return self._engine.get_loc(key)
File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20359)
KeyError: 'index'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/demeter2/modules/fit_demeter2.py", line 227, in
mod.init_slopes(data['LFC_mats'])
File "/demeter2/modules/demeter2.py", line 692, in init_slopes
cur_d = cur_d.reset_index().drop_duplicates(subset='index', keep='last').set_index('index')
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 3196, in drop_duplicates
duplicated = self.duplicated(subset, keep=keep)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 3242, in duplicated
labels, shape = map(list, zip(*map(f, vals)))
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 3241, in
vals = (self[col].values for col in subset)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 2062, in getitem
return self._getitem_column(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line 2069, in _getitem_column
return self._get_item_cache(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/generic.py", line 1534, in _get_item_cache
values = self._data.get(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/internals.py", line 3590, in get
loc = self.items.get_loc(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py", line 2395, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in pandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20359)
KeyError: 'index'
Can you, please, help me to understand what to do to solve this? Is it due to the complications created because of the fake shRNA? If it is, I will try to insert a line to cast this column as string in the fit_demeter2.py file. Please, let me know if I'm supposed to do it in another file, not this one.
Thank you very much for all your help!
Regards,
Anna

Hi Anna,
Hmm, I'm not sure. There might be another issue. I wish I could take a look
directly, but don't have time at the moment.
One other thing I'd suggest to try, is to insert this line:
sh_targets['Gene_ID'] = sh_targets['Gene_ID'].astype(str)
in the fit_demeter2.py file on line 130. That should force Gene_ID to be a
string. THen you wouldn't have to add the fake shRNA to your mapping file
which might create it's own issues.
Hope that helps, and again sorry I can't be more helpful directly right now.
On Tue, Jun 16, 2020 at 11:44 AM ADvorkinGheva<EMAIL_ADDRESS>wrote:

Hi James,
Thank you very much for the advice. I have inserted a fake shRNA (I
verified that its sequence does not appear as a real shRNA). I was not sure
whether I should just add it to the targets file or to the data file as
well. Since I didn't want to introduce fake data, I first tried to add the
fake shRNA only to the targets file. Running DEMETER2 led to the following
error message:
Loading dataset from: /data/All_files_T2-to-T0_FC_forDEMETER2.csv
Read 1 data files
Loading positive/negative control sets
Using 589 positive and 927 negative control genes for training
Making processed data
Eliminating 0 promiscuous hairpins
Eliminated 0/78432 non-targeting hairpins from map
Identified 0 gene families
Creating dataset with:
78204 hairpins
27 CLs
15982 genes
14985 seeds
Initializing model
2020-06-16 03:41:42.342879: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use SSE4.1 instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:41:42.342940: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use SSE4.2 instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:41:42.342950: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use AVX instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:41:42.342964: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use AVX2 instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:41:42.342974: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use FMA instructions, but these are available on your
machine and could speed up CPU computations.
Model initialized
Traceback (most recent call last):
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py",
line 2393, in get_loc
return self._engine.get_loc(key)
File "pandas/_libs/index.pyx", line 132, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20359)
KeyError: 'index'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/demeter2/modules/fit_demeter2.py", line 227, in
mod.init_slopes(data['LFC_mats'])
File "/demeter2/modules/demeter2.py", line 692, in init_slopes
cur_d = cur_d.reset_index().drop_duplicates(subset='index',
keep='last').set_index('index')
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
3196, in drop_duplicates
duplicated = self.duplicated(subset, keep=keep)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
3242, in duplicated
labels, shape = map(list, zip(*map(f, vals)))
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
3241, in
vals = (self[col].values for col in subset)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
2062, in getitem
return self._getitem_column(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
2069, in _getitem_column
return self._get_item_cache(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/generic.py", line
1534, in _get_item_cache
values = self._data.get(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/internals.py",
line 3590, in get
loc = self.items.get_loc(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py",
line 2395, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 132, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20359)
KeyError: 'index'
Exception ignored in: <bound method BaseSession.del of
<tensorflow.python.client.session.Session object at 0x7f9a0e14bf98>>
Traceback (most recent call last):
File
"/opt/conda/lib/python3.5/site-packages/tensorflow/python/client/session.py",
line 595, in del
TypeError: 'NoneType' object is not callable
Then I added fake shRNA data to the data file as well and ran it again. I
received the following error message:
Loading dataset from:
/data/All_files_T2-to-T0_FC_forDEMETER2_lastArtificial.csv
Read 1 data files
Loading positive/negative control sets
Using 589 positive and 927 negative control genes for training
Making processed data
Eliminating 0 promiscuous hairpins
Eliminated 1/78433 non-targeting hairpins from map
Identified 0 gene families
Creating dataset with:
78205 hairpins
27 CLs
15982 genes
14986 seeds
Initializing model
2020-06-16 03:45:05.231831: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use SSE4.1 instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:45:05.231864: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use SSE4.2 instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:45:05.231874: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use AVX instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:45:05.231887: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use AVX2 instructions, but these are available on your
machine and could speed up CPU computations.
2020-06-16 03:45:05.231900: W
tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use FMA instructions, but these are available on your
machine and could speed up CPU computations.
Model initialized
Traceback (most recent call last):
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py",
line 2393, in get_loc
return self._engine.get_loc(key)
File "pandas/_libs/index.pyx", line 132, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20359)
KeyError: 'index'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/demeter2/modules/fit_demeter2.py", line 227, in
mod.init_slopes(data['LFC_mats'])
File "/demeter2/modules/demeter2.py", line 692, in init_slopes
cur_d = cur_d.reset_index().drop_duplicates(subset='index',
keep='last').set_index('index')
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
3196, in drop_duplicates
duplicated = self.duplicated(subset, keep=keep)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
3242, in duplicated
labels, shape = map(list, zip(*map(f, vals)))
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
3241, in
vals = (self[col].values for col in subset)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
2062, in getitem
return self._getitem_column(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/frame.py", line
2069, in _getitem_column
return self._get_item_cache(key)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/generic.py", line
1534, in _get_item_cache
values = self._data.get(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/internals.py",
line 3590, in get
loc = self.items.get_loc(item)
File "/opt/conda/lib/python3.5/site-packages/pandas/core/indexes/base.py",
line 2395, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 132, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5239)
File "pandas/_libs/index.pyx", line 154, in
pandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5085)
File "pandas/_libs/hashtable_class_helper.pxi", line 1207, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20405)
File "pandas/_libs/hashtable_class_helper.pxi", line 1215, in
pandas._libs.hashtable.PyObjectHashTable.get_item
(pandas/_libs/hashtable.c:20359)
KeyError: 'index'
Can you, please, help me to understand what to do to solve this? Is it due
to the complications created because of the fake shRNA? If it is, I will
try to insert a line to cast this column as string in the fit_demeter2.py
file. Please, let me know if I'm supposed to do it in another file, not
this one.
Thank you very much for all your help!
Regards,
Anna
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cancerdatasci/demeter2/issues/2#issuecomment-644846871,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPPU3EDS6BUF4FGN7ZVTQDRW6HM3ANCNFSM4N6H43UQ
.

Hi James,
Thank you very much for the advice. I have added the code you suggested to the fit_demeter2.py file, but unfortunately, I still get the same error after running it.
I understand that you are currently very busy; therefore, I was wondering if it would be possible for you to look at it in the future when you have time?
Please, let me know, so I would know if I should wait.
In case you will be able to look at this issue in the future, I have saved the exact error message and I will be able to provide it.
Thank you very much for your explanations and for all your help!
Regards,
Anna

Hi James,
How are you?
I apologize for writing to you again, but we were really hoping to be able to use DEMETER2 on our data. You mentioned that you didn't have time to check the issue I was having, and I was wondering if you could let me know if that had changed or if there was anyone else I could ask about that bug?
Thank you very much for all your help!
I apologize for bothering you with this.
Regards,
Anna

Hi Anna,
Thanks for checking in again. I still don't have the time to really dig
into this, and I don't think there's anyone else who'd be able to work on
this now either.
So, I might recommend looking into an alternative strategy. Indeed, the
advantages of using DEMETER2 really depend on having a significant number
of cell lines screened with the same library, so if your data is only for a
smallish number of cell lines (e.g. < 25) it might make sense to try using
a simpler method that doesn't try to learn the seed-sequence specific
effects explicitly. (e.g. RIGER, RSA).
If you think DEMETER2 will be particularly well suited to your
application I can try to take a quick look at the issue, but can't make any
promises (and I wouldn't want to hold you up anymore). Let me know if you'd
like to pursue this and I can send some thoughts on next steps.
Thanks,
James
On Mon, Aug 24, 2020 at 1:34 PM ADvorkinGheva<EMAIL_ADDRESS>wrote:

Hi James,
How are you?
I apologize for writing to you again, but we were really hoping to be able
to use DEMETER2 on our data. You mentioned that you didn't have time to
check the issue I was having, and I was wondering if you could let me know
if that had changed or if there was anyone else I could ask about that bug?
Thank you very much for all your help!
I apologize for bothering you with this.
Regards,
Anna
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cancerdatasci/demeter2/issues/2#issuecomment-679265882,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPPU3ENFO3O2XKZ7S6NWMDSCKQAZANCNFSM4N6H43UQ
.

Hi James,
Thank you very much for your quick reply and for the advice!
Our case seems to be borderline - we have 27 cell lines... The reason we became interested in DEMETER2 originally was that we were planning to compare the results we were going to get from our shRNA screens to the data presented in DepMap, and we wanted to use the same method. In addition, we were also very impressed by the strengths of DEMETER2.
I understand that you are very busy and I do not want to take much of your time, so I was wondering if it would be ok if we try to pursue this by following your thoughts for the next few steps, and if these steps do not solve the problems, we will move to a method alternative to DEMETER2.
Please, let me know if it is ok with you.
Thank you very much with your help!
Regards,
Anna

Hi Anna,
I see. That indeed may be borderline. You may need to do some optimization
of the hyperparameters, which were tuned to application of the model to
hundreds of screens. I haven't tested it in that regime so I don't know.
In terms of next steps:
-Can you get the method to work on the published data?
-If so, can you send me your shRNA mapping file and a piece of your data
(just enough so I can check if there are formatting issues)?
On Mon, Aug 24, 2020 at 9:55 PM ADvorkinGheva<EMAIL_ADDRESS>wrote:

Hi James,
Thank you very much for your quick reply and for the advice!
Our case seems to be borderline - we have 27 cell lines... The reason we
became interested in DEMETER2 originally was that we were planning to
compare the results we were going to get from our shRNA screens to the data
presented in DepMap, and we wanted to use the same method. In addition, we
were also very impressed by the strengths of DEMETER2.
I understand that you are very busy and I do not want to take much of your
time, so I was wondering if it would be ok if we try to pursue this by
following your thoughts for the next few steps, and if these steps do not
solve the problems, we will move to a method alternative to DEMETER2.
Please, let me know if it is ok with you.
Thank you very much with your help!
Regards,
Anna
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cancerdatasci/demeter2/issues/2#issuecomment-679455918,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPPU3E2EX5KAV2HWVM57T3SCMKYBANCNFSM4N6H43UQ
.

Hi James,
Thank you very much for the advice and for offering to check the formatting of our data! I will try to get and run DEMETER2 on some published data to see that it runs. I will let you know how it goes, and then, depending on the outcome, we will see if any additional steps (like checking the formatting) are required.
Regards,
Anna

Hi James,
I've ran DEMETER2 on Marcotte's data I've downloaded and it runs without any errors. Following this, I understand that the problem is with formatting most probably. I have been trying to compare the file formats and used the same template for formatting my data files (unix (LF), UTF-8) etc. I searched for hidden symbols using Notepad++, but there were none.
Unfortunately, I'm still getting error messages (I'm including the loading information, but I've removed the warnings):
Read 1 data files
Loading positive/negative control sets
Using 589 positive and 904 negative control genes for training
Making processed data
Eliminating 0 promiscuous hairpins
Eliminated 2474/78432 non-targeting hairpins from map
Identified 0 gene families
Creating dataset with:
78204 hairpins
27 CLs
15466 genes
14985 seeds
Initializing model
... (warning messages)
Traceback (most recent call last):
File "/demeter2/modules/fit_demeter2.py", line 221, in
optim_params = optim_params, test_inds = test_inds, log_file = log_file)
File "/demeter2/modules/demeter2.py", line 205, in init
LFC_mats, gene_matrix, data_names['hps'], data_names['CLs'], data_names['genes'])
File "/demeter2/modules/demeter2.py", line 106, in compute_hairpins_per_gene_CL
cur_hps_per_gene = sparse_mat[cur_hp_set,:].transpose().dot(~np.isnan(LFC_mat))
TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
Please, let me know if these messages tell you which changes I should introduce to the files I'm using or if you would like to see a part of each of the files I'm using so you'll be able to see the reason for the errors, if it doesn't take too much of your time).
Thank you very much, I greatly appreciate all your help!
Regards,
Anna

Hi Anna,
I suspect it is something to do with formatting, or maybe some edge case
that occurs in your data which hadn't come up in the datasets we'd used.
It looks like the error you're getting now is different than before. Is
that right? Did you change anything on your end?
If you can send post chunks of the data you're using I can take a look.
Thanks,
James
On Sun, Aug 30, 2020 at 11:12 PM ADvorkinGheva<EMAIL_ADDRESS>wrote:

Hi James,
I've ran DEMETER2 on Marcotte's data I've downloaded and it runs without
any errors. Following this, I understand that the problem is with
formatting most probably. I have been trying to compare the file formats
and used the same template for formatting my data files (unix (LF), UTF-8)
etc. I searched for hidden symbols using Notepad++, but there were none.
Unfortunately, I'm still getting error messages (I'm including the loading
information, but I've removed the warnings):
Read 1 data files
Loading positive/negative control sets
Using 589 positive and 904 negative control genes for training
Making processed data
Eliminating 0 promiscuous hairpins
Eliminated 2474/78432 non-targeting hairpins from map
Identified 0 gene families
Creating dataset with:
78204 hairpins
27 CLs
15466 genes
14985 seeds
Initializing model
... (warning messages)
Traceback (most recent call last):
File "/demeter2/modules/fit_demeter2.py", line 221, in
optim_params = optim_params, test_inds = test_inds, log_file = log_file)
File "/demeter2/modules/demeter2.py", line 205, in init
LFC_mats, gene_matrix, data_names['hps'], data_names['CLs'],
data_names['genes'])
File "/demeter2/modules/demeter2.py", line 106, in
compute_hairpins_per_gene_CL
cur_hps_per_gene =
sparse_mat[cur_hp_set,:].transpose().dot(~np.isnan(LFC_mat))
TypeError: ufunc 'isnan' not supported for the input types, and the inputs
could not be safely coerced to any supported types according to the casting
rule ''safe''
Please, let me know if these messages tell you which changes I should
introduce to the files I'm using or if you would like to see a part of each
of the files I'm using so you'll be able to see the reason for the errors,
if it doesn't take too much of your time).
Thank you very much, I greatly appreciate all your help!
Regards,
Anna
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cancerdatasci/demeter2/issues/2#issuecomment-683527041,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPPU3BWTFC2WMJM65FTIDDSDMIJRANCNFSM4N6H43UQ
.

Hi James,
Yes, the error is different now. It has changed after I changed the formatting, trying to get the files to be formatted in the exactly same way as the Marcotte's files, which ran well.
Thank you very much for offering to look at my files. I will select some chunks from each of the files for you to look at. Would that be ok with you if I email them to you instead of posting them here? If yes, please, let me know your email.
Thank you very much!
Regards,
Anna

Hi Anna,
Sure, please contact me directly at<EMAIL_ADDRESS>On Fri, Sep 4, 2020 at 8:38 PM ADvorkinGheva<EMAIL_ADDRESS>wrote:

Hi James,
Yes, the error is different now. It has changed after I changed the
formatting, trying to get the files to be formatted in the exactly same way
as the Marcotte's files, which ran well.
Thank you very much for offering to look at my files. I will select some
chunks from each of the files for you to look at. Would that be ok with you
if I email them to you instead of posting them here? If yes, please, let me
know your email.
Thank you very much!
Regards,
Anna
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cancerdatasci/demeter2/issues/2#issuecomment-687493628,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPPU3E5BA2OU6VZDTBMA4LSEGB7LANCNFSM4N6H43UQ
.

Hi James,
Thank you very much for all your help and advice. I haven't sent you the example yet, because I encountered varying issues when trying to extract a subset from the file to send you as an example of the format. Every time I would get different error messages. I have thought of first resolving this issue, so any remaining issues will be related to the original issue of formatting I had. Once I replicate the error messages in the example, I will be able to send it to you. Thank you very much for your kind offer of help.
Thank you!
Regards,
Anna


5.4 dashboard shows additional builds - 5.5.0-dev, 5.2.10, 5.2.11

https://argus.scylladb.com/dashboard/scylla-5.4 shows:

@k0machi ? @roydahan ? any explanation?

@k0machi ? @roydahan ? any explanation?

Most likely rolling upgrade runs

@k0machi there is a usability issue that we can’t easily find which are the “offending” runs.
In theory we shouldn’t have some of the above there and I wanted to check where they came from but couldn’t.
we need a way to include/exclude runs that have “No version”.
By default it can be always on, so one wouldn’t miss failures like we had in the past.

Can add a checkbox for that if you want to have "No Version" always included

In a way, what I'd be looking to filter is also 'latest runs which were not investigated' - so I don't care that much if something was run on 2024.1-rc1 or -rc2 - if the latest run was not investigated, that would be a useful filter for me.

Can add a checkbox for that if you want to have "No Version" always included

Let's start with that, sounds quick and easy enough.
The use case of releasing a RC and/or patch release is where you need it the most.
For filtering of all "not investigated" runs, which is a different use case, I think I have an idea, but I'll take it in another place.

Okay, so if I understand correctly the original issue, there should be a way to hide versions that are not "latest", i.e. ones currently visible on the Dashboard view? For example, if 5.2.10 happened long time ago on that screenshot and is currently like run #9 out of 80 that already happened, then it should be hidden, is that correct?
@mykaul

@k0machi lets discuss this.
There are several use cases here and I'm not sure what would be the best solution.


Mostly various cleanups and more tests + GCPs helpers

Closes #52
maybe addresses #51
Add GeoBox.compat to convert to datacube version of GeoBox
In reproject use nan as fill value for float32 outputs if output nodata is not configured

fixes boundary effects when plotting float32 input on a map

In colorize handle nodata values properly for non float inputs

fixes boundary effects when plotting non-float inputs on a map

In colorize drop nodata attribute on the output array
In geobox display support non-epsg authority codes like ESRI
Better Dask support for GeoBox, CRS and GeoBoxTiles classes (fixes hashing)
Add GCP extraction utilities
Add Geometry[Point] -> XY[float] conversion
Deprecated Geometry.__iter__ interface to follow shapely deprecation of that

@RichardScottOZ would you be able to check if this fixes your colorize workflow with custom colormap and Dask?

Kirill, will have a look in the next few days.


Remove unused import

This PR changes (delete as applicable)

Nothing, it's a bug fix

Describe the changes below:

Why now
On Wednesday, March 28, 2018, kvnndr0<EMAIL_ADDRESS>wrote:

@kvnndr0 requested changes on this pull request.
Rss
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/photonstorm/phaser/pull/3467#pullrequestreview-107826957,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AkB2itCK81RiIlswa6o_KulYhAskbLiDks5ti-sjgaJpZM4S_OfM
.


Remove submodules

Use a Cocoapods as dependencies and fetch them for the test Examples project

closing issue because of lack of activity, reopen if needed


Html code appeared in reverse word functionality in webapp

when delete text after input something, above html codes are appeared in output.

Fixed https://github.com/Ezhil-Language-Foundation/open-tamil/commit/da88828e90930782e7c4576bdb6faf10fd3e2320 https://github.com/Ezhil-Language-Foundation/open-tamil/commit/72fc451458d998b2ce3deaaa295074dbae2ec57d

So nifty! Nice work.


Samples (python/60.slack-adapter) fails due to providing the set of arguments in the SlackAdapterOptions instance

Context
For more information, see the parent issue. #3436.
Sample information

Sample type: Samples
Sample language: python
Sample name: 60.slack-adapter

Describe the bug
While testing these bots, we found out that it fails due to providing the set of arguments in the SlackAdapterOptions instance.
Here's a list of all the cases we found

Bots
Status

python/60.slack-adapter
• Fails due to, providing the set of arguments in the SlackAdapterOptions instance.• By replacing the SlackAdapterOptions in favor of SlackClientOptions which is the one that the SlackClient instance uses, solved the issue.

Expected behavior
Bots work out the box using the provided deployment templates and configuration.
Actual behavior
Fails due to providing the set of arguments in the SlackAdapterOptions instance.

The specified Python sample, slack-adapter, no longer exists. The appropriate repository for this functionality appears to be the BotBuilderCommunity. Therefore, we are closing this issue.


correcting the problem which is mentioned in #629

aws
Status

bugfix

Description
This patch add a processing to get values which are defined in top-level on the configuration.
In the past, the top-level parameters on the configuration (like aws_access_* and region) have never been referred. Instead, other params which are specified under the setup dictionary have been done.
This patch corrects to get these configuration parameters in the following order.

from the datastore
from configuration that is under the dictionary which is specified in prefix argument.
from configuration that is under the setup directory for backwards compatibility.

This way enables to refer params which is define in arbitrary place as well as have backwards compatibility using the same interface.
Thank you.
Checklist (tick everything that applies)

[x] Metadata: pack.yaml, icon, structure (required for new packs)
[x] Version bump (required for changed packs)
[x] Code linting (required, can be done after the PR checks)
[x] Tests (not required but really recommended)

I've finished this work. Could you please merge this?

@userlocalhost2000 thank you, this is a great contribution! Sorry I couldn't review earlier. Merging.


load mesh from .ply file with custom format

Hi @marcomusy,
I want to load a custom .ply file with different properties and elements structured in the following format:
File: map_mesh.ply
Description:
ply
format binary_little_endian 1.0
comment generated by omnimap
element vertex 3786298
property float x
property float y
property float z
property float nx
property float ny
property float nz
property float radiance_blue
property float radiance_green
property float radiance_red
property float irradiance_blue
property float irradiance_green
property float irradiance_red
property float irradiance_lamp_0_blue
property float irradiance_lamp_0_green
property float irradiance_lamp_0_red
property float irradiance_lamp_1_blue
property float irradiance_lamp_1_green
property float irradiance_lamp_1_red
property float irradiance_lamp_2_blue
property float irradiance_lamp_2_green
property float irradiance_lamp_2_red
property float irradiance_lamp_3_blue
property float irradiance_lamp_3_green
property float irradiance_lamp_3_red
property float irradiance_lamp_4_blue
property float irradiance_lamp_4_green
property float irradiance_lamp_4_red
property float irradiance_lamp_5_blue
property float irradiance_lamp_5_green
property float irradiance_lamp_5_red
property float reflectance_blue
property float reflectance_green
property float reflectance_red
element face 7570727
property list uchar uint vertex_indices
element lamp 6
property list uint uint vertex_indices
end_header

Do you think it would be possible to do that with vedo. I've tried to use the following command mesh = vedo.Mesh('./map_mesh.ply') but it seems that my created mesh variable to be empty.
You can access the .ply file from this tarball (apologies for the big size)

Hi @ttsesm the only thing wich seems to work is plyfile
pip install plyfile
from plyfile import PlyData
plydata = PlyData.read('map_mesh.ply')
print(plydata)
print(plydata.elements)
print(plydata.elements[0].data['radiance_blue'])
print(len(plydata.elements[0].data['radiance_blue']))
print(plydata['vertex'])
print(plydata['face'].data['vertex_indices'])

Output:
(PlyElement('vertex', (PlyProperty('x', 'float'), PlyProperty('y', 'float'), PlyProperty('z', 'float'), PlyProperty('nx', 'float'), PlyProperty('ny', 'float'), PlyProperty('nz', 'float'), PlyProperty('radiance_blue', 'float'), PlyProperty('radiance_green', 'float'), PlyProperty('radiance_red', 'float'), PlyProperty('irradiance_blue', 'float'), PlyProperty('irradiance_green', 'float'), PlyProperty('irradiance_red', 'float'), PlyProperty('irradiance_lamp_0_blue', 'float'), PlyProperty('irradiance_lamp_0_green', 'float'), PlyProperty('irradiance_lamp_0_red', 'float'), PlyProperty('irradiance_lamp_1_blue', 'float'), PlyProperty('irradiance_lamp_1_green', 'float'), PlyProperty('irradiance_lamp_1_red', 'float'), PlyProperty('irradiance_lamp_2_blue', 'float'), PlyProperty('irradiance_lamp_2_green', 'float'), PlyProperty('irradiance_lamp_2_red', 'float'), PlyProperty('irradiance_lamp_3_blue', 'float'), PlyProperty('irradiance_lamp_3_green', 'float'), PlyProperty('irradiance_lamp_3_red', 'float'), PlyProperty('irradiance_lamp_4_blue', 'float'), PlyProperty('irradiance_lamp_4_green', 'float'), PlyProperty('irradiance_lamp_4_red', 'float'), PlyProperty('irradiance_lamp_5_blue', 'float'), PlyProperty('irradiance_lamp_5_green', 'float'), PlyProperty('irradiance_lamp_5_red', 'float'), PlyProperty('reflectance_blue', 'float'), PlyProperty('reflectance_green', 'float'), PlyProperty('reflectance_red', 'float')), count=3786298, comments=[]), PlyElement('face', (PlyListProperty('vertex_indices', 'uchar', 'uint'),), count=7570727, comments=[]), PlyElement('lamp', (PlyListProperty('vertex_indices', 'uint', 'uint'),), count=6, comments=[]))
[12.588509 12.497231 12.510437 ... 10.479129 10.484828       nan]
3786298
element vertex 3786298
property float x
property float y
property float z
property float nx
property float ny
property float nz
property float radiance_blue
property float radiance_green
property float radiance_red
property float irradiance_blue
property float irradiance_green
property float irradiance_red
property float irradiance_lamp_0_blue
property float irradiance_lamp_0_green
property float irradiance_lamp_0_red
property float irradiance_lamp_1_blue
property float irradiance_lamp_1_green
property float irradiance_lamp_1_red
property float irradiance_lamp_2_blue
property float irradiance_lamp_2_green
property float irradiance_lamp_2_red
property float irradiance_lamp_3_blue
property float irradiance_lamp_3_green
property float irradiance_lamp_3_red
property float irradiance_lamp_4_blue
property float irradiance_lamp_4_green
property float irradiance_lamp_4_red
property float irradiance_lamp_5_blue
property float irradiance_lamp_5_green
property float irradiance_lamp_5_red
property float reflectance_blue
property float reflectance_green
property float reflectance_red
[array([788, 772, 771], dtype=uint32) array([788, 771, 787], dtype=uint32)
 array([773, 772, 789], dtype=uint32) ...
 array([1422788, 1422789, 1422961], dtype=uint32)
 array([1422961, 1422789, 1422770], dtype=uint32)
 array([1422789, 1422769, 1422770], dtype=uint32)]

You can extract vertices and faces from it, along with any property array, and feed vedo with them:
from vedo import Mesh, show
m = Mesh([verts, faces])
m.addPointArray(radiance_blue_array, 'radiance_blue')
show(m)

Note that there are Nones in the numpy arrays so you must take care of that I guess.

thanks @marcomusy, yup plyfile seems to work but it is quite slow. pyntcloud is a bit faster and seems also to be able to load the data but it is structuring them a bit strange, e.g. I couldn't find the lamp property array once I've loaded the file.
Thus, I was hoping that vedo might be able to handle it better. Anyways, I will play a bit with plyfile --> vedo and see how it goes.

yes! pyntcloud seems to work faster:
from pyntcloud import PyntCloud
cloud = PyntCloud.from_file("map_mesh.ply")
pts = cloud.points.to_numpy()

from vedo import Mesh, show
m = Mesh([pts[:,(0,1,2)], cloud.mesh.to_numpy()]).alpha(0.2)
m.addPointArray(pts[:,6], 'radiance_blue')
show(m)

PS: once map_mesh.vtk is created, vedo takes 0.8 sec to load it:
from vedo import load, show
m = load('map_mesh.vtk').alpha(0.2)
m.selectPointArray('irradiance_lamp_1_red')
print('loaded')
show(m)

yes! pyntcloud seems to work faster:
from pyntcloud import PyntCloud
cloud = PyntCloud.from_file("map_mesh.ply")
pts = cloud.points.to_numpy()

from vedo import Mesh, show
m = Mesh([pts[:,(0,1,2)], cloud.mesh.to_numpy()]).alpha(0.2)
arr_names = [
    'radiance_blue'
    'radiance_green'
    'radiance_red'
    'irradiance_blue'
    'irradiance_green'
    'irradiance_red',
    'irradiance_lamp_0_blue',
    'irradiance_lamp_0_green',
    'irradiance_lamp_0_red',
    'irradiance_lamp_1_blue',
    'irradiance_lamp_1_green',
    'irradiance_lamp_1_red',
    'irradiance_lamp_2_blue',
    'irradiance_lamp_2_green',
    'irradiance_lamp_2_red',
    'irradiance_lamp_3_blue',
    'irradiance_lamp_3_green',
    'irradiance_lamp_3_red',
    'irradiance_lamp_4_blue',
    'irradiance_lamp_4_green',
    'irradiance_lamp_4_red',
    'irradiance_lamp_5_blue',
    'irradiance_lamp_5_green',
    'irradiance_lamp_5_red',
    'reflectance_blue',
    'reflectance_green',
    'reflectance_red',
]
for i in range(6, len(arr_names)):
    m.addPointArray(pts[:,i], arr_names[i])
m.write('map_mesh.vtk')
show(m)

What about the elements face and lamp. The former I can see it in the variables of pyntcloud but not the latter one.

oh.. i see.. i guess pyntcloud  ignores them because they contains some Nones (?)

oh.. i see.. i guess pyntcloud ignores them because they contains some Nones (?)

Yup, I do not know neither. Maybe it is due to NaNs as you say. I've tried meshio as well but this one raises a reading error, so I am kind of stack with the plyfile in order to be able to read all the embedded data.

@marcomusy how to pass the lamp data from plydata to my vedo.Mesh() though addPointArary()?
I am trying the following:
m.addPointArray(plydata['lamp'].data['vertex_indices'].flatten(), 'light_sources')
m.addPointArray(plydata['lamp'].data['vertex_indices'][0], 'light_source1')
m.addPointArray(plydata['lamp'].data['vertex_indices'][1], 'light_source2')
m.addPointArray(plydata['lamp'].data['vertex_indices'][2], 'light_source3')
m.addPointArray(plydata['lamp'].data['vertex_indices'][3], 'light_source4')
m.addPointArray(plydata['lamp'].data['vertex_indices'][4], 'light_source5')
m.addPointArray(plydata['lamp'].data['vertex_indices'][5], 'light_source6')

but it gives me a runtime error.
Also how do you access afterwards these added point arrays?

but it gives me a runtime error.

what error

m.getPointArray('radiance_blue') does not seem to return something.

it should.
from vedo import Mesh, show
m = Mesh('map_mesh.vtk').alpha(0.2)
m.selectPointArray('irradiance_lamp_0_red')
print(m.getArrayNames())
print(m.getPointArray('irradiance_lamp_1_red'))
m.cmap('viridis').addScalarBar3D(title='')
show(m)

{'PointData': ['reflectance_red', 'irradiance_lamp_1_red', 'irradiance_lamp_2_blue', 'irradiance_lamp_2_green', 'irradiance_lamp_2_red', 'irradiance_lamp_3_blue', 'irradiance_lamp_3_green', 'irradiance_lamp_3_red', 'irradiance_lamp_4_blue', 'irradiance_lamp_4_green', 'irradiance_lamp_4_red', 'irradiance_lamp_5_blue', 'irradiance_lamp_5_green', 'irradiance_lamp_5_red', 'reflectance_blue', 'reflectance_green'], 'CellData': []}
[12.588509 12.497231 12.510437 ... 10.479129 10.484828       nan]

Also another question what is the difference between addPointArray() and addCellArray()?

data can be associated to the vertices (points) or to the faces (cells) of the mesh, so the array you're passing must have the right dimensions, in your case all data seems to be associated to points (i guess).

but it gives me a runtime error.

what error

ok, it seems to be due to the fact that the data in lamp are not the same size as my vertices
Error in addPointArray(): Number of inputs != nr. of points 6 3786298
Traceback (most recent call last):
  File "/usr/share/pycharm/plugins/python-ce/helpers/pydev/pydevd.py", line 1438, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "/usr/share/pycharm/plugins/python-ce/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/ttsesm/Development/open3d_reconstruction_system/3d_reconstruction.py", line 87, in <module>
    m.addPointArray(plydata['lamp'].data['vertex_indices'], 'light_sources')
  File "/home/ttsesm/Development/open3d_reconstruction_system/venv/lib/python3.8/site-packages/vedo/base.py", line 853, in addPointArray
    raise RuntimeError()
RuntimeError

Is it possible to add it as another type of property or something?

m.getPointArray('radiance_blue') does not seem to return something.

it should.
from vedo import Mesh, show
m = Mesh('map_mesh.vtk').alpha(0.2)
m.selectPointArray('irradiance_lamp_0_red')
print(m.getArrayNames())
print(m.getPointArray('irradiance_lamp_1_red'))
m.cmap('viridis').addScalarBar3D(title='')
show(m)

Yup, it works. It seems I had a typo or something.

{'PointData': ['reflectance_red', 'irradiance_lamp_1_red', 'irradiance_lamp_2_blue', 'irradiance_lamp_2_green', 'irradiance_lamp_2_red', 'irradiance_lamp_3_blue', 'irradiance_lamp_3_green', 'irradiance_lamp_3_red', 'irradiance_lamp_4_blue', 'irradiance_lamp_4_green', 'irradiance_lamp_4_red', 'irradiance_lamp_5_blue', 'irradiance_lamp_5_green', 'irradiance_lamp_5_red', 'reflectance_blue', 'reflectance_green'], 'CellData': []}
[12.588509 12.497231 12.510437 ... 10.479129 10.484828       nan]

Also another question what is the difference between addPointArray() and addCellArray()?

data can be associated to the vertices (points) or to the faces (cells) of the mesh, so the array you're passing must have the right dimensions, in your case all data seems to be associated to points (i guess).

I see thanks. Apparently, this is not the case for the lamp varialbe sicne it does not associated neither to the number of points nor to faces. Thus, this comes down to my question above and whether I can embed somehow this data to Mesh() as something else.

Is it possible to add it as another type of property or something?

No! vertex data must be one-to-one to vertices (same for faces).

whether I can embed somehow this data to Mesh() as something else.

well it all depends on what exactly is this data representing.. if it's neither associated to points nor faces what is it?

There are the vertices associated to the points that correspond to the light sources. Thus, one solution could be to create an array of zeros size of overall vertices and in the corresponding indices change them to 1 and then add with addPointArray() like the other properties.
It is size of 6 because it is a list of arrays.

if it's some complementary information I would keep it separate from the mesh, but that really depends on the way you plan to use it.
Hope it helps :)

@marcomusy one more question is it possible to re-save the vedo.Mesh() with the added addPointArrays() as a .ply file again or it is not supported?

Yes, it's already supported. E.g.
from vedo import *
s = Mesh(datadir+'beethoven.ply')
s.cmap('viridis', s.points()[:,1])
s.write('mymesh.ply')
s.show()

then type
vedo mymesh.ply

but it does not save the addPointArray() variables that I have included, right? At least it didn't here that I've tried it.

Oh I see, PLY writer generates an RGB array but it doesn't save multiple arrays.

I see, thanks a lot for the support. I think I will close the issue for now.


Variables to override directories would be helpful

Dependent on where you choose to download the role to in your directory structure, and how you structure playbook directories, the values of playbook_dir and inventory_dir can differ wildly. This can make it quite hard to sensibly manage where the role creates output files and reads inputs from.
Would it be possible to add overrides similar to the following so that it's possible to set the paths used by the role's action plugin more directly?
Something like the following would be helpful:
https://github.com/arista-netdevops-community/eos_designs_to_containerlab/blob/main/action_plugins/simulation.py#L151
        if first_sim_node:
            inventory_dir = hostvars[first_sim_node].get("inventory_dir_override", hostvars[first_sim_node]["inventory_dir"])
            playbook_dir = hostvars[first_sim_node].get("playbook_dir_override", hostvars[first_sim_node]["playbook_dir"])

providing more flexibility in choosing the directories is a good point. Will take a look and get back.

I added the code to consider for defining the inventory and playbook directory, please test if this fits your needs.
The options to use are:
sim_inventory_dir_override:
sim_ playbook_dir_override:


[Event Request] Codeunit 80 Sales-Post - CheckAndUpdate

Dear BaseApp team,
I'd like to kindly ask you to consider adding new event to CheckAndUpdate procedure right after CalcInvDiscount:

We'd like to check additional things right before we try to release certain types of documents.
The desired event signature is as follows:

Thanks in advance.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Add ChainerX build option to use cuDNN from CuPy installation

Fixes #7408
Requires ~#7441~ and ~https://github.com/cupy/cupy/pull/2245~
If CHAINERX_CUDNN_USE_CUPY (either environment variable or cmake -D option) is set, cmake script tries to find installed cupy package and use cudnn.h and libcudnn.so.<ver> in its installation.

Just leaving a record that I updated the title to reflect PR dependencies.

PTAL

PTAL

LGTM. Jenkins, test this please.

Jenkins CI test (for commit 5e3453f0f8e974aba7c976b4f83394016b7b6da8, target branch master) failed with status FAILURE.

Jenkins failure seems unrelated to this PR. LGTM.


Add Cloudflare pack

Pack Cloudflare
Status

new pack, complete

Description
Add a pack for Cloudflare (https://www.cloudflare.com/). Currently covers a single API call, but the API has many more and they will be added over time.
Checklist (tick everything that applies)

[X] Metadata: pack.yaml, icon, structure (required for new packs)
[X] Version bump (required for changed packs)
[ ] Code linting (required, can be done after the PR checks)
[X] Tests (not required but really recommended)

Oh nice! You wanna add some more actions/aliases before I merge, or would you rather do it later in a separate PR? I don't mind merging, since there's lib and tests and everything (awesome job on it, by the way).

Thanks, pushing the bonds with tests first time I've used requests_mock!
Assuming linting is fine (I hope they are as I ran it locally), please go ahead and merge. As currently I'm not sure how long before I can add more actions, so I'll do those in a separate PR.

Cloudflare! :star2:

Thanks!

:heart:

Thanks for the contribution.
In the future, if you are ever interested in the DNS / domain related functionality of CloudFlare, you can also look at the CloudFlare Libcloud DNS driver - https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/cloudflare.py

Thanks that will save us a chunk of work. I'll try to make sure this pack does not overlap with libcloud DNS features. Or may be even do PRs to libcloud if that makes sense.


[feat][ci] check style for all source code

This closes #18131.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in the forked repository
PR in forked repository: https://github.com/tisonkun/pulsar/pull/7

Looks good to me. Need to fix all the check styles issues to pass the CI.

Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2:check (default-cli) on project pulsar: Execution default-cli of goal org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2:check failed: Plugin org.apache.maven.plugins:maven-checkstyle-plugin:3.1.2 or one of its dependencies could not be resolved: org.apache.pulsar:buildtools:jar:2.11.0-SNAPSHOT was not found in https://repository.apache.org/snapshots during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of apache.snapshots has elapsed or updates are forced

Dirty environment issue?

0eda68e2a1a9434e17852ddbdffcf67bd872e408 remove mysterious dependency. I don't know whether it means some tricky logics.

Codecov Report

Merging #18142 (0eda68e) into master (6c65ca0) will increase coverage by 15.12%.
The diff coverage is 26.81%.

@@              Coverage Diff              @@
##             master   #18142       +/-   ##
=============================================
+ Coverage     34.91%   50.03%   +15.12%
- Complexity     5707     7025     +1318
=============================================
  Files           607      393      -214
  Lines         53396    43484     -9912
  Branches       5712     4471     -1241
=============================================
+ Hits          18644    21758     +3114
+ Misses        32119    19299    -12820
+ Partials       2633     2427      -206

Flag
Coverage Δ

unittests
50.03% <26.81%> (+15.12%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../main/java/org/apache/pulsar/PulsarStandalone.java
0.00% <0.00%> (ø)

.../apache/pulsar/broker/admin/impl/ClustersBase.java
76.66% <0.00%> (+67.62%)
:arrow_up:

...pache/pulsar/broker/admin/impl/NamespacesBase.java
63.25% <ø> (+48.72%)
:arrow_up:

.../pulsar/broker/service/AbstractBaseDispatcher.java
50.92% <0.00%> (+5.06%)
:arrow_up:

...che/pulsar/broker/service/BacklogQuotaManager.java
12.39% <0.00%> (+2.91%)
:arrow_up:

.../pulsar/broker/service/BrokerServiceException.java
38.88% <0.00%> (+13.88%)
:arrow_up:

...ava/org/apache/pulsar/broker/service/Consumer.java
71.09% <0.00%> (+9.09%)
:arrow_up:

...ava/org/apache/pulsar/broker/service/Producer.java
62.42% <0.00%> (+2.78%)
:arrow_up:

...pulsar/broker/service/PulsarCommandSenderImpl.java
74.35% <0.00%> (+7.69%)
:arrow_up:

...va/org/apache/pulsar/broker/service/ServerCnx.java
48.54% <0.00%> (+3.20%)
:arrow_up:

... and 388 more

/pulsarbot run-failure-checks


feat: make logbuffer accessible to endpoint

The endpoint serves as central place for everything, so should the logging be configured there.
I have tried to write some code to make the logger accessible.
TODO:

Move console logging inside SDK
Console logs should be default and not depend on enablement configuration
cloud logging only based on if enabled

@abhijeetnarvekar if you could check the changes that ive made in regards:

Move console logging inside SDK
Console logs should be default and not depend on enablement configuration
cloud logging only based on if enabled

the changes back in the sidebar client need to be made as well after we have a new version for sdk
cc: @bluesun

@abhijeetnarvekar if you could check the changes that ive made in regards:

Move console logging inside SDK
Console logs should be default and not depend on enablement configuration
cloud logging only based on if enabled

the changes back in the sidebar client need to be made as well after we have a new version for sdk cc: @bluesun

LGTM
The name of the client app could be possibly inferred from signature. But that's not a blocker for this PR


cursor blinking rate

Type: Feature Request
Need to add cursor blinking rate (0 to 10) feature for more customization.
VS Code version: Code 1.78.2 (b3e4e68a0bc097f0ae7907b217c1119af9e03435, 2023-05-10T14:39:26.248Z)
OS version: Windows_NT x64 10.0.19045
Modes:
Sandboxed: Yes

any update for my feature ?

sad

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Push image to cache registry

I look over the proxyBlobStore, found that there are still many unsupported functions, which makes it unable to push images to cache registry. I wonder why the community does not support pushing image to cache registry? And can I work on this if you plan to support this feature.

a Project with 500 issues and 103 PR, yeah, you can work on it, good luck to get it merged :)
Sorry for ranting here... the OSS registry is just not maintained and barely usable.

@prune998 Hi prune, there have been a few maintainers added recently (:wave:), we've got quite a backlog, but we're trying to work through it and give this project some much-needed love.

@justadogistaken Thanks for opening this issue! To be honest, I haven't worked with the proxy registry all that much. Could you expand on your use case more? What's the value add of pushing directly to the pull-through cache?

@deleteriousEffect Let me describe the scene. I'm developing an application with k8s, and imagePullPolicy for pod is Always, I keep updating the image with tag v1, and push it to remote registry. but, if the registry has cached the v1 image already, it will return the cached v1 image to pod. unless I change the tag like v1.1 or something, but I do not want to make those image avaliable in the remote registry(those image are intermediate outcome during developing).
And there is another way to achieve this indeed. Turn off the cache ability during developing.

but, if the registry has cached the v1 image already, it will return the cached v1 image to pod.

@justadogistaken The logic is slightly more complicated than this, but I believe this should largely do as you want — only relying only on the cached tag if the connection to the remote is interrupted:
// Get attempts to get the most recent digest for the tag by checking the remote
// tag service first and then caching it locally.  If the remote is unavailable
// the local association is returned

https://github.com/distribution/distribution/blob/main/registry/proxy/proxytagservice.go#L21

@deleteriousEffect Thanks, I guess it solved my problem.


WIP: Typescript

Tests completely bomb out if attempting to use awesome-typescript-loader instead of babel-loader for them.  I don't have the slightest idea why right at this moment.  I'd like to be able to remove babel, if it's not necessary.

... well, that's going to have to get fixed before we can proceed with any conversion to .ts .. since tests can't convert the ts to js, they can't run. :|

I think you could use tsnode to run the tests directly via typescript.

Tests written in Typescript are running just fine (the current test framework uses the PhantomJS browser to run tests in browser, rather than in node .. i'm not sure if there's also some node testing going on here, but I don't think there is)
I'm having an issue right now, where once I've converted the mediaDevices and CameraAccess modules to typescript, the CameraAccess tests all start failing.. trying to figure out if i've somehow changed the code in some fashion, or if there's some sort of failure on sinon's behalf related to using it with typescript

This is exactly why I want to make sure that we do this in small commits -- I just spent quite some time tracking down exactly what changed in a single commit, and comparing it to the code that existed prior,  and was eventually able to figure out a way to nail down the problem.
If anyone else wants to contribute to this changeset, I'd welcome the help. :-D

hmm. adding polyfills gives us a pretty sizeable increase in bundle size, which is not something that i particularly want to have happen.. but i also want to be able to use modern code.
i think i'm going to yank the updates to array_helper that require polyfills for the PhantomJS version we're using, and move some "modernizing code" tasks to a point "after we significantly upgrade what runs our tests" .. because it's pretty inexcusable to have the test runner be as old as it is right now..

fwiw, i'm hitting some pretty complex things as I dig further into it here, the pieces that are done seem to be working great, but i'm running into some pretty wild things in the remaining pieces ... on the bright side, though, i've got a pretty good idea of how all the pieces of the software all fit together now.. :-D

@jogibear9988 if you or anyone else here happens to have any insight into what the functional differences are in this commit... https://github.com/ericblade/quagga2/commit/434919ae5c8698f73f5ef7b5c7a8e13d6bdb628b
... it's failing all tests, and i don't see how it should behave any different from the original source.  but it does. :(
no runtime errors, just image decoder isn't returning anything useful.. and i'm not quite sure how to debug inside that particular area.

OK, so, this is not yet completed, however, I'm ready to pull this into master because I want to work on some other issues, and I want to base them on the typescript stuff because I think that's going to make it a hell of a lot easier to do certain refactorings, but I don't want to delay those fixes/features until completion of this task.


[SERV-513] Write OpenAPI definition

A few things to note:

Request bodies for create/update operations omit a resource's locally unique identifier (the id field), while response bodies include it
Read/delete operations require providing only the identifier
This PR omits user authentication for the time being to simplify initial development

Couple more minor changes. I'm thinking it's better to leave the HTTP jargon behind when naming operations. And I'm thinking listJobs vs. getJobs so that it's more distinct from getJob


[rfc] don't log v2 pull as error when retrying

When looking at https://github.com/docker/docker/pull/31113/files#diff-50d5ae90ec0b4ef64c7aaa299532bcf7R76, I noticed that the current code logged this as an error, but the actual error is handled, and followed by a retry / fallback. For that reason, logging as an "informational" message seems more appropriate.
I'm not too familiar with the whole logic here, so opening this for discussion
ping @aaronlehmann @dmcgowan ptal

Seems okay to me.

Not sure why we'd log something and return the error.

@cpuguy83 the error is returned as indication that a fallback should be used (IIUC)

But in this case we are handling the error twice. We're returning it and we're logging it.

Yes, perhaps the log isn't needed at all? Thought it could be informative to see what's happening, but I'm okay with removing it if not

ping @cpuguy83 @aaronlehmann I removed that log line, and changed the "retry" errors to be an "info" message. PTAL

LGTM (nam)

LGTM


Segmentation fault at 0x00000000000018

I was running straight-server and use straight-server-kit command to create an order, then encountered an error. Output displayed on screen is:
[seven@localhost straight-server]$ bundle exec bin/straight-server -p 9696
/home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/straight-67b2e1679fb8/lib/straight/faraday_monkeypatch.rb:1: warning: already initialized constant Faraday::SSLOptions
/home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/faraday-0.9.2/lib/faraday/options.rb:205: warning: previous definition of SSLOptions was here
/home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/bundler/gems/straight-67b2e1679fb8/lib/straight/blockchain_adapters_dispatcher.rb:8: warning: constant ::TimeoutError is deprecated
Setting config dir to /home/seven/.straight
I, [2017-03-16T17:34:45.864982 #13255]  INFO -- : starting Straight Server v 1.0.0
W, [2017-03-16T17:35:00.865987 #13255]  WARN -- : Please check correctness of Insight.websocket_url in the config file.
Thread.exclusive is deprecated, use Mutex
/home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/reloader.rb:36:in call' /home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/goliath-1.0.4/lib/goliath/request.rb:166:in block in process'
I, [2017-03-16T17:35:37.251286 #13255]  INFO -- : GET /gateways/1/last_keychain_id
Thread.exclusive is deprecated, use Mutex
/home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/reloader.rb:36:in call' /home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/goliath-1.0.4/lib/goliath/request.rb:166:in block in process'
I, [2017-03-16T17:36:35.282300 #13255]  INFO -- : POST /gateways/1/orders
{"amount"=>"1.0", "callback_data"=>"1", "keychain_id"=>1}
I, [2017-03-16T17:36:35.282800 #13255]  INFO -- : Creating new order with attrs: {:amount=>"1.0", :currency=>nil, :btc_denomination=>nil, :keychain_id=>1, :callback_data=>"1", :data=>nil, :description=>nil, :after_payment_redirect_to=>nil, :auto_redirect=>nil}
/home/seven/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/btcruby-1.1.1/lib/btcruby/openssl.rb:109: [BUG] Segmentation fault at 0x00000000000018

It's sovled! I changed the host OS to ubuntu 16. This error didn't occured. And the old OS is Centos 7.


[IDE] Resolve [.]Type completion for (any P). to produce singleton metatype instead of existential metatype.

Resolves #65843
The type completion for (any P). is a singleton meta type which currently falsely produces any P., i.e, an existential meta type.

@AnthonyLatsis
Could you trigger the CI to see if it breaks other tests?

@swift-ci please smoke test Linux

Currently IDE/complete_value_expr.swift test fails. Would the following be also considered a singleton meta type:
protocol ExistentialProto {
  static func staticMethod()
  func instanceMethod()
}

func testExistential() {
  let _ = ExistentialProto.#^PROTOCOLTYPE_DOT_1^#
// PROTOCOLTYPE_DOT_1: Begin completions, 3 items
// PROTOCOLTYPE_DOT_1-DAG: Keyword[self]/CurrNominal:          self[#(any ExistentialProto).Type#]; name=self
// PROTOCOLTYPE_DOT_1-DAG: Keyword/CurrNominal:                Protocol[#(any ExistentialProto).Type#]; name=Protocol
// PROTOCOLTYPE_DOT_1-DAG: Keyword/CurrNominal:                Type[#any ExistentialProto.Type#]; name=Type

What are your thoughts on these three completions: Does either look incorrect to you? If so, why?

If I understand correctly, if I had called it as any ExistentialProto  it would then be considered an existential type.

P.Type is equivalent to any P.Type.

I think accordingly my changes since we are checking the canonical type to be ExistentialMetatypeType

According to this logic, the result of appending .Type is:

An existential metatype if the type we are completing is also an existential metatype. This is not true: appending .Type to (any P.Type), which is an existential metatype, produces the singleton metatype (any P.Type).Type.
A singleton metatype otherwise. This is also not true: appending .Type to any P, which is not an existential metatype, produces the existential metatype any P.Type.

At the moment, the expected output as per my logic is Type[#(any ExistentialProto).Type#] which obviously fails. What I meant to say is, if the test is right, i.e, it's an existential meta type, the canonical type parameter which I added to the conditional check should succeed yielding the result.

https://github.com/apple/swift/issues/65843#issuecomment-2068087659

In terms of the implementation, I feel like the syntactic sugar for parenthesis, i.e (...) affects the outcome although the canonical type is correctly parsed for the AST?

What do you mean by outcome, and what type are you referring to?

Please check that other IDE tests pass too.

@swift-ci please smoke test Linux

@AnthonyLatsis
Are there any other changes needed?


Extensibility — how can a dependency inject a route in a project's manifest?

Hi! First, thank you all for the great work in fresh and deno. It makes me happy to code again :)
I'm building a live site editor based on fresh and so I would like to configure some features for my framework-powered projects. Think of it as a meta-framework for fresh.
For example, I have built an utility to inspect DOM elements in the browser and open VSCode directly on correct source/line/column. https://github.com/deco-cx/inspect-vscode
I would like a way to inject the /inspect-vscode in a fresh manifest without having to ask the user to copy a file into routes/inspect-vscode.ts. My point is that this is not authored by my user and they shouldn't have it "clutter" their repo.
@lucacasonato any thoughts on this usecase? I'd like a way to let a user "install a lib" and have it inject some routes, islands, etc. Perhaps something a la express app.use(myFeature()), in spirit?

Yes, this is something I'd like to eventually add support for via plugins (#512).

I'm also interested in this, the lack of a way to dynamically add routes, islands, middleware was leaning me away from fresh for a personal project. I'd be happy to help with this effort through
Are there open thoughts on how to best implement this or which feature to start with since the render one is merged? I didnt see other open issues or PRs with discussion on this in general aside from the roadmap


Enable tab completion for main commands

This would be really nice and I hate typing anyway...
Possible ref: https://www.npmjs.com/package/commander-completion

Or this https://github.com/mklabs/node-tabtab


Ability to generate multiple independently incremented build numbers

Hey, thanks for such a useful project!
I've been using it for a few weeks to version my Docker images and it has helped me greatly. I ran into a use case that this repo doesn't quite handle yet and I wanted to contribute.
Problem
In one of my git repositories I have 2 separate Dockerfiles with one GitHub Actions workflow file each. After my first build I realized that of course there was only 1 build-number-# tag generated and that both workflows were incrementing the same build number.
Proposal
I realized I needed different build-number tags for each workflow. My proposal is to add a prefix parameter that prepends the desired string onto the build-number-# tag. For example if ones repository is a website with a client and a server in the same repo and one wanted unique build numbers for each then this could accomplished as so:
name: build client
...
jobs:
  docker:
    ...
    steps:
      - uses: actions/checkout@v1
      - name: Generate build number
        uses: einaregilsson/build-number@v1
        with:
          token: ${{secrets.github_token}}
          prefix: client

name: build server
...
jobs:
  docker:
    ...
    steps:
      - uses: actions/checkout@v1
      - name: Generate build number
        uses: einaregilsson/build-number@v1
        with:
          token: ${{secrets.github_token}}
          prefix: server

These two workflows would generate 2 tags: client-build-number-1 and server-build-number-1.
This solution does not break existing functionality. It is only an optional parameter that allows for multiple build numbers to track multiple unique artifacts. I have tested these changes and am currently using my fork to address my use case.
Please feel free to ask questions, make suggestions, or decline this PR. I will continue to use my fork until you merge or decline.

Changes as requested.

Thanks for the contribution, have merged and published v2 :)


Lazy properties are not countable since v4

✏ Describe the bug
When trying to filter out empty lazy properties I get the following error:
count(): Argument #1 ($value) must be of type Countable|array, Spatie\LaravelData\Support\Lazy\RelationalLazy given
↪ To Reproduce

class CategoryData extends Data
{
    public function __construct(
        #[DataCollectionOf(ProductData::class)]
        public Lazy | array $products,
    ) {}

    public function includeProperties(): array
    {
        return [
            'products' => count($this->products) > 0,
        ];
    }

    public static function fromModel(Category $category): self
    {
        return new self(
            Lazy::whenLoaded('products', $category, fn () => ProductData::collect($category->products)),
        );
    }
}

✅ Expected behavior
I would expect this to work like described in the documentation:
https://spatie.be/docs/laravel-data/v4/as-a-resource/lazy-properties#content-conditionally
🖥 Versions
Laravel: 10.33.0
Laravel Data: since 4.0.0
PHP: 8.2

You can do the following:
public function includeProperties(): array
{
    return [
        'products' => count($this->products->resolve()) > 0,
    ];
}

I'll update the docs on this


Not to convert idiom

Hi
If I donot want to convert idiom such as “三七二十一”，what should I do to support this?
thanks

Hi，u  can add "3721 三七二十一 " to chinese_text_normalization/thrax/src/cn/hotfix.list and re-compile this project.


ERROR: No video formats found

Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.06.06
[ ] I've checked that all provided URLs are alive and playable in a browser
[ ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ ] I've searched the bugtracker for similar bug reports including closed ones
[ ] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

Description

WRITE DESCRIPTION HERE

example video?

I have one, see https://www.youtube.com/watch?v=6OU6a29dy1s

Request like this works as expected:
POST /youtubei/v1/player HTTP/1.1
Host: www.youtube.com
X-Goog-Api-Key: AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8

{"context":{"client":{"clientName":"ANDROID","clientVersion":"16.05"}},"videoId":"6OU6a29dy1s"}

Okay, I know now why it isn't work for me, I had an 429 error

If you are hitting 429, you are abusing this program.

Okay, I didn't know this. How can I fix this?

A good deal, I don't have an idea that this abuse this program :(
Now I will not do this way as I previous did if this help me to fix my 429 error.
Do you have any suggestion for me? How to use this program correctly?

how many videos are you downloading?