Import error: exllama_ext.so not found

Hey,
Im trying to run the basic example. I get this error
ImportError: /root/.cache/torch_extensions/py310_cu117/exllama_ext/exllama_ext.so: cannot open shared object file: No such file or directory
Here Is the trace.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
File <command-496841562764244>:1
----> 1 from model import ExLlama, ExLlamaCache, ExLlamaConfig

File /databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py:172, in _create_import_patch.<locals>.import_patch(name, globals, locals, fromlist, level)
    167 thread_local._nest_level += 1
    169 try:
    170     # Import the desired module. If you’re seeing this while debugging a failed import,
    171     # look at preceding stack frames for relevant error information.
--> 172     original_result = python_builtin_import(name, globals, locals, fromlist, level)
    174     is_root_import = thread_local._nest_level == 1
    175     # `level` represents the number of leading dots in a relative import statement.
    176     # If it's zero, then this is an absolute import.

File /databricks/driver/exllama/model.py:12
     10 import torch.nn.functional as F
     11 from safetensors import safe_open
---> 12 import cuda_ext
     13 import json
     14 import math

File /databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/__init__.py:172, in _create_import_patch.<locals>.import_patch(name, globals, locals, fromlist, level)
    167 thread_local._nest_level += 1
    169 try:
    170     # Import the desired module. If you’re seeing this while debugging a failed import,
    171     # look at preceding stack frames for relevant error information.
--> 172     original_result = python_builtin_import(name, globals, locals, fromlist, level)
    174     is_root_import = thread_local._nest_level == 1
    175     # `level` represents the number of leading dots in a relative import statement.
    176     # If it's zero, then this is an absolute import.

File /databricks/driver/exllama/cuda_ext.py:44
     41         else:
     42             print("Unable to find cl.exe; compilation will probably fail.", file=sys.stderr)
---> 44 exllama_ext = load(
     45     name = extension_name,
     46     sources = [
     47         os.path.join(library_dir, "exllama_ext/exllama_ext.cpp"),
     48         os.path.join(library_dir, "exllama_ext/cuda_buffers.cu"),
     49         os.path.join(library_dir, "exllama_ext/cuda_func/q4_matrix.cu"),
     50         os.path.join(library_dir, "exllama_ext/cuda_func/q4_matmul.cu"),
     51         os.path.join(library_dir, "exllama_ext/cuda_func/column_remap.cu"),
     52         os.path.join(library_dir, "exllama_ext/cuda_func/rms_norm.cu"),
     53         os.path.join(library_dir, "exllama_ext/cuda_func/rope.cu"),
     54         os.path.join(library_dir, "exllama_ext/cuda_func/half_matmul.cu"),
     55         os.path.join(library_dir, "exllama_ext/cuda_func/q4_attn.cu"),
     56         os.path.join(library_dir, "exllama_ext/cuda_func/q4_mlp.cu"),
     57         os.path.join(library_dir, "exllama_ext/cpu_func/rep_penalty.cpp")
     58     ],
     59     extra_include_paths = [os.path.join(library_dir, "exllama_ext")],
     60     verbose = verbose,
     61     extra_ldflags = (["cublas.lib"] + ([f"/LIBPATH:{os.path.join(sys.base_prefix, 'libs')}"] if sys.base_prefix != sys.prefix else [])) if windows else [],
     62     extra_cuda_cflags = ["-lineinfo"] + (["-U__HIP_NO_HALF_CONVERSIONS__", "-O3"] if torch.version.hip else []),
     63     extra_cflags = ["-O3"]
     64     # extra_cflags = ["-ftime-report", "-DTORCH_USE_CUDA_DSA"]
     65 )
     67 # from exllama_ext import set_tuning_params
     68 # from exllama_ext import prepare_buffers
     69 from exllama_ext import make_q4

File /local_disk0/.ephemeral_nfs/envs/pythonEnv-e8fe6c01-b22c-4694-8bb0-41ebd93385e1/lib/python3.10/site-packages/torch/utils/cpp_extension.py:1284, in load(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module, is_standalone, keep_intermediates)
   1192 def load(name,
   1193          sources: Union[str, List[str]],
   1194          extra_cflags=None,
   (...)
   1202          is_standalone=False,
   1203          keep_intermediates=True):
   1204     r'''
   1205     Loads a PyTorch C++ extension just-in-time (JIT).
   1206
   (...)
   1282         ...     verbose=True)
   1283     '''
-> 1284     return _jit_compile(
   1285         name,
   1286         [sources] if isinstance(sources, str) else sources,
   1287         extra_cflags,
   1288         extra_cuda_cflags,
   1289         extra_ldflags,
   1290         extra_include_paths,
   1291         build_directory or _get_build_directory(name, verbose),
   1292         verbose,
   1293         with_cuda,
   1294         is_python_module,
   1295         is_standalone,
   1296         keep_intermediates=keep_intermediates)

File /local_disk0/.ephemeral_nfs/envs/pythonEnv-e8fe6c01-b22c-4694-8bb0-41ebd93385e1/lib/python3.10/site-packages/torch/utils/cpp_extension.py:1535, in _jit_compile(name, sources, extra_cflags, extra_cuda_cflags, extra_ldflags, extra_include_paths, build_directory, verbose, with_cuda, is_python_module, is_standalone, keep_intermediates)
   1532 if is_standalone:
   1533     return _get_exec_path(name, build_directory)
-> 1535 return _import_module_from_library(name, build_directory, is_python_module)

File /local_disk0/.ephemeral_nfs/envs/pythonEnv-e8fe6c01-b22c-4694-8bb0-41ebd93385e1/lib/python3.10/site-packages/torch/utils/cpp_extension.py:1929, in _import_module_from_library(module_name, path, is_python_module)
   1927 spec = importlib.util.spec_from_file_location(module_name, filepath)
   1928 assert spec is not None
-> 1929 module = importlib.util.module_from_spec(spec)
   1930 assert isinstance(spec.loader, importlib.abc.Loader)
   1931 spec.loader.exec_module(module)

ImportError: /root/.cache/torch_extensions/py310_cu117/exllama_ext/exllama_ext.so: cannot open shared object file: No such file or directory

Not sure but it looks like this might be a Linux version of #100,
Make sure your PyTorch and CUDA Toolkit (11.7 | 11.8 | 12.1) versions match (it doesn't matter which one specifically, just that they're both the same), otherwise PyTorch can successfully compile the exllama C++ extension, but it won't load because the extension will have been compiled for a different CUDA version than the one that the currently-installed version of Torch works with.

@EyeDeck thanks, It was a mix of things.

Databricks file system meant that all the code relating to the exllama_ext path was failing
Also some CUDA dependencies were missing

The solution was to first make my own fork and merge the pip install capability from #125. Then add some code to my databricks cluster to update the necessary libraries
!wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/libcusparse-dev-11-7_<IP_ADDRESS>-1_amd64.deb -O /tmp/libcusparse-dev-11-7_<IP_ADDRESS>-1_amd64.deb && \
  wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/libcublas-dev-11-7_<IP_ADDRESS>-1_amd64.deb -O /tmp/libcublas-dev-11-7_<IP_ADDRESS>-1_amd64.deb && \
  wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/libcusolver-dev-11-7_<IP_ADDRESS>-1_amd64.deb -O /tmp/libcusolver-dev-11-7_<IP_ADDRESS>-1_amd64.deb && \
  wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/libcurand-dev-11-7_<IP_ADDRESS>-1_amd64.deb -O /tmp/libcurand-dev-11-7_<IP_ADDRESS>-1_amd64.deb && \
  dpkg -i /tmp/libcusparse-dev-11-7_<IP_ADDRESS>-1_amd64.deb && \
  dpkg -i /tmp/libcublas-dev-11-7_<IP_ADDRESS>-1_amd64.deb && \
  dpkg -i /tmp/libcusolver-dev-11-7_<IP_ADDRESS>-1_amd64.deb && \
  dpkg -i /tmp/libcurand-dev-11-7_<IP_ADDRESS>-1_amd64.deb

After doing all this I was able to run the batch example by importing like this
from exllama_lib.model import ExLlama, ExLlamaCache, ExLlamaConfig
from exllama_lib.tokenizer import ExLlamaTokenizer
from exllama_lib.generator import ExLlamaGenerator

For reference my fork is at https://github.com/nivibilla/exllama
I would make a PR but @paolorechia already has #125 for the pip install. @turboderp if you want me to I can add these instructions into readme. But as the pip install PR is not merged yet I guess it would make sense to wait.


⚠ Bofrost.be has degraded performance

In 2cf7048, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1192 ms

Resolved: Bofrost.be performance has improved in 88108c5.


Can't delete a key on macOS

I tried this:
keychain["EMAIL"] = nil
or this:
do {
       try keychain.remove("PASSWORD")
} catch let error {
       print("error: \(error)")
}

And I get this error:
OSStatus error:[-25244] Invalid attempt to change the owner of this item.

Using:

KeychainAccess (4.1.0)

Can you share the code that you instantiate the keychain object?

Not sure if this is the reason you're experiencing this as well, but I was experiencing this issue when the service string I was initializing the Keychain with didn't match my app's bundle id.

Sorry for the late reply. I have found the reason. I had renamed my app's name (Target name). This caused the existing keys having a different owner name. Thanks

Sorry for the late reply. I have found the reason. I had renamed my app's name (Target name). This caused the existing keys having a different owner name. Thanks


used uninitialized [-Werror=uninitialized]

Title: var used uninitialized [-Werror=uninitialized]
Description:
I compile master (a7758b8d3e933df0b428332d365057775c4fd048) sources on CentOS 9 using the command
bazel build -c opt envoy --subcommands --jobs 1 --verbose_failures --sandbox_debug

And got error
    inlined from 'Envoy::UnionStringBase<Validator>::UnionStringBase() [with Validator = Envoy::Http::HeaderStringValidator]' at ./envoy/common/union_string.h:66:23,
    inlined from 'Envoy::Http::HeaderString::HeaderString(Envoy::UnionString&&)' at source/common/http/header_map_impl.cc:44:54:
external/com_google_absl/absl/container/internal/inlined_vector.h:522:5: error: '<unnamed>.absl::lts_20240722::InlinedVector<char, 128, std::allocator<char> >::storage_.absl::lts_20240722::inlined_vector_internal::Storage<char, 128, std::allocator<char> >::data_' is used uninitialized [-Werror=uninitialized]
  522 |     data_ = other_storage.data_;
      |     ^~~~~
In file included from ./envoy/http/header_map.h:14,
                 from ./source/common/http/header_map_impl.h:12,
                 from source/common/http/header_map_impl.cc:1:
./envoy/common/union_string.h: In constructor 'Envoy::Http::HeaderString::HeaderString(Envoy::UnionString&&)':
./envoy/common/union_string.h:66:31: note: '<anonymous>' declared here
   66 |   UnionStringBase() : buffer_(InlinedStringVector()) {
      |                               ^~~~~~~~~~~~~~~~~~~~~
In file included from external/com_google_absl/absl/container/inlined_vector.h:53,
                 from external/com_google_absl/absl/strings/cord.h:80,
                 from bazel-out/aarch64-opt/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/io/google/protobuf/io/coded_stream.h:112,
                 from bazel-out/aarch64-opt/bin/external/envoy_api/envoy/config/core/v3/base.pb.h:20,
                 from ./source/common/http/header_map_impl.h:11,
                 from source/common/http/header_map_impl.cc:1:

Full error message

Basically, I will suggest you to use our build image and ci scripts to build the binary which would get better experience.

Just for your info.
This error is related to variable initialization and can be easily fixed in the source code.
As a workaround I used
--copt="-Wno-uninitialized" --cxxopt="-Wno-uninitialized"

This helps compile sources.
I think this needs to be reviewed by some devs to add variable initialization.


Can you please support Martial UI v5?

Can you please support Martial UI v5?

+1

Since MUI v5 is official now, it would be a problem for people that wants to migrate to it such as me

Which means in short this for Image component :
import CircularProgress from '@mui/material/CircularProgress'; // v5
// import CircularProgress from '@material-ui/core/CircularProgress'  // v4 and others
import common from '@mui/material/colors/common' // v5
// import common from '@material-ui/core/colors/common' // v4 and others
import grey from '@mui/material/colors/grey' // v5
// import grey from '@material-ui/core/colors/grey' // v4 and others
import BrokenImage from '@mui/icons-material/BrokenImage' // v5
//import BrokenImage from '@material-ui/icons/BrokenImage' // v4 and others

I don't want to create a fork just for that ;)

My attempt in making material-ui-image support mui v5 using patch-package
diff --git a/node_modules/material-ui-image/lib/components/Image/Image.js b/node_modules/material-ui-image/lib/components/Image/Image.js
index 8025af2..2386712 100644
--- a/node_modules/material-ui-image/lib/components/Image/Image.js
+++ b/node_modules/material-ui-image/lib/components/Image/Image.js
@@ -9,13 +9,13 @@ var _react = _interopRequireWildcard(require("react"));

 var _propTypes = _interopRequireDefault(require("prop-types"));

-var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
+var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));

-var _common = _interopRequireDefault(require("@material-ui/core/colors/common"));
+var _common = _interopRequireDefault(require("@mui/material/colors/common"));

-var _grey = _interopRequireDefault(require("@material-ui/core/colors/grey"));
+var _grey = _interopRequireDefault(require("@mui/material/colors/grey"));

-var _BrokenImage = _interopRequireDefault(require("@material-ui/icons/BrokenImage"));
+var _BrokenImage = _interopRequireDefault(require("@mui/icons-material/BrokenImage"));

 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

Thanks for the fork @jy95 - works well.
Worth mentioning I needed to update my imports:
+import Image from "@jy95/material-ui-image";
-import Image from "material-ui-image";

do not conditionally import, create a new version instead.

PRs are welcome, the solution above looks nice. We don't use MUI v5 and thus didn't have a reason to port it, yet.

@jy95 are you interested in making your changes as a PR for this repo?

We went with https://github.com/benmneb/mui-image which supports MUI v5.


fix: fixed select soql validation and forcing everything toLower

What does this PR do?
What issues does this PR fix or reference?
@W-8827929@

closing in favor of https://github.com/salesforcecli/data/pull/23


Synchronization problem when deleting a version

If one browser (tab) is specific version of a motion and another browser (tab) deletes that version, the output in the first browser becomes somewhat useless: while the "Version History" section is updated correctly, the motion text becomes "undefined" and the version number at the top vanishes.
It seems like the motion variable in the first browser is updated through the data synchronization mechanism, but not not the "version" variable. It works in the browser that triggers the deletion, though, as $scope.showVersion(motion.active_version); is called in the callback of the delelete-function.
One more thing, I don't know if it is intentional or not: the "Reason" text always shows the most recent version of the version, not the currently selected version.

I looked at this and I would say this is a won't fix. Every autoupdate works fine, also the deletion. But if you look at a specific version and another user deletes it, your client removes the version from the storage and your view becomes broken.
Compare to everything else: If you have a motion open and someone else deletes this motion, your view also becomes corrupted, because the data isn't anymore present.
@emanuelschuetze @normanjaeckel ping


Replace github links with internal links

Ran a script to parse PRs and find the name of the application file, so we can link it directly in the website.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: randombishop:x: Noc2You have signed the CLA already but the status is still pending? Let us recheck it.


iphone X IOS15.2

When it strating boot it shoes error
oleg@MacBook-Pro-Vladimir palera1n % ./palera1n.sh --tweaks 15.2 --debug
palera1n | Version 1.0.0-b7451f5
Written by Nebula and Mineek | Some code and ramdisk from Nathan | Loader app by Amy
!!! WARNING WARNING WARNING !!!
This flag will add tweak support BUT WILL BE TETHERED.
THIS ALSO MEANS THAT YOU'LL NEED A PC EVERY TIME TO BOOT.
 TYPE 'Yes, do as I say.' TO CONTINUE
[] Disabling tweaks
[] Getting device info...
[] Pwning device
usb_timeout: 5
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8015 CPRV:11 CPFM:03 SCEP:01 BDID:0E ECID:001805483833C02E IBFL:3C SRTG:[iBoot-33<IP_ADDRESS>.23]
Found the USB handle.
Stage: RESET
ret: true
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8015 CPRV:11 CPFM:03 SCEP:01 BDID:0E ECID:001805483833C02E IBFL:3C SRTG:[iBoot-33<IP_ADDRESS>.23]
Found the USB handle.
Stage: SPRAY
ret: true
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8015 CPRV:11 CPFM:03 SCEP:01 BDID:0E ECID:001805483833C02E IBFL:3C SRTG:[iBoot-33<IP_ADDRESS>.23]
Found the USB handle.
Stage: SETUP
ret: true
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8015 CPRV:11 CPFM:03 SCEP:01 BDID:0E ECID:001805483833C02E IBFL:3C SRTG:[iBoot-33<IP_ADDRESS>.23]
Found the USB handle.
Stage: PATCH
ret: true
[IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
CPID:8015 CPRV:11 CPFM:03 SCEP:01 BDID:0E ECID:001805483833C02E IBFL:3C SRTG:[iBoot-33<IP_ADDRESS>.23] PWND:[gaster]
Found the USB handle.
Now you can boot untrusted images.
[] Booting device
[==================================================] 100.0%
ERROR: Unable to connect to device
This error shows when i am trying to use palera1n after i was once jailbroken

try ./palera1n.sh --tweaks 15.2
without the debug it worked for me sometimes it actually breaks the whole jailbreaking process if not do ./palera1n.sh clean
and try again

nah not working
oleg@MacBook-Pro-Vladimir palera1n % ./palera1n.sh --tweaks 15.2
palera1n | Version 1.0.0-b7451f5
Written by Nebula and Mineek | Some code and ramdisk from Nathan | Loader app by Amy
!!! WARNING WARNING WARNING !!!
This flag will add tweak support BUT WILL BE TETHERED.
THIS ALSO MEANS THAT YOU'LL NEED A PC EVERY TIME TO BOOT.
 TYPE 'Yes, do as I say.' TO CONTINUE
[] Disabling tweaks
[] Getting device info...
[] Pwning device
[] Booting device
[==================================================] 100.0%
ERROR: Unable to connect to device

I'm going threw same thing cleaning and using sudo doesn't work

same 😭


shape: added duplicate api.

Changes:

New shape->duplicate(Shape *from) api.
New example: testDuplicate
Added capi binding for duploicate api
Added capi duplication test in testCapi.c

Description:
Added implementation of duplicate api. Duplicate copies content of Shape *from object to newly created shape. Parameters (stroke, path etc) stored so far in origin object will be replaced by new values.
TODO:
Implement gradient properties duplication

Invalid codestyle


Run test with no test task defined should guide the user to define a test task.

Workspace with tasks
No test task
Run test

You get:
We should guide the user to define a test task

//cc @egamma

This can still be improved by letting the user define a default test task (comparable to the build task). The annoying message box however is gone in 1.17.


apply region-overrides in data pipeline

This PR addresses https://trello.com/c/f27O08ea/1266-make-it-possible-to-block-in-the-backend-using-the-cms

Copies https://raw.githubusercontent.com/covid-projections/covid-projections/develop/src/cms-content/region-overrides/region-overrides.json to data/region-overrides.json
Adds support for changing region-overrides.json into the config expected by https://github.com/covid-projections/covid-data-model/blob/main/libs/datasets/manual_filter.py
Applies the manual filter during data update
Adds MultiRegionDataset.rm_tags_from_timeseries_subset and uses it to drop tags when a time series is entirely dropped.
Adds new tag type KnownIssueNoDate

Tested
Ran data update. It modified every row in multiregion-wide-dates.csv so hard to see exactly what changed but a sample looked correct.

 Make it possible to block in the backend using the CMS

@mikelehen what do you think about the limitation of MultiRegionDataset that it only supports tag/annotations for timeseries that have at least one real value? When a timeseries is dropped we can't leave a tag/gravestone commemorating it. In general it makes sense to drop tags for a timeseries when dropping the values for it (for example when keeping only a subset of all regions) but the region override logic wants to drop a timeseries and keep an annotation for it going down the pipeline.

@TomGoBravo Yeah, from an API perspective I think ideally we'd be able to attach an annotation to a missing timeseries. This comes up a lot. E.g. we are currently blocking all Philadelphia vaccine data because we know it's garbage (though we have a new scraper that'll soon fix this case!). So ideally rather than it just being absent in the API we'd have annotation of some kind that explains why it's missing.
That said:

How many of our API users will actually go digging through the API annotations to figure out why a timeseries is missing?  Probably none.
Even on our website we don't currently have the capability to show a disclaimer when a metric is missing.

So we can probably live with that limitation for now.

I haven't tested it all the way through but https://github.com/covid-projections/covid-data-model/pull/1083 gets us moving towards not having that limitation.

To be clear though: What about disclaimers for non-blocked timeseries? We do surface those on the frontend today (to e.g. highlight known discrepancies like where CT state dashboard shows test positivity including antigen tests but ours is only PCR tests). We could presumably wire it up so that gets read from region-overrides.json and shows up as an annotation in the API, but per point 1 above, I don't know that any API consumers care. So as long as we end up having the frontend read this same JSON file and apply disclaimers directly in the frontend, we probably don't strictly need it in the API if it feels too hard / annoying. Thoughts?

Adding disclaimer without blocking is pretty easy, I'll add it to this PR.

Also, in terms of getting this PR over the finish line, what are you thinking with regards to start_date?

I want to limit the scope of this PR to supporting what is already in the overrides json.

I want to limit the scope of this PR to supporting what is already in the overrides json.

I just meant so run.py data update doesn't crash about not having a start_date. 😁   Anyway, once this is ready to go can you mark it ready to review and I'll take another pass?

 Make it possible to block in the backend using the CMS


Support for installing plugins

I'd be nice to be able to specify a list of plugins that we want installed in the grafana server

Very very nice! :)

Let me know if you want me to keep it open until it's documented? Otherwise I think you've answered my question! :) Thank you!

It would be good to document it. Could you take care of that? :)

:+1:


Test change for Demo

56e3218 Gamified Devops Evaluation Results :clipboard:
Score Changes for Committer: @waohwoah

Deployment: 5
Quality: 4


[ENH] Similarity search base class and TopK search with naïve Euclidean distance

Overview of the content:

Changed base shape expected for X to (n_samples, n_channels, n_timestamps), and for Q to (n_channels, q_length) to handle the more general case.
The choice of how a candidate of X is matched with Q is left to the child classes (e.g.  TopKSimilaritySearch class will ask for a k argument and return top-k matches). A possibility would be to make a base class for distance profiles to force them having the same API and have attributes indicating if they are normalized or not.
Normalization happens in the predict method every time it is called. It stores the mean and std of each channels of Q and of all possible candidates of X as attributes (e.g _X_means). They are stored as argument to be called in the child classes of the base class when the distance profile is normalized. It may be possible to avoid recomputing it by checking if the length of Q and the stored input _X have not changed.
Added naive Euclidean and normalized naive Euclidean distance profiles with basic tests
Added top-k similarity search class with basic tests. The return of predict is an array of tuple as (with k=1) [(id_sample, id_timestamp)]

TODOs left for future PR :

Make documentation for module and estimator
Decide how to handle/check when there is not input or query length change to avoid computing normalization again
Refine testing scenarios and add them to the CI pipeline (if not made automaticaly ?)
Add non-naïve Euclidean distance profile with Mueen Algorithm.

I think this branch may be more up to date with main than the experimental one? @TonyBagnall may have to update the original one to make sure they have the same commits if you want a clearer "files changed" view

I think this branch may be more up to date with main than the experimental one? @TonyBagnall may have to update the original one to make sure they have the same commits if you want a clearer "files changed" view

In order to make a PR, I add to make a fork from the main branch (couldn't fork experimental), as I can't write on it directly. I added the changes made to similarity_search module on the new forked branch and made the PR from this one, thus the difference from the experimental branch :/

Not an issue with the way you did it I'm pretty sure, I think I can push to both and make sure it is up to date 🙂

my branch was indicative only, happy for my branch to be killed.

Not saying that any specific person should do this, but I think the new module proposal would benefit from a short notebook explaining the use case and using the new interface .

Don't worry, I planned to add this along with more module documentation. Would you prefer to close this PR now or when I've done all the TODOs and docs ?

See https://github.com/aeon-toolkit/aeon/pull/724 for the PR. If you want to do more work this week, I can give you write access to the repo if that makes it easier. Let me know on slack.


[docs] Clarify the purpose of pre-releases

pre-releases are often used as "beta" releases for users to test out. This isn't the case with us so we should clarify that in our docs.

Let's also update the documentation for renovatebot https://github.com/slsa-framework/slsa-github-generator/issues/1250


add typings in package.json, version to 0.1.3

add typings in package.json, version to 0.1.3

Thanks! Will release a new version now.


docs: fix broken link

I would like to ask you for a DCO signature. just type git commit -s
Hope this wont bother you.

I would like to ask you for a DCO signature. just type git commit -s Hope this wont bother you.

Done


aspnetcore license scan failure on package-lock.json

The source-build-license-scan pipeline has a failure (internal link) for the aspnetcore repo with these results:
{
  "files": [
    {
      "path": "package-lock.json",
      "detected_license_expression": "mit AND apache-2.0 AND python AND (mit AND cc0-1.0) AND bsd-new AND bsd-simplified AND (mit OR apache-2.0) AND cc-by-4.0 AND blueoak-1.0.0 AND cc-by-3.0 AND cc0-1.0"
    }
  ]
}

@omajid - This showed up because of a new referenced license: https://blueoakcouncil.org/license/1.0.0. Does that look ok to you?

It's on the list of licenses allowed in Fedora:

https://docs.fedoraproject.org/en-US/legal/allowed-licenses/#_allowed_licenses
https://gitlab.com/fedora/legal/fedora-license-data/-/issues/148
https://gitlab.com/fedora/legal/fedora-license-data/-/blob/main/data/BlueOak-1.0.0.toml

It's under some discussion by OSI: http://lists.opensource.org/pipermail/license-review_lists.opensource.org/2023-December/005452.html. I am not familiar with their process so I am not sure what the conclusion is.

FYI, Blue Oak was approved by OSI: https://opensource.org/license/blue-oak-model-license/


New 'plot' method

A 'plot' method should be created that will be able to plot all sorts of simple 2D plots like scatter, line etc. using only arguments passed to it.

Works for the GR backend now.


Unread counts for muted streams should be shown muted

Currently, I'm totally caught up on chat.zulip.org, but the 3 streams that I have muted with some unread messages show up super bold in the app's unread messages listing, because they have unread counts.
Probably we should use a much fainter style for indicating unread messages on muted streams (and/or put them in a separate list at the bottom).

Closing as implemented.


Available audio - lost my music suddenly

Hi,
I installed everything as written in the installation guide and it worked fine since around 3month. I did not change anything but suddenly a can not play music anymore. I checked the web view and can not find my available audio. It seems that I also can not create a folder in the web view. So I checked my sd Card and found the playlists and audio files, thats not deleted.
Is there any automatically update that changed the folder structure? And can you give me a tip how to fix it?
Best regards!

Are you using Spotify or Classic edition?

I am using the Classic Edition.

Please try mpc update

I tried mpc update, but there is still no available audio in the web view.
pi@phoniebox:~$ sudo mpc update
Updating DB (#1) ...
volume: 80%   repeat: off   random: off   single: off   consume: off

Could you run the script https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki#reporting-bugs and post the results?
Also what’s the result of tail –n 500 /var/log/syslog?

pi@phoniebox:~$ /home/pi/RPi-Jukebox-RFID/scripts/helperscripts/Analytics_AfterInstallScript.sh

*** PHONIEBOX INFO
*** version: 2.0 rc6
*** edition: classic
*** Audio_iFace_Name: Master
*** Audio_Folders_Path: /home/pi/RPi-Jukebox-RFID/shared/audiofolders
*** Audio_Volume_Change_Step: 10
*** Max_Volume_Limit: 80
*** Idle_Time_Before_Shutdown: 15
*** Second_Swipe: RESTART
*** Playlists_Folders_Path: /home/pi/RPi-Jukebox-RFID/playlists
*** ShowCover: OFF

*** CONF FILES DEFAULT
*** /etc/samba/smb.conf
-rw-r--r-- 1 root root 9.5K Dec 15  2019 /etc/samba/smb.conf
path=/home/pi/RPi-Jukebox-RFID/shared
path=/home/pi/RPi-Jukebox-RFID/shared/audiofolders
*** /etc/lighttpd/lighttpd.conf
-rw-r--r-- 1 root root 1.1K Dec 15  2019 /etc/lighttpd/lighttpd.conf
*** /etc/lighttpd/conf-available/15-fastcgi-php.conf
-rw-r--r-- 1 root root 398 Dec 15  2019 /etc/lighttpd/conf-available/15-fastcgi-php.conf
*** /etc/php/7.0/fpm/php.ini
-rw-r--r-- 1 root root 70K Dec 15  2019 /etc/php/7.0/fpm/php.ini
*** /etc/sudoers
-r--r----- 1 root root 784 Dec 15  2019 /etc/sudoers
*** /etc/systemd/system/phoniebox*
-rw-r--r-- 1 root root 296 Dec 15  2019 /etc/systemd/system/phoniebox-rfid-reader.service
-rw-r--r-- 1 root root 285 Dec 15  2019 /etc/systemd/system/phoniebox-startup-sound.service
-rw-r--r-- 1 root root 289 Dec 18  2019 /etc/systemd/system/phoniebox-gpio-buttons.service
-rw-r--r-- 1 root root 291 Dec 15  2019 /etc/systemd/system/phoniebox-idle-watchdog.service
*** /etc/mpd.conf
-rw-r----- 1 mpd audio 14K Dec 15  2019 /etc/mpd.conf
music_directory         "/home/pi/RPi-Jukebox-RFID/shared/audiofolders"
music_directory are changed.
symbolic links outside of the configured music_directory.
symbolic links inside of the configured music_directory.
    mixer_control   "Master"                # optional

mixer_control   "Master"                # optional
*** /etc/dhcpcd.conf
-rw-rw-r-- 1 root netdev 1.8K Jan 13  2020 /etc/dhcpcd.conf
#static ip_address=<IP_ADDRESS>/24
#static ip_address=<IP_ADDRESS>/24
static ip_address=<IP_ADDRESS>
#static routers=<IP_ADDRESS>
#static routers=<IP_ADDRESS>
static routers=<IP_ADDRESS>
option domain_name_servers, domain_name, domain_search, host_name
#static domain_name_servers=<IP_ADDRESS> <IP_ADDRESS> fd51:42f8:caae:d92e::1
#static domain_name_servers=<IP_ADDRESS>
static domain_name_servers=<IP_ADDRESS>
*** /etc/wpa_supplicant/wpa_supplicant.conf
-rw-rw-r-- 1 root netdev 320 May 12 13:52 /etc/wpa_supplicant/wpa_supplicant.conf
country=DE

*** +Spotify Edition
*** /etc/locale.gen
-rw-r--r-- 1 root root 8.9K Mar 13  2018 /etc/locale.gen
*** /etc/locale.gen
-rw-r--r-- 1 root root 8.9K Mar 13  2018 /etc/locale.gen
*** /etc/mopidy/mopidy.conf
ls: cannot access '/etc/mopidy/mopidy.conf': No such file or directory
cat: /etc/mopidy/mopidy.conf: No such file or directory
*** ~/.config/mopidy/mopidy.conf
ls: cannot access '/home/pi/.config/mopidy/mopidy.conf': No such file or directory
cat: /home/pi/.config/mopidy/mopidy.conf: No such file or directory
pi@phoniebox:~$

pi@phoniebox:~$ tail –n 500 /var/log/syslog
tail: cannot open '–n' for reading: No such file or directory
tail: cannot open '500' for reading: No such file or directory
==> /var/log/syslog <==
Jul 15 10:32:37 phoniebox systemd[1]: Started Update UTMP about System Runlevel Changes.
Jul 15 10:32:37 phoniebox mpg123[957]: Directory: /home/pi/RPi-Jukebox-RFID/shared/
Jul 15 10:32:37 phoniebox mpg123[957]: Playing MPEG stream 1 of 1: startupsound.mp3 ...
Jul 15 10:32:37 phoniebox mpg123[957]: MPEG 1.0 L III vbr 44100 j-s
Jul 15 10:32:40 phoniebox mpg123[957]: [0:02] Decoding of startupsound.mp3 finished.
Jul 15 10:32:40 phoniebox systemd[1]: Started Phoniebox Startup Sound.
Jul 15 10:32:40 phoniebox systemd[1]: Startup finished in 1.542s (kernel) + 16.275s (userspace) = 17.818s.
Jul 15 10:32:42 phoniebox dhcpcd[351]: wlan0: no IPv6 Routers available
Jul 15 10:32:46 phoniebox systemd[1]: Started Session c2 of user pi.
Jul 15 10:32:49 phoniebox systemd[1]: Started Session c3 of user pi.
pi@phoniebox:~$

Hi @oscarmeier-git
you said it worked three months ago and then suddenly not anymore. The Phoniebox does not change the code itself or update the codebase from git.
There is the off chance that your SD card is broken. But I would not want you to go through a reinstall until we can rule everything else out.

Yes it worked fine, but there is no working available music anymore. Instead there is the bin and boot directory linked at the main web view. Suddenly it was not possible to create a folder and reupload the music. So I thougt it was a automatic update that crashed something.

Are you still experiencing this issue?

Closing this issue, feel free to reopen if this issue still occurs.


Internal citations to other parsed parts under the same title are not identified

40 CFR 271.1(j)(1) refers to 40 CFR 264.1(f)(3) and 265.1(c)(4)(ii). These references are not identified as internal citations.

Is there a workaround for this? We are encountering this at the FEC. When parsing 11 CFR 111, citations to 11 CFR 1.2 are reported as:
Missing citation?  1.2 Label(cfr_title=None, part='1', section='2', p1=None, p2=None, p3=None, p4=None, p5=None, p6=None, p7=None, p8=None, p9=None)

There is not; all of the layer parsers only have the context of the regulation tree they're currently parsing. Unfortunately, the database model is still very blob-oriented (see #358 for an attempt to clean that up), so we can't query it easily.


Cleanup of old releases not deleting correct releases

The recent change of the releases names introduced a but with the cleanup of old releases. The sorting is not using a natural sort but an alphabetical one and release with name 10 is considered older than 9, which is not true. Previously this was not the case as the release names were timestamps with the same length and any kind of sort was correct.

Fixed by https://github.com/ivandokov/depy/commit/197585a40954b2f56676904fcebffa942deeb1c3


Next version of HAM

Email action plugin now packaged in the metrics ear.

This has snapshots and needs to be updated to release versions when appropriate.

@stefannegrea Just to let you know that this PR already exists in preparation of the Metrics 0.22.0.Final release.  When the release is made, I can update this PR to the final metrics version.

@jshaughn, Hawkular Metrics 0.22.0 is not meant to be used with Hawkular Services.

@stefannegrea Why not?  This is an issue we need to work on,  we should try and prevent having metrics' packaging block alerting features for Hservices.  So what version is targeted for Hservices?

@stefannegrea I moved this to go against 0.23.0.Final, when released

retest this please

This PR is ready to be merged from performance point of view. It brings performance improvements up to 6%.

retest this please

FYI the following tests are failing on the hawkular-client-ruby.
1) Alert/Triggers Should get the action definitions
     Failure/Error: expect(ret['email'].size).to be(7)
       expected #<Fixnum:15> => 7
            got #<Fixnum:17> => 8

If the size of the returned attributes increased we might need to update the test accordingly.
2) NonSecure Operation/Operation Restart should be performed and eventually respond with success
     Failure/Error: expect(actual_data['status']).to eq('OK')

Could not perform [Restart Deployment] on a [Application] given by inventory path [/t;hawkular/f;1d4a474a-f977-48ba-b7bf-b32557d19a9c/r;Local~~] requested on [2017-01-27T18:48Z]: org.hawkular.dmrclient.FailureException: {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-1" => "WFLYCTL0216: Management resource '[(\"deployment\" => \"hawkular-alerts-actions-email.war\")]' not found"}}

And we might have to stop using hawkular-alerts-actions-email.war on ruby-client tests.

@josejulio I created https://github.com/hawkular/hawkular-client-ruby/pull/183 to hopefully solve the failures.  The tests needed to be updated to be compatible with the changes introduced by the PR.

@pilhuhn Please merge this.  There is another PR that updates the ruby client specs to be compatible with these changes. We'll merge that after this goes in.  And the perf failure is due to increased perf, not decreased.


need solution for paths where terraform apply makes only VPC network and not compute engine w/o saving state (terraform apply hangup, compute engine API not enabled, etc)

two situations where terraform apply runs partially and creates a VPC network but not compute engine, and doesn't make a terraform.tfstate file

Not setting up compute engine API on the project (likely to happen, have done it several times myself setting up GCP projects)
terraform apply seems to hangup in weird ways as well, may be auto approve issues, should be able to work around

Two possible solutions:

Tell the user to manually delete VPC network in this case (temporary, not great)
Run this command to import it: terraform import google_compute_network.vpc_network nakama-instance-network - also kind of a patch but I could program it in

This should be a note in the README, and a bug to figure out down the line for now. removing from the milestone, will add to #50 for the README file though


Update android packaging

This Android series:

Adds a new script that handles APK packaging with the latest Android SDK, addressing issue #1551 (build_all.sh)
Adds a script that we've used internally to validate layers on production devices (test_APK.sh)
Adds a convenience script that installs test and Cube APKs (install_all.sh)
Updates documentation for Android builds.

cherry-picked to master, thanks!


feat: improve devcontainer experience

The Build ISO scripts are still WIP. Eventual goal is to add in docker qemu to launch and install those test ISOs.
Currently: just commands to build all flavors. Also the ability to run these containers with a quasi-booted like environment if using docker/rootful podman. There is still more to investigate with the booted like environments since it will consume your current environment. (You can vt-switch back, but it's bizarre).
Also, this now expects to use docker containers by default and is setup for docker-outside-of-docker for the quasi-booted like environment to work.


odd minor release numbers in the GNOME ecosystem represent development releases: this PR should not have been merged in

odd minor release numbers in the GNOME ecosystem represent development releases: this PR should not have been merged in

Originally posted by @tschoonj in https://github.com/conda-forge/gstreamer-feedstock/issues/116#issuecomment-1931524237
Reply by @hmaarrfk:
ah sorry about that. I think it is best to:

revert on the main branch. Keep getting the bot's help.
Mark them as broken? this should help solvers prioritize 1.22.x instead of 1.23.1

That sounds good to me. Thanks for looking into this

Did we mark the old releases as broken

I did not, and wouldn't know how or where to do that.
Apologies for closing, thought that merging the MR was sufficient

see: https://conda-forge.org/docs/maintainer/updating_pkgs.html#maint-fix-broken-packages

Put this in the comments in the meta file.


vcruntime::vc14 multiple run deletes dll files

:ghost: Brief Description
After first run of the recipe package is installed.
Second run deletes dll files.
I tried from console to do this:
c:\chef\cache\package>"Microsoft Visual C++ 2019 Redistributable (x64) - 14.29.30037.exe" /install /quiet /norestart

c:\chef\cache\package>"Microsoft Visual C++ 2019 Redistributable (x64) - 14.29.30037.exe" /install /quiet /norestart

First run: dlls installed. Second run: dlls deleted.
Same thing happens when I run recipe twice.
Btw, third and next runs will not restore dlls (VCRUNTIME140.dll and MSVCP140.dll)
:pancakes: Cookbook version
2.2.4
:woman_cook:  Chef-Infra Version
17.1.35
:tophat: Platform details
Windows Server 2016/2019
Steps To Reproduce
Run recipe twice
:police_car: Expected behavior
Installed and working package (all dlls present)
:heavy_plus_sign: Additional context

Experiencing this same behavior

Ok. After reviewing. We've fixed our instance by ensuring that the version and name are the correct / same as the uninstall registry entry.
In your code the name should be
(for x86):
"name" : "Microsoft Visual C++ 2019 X86 Additional Runtime - 14.29.30037"
the version should be:
"version" : "14.29.30037"
(for x64):
"version" : "14.29.30037"
"name" : "Microsoft Visual C++ 2019 X64 Additional Runtime - 14.29.30037"
If you already have a broken version installed, it may not uninstall and reinstall via chef as the uninstall registry key may remain. so manually remove and update chef and re-run.

Is there a fix we need to do in the cookbook? If so can you please make a PR to address it?


add support for labelvalues and labelnames for remote read

Hi, this is for #3351.
Just support labelvalues and labelnames function for remote read.
If u want to enable these labels functionality, set enabled to true like below. If every remote read endpoint sets enabled to false, then just like before these functions only apply to local storage.
remote_read:
  - url: 'http://localhost:9092/api/v1/read'
    enabled: true
    required_matchers:
       job: test

Also I change the interface of Querier. Just like Select function, add a  return value warnings for LabelValues() and LabelNames()
LabelValues(name string) ([]string, Warnings, error)

LabelNames() ([]string, Warnings, error)

What makes me quite confused is that  setting enabled to true and adding some required matchers. In this situation I just ignore the matchers and return all the labels from the remote storage. If there is a better way to deal with this? Please give me more advice
Signed-off-by: yeya24<EMAIL_ADDRESS>

Any ideas? @codesome

I am not too sure about adding Warnings to LabelValues and LabelNames as it doesn't exist in tsdb. Better log them instead of returning.
And about the PR in general, I will take a look soon.

I agree it is not efficient enough to every time calling Select() and iterate the results. Another way is implementing this by grpc. But then all the remote read adapters need to change, too.

You would need to merge/rebase on master to pass the CI.

ping?

Iteratint the results is not a good solution for this. So I will close this.


Adding error 404 page

Heyy,
I would like to add an error 404 page for the website.
Thanks and regards,
Vibhuti Chandrakar

plz assign this issue to me


[WIP] DO NOT MERGE - Adding support for Request Proxying

Adding support for Request proxying

Proxies requests to different region if the id of the resource does not belong to the current region.
Generates an appropriate system token for the remote region requests.
Support bulk proxying where only the remote resources are proxied to the other regions and the local ones processed locally.

WIP -  remaining work:

[ ] Support PUTs
[ ] Support PATCHes
[ ] Support DELETEs
[ ] For bulk requests, group requests for same remote regions in a single request
[ ] Look at moving Proxy::Request as helper in Client
[ ] Add tests


[v2.5.3] A click between a page:restore and page:change restores the wrong page

It's a bit tricky to describe but I'll try, feel free to ask for clarification
background:

slow requests
transition cache enabled
start on page at url A

reproduce:

click on link B

fetches B from server

click on link A

restores of A from cache (fires page:change & page:restore)

starts fetching of fresh copy of A from server (takes some seconds)

click on link B (while A is being fetched)

triggers the restore from cache lifecycle events but the body isn't updated, the progress bar is activated and reaches 100% (as typical when a page is restored from cache)

starts fetching of fresh copy of B from server (takes some seconds)

eventually the fresh copy of B arrives and is loaded

I managed to fix it by storing the raw url.absolute => xhr.responseText in a separate cache for transition-cache instead of using the history cache. Then the restore process uses createDocument on the stored raw html and repeats the extraction of title & body as it does when the contents come from xhr.
I'd send a PR but would need a v2 branch to target first (#572).
The change is available here anyway: https://github.com/elia/turbolinks/compare/2-stable...elia:fix-transition-cache

Is this still an issue in Turbolinks 3 / master?

Alas we had to drop Turbolinks support in our app (we have too many third party ad/tracking JavaScript that we haven't control over and are not PJAX-friendly).
Not sure if I'll be able to upgrade, re-enable and test in a timely manner. Feel free to close if it should be fixed on master.

I'll close then. Sorry for the late reply.


The paid message flickers with negative amount in case of expense report

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Coming from here
Action Performed:
Break down in numbered steps

User B requests money in a workspace chat.
As User A, open the IOU preview.
As User A, select Pay elsewhere.
Note that the amount in the paid message briefly shows negative value for a while

Expected Result:
Describe what you think should've happened
The amount should be same as the expense report total
Actual Result:
Describe what actually happened
The amount flickers with negative value
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43995119/dd8fb478-a800-426b-bf12-7ccf85adc523
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub

PR is up

Hi @mountiny are we paying Rajat here? He's not on the linked PR. Cheers!

He is on this one https://github.com/Expensify/App/pull/25474
$1000 to @parasharrajat is all to be paid here.

Is this correct for Payments?

C+: @parasharrajat $1000 + $500 (speed bonus, merged in 1 day) - to request in New.Dot

yes

Cheers, updated above for @JmillsExpensify to pay. Feel free to close this out Vit, nothing for me to do.

@mountiny we can close this one right? Payment is completed!

yes


How to uplaod all apks to playstore simultaneously

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
I have around 30 flavors of my android application, I want to upload all apks simultaneously to google playstore.
Is there any way to do it.
I dont want to run 30 fastlane supply command for each apk.
Complete output when running fastlane, including the stack trace and command used

You can use: --capture_output as the last commandline argument to get that collected for you

[INSERT OUTPUT HERE]
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
[INSERT OUTPUT HERE]

Read the docs https://docs.fastlane.tools/actions/#supply
Or run fastlane action supply for supply's options.
You can pass an array of apk paths for multi file upload using apk_paths: []

How to add all paths in apk_paths: []
i) do i need to mention each apk or is there any option which lists the path of all apks like GRADLE_ALL_APK_OUTPUT_PATHS
ii) and do i need to add all package names also?
as just adding the apk_paths it is giving error  apkUpgradePackageNameIsDifferent: APK has the wrong package name.

Hi,
I'm also looking to do the same thing here.. I don't have an answer but I wonder if something can be done similar to this solution for uploading multiple APK's to Crashlytics:
http://stackoverflow.com/documentation/android/8215/fastlane/26395/fastfile-to-build-and-upload-multiple-flavors-to-beta-by-crashlytics#t=20170227195718036329
The key would be how to get the package name each time through this loop so we can upload each APK 1 at a time.. any ideas?
.. build each APK using gradle() ..

    # upload APK files to Play Store
    lane_context[SharedValues::GRADLE_ALL_APK_OUTPUT_PATHS].each do | apk |

        puts "Uploading APK to Play Store: " + apk

        begin
            # upload to Google Play
            supply(
              track: "alpha",
              apk: apk
              # package_name: ??
            )
        end
    end

hi,
I was also stuck at the above scenario, but as a way around i have lane switching and iteratively build
all apk and uploading to playstore.
This is what i have tried:
desc "deploy each flavor"
lane :flavor1 do
gradle(task: "clean")
gradle(task: "assembleflavorRelease")
supply(
track: 'alpha',
package_name: 'com.flavor.src',
apk: "/Users/Involvio/AndroidStudioProjects/MyApplication/app/build/outputs/apk/app-flavor-release.apk"
)
end
desc "deploy each flavor"
lane :flavor2 do
gradle(task: "clean")
gradle(task: "assembleflavor1Release")
supply(
track: 'production',
package_name: 'com.flavor1.src',
apk: "/Users/Involvio/AndroidStudioProjects/MyApplication/app/build/outputs/apk/app-flavor1-release.apk")
end
//// here i have added individual lanes so that they will run sequentially
desc "upload to playstore"
lane :upload do
flavor1
flavor2
end
The above is working fine, but here if i build all apks at once and then try to upload to playstore it gives error.
https://github.com/fastlane/fastlane/issues/3390
https://github.com/fastlane/fastlane/issues/4675
if you find any other solution, do let me know.
Thanks


1.8.1521 and 1.9.1523 release notes and tags are currently unavailable

Already had v1.9.1445.0 updated several days ago, and just today had update come down from store for a version 1.9.1523.0.  The "About" screen shows the newer 1.9.1523.0 version, the recent activity in the store for downloads and updates also shows the new 1.9.1523 version, yet the store page itself still reports it as v1.9.1445.0.
It is not readily apparent where this build came from given there are no matching tags/releases in the github repo.

Yeah sometimes the store release comes before the tags/releases in the Github repo.

where this build came from

Well, if you really want to know the answer, the build actually came from Microsoft internally. The Github repo does not contain all the needed things. There's a bunch of things needed inside Microsoft (for example, signing, localization, packaging, etc.) to publish a new release.

Yes, sorry. I usually only tag the release after it's up on the store.
The delta you'll be interested in is v1.9.1444.0..release-1.9. Everything's there in the commit history for the 1.9 branch.

Tags pushed; getting the release notes up.
https://github.com/microsoft/terminal/tree/v1.9.1523.0
https://github.com/microsoft/terminal/tree/v1.8.1521.0

Sorry about the miscommunication! The releases actually are built totally out of this repository :)
There are a couple overlay files but this is the only repository that we use.

When will these be available on GitHub?


fix: Fix the TouchDevice lost the touch Pressure

What does the pull request do?
After https://github.com/AvaloniaUI/Avalonia/pull/15283 , and I can find the touch pressure on X11 platform. But I can not receive the touch pressure from Avalonia.Input.PointerEventArgs. And I find the TouchDevice will lost the touch pressure when create the
PointerPointProperties.
What is the current behavior?

We can not receive the Touch Pressure in Avalonia.Input.PointerEventArgs on X11 platform.
What is the updated/expected behavior with this PR?

We can receive the Touch Pressure in Avalonia.Input.PointerEventArgs on X11 platform.
How was the solution implemented (if it's not obvious)?

I append the RawPointerPoint to PointerPointProperties in TouchDevice in this pull request.
Checklist

[ ] Added unit tests (if possible)? It is hard to write the unit tests.
[ ] Added XML documentation to any related classes? No new public API was introduced.
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues
Fixes #3540

I test this PR and https://github.com/AvaloniaUI/Avalonia/pull/15283 by my demo code. And I run it in the device with the Touch screen. And I can receive the touch pressure in PointerMoved.


CellAssign tensor size error

Hello,
I'm trying to use CellAssign as implemented within scvi-tools to map a query dataset onto my annotated reference. However, I am running into an error when trying to train the CellAssign model. I follow the tutorial in making sure library size is calculated, and subsetting the anndata object to only include genes in my marker gene list binary table. I have a list of 225 markers which I want to assign cells based on - but somehow there's a "tensor b" which has a dimension of 363 when I try to run the training?
I tried following the tutorial with the sample follicular lymphoma data and it worked, so I suppose it is not an issue with the package versions? Any help would be much appreciated.

CSFadata_Heming_T.obs.index = CSFadata_Heming_T.obs.index.astype('str')
CSFadata_Heming_T.var.index = CSFadata_Heming_T.var.index.astype('str')
CSFadata_Heming_T.var_names_make_unique()
CSFadata_Heming_T.obs_names_make_unique()

lib_size = CSFadata_Heming_T.X.sum(1)
CSFadata_Heming_T.obs["size_factor"] = lib_size / np.mean(lib_size)

bdata = CSFadata_Heming_T[:, Tcelltype_markers_CellAssign_filtered.index].copy()

CellAssign.setup_anndata(bdata, size_factor_key="size_factor")
integration_model = CellAssign(bdata, Tcelltype_markers_CellAssign_filtered)
integration_model.train()

RuntimeError: The size of tensor a (225) must match the size of tensor b (363) at non-singleton dimension 0

The full error is:
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
File <timed eval>:1

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/external/cellassign/_model.py:232, in CellAssign.train(self, max_epochs, lr, accelerator, devices, train_size, validation_size, shuffle_set_split, batch_size, datasplitter_kwargs, plan_kwargs, early_stopping, early_stopping_patience, early_stopping_min_delta, **kwargs)
    222 training_plan = TrainingPlan(self.module, **plan_kwargs)
    223 runner = TrainRunner(
    224     self,
    225     training_plan=training_plan,
   (...)
    230     **kwargs,
    231 )
--> 232 return runner()

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/train/_trainrunner.py:98, in TrainRunner.__call__(self)
     95 if hasattr(self.data_splitter, "n_val"):
     96     self.training_plan.n_obs_validation = self.data_splitter.n_val
---> 98 self.trainer.fit(self.training_plan, self.data_splitter)
     99 self._update_history()
    101 # data splitter only gets these attrs after fit

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/train/_trainer.py:219, in Trainer.fit(self, *args, **kwargs)
    213 if isinstance(args[0], PyroTrainingPlan):
    214     warnings.filterwarnings(
    215         action="ignore",
    216         category=UserWarning,
    217         message="`LightningModule.configure_optimizers` returned `None`",
    218     )
--> 219 super().fit(*args, **kwargs)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py:544, in Trainer.fit(self, model, train_dataloaders, val_dataloaders, datamodule, ckpt_path)
    542 self.state.status = TrainerStatus.RUNNING
    543 self.training = True
--> 544 call._call_and_handle_interrupt(
    545     self, self._fit_impl, model, train_dataloaders, val_dataloaders, datamodule, ckpt_path
    546 )

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/trainer/call.py:44, in _call_and_handle_interrupt(trainer, trainer_fn, *args, **kwargs)
     42     if trainer.strategy.launcher is not None:
     43         return trainer.strategy.launcher.launch(trainer_fn, *args, trainer=trainer, **kwargs)
---> 44     return trainer_fn(*args, **kwargs)
     46 except _TunerExitException:
     47     _call_teardown_hook(trainer)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py:580, in Trainer._fit_impl(self, model, train_dataloaders, val_dataloaders, datamodule, ckpt_path)
    573 assert self.state.fn is not None
    574 ckpt_path = self._checkpoint_connector._select_ckpt_path(
    575     self.state.fn,
    576     ckpt_path,
    577     model_provided=True,
    578     model_connected=self.lightning_module is not None,
    579 )
--> 580 self._run(model, ckpt_path=ckpt_path)
    582 assert self.state.stopped
    583 self.training = False

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py:989, in Trainer._run(self, model, ckpt_path)
    984 self._signal_connector.register_signal_handlers()
    986 # ----------------------------
    987 # RUN THE TRAINER
    988 # ----------------------------
--> 989 results = self._run_stage()
    991 # ----------------------------
    992 # POST-Training CLEAN UP
    993 # ----------------------------
    994 log.debug(f"{self.__class__.__name__}: trainer tearing down")

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/trainer/trainer.py:1035, in Trainer._run_stage(self)
   1033         self._run_sanity_check()
   1034     with torch.autograd.set_detect_anomaly(self._detect_anomaly):
-> 1035         self.fit_loop.run()
   1036     return None
   1037 raise RuntimeError(f"Unexpected state {self.state}")

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py:202, in _FitLoop.run(self)
    200 try:
    201     self.on_advance_start()
--> 202     self.advance()
    203     self.on_advance_end()
    204     self._restarting = False

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py:359, in _FitLoop.advance(self)
    357 with self.trainer.profiler.profile("run_training_epoch"):
    358     assert self._data_fetcher is not None
--> 359     self.epoch_loop.run(self._data_fetcher)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/training_epoch_loop.py:136, in _TrainingEpochLoop.run(self, data_fetcher)
    134 while not self.done:
    135     try:
--> 136         self.advance(data_fetcher)
    137         self.on_advance_end(data_fetcher)
    138         self._restarting = False

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/training_epoch_loop.py:240, in _TrainingEpochLoop.advance(self, data_fetcher)
    237 with trainer.profiler.profile("run_training_batch"):
    238     if trainer.lightning_module.automatic_optimization:
    239         # in automatic optimization, there can only be one optimizer
--> 240         batch_output = self.automatic_optimization.run(trainer.optimizers[0], batch_idx, kwargs)
    241     else:
    242         batch_output = self.manual_optimization.run(kwargs)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/optimization/automatic.py:187, in _AutomaticOptimization.run(self, optimizer, batch_idx, kwargs)
    180         closure()
    182 # ------------------------------
    183 # BACKWARD PASS
    184 # ------------------------------
    185 # gradient update with accumulated gradients
    186 else:
--> 187     self._optimizer_step(batch_idx, closure)
    189 result = closure.consume_result()
    190 if result.loss is None:

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/optimization/automatic.py:265, in _AutomaticOptimization._optimizer_step(self, batch_idx, train_step_and_backward_closure)
    262     self.optim_progress.optimizer.step.increment_ready()
    264 # model hook
--> 265 call._call_lightning_module_hook(
    266     trainer,
    267     "optimizer_step",
    268     trainer.current_epoch,
    269     batch_idx,
    270     optimizer,
    271     train_step_and_backward_closure,
    272 )
    274 if not should_accumulate:
    275     self.optim_progress.optimizer.step.increment_completed()

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/trainer/call.py:157, in _call_lightning_module_hook(trainer, hook_name, pl_module, *args, **kwargs)
    154 pl_module._current_fx_name = hook_name
    156 with trainer.profiler.profile(f"[LightningModule]{pl_module.__class__.__name__}.{hook_name}"):
--> 157     output = fn(*args, **kwargs)
    159 # restore current_fx when nested context
    160 pl_module._current_fx_name = prev_fx_name

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/core/module.py:1291, in LightningModule.optimizer_step(self, epoch, batch_idx, optimizer, optimizer_closure)
   1252 def optimizer_step(
   1253     self,
   1254     epoch: int,
   (...)
   1257     optimizer_closure: Optional[Callable[[], Any]] = None,
   1258 ) -> None:
   1259     r"""Override this method to adjust the default way the :class:`~lightning.pytorch.trainer.trainer.Trainer` calls
   1260     the optimizer.
   1261
   (...)
   1289
   1290     """
-> 1291     optimizer.step(closure=optimizer_closure)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/core/optimizer.py:151, in LightningOptimizer.step(self, closure, **kwargs)
    148     raise MisconfigurationException("When `optimizer.step(closure)` is called, the closure should be callable")
    150 assert self._strategy is not None
--> 151 step_output = self._strategy.optimizer_step(self._optimizer, closure, **kwargs)
    153 self._on_after_step()
    155 return step_output

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/strategies/strategy.py:230, in Strategy.optimizer_step(self, optimizer, closure, model, **kwargs)
    228 # TODO(fabric): remove assertion once strategy's optimizer_step typing is fixed
    229 assert isinstance(model, pl.LightningModule)
--> 230 return self.precision_plugin.optimizer_step(optimizer, model=model, closure=closure, **kwargs)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/plugins/precision/precision.py:117, in Precision.optimizer_step(self, optimizer, model, closure, **kwargs)
    115 """Hook to run the optimizer step."""
    116 closure = partial(self._wrap_closure, model, optimizer, closure)
--> 117 return optimizer.step(closure=closure, **kwargs)

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/torch/optim/optimizer.py:391, in Optimizer.profile_hook_step.<locals>.wrapper(*args, **kwargs)
    386         else:
    387             raise RuntimeError(
    388                 f"{func} must return None or a tuple of (new_args, new_kwargs), but got {result}."
    389             )
--> 391 out = func(*args, **kwargs)
    392 self._optimizer_step_code()
    394 # call optimizer step post hooks

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/torch/optim/optimizer.py:76, in _use_grad_for_differentiable.<locals>._use_grad(self, *args, **kwargs)
     74     torch.set_grad_enabled(self.defaults['differentiable'])
     75     torch._dynamo.graph_break()
---> 76     ret = func(self, *args, **kwargs)
     77 finally:
     78     torch._dynamo.graph_break()

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/torch/optim/adam.py:148, in Adam.step(self, closure)
    146 if closure is not None:
    147     with torch.enable_grad():
--> 148         loss = closure()
    150 for group in self.param_groups:
    151     params_with_grad = []

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/plugins/precision/precision.py:104, in Precision._wrap_closure(self, model, optimizer, closure)
     91 def _wrap_closure(
     92     self,
     93     model: "pl.LightningModule",
     94     optimizer: Optimizer,
     95     closure: Callable[[], Any],
     96 ) -> Any:
     97     """This double-closure allows makes sure the ``closure`` is executed before the ``on_before_optimizer_step``
     98     hook is called.
     99
   (...)
    102
    103     """
--> 104     closure_result = closure()
    105     self._after_closure(model, optimizer)
    106     return closure_result

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/optimization/automatic.py:140, in Closure.__call__(self, *args, **kwargs)
    139 def __call__(self, *args: Any, **kwargs: Any) -> Optional[Tensor]:
--> 140     self._result = self.closure(*args, **kwargs)
    141     return self._result.loss

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/torch/utils/_contextlib.py:115, in context_decorator.<locals>.decorate_context(*args, **kwargs)
    112 @functools.wraps(func)
    113 def decorate_context(*args, **kwargs):
    114     with ctx_factory():
--> 115         return func(*args, **kwargs)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/optimization/automatic.py:126, in Closure.closure(self, *args, **kwargs)
    124 @torch.enable_grad()
    125 def closure(self, *args: Any, **kwargs: Any) -> ClosureResult:
--> 126     step_output = self._step_fn()
    128     if step_output.closure_loss is None:
    129         self.warning_cache.warn("`training_step` returned `None`. If this was on purpose, ignore this warning...")

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/loops/optimization/automatic.py:315, in _AutomaticOptimization._training_step(self, kwargs)
    312 trainer = self.trainer
    314 # manually capture logged metrics
--> 315 training_step_output = call._call_strategy_hook(trainer, "training_step", *kwargs.values())
    316 self.trainer.strategy.post_training_step()  # unused hook - call anyway for backward compatibility
    318 return self.output_result_cls.from_training_step_output(training_step_output, trainer.accumulate_grad_batches)

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/trainer/call.py:309, in _call_strategy_hook(trainer, hook_name, *args, **kwargs)
    306     return None
    308 with trainer.profiler.profile(f"[Strategy]{trainer.strategy.__class__.__name__}.{hook_name}"):
--> 309     output = fn(*args, **kwargs)
    311 # restore current_fx when nested context
    312 pl_module._current_fx_name = prev_fx_name

File /gpfs3/users/jknight/nin561/.local/lib/python3.10/site-packages/lightning/pytorch/strategies/strategy.py:382, in Strategy.training_step(self, *args, **kwargs)
    380 if self.model != self.lightning_module:
    381     return self._forward_redirection(self.model, self.lightning_module, "training_step", *args, **kwargs)
--> 382 return self.lightning_module.training_step(*args, **kwargs)

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/train/_trainingplans.py:344, in TrainingPlan.training_step(self, batch, batch_idx)
    342     self.loss_kwargs.update({"kl_weight": kl_weight})
    343     self.log("kl_weight", kl_weight, on_step=True, on_epoch=False)
--> 344 _, _, scvi_loss = self.forward(batch, loss_kwargs=self.loss_kwargs)
    345 self.log(
    346     "train_loss",
    347     scvi_loss.loss,
   (...)
    350     sync_dist=self.use_sync_dist,
    351 )
    352 self.compute_and_log_metrics(scvi_loss, self.train_metrics, "train")

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/train/_trainingplans.py:278, in TrainingPlan.forward(self, *args, **kwargs)
    276 def forward(self, *args, **kwargs):
    277     """Passthrough to the module's forward method."""
--> 278     return self.module(*args, **kwargs)

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/torch/nn/modules/module.py:1532, in Module._wrapped_call_impl(self, *args, **kwargs)
   1530     return self._compiled_call_impl(*args, **kwargs)  # type: ignore[misc]
   1531 else:
-> 1532     return self._call_impl(*args, **kwargs)

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/torch/nn/modules/module.py:1541, in Module._call_impl(self, *args, **kwargs)
   1536 # If we don't have any hooks, we want to skip the rest of the logic in
   1537 # this function, and just call forward.
   1538 if not (self._backward_hooks or self._backward_pre_hooks or self._forward_hooks or self._forward_pre_hooks
   1539         or _global_backward_pre_hooks or _global_backward_hooks
   1540         or _global_forward_hooks or _global_forward_pre_hooks):
-> 1541     return forward_call(*args, **kwargs)
   1543 try:
   1544     result = None

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/module/base/_decorators.py:32, in auto_move_data.<locals>.auto_transfer_args(self, *args, **kwargs)
     30 # decorator only necessary after training
     31 if self.training:
---> 32     return fn(self, *args, **kwargs)
     34 device = list({p.device for p in self.parameters()})
     35 if len(device) > 1:

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/module/base/_base_module.py:203, in BaseModuleClass.forward(self, tensors, get_inference_input_kwargs, get_generative_input_kwargs, inference_kwargs, generative_kwargs, loss_kwargs, compute_loss)
    172 @auto_move_data
    173 def forward(
    174     self,
   (...)
    181     compute_loss=True,
    182 ) -> tuple[torch.Tensor, torch.Tensor] | tuple[torch.Tensor, torch.Tensor, LossOutput]:
    183     """Forward pass through the network.
    184
    185     Parameters
   (...)
    201         another return value.
    202     """
--> 203     return _generic_forward(
    204         self,
    205         tensors,
    206         inference_kwargs,
    207         generative_kwargs,
    208         loss_kwargs,
    209         get_inference_input_kwargs,
    210         get_generative_input_kwargs,
    211         compute_loss,
    212     )

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/module/base/_base_module.py:743, in _generic_forward(module, tensors, inference_kwargs, generative_kwargs, loss_kwargs, get_inference_input_kwargs, get_generative_input_kwargs, compute_loss)
    739 inference_outputs = module.inference(**inference_inputs, **inference_kwargs)
    740 generative_inputs = module._get_generative_input(
    741     tensors, inference_outputs, **get_generative_input_kwargs
    742 )
--> 743 generative_outputs = module.generative(**generative_inputs, **generative_kwargs)
    744 if compute_loss:
    745     losses = module.loss(tensors, inference_outputs, generative_outputs, **loss_kwargs)

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/module/base/_decorators.py:32, in auto_move_data.<locals>.auto_transfer_args(self, *args, **kwargs)
     30 # decorator only necessary after training
     31 if self.training:
---> 32     return fn(self, *args, **kwargs)
     34 device = list({p.device for p in self.parameters()})
     35 if len(device) > 1:

File /well/jknight/projects/bmrcAudit/toAudit/Andrew_Kwok/python/NMDA_2023/lib/python3.10/site-packages/scvi/external/cellassign/_module.py:167, in CellAssignModule.generative(self, x, size_factor, design_matrix)
    165 # base gene expression
    166 b_g_0 = self.b_g_0.unsqueeze(-1).expand(n_cells, self.n_genes, self.n_labels)
--> 167 delta_rho = delta * self.rho
    168 delta_rho = delta_rho.expand(n_cells, self.n_genes, self.n_labels)  # (n, g, c)
    169 log_mu_ngc = base_mean + delta_rho + b_g_0

RuntimeError: The size of tensor a (225) must match the size of tensor b (363) at non-singleton dimension 0

Versions:

VERSION

Last run with scvi-tools version: 1.1.2
As a quick aside - the CellAssign tutorial doesn't seem to load the numpy library which is required for calculating the library size, but that's a very minor issue.

Hi, for the tutorial: We don't run the numpy function so I guess it's fine. @ori-kron-wis: Can you add for scvi-tools 1.2.0 release an import numpy as np to the tutorial?
For the error, I can't reproduce it, as you already mentioned that also for you the tutorial is working. I assume it's a problem with the data setup. If you share an AnnData object and the marker.csv file, I will give it a try on this dataset and try to reproduce it and fix it. Thanks!

I have enconder teh same error

I wasn’t able to reproduce it. Do you also get it with our tutorial? Can you otherwise please share your data? Which version of scvi-tools are you using? Do you experience the error also on Colab within the tutorial using your data?

CellAssign

I Dont have permission to push to scverse/scvi-tutorials. I need to be added to https://github.com/orgs/scverse/teams/scvi-tools/members but before that I need to be added to the scverse GH org

Hi!
I have the same problem with my batch. I have followed the tutorial on https://docs.scvi-tools.org/en/stable/tutorials/notebooks/scrna/cellassign_tutorial.html, and with the demo data it works.
I made a test marker gene set with only 3 genes, and it works. Now I used the full marker gene list I have. All stepps are completed but when coming to the model training I get the same error mentioned above.
Marker gene set:

Anndata object:

Model:

Error:

Any solution?

Hi, thanks for sharing more input. First weird thing is to have NKX2-2 twice in the table. To my knowledge, CellAssign expects exclusive marker genes or at least have it in the same row. Are you able to share a small test dataset (best case just 200 cells) and after setting up the data with setup_anndata.

Thank you for pointing this out. I have deleted the repetitive gene names and put them in 1 row. Now I don't get the error!

Great. @andrewjkwok Can you check for similar issues? @ori-kron-wis it would be good to add a test for duplicated row labels.

Hi, thanks for sharing more input. First weird thing is to have NKX2-2 twice in the table. To my knowledge, CellAssign expects exclusive marker genes or at least have it in the same row. Are you able to share a small test dataset (best case just 200 cells) and after setting up the data with setup_anndata.

Thank you for pointing this out. I have deleted the repetitive gene names and put them in 1 row. Now I don't get the error!
I checked, and find I also have duplicated rows, when I remove duplicated rows in gene markers table, it worked, erros disappear, thanks a lot!


Add a copy button for compartment name in LiveLabs UI

Add Copy option in LiveLabs Info UI

Discussed with LiveLabs team - it is not feasible at this point