text:
pyo3 crate recompiled on (every?) build

I don't have a minimal repro yet, but the pyo3 crate seems to be recompiled on most builds which significantly increases compilation times. I'm on pyo3 version 0.13.2, rustc version 1.53.0.

See also #1551
This might be fixed on main / upcoming 0.14 release depending on your build environment.
I think that rust-analyzer runs things like cargo check which can invalidate pyo3's build config unless the environments carefully match.
This is worthy of a topic in the guide, and probably there could be more discussion whether we need to make further changes.

Ah good to know! I tried setting PYO3_PYTHON both when building manually and in rust-analyzer.server.extraEnv but that doesn't seem to have done the trick yet. I think I'll just remove PyO3 completely from Rust builds for now which I have mostly set up that way anyway already because of that linker issue. Happy to do some more testing/debugging on this once 0.14 lands.

Thanks. I've also been considering reaching out to the rust-analyzer folks who might be more familiar with all the cases when pyo3's build.rs is invoked, however haven't gotten around to that yet.

I have pyo3 as an optional dependency for this reason.

After much poking around, I think the problem lies in rustup (not rust-analyzer nor cargo), so have filed a bug report in that project:
https://github.com/rust-lang/rustup/issues/2848
For now I think configuring CARGO_TARGET_DIR for rust-analyzer would seem to be the most reliable workaround (at the cost of having two separate builds)

Thanks for the investigation! If the rustup bug getting fixed does indeed remove this frequently-encountered papercut, I'll be very happy 😄

The PR that fixes it in rustup (https://github.com/rust-lang/rustup/pull/2849) is merged

The PR that fixes it in rustup (rust-lang/rustup#2849) is merged

Still doesn't work for me.
windows 11
pyo3 0.18.0
rustup 1.25.2 (17db695f1 2023-02-01)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.67.0 (fc594f156 2023-01-24)`

Unfortunately, problem still remains. In my case it is only manifest itself when rust-analyzer is running in IDE.

I can confirm too. I use rust-analyzer (extension v0.3.1402) with vscode and the py03 gets recompiled every time.
use pyo3::{types::PyDict, types::PyModule, PyResult, Python};

   Compiling pyo3-build-config v0.18.0
   Compiling pyo3-ffi v0.18.0
   Compiling pyo3 v0.18.0

Can you try running your builds with CARGO_LOG=cargo::core::compiler::fingerprint=info as suggested above, and show here what is causing the cache invalidation?

I managed to solve a problem. Or at least found a decent workaround.

Can you try running your builds with CARGO_LOG=cargo::core::compiler::fingerprint=info as suggested above, and show here what is causing the cache invalidation?

Seems like the same issue: err: env var 'PATH' changed.
Full log:
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] dependency on `build_script_build` is newer than we are 1676466118.936326620s > 1676466053.631031496s "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-ffi-0.18.1"
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] dependency on `build_script_build` is newer than we are 1676466119.140438444s > 1676466056.897465668s "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.18.1"
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for crab v0.1.0 (/Users/bazhenov/Developer/crab)/Build/TargetInner { ..: lib_target("crab", ["lib"], "/Users/bazhenov/Developer/crab/src/lib.rs", Edition2021) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3 v0.18.1/Build/TargetInner { ..: lib_target("pyo3", ["lib"], "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.18.1/src/lib.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3 v0.18.1/RunCustomBuild/TargetInner { ..: custom_build_target("build-script-build", "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.18.1/build.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: unit dependency information changed

    Caused by:
        new (build_script_build/b73abd80d1b5c6e5) != old (build_script_build/7d829398a44f12b4)
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3 v0.18.1/Build/TargetInner { ..: custom_build_target("build-script-build", "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.18.1/build.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: unit dependency information changed

    Caused by:
        new (pyo3_build_config/1743a4d849f4181b) != old (pyo3_build_config/b34bbfa27ea017eb)
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3-build-config v0.18.1/Build/TargetInner { ..: lib_target("pyo3-build-config", ["lib"], "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-build-config-0.18.1/src/lib.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: unit dependency information changed

    Caused by:
        new (build_script_build/5fe9711f85c67c02) != old (build_script_build/d8fecd9d3b0d8efe)
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3-build-config v0.18.1/RunCustomBuild/TargetInner { ..: custom_build_target("build-script-build", "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-build-config-0.18.1/build.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: env var `PATH` changed: previously Some("/Users/bazhenov/.cargo/bin:/Users/bazhenov/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/bazhenov/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/local/Cellar/openjdk/19.0.2/libexec/openjdk.jdk/Contents/Home/bin:/usr/local/opt/fzf/bin"), now Some("/Users/bazhenov/.cargo/bin:/Users/bazhenov/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/bazhenov/.cargo/bin:/Users/bazhenov/bin:/usr/local/sbin:/usr/local/Cellar/openjdk/19.0.2/libexec/openjdk.jdk/Contents/Home/bin:/usr/local/opt/fzf/bin:/usr/local/sbin:/usr/local/bin:/usr/local/Cellar/openjdk/19.0.2/libexec/openjdk.jdk/Contents/Home/bin")
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3-ffi v0.18.1/RunCustomBuild/TargetInner { ..: custom_build_target("build-script-build", "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-ffi-0.18.1/build.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: unit dependency information changed

    Caused by:
        new (build_script_build/d41ac0404f890cd7) != old (build_script_build/9b9073f7bf4231be)
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3-ffi v0.18.1/Build/TargetInner { ..: custom_build_target("build-script-build", "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-ffi-0.18.1/build.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: unit dependency information changed

    Caused by:
        new (pyo3_build_config/1743a4d849f4181b) != old (pyo3_build_config/b34bbfa27ea017eb)
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for pyo3-ffi v0.18.1/Build/TargetInner { ..: lib_target("pyo3-ffi", ["lib"], "/Users/bazhenov/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-ffi-0.18.1/src/lib.rs", Edition2018) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint] fingerprint error for crab v0.1.0 (/Users/bazhenov/Developer/crab)/Build/TargetInner { name: "crab", doc: true, ..: with_path("/Users/bazhenov/Developer/crab/src/main.rs", Edition2021) }
[2023-02-15T13:02:15Z INFO  cargo::core::compiler::fingerprint]     err: current filesystem status shows we're outdated
   Compiling pyo3-build-config v0.18.1
   Compiling pyo3-ffi v0.18.1
   Compiling pyo3 v0.18.1
   Compiling crab v0.1.0 (/Users/bazhenov/Developer/crab)
    Finished dev [unoptimized + debuginfo] target(s) in 7.76s

Looking at src/impl_.rs in the pyo3-build-config I realize that cargo:rerun-if-env-changed=PATH directive is applied only if no PYO3_PYTHON environment variable is provided. So I've added following configuration to .cargo/config.toml
[env]
PYO3_PYTHON = "/usr/local/bin/python3"

And now everything works like a charm 🍾. Hope this helps.

Thanks for the repro and suggestion @bazhenov !

[env]
PYO3_PYTHON = "/usr/local/bin/python3"

Would there be an approach that generalizes to others who have different locations for their Python executable?

Would there be an approach that generalizes to others who have different locations for their Python executable?

It's kinda is. Cargo config can be located not in project but home directory – https://doc.rust-lang.org/cargo/reference/config.html

We see:

     Dirty pyo3-build-config v0.18.2: the env variable PYO3_PYTHON changed

on basically every CI build. I believe I can explain what's happening:
We use pyo3 + setuptools-rust. In CI we do pip install . and then use CARGO_TARGET_DIR to ensure we have a consistent target/ dir so we can cache already built Rust dependencies between builds.
Because we are a PEP517 package, when pip install . is executed, pip will create an sdist for the package, create a temporary virtualenv, unpack the sdist, and then install the package there. The python that is used to invoke setuptools (and setuptools-rust) which in turn shells out to cargo rustc is the python from the temporary virtualenv, and therefore changes on every invocation.
This leads to invalidating the PYO3_PYTHON env var on every single build.

Disregard this, it was entirely wrong 😭. Turns out we were sharing caches between different tox (or nox) jobs (e.g. lint vs. docs) and the environment name is in the path.

I managed to work-around this issue by setting PYO3_PYTHON variable based on this comment https://github.com/PyO3/pyo3/issues/1708#issuecomment-1431371263
commonArgs = {
  ...
  env.PYO3_PYTHON = ${python3}/bin/python";
};

If other environment variables are set in the output derivation, use recursiveUpdate instead of // to mix in commonArgs:
craneLib.XXXX (lib.recursiveUpdate commonArgs {
  ...
  env.RUST_LOG = "debug";
})

Is there any update on this? I still experience PyO3 recompiling every time when using rust-analyzer.

They seem to have found a workaround. The documentation in https://github.com/ipetkov/crane/pull/486 specifies setting a path variable for the python binary in NIX. It can also just be put into the [env] section of .cargo/config.toml
...

[env]
PYO3_PYTHON = "path/to/python"

Thanks. Maybe also mark this as solved, so that others know to look for a solution within this issue.

I tried the workaround with
[env]
PYO3_PYTHON = "./venv/bin/python"

but it does not change anything for me. When rust-analyzer is active, every code edit I make, results in a complete (~20 sec) rebuild of pyo3-macros and other dependencies. :(

# .cargo/config.toml
[env]
PYO3_PYTHON = "./.venv/bin/python"

Worked for me. Had to make it (uv venv) and vscode asked if I wanted to use it, I said yes. I also manually activated it in the existing terminal pane (new ones are fine, too, and it does add a little "request to relaunch" warning in the sidebar). Reran both cargo test in the terminal and saved the file, and now it's not recompiling PyO3 every time.

FWIW, I'm having the same problem when using RustRover. Thanks to everyone for the workaround suggestions.

For any other Emacs users out there, what I ultimately settled on was, in my .emacs
(setenv "PYO3_ENVIRONMENT_SIGNATURE" "cpython-3.11-64bit")
(setenv "PYO3_PYTHON" "/path/to/.venv/bin/python")

And I set the same variables with the same values in my .zprofile so that anytime I invoked Cargo from the terminal it would reuse the cached build. I couldn't convince the rust-analyzer started by Emacs to respect the values in $PROJECT_DIR/.cargo/config.toml 🤷 .

I could only stop the invalidation by using a different target subdirectory for RA, setting rust-analyzer.cargo.targetDir to true.

authors: Jgfrausing alex antimora bazhenov cswinter danking davidhewitt dbr henryiii max-sixty mejrs metasim rbozan ritchie46 tadeohepperle vlaci xnerhu


text:
Script for counting subword tokens of OSCAR

Just read your Blog, and appreciated your findings. In the blog there is a line that mentioned:
We trained a Thai Sentencepiece tokenizer with 16k vocab and ran it on the Thai portion of OSCAR. This results in about 1B subword tokens.
I tried replicating the findings using publicly available Sentencepiece tokenizers (mT5, WangchanBERTa, and XGLM) with a Thai portion of OSCAR-2301. Although these Sentencepice tokenizers absolutely have different vocab than 16k vocab tokenizer to do a direct comparison, My results are far from 1B subword tokens.
from datasets import load_dataset

dataset = load_dataset("oscar-corpus/OSCAR-2301", "th")
print(dataset)

from transformers import XGLMTokenizerFast

tokenizer_xglm = XGLMTokenizerFast.from_pretrained("facebook/xglm-7.5B")
dataset_tokenized = dataset['train'].map(lambda item: {"ids": tokenizer_xglm(item['text'])['input_ids']}, batched=True, batch_size=100000)
dataset_tokenized = dataset_tokenized.map(lambda item: {"length": len(item['ids'])})
print(dataset_tokenized)
print(sum(dataset_tokenized['length'])) #output: 10203895284 (10.2B)

Full Code: https://colab.research.google.com/drive/1EzLFuWIUZ3f71cmTo2fIA9_fa8X-rM2z?usp=sharing
Can you guide me why my code did not get the same result or can you share a script that can reproduce these findings? Thank you.

Hi New. Thanks for checkout our blog and models. We did deduplication and preprocessing on it. I should have clarified that in the blog. Will add. Thanks.

source: gharchive/issue

repo: PyThaiNLP/WangChanGLM

license_type: permissive

license_source: github-api


text:
global_step is incorrect while restarting

🐛 Bug
While resuming global_step is increased since it's incremented during checkpointing.
https://github.com/PyTorchLightning/pytorch-lightning/blob/1a2536361749d13e3f30cec11c7da11747f425ab/pytorch_lightning/trainer/connectors/checkpoint_connector.py#L343
any reason why this is incremented? even if training is stopped in between (no fault-tolerant), the checkpoint is restarted from the next epoch anyways.
To Reproduce

Code:
import torch
import os
from pytorch_lightning import LightningModule
from pytorch_lightning import Trainer
from torch.utils.data import Dataset, DataLoader

class BoringModel(LightningModule):
    def __init__(self):
        super().__init__()
        self.layer = torch.nn.Linear(32, 2)

    def training_step(self, batch, batch_idx):
        loss = self.layer(batch).sum()
        print(f'Epoch: {self.current_epoch} Global step: {self.global_step}')
        return loss

    def configure_optimizers(self):
        return torch.optim.SGD(self.layer.parameters(), lr=0.1)

class RandomDataset(Dataset):
    def __init__(self, size, num_samples):
        self.len = num_samples
        self.data = torch.randn(num_samples, size)

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return self.len

train_data = DataLoader(RandomDataset(32, 64), batch_size=2)
trainer = Trainer(limit_train_batches=2, max_epochs=1, enable_checkpointing=False, enable_progress_bar=False, enable_model_summary=False)
model = BoringModel()
trainer.fit(model, train_dataloaders=train_data)

ckpt_path = 'resume.ckpt'
trainer.save_checkpoint(ckpt_path)

trainer = Trainer(limit_train_batches=2, max_epochs=2, enable_checkpointing=False, enable_progress_bar=False, enable_model_summary=False)
trainer.fit(model, train_dataloaders=train_data, ckpt_path=str(ckpt_path))

Output:
Epoch: 0 Global step: 0
Epoch: 0 Global step: 1
Epoch: 1 Global step: 3
Epoch: 1 Global step: 4

Expected behavior
Epoch: 0 Global step: 0
Epoch: 0 Global step: 1
Epoch: 1 Global step: 2
Epoch: 1 Global step: 3

Environment

PyTorch Lightning Version (e.g., 1.5.0):
PyTorch Version (e.g., 1.10):
Python version (e.g., 3.9):
OS (e.g., Linux):
CUDA/cuDNN version:
GPU models and configuration:
How you installed PyTorch (conda, pip, source):
If compiling from source, the output of torch.__config__.show():
Any other relevant information:

Additional context

cc @awaelchli @ananthsub @ninginthecloud @rohitgr7

I believe this is a duplicate of https://github.com/PyTorchLightning/pytorch-lightning/issues/7406.
I've wanted to fix this for a long time, will tackle global step after the current epoch fix is merged.

Hi, @rohitgr7, I think it relates to how user is using checkpointing. If user uses checkpoint callback, then on on_train_epoch_end, global_step has decreased by 1, see https://github.com/PyTorchLightning/pytorch-lightning/blob/master/pytorch_lightning/callbacks/model_checkpoint.py#L298-L309
        """Save a checkpoint at the end of the training epoch."""
        # as we advance one step at end of training, we use `global_step - 1` to avoid saving duplicates
        trainer.fit_loop.global_step -= 1
        if (
            not self._should_skip_saving_checkpoint(trainer)
            and self._save_on_train_epoch_end
            and self._every_n_epochs > 0
            and (trainer.current_epoch + 1) % self._every_n_epochs == 0
        ):
            self.save_checkpoint(trainer)
        trainer.fit_loop.global_step += 1

That's why in pytorch-lightning/pytorch_lightning/trainer/connectors/checkpoint_connector.py, global_step increased by 1.
But you are right, if user uses checkpoint in the way you showed in the example, it could easily come to incorrect value.

authors: carmocca ninginthecloud rohitgr7

repo: PyTorchLightning/pytorch-lightning


text:
[feat] Support custom filesystems in LightningModule.to_torchscript

What does this PR do?

This code wasn't using fsspec meaning remote filepaths (azure, s3, gcs) weren't supported out of the box. This PR fixes that by using fsspec, similar to how we use this in other parts of the codebase..
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

@carmocca @tchaton @Borda mind taking a look when you get a chance?

source: gharchive/pull-request


text:
Release times

This PR:

[x] Closes #244.
[x] Adds and passes relevant tests.
[x] Has well-formatted code and documentation.

Notes:

It is essential that you add a test when making code changes.
This keeps the code coverage level up, and helps ensure the changes work as intended.
When fixing a bug, you must add a test that would produce the bug in the master branch, and then show that it is fixed with the new code.
New code additions must be well formatted. Changes should pass the pre-commit workflow, which you can set up locally using pre-commit.
Docstring additions must render correctly, including escapes and LaTeX.

I'm going to generate some benchmark instances for VRPTW-RT using the EURO-NeurIPS instances.

I'm going a benchmark now on 100 VRPTW-RT instances from the Euro-NeurIPS competition.

@N-Wouda I've implemented your comments. Performance is also OK (see https://github.com/PyVRP/PyVRP/pull/254#issuecomment-1617650508).

repo: PyVRP/PyVRP

license: MIT


text:
MAINT: use numpy-config and fix support for numpy 2.0

Note that we do have a job that installs numpy with --pre, but 2.0.0b1 gets uninstalled again because matplotlib (also used/needed in CI jobs) doesn't support it yet.

Okay, this is happy in CI and works locally with numpy 2.0.0b1, so let's give it a go.

repo: PyWavelets/pywt

license: mit

license_source: bigquery


text:
Hero section redesign

This pr seeks to;

Redesign hero section
Add vertical padding to navbar

Please note so many files changes because;

Moved images from public/img to public/assets/images to make the path more elaborative.
Grouped home page sections  by moving them from /components to /components/home
moved footer and navbar to /components/ui

@basiima we can go with this for now

authors: Amanya-Brian HassanBahati


text:
Clearer documentation about how to industrialize Cobra models

Clearer documentation about how to industrialize Cobra models
We've received a couple of questions in the past months about how Cobra models can be industrialized.
Let's interpret that as a sign that the documentation about industrialization with Cobra can be improved.
Task Description

https://github.com/PythonPredictions/cobra/blob/master/tutorials/tutorial_Cobra_logistic_regression.ipynb: add a dedicated "Industrialization" section and move cells 41 and 42 over there + show how the preprocessor & model files can be loaded again and applied to new data.
idem for linear regression tutorial
add a dedicated section for industrialization in the documentation https://pythonpredictions.github.io/cobra.io/index.html ("Industrialization" in left pane's navigation menu?).

Explanation for the above changes: I wanted to take up this issue here for the questions raised by collagues in https://github.com/PythonPredictions/brico-analytical-base-tables/pull/59, but see that #127 is actually more appropriate to do that.

repo: PythonPredictions/cobra


text:
Add Top Regional Hits page

Hello @QAZIMAAZARSHAD sir, I would like to add a page called regional hits just like horrors, comedy etc in that page I will add movies which are top hits and famous movies of different languages like Marathi, gujarati, etc. Please assign this issue to me, I am a LGM-SOC'21 Participant.

Similar issue is already present https://github.com/QAZIMAAZARSHAD/Movie-Streaming-Website/issues/36.

authors: QAZIMAAZARSHAD Vedant-Jayesh-Oza

repo: QAZIMAAZARSHAD/Movie-Streaming-Website


text:
Design recommendation page

Recommendation or mood page which will suggest movies according to the mood

Go ahead.

please assign me this . I will surely design recommendations page as LGM SOC participant.

@archanagandhi are you working on this?

No, I am having sem exams. couldn't concentrate. Let me close the issue

if  u are closing may i do it

Please assign me this issue under LGMSOC 21

@kshitija-2001 @nitishapiplani any updates?

authors: QAZIMAAZARSHAD archanagandhi kshitija-2001 nik464 nitishapiplani utkarsh-ub


text:
能否提供一个只显示该图层的功能

能否添加下只显示该图层以及取消只显示该图示的功能。不用每次都一层层关掉上面的图层

最新版的 Lookin 1.0.3 已包含该功能。

authors: erlangzhang hughkli

repo: QMUI/LookinServer


text:
ERROR parsing in kitchen yml

kitchen.log

please upload cookbook

apache1_cookbook.zip

please check transport section  kitechen.yml
username: ubuntu have no spaces
give two spaces

put the availability zone correctly , if using N-Virginia  us-east-1a

please close the issue, if resolved

is your issue still unresolved

yes
On Wed, Apr 17, 2019 at 12:22 PM BHASKAR DEGALA notifications@github.com
wrote:

is your issue still unresolved
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/QT-DevOps/DevOpsIssues/issues/411#issuecomment-483960554,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Au0dU6ZdKMjyQILtxJ5SErV28g0nzgQmks5vhsSzgaJpZM4crgSD
.

yes
…
On Wed, Apr 17, 2019 at 12:22 PM BHASKAR DEGALA @.***> wrote: is your issue still unresolved — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#411 (comment)>, or mute the thread https://github.com/notifications/unsubscribe-auth/Au0dU6ZdKMjyQILtxJ5SErV28g0nzgQmks5vhsSzgaJpZM4crgSD .

then close the issue

please close issue

please try again and send cookbbok

there are some some spacing issues in your kitchen .yaml file
and i rectified some please try it out and let me know if there are any further errors
cookbook.zip

authors: bhaskardegala devopslearningteja gayithrikota nareshabbanapuri

repo: QT-DevOps/DevOpsIssues


text:
Is there a way to get the contents from the solution tab as well if available?

Query: Is there a way to get the contents from the solution tab if available? Is it already supported?

repo: QasimWani/LeetHub


text:
Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1), thread xxx,程序崩溃

问题详细描述 Detailed description of the problem
4.x的手机在startActivity之后，出现Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1), thread xxx,程序崩溃！5.0以后没问题
复现问题步骤 Steps to reproduce the problem
其它重要信息 Other important information
replugin-host-lib/gradle Version:2.2.1
rePlugin-plugin-lib/gradle Version:2.2.1
Android API Version：4.4.2-19
Android 手机型号&ROM(Phone model & ROM): htc
Logcat上下文 Logcat context
RePlugin.ws000: loadLocked(): Initialized, is loaded = true
RePlugin.ws001: PACM: loadActivityClass, plugin activity loader: in=com.xx.loader.a.ActivityN1STNTS0 activity=comxx.HomeActivity
RePlugin.ws001: PACM: loadActivityClass, plugin activity loader: c=xx.HomeActivity, loader=com.qihoo360.replugin.PluginDexClassLoader[DexPathList[[zip file "/data/user/0/com.xx/app_p_a/181088705.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib, /vendor/lib]]]
A/libc: Fatal signal 11 (SIGSEGV) at 0x00000008 (code=1), thread 29822 (le.memobile.dev)
I/DEBUG: Build fingerprint: 'htc/htccn_chs_cu/htc_a5dug:4.4.2/KOT49H/332745.1:user/release-keys'
I/DEBUG: debuggerd: checkTellHTCSettings
V/HtcNativeCrashUtil: Read id1=-1243796867 id2=-217320719, they are start flags. This is HTC header
I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000008
I/DEBUG: backtrace:
I/DEBUG:     #00  pc 000153b8  /system/lib/libandroidfw.so (android::ResTable::getBagLocked(unsigned int, android::ResTable::bag_entry const**, unsigned int*) const+299)
I/DEBUG:     #01  pc 0001588b  /system/lib/libandroidfw.so (android::ResTable::Theme::applyStyle(unsigned int, bool)+30)
I/DEBUG:     #02  pc 0002094c  /system/lib/libdvm.so (dvmPlatformInvoke+112)
I/DEBUG:     #03  pc 00057589  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+428)
I/DEBUG:     #04  pc 00029de0  /system/lib/libdvm.so
I/DEBUG:     #05  pc 000326e4  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
I/DEBUG:     #06  pc 0002fc00  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+232)
I/DEBUG:     #07  pc 0006d579  /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392)
I/DEBUG:     #08  pc 00077119  /system/lib/libdvm.so
I/DEBUG:     #09  pc 00029de0  /system/lib/libdvm.so
I/DEBUG:     #10  pc 000326e4  /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
I/DEBUG:     #11  pc 0002fc00  /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+232)
I/DEBUG:     #12  pc 0006d249  /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
I/DEBUG:     #13  pc 00052b2f  /system/lib/libdvm.so
I/DEBUG:     #14  pc 0005017f  /system/lib/libandroid_runtime.so
I/DEBUG:     #15  pc 00051341  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+472)
I/DEBUG:     #16  pc 000010bb  /system/bin/app_process
I/DEBUG:     #17  pc 0000e45b  /system/lib/libc.so (__libc_init+50)
I/DEBUG:     #18  pc 00000db8  /system/bin/app_process

Native Crash

@cundong 嗯，其实我想问的是是否了解可能造成这部分的原因，看着像是ResTable那部分的问题，会不会是插件潜在的针对4.x的特殊问题呢。

这个问题解决了么？

这个问题解决了么？

authors: chinacuizichao cundong lauhwong


text:
简化 lib 库代码的方案

注意： 这是一个测试方案，用来解决一下问题。
问题
RePlugin 分为 host 和 plugin 两个库分别应用在宿主项目和插件项目，但是在 plugin 库中有很多代码接口是重复的，并且通过反射调用了 host 的代码，代码维护起来比较麻烦，比如在 host 中添加了一个函数，在 plugin 中也需要添加对应的函数 等。
主要改动的地方

删除 plugin 库中和 host 库中重复的代码
重构 plugin 的包名为 com.qihoo360.replugin.plugin，最好同时把 host 库的包名修改为 com.qihoo360.replugin.host （由于这个改动比较大，在示例方案中并没有修改）
plugin 中只保留必要的代码，查看 这里 可以看到 plugin 库只需要 Entry.java 和 loader 中的hook Activity 等代码即可。RePluginServiceManager.java 代码也可以放到 Entry.java  中来管理service。
host 库发布的时候，同时把 java class 通过 jar 包来发布 改动 gradle 文件
在 plugin 库和 插件项目中通过 provided 的方式来引用 host lib 的 jar
加载插件类的时候，如果发现是 host 库中的代码，则在 host 中加载。
本次代码依赖 https://github.com/Qihoo360/RePlugin/pull/110 这个提交

再次说明： 本次改动主要目的是探讨如何减少 plugin 库 中对 host 库中重复类的定义和使用，方便后期项目迭代。本次提交只是一个参考实现思路，供 RePlugin 团队参考，由于没有时间深入研究 Replugin 的所有源代码，所以有些地方实现的可能有问题。修改后经过 示例项目测试是没有问题的，但是由于示例项目功能简单，可能有一些其他用法并没有覆盖到，可能会导致问题。

可以直接下载 https://github.com/goodev/RePlugin/tree/refactor 这个分支代码来体验本次修改。注意：需要先把各个库发布到本地 maven 仓库中才能使用。

首先非常感谢 @goodev 的给力提交哈。因为改动非常大，我们经过评估，认为可能先Later。之后我们会根据反馈和实际情况来调整目录结构。
如果之后我们做了类似的工作，到时候会在提交记录里注明和此次PR的关系。谢谢理解！

当然，我们在您的改动中也发现了一些不错的细节点，例如改动4、6等，建议您可以分拆成多个PR来提交。

authors: goodev jiongxuan


text:
repository clone failed on Windows

when I clone this repo on a Windows computer, I get this error:

In the Windows operating system, a file or a folder named with the character : is not supported. sadly in your repo, there are some folders whose name has :.

I just cloned this repo on another Linux computer, but could you change its name for those folders, so that other developers can clone this repo on Windows?

Hi @jestyf ,
Thank you! We have fixed the naming issue.

authors: QinbinLi jestyf

repo: QinbinLi/LLM-PBE


text:
transit config to backend_options to compile/run the circuits

What is the expected enhancement?
Using config the set the simulation options will be deprecated, we should move forward to use backend_options but we should keep backward compatibility.

In https://github.com/Qiskit/qiskit-terra/pull/1629, a RunConfig class is introduced that will contain all options that the backend needs to run the circuit (shots, max_credits, memory, etc.).
Similarly we plan to have a CompileConfig class that is consumed by the compiler.
Does that work? The goal is to eventually make the compile/exeucte signatures more compact, and to be able to validate the passed-in args.

It sounds good to categorize options, will keep eye on that PR.

@ajavadia
btw, in Aqua, we already have the categorization for those augments passed into compile/execute in Terra.
https://github.com/Qiskit/qiskit-aqua/blob/842b7b067d8855b3939c62de33181095c2cfca61/qiskit_aqua/quantum_instance.py

authors: ajavadia chunfuchen

repo: Qiskit/qiskit-aqua


text:
More meaningful error handling

What is the expected feature or enhancement?

Copied from internal repo - originally created by Darius.

In case of an error thrown by a server, the following piece of code in estimator.py does not handle it nicely:
raw_result = self._session.read()
return EstimatorResult(
    values=raw_result["values"],
    metadata=raw_result["metadata"],
)

and generates the following error for the user:
File "/qiskit-ibm-runtime/qiskit_ibm_runtime/estimator.py", line 108, in __call__
    values=raw_result["values"],
TypeError: string indices must be integers

It does not include information about the original error from the server unless someone changed the estimator code to print raw_result before running the job. Perhaps some errors could be caught in the estimator class with a server message error printed for convenience and clarity?
Acceptance criteria

Closing for now, error handling has greatly improved

repo: Qiskit/qiskit-ibm-runtime


text:
Estimator fails when given circuit with classical bits

Describe the bug
In some cases, when defining the input circuit with classical bits, the Estimator gives an ugly and not so comprehensible error message.
Steps to reproduce
Here is a small example:
from qiskit_ibm_runtime import QiskitRuntimeService, Estimator
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp

service = QiskitRuntimeService(channel="ibm_quantum")
backend = service.backend("ibmq_qasm_simulator")

circuit = QuantumCircuit(2, 2)
obs =SparsePauliOp.from_list([("II", 1)])
backend = service.backend("ibmq_qasm_simulator")
estimator = Estimator(session=backend)
job = estimator.run(circuit, observables=obs)
print(job.result())

Here is the error message:
Traceback (most recent call last):
  File "/home/merav/work/qiskit_ibm_runtime/641/../tests/bad_classical_bits.py", line 13, in <module>
    print(job.result())
  File "/home/merav/work/qiskit_ibm_runtime/641/qiskit_ibm_runtime/runtime_job.py", line 224, in result
    raise RuntimeJobFailureError(
qiskit_ibm_runtime.exceptions.RuntimeJobFailureError: 'Unable to retrieve job result. Job cg8300fnjktevf0coth0 has failed:\nTraceback (most recent call last):\n2023-03-14T08:27:47.718414965Z   File "/provider/server/main.py", line 75, in execute_program\n2023-03-14T08:27:47.718431697Z     starter.execute()\n2023-03-14T08:27:47.718463691Z   File "/provider/programruntime/program_starter_wrapper.py", line 102, in execute\n2023-03-14T08:27:47.718487521Z     raise ex\n2023-03-14T08:27:47.718514727Z   File "/provider/programruntime/program_starter_wrapper.py", line 91, in execute\n2023-03-14T08:27:47.718537561Z     final_result = self.main(backend, self.messenger, **self.user_params)\n2023-03-14T08:27:47.718563651Z   File "/code/./program.py", line 1406, in main\n2023-03-14T08:27:47.718589310Z     result = estimator.run(\n2023-03-14T08:27:47.718609411Z   File "/code/./program.py", line 208, in run\n2023-03-14T08:27:47.718629381Z     transpiled_circuits = self.transpiled_circuits\n2023-03-14T08:27:47.718648865Z   File "/code/./program.py", line 391, in transpiled_circuits\n2023-03-14T08:27:47.718669984Z     self._split_transpile()\n2023-03-14T08:27:47.718712337Z   File "/code/./program.py", line 434, in _split_transpile\n2023-03-14T08:27:47.718772540Z     self._transpiled_circuits += self._combine(\n2023-03-14T08:27:47.718789950Z   File "/code/./program.py", line 447, in _combine\n2023-03-14T08:27:47.718804788Z     transpiled_circuit.add_register(creg)\n2023-03-14T08:27:47.718820991Z   File "/opt/app-root/lib64/python3.9/site-packages/qiskit/circuit/quantumcircuit.py", line 1395, in add_register\n2023-03-14T08:27:47.718837904Z     raise CircuitError(\'register name "%s" already exists\' % register.name)\n2023-03-14T08:27:47.718852892Z qiskit.circuit.exceptions.CircuitError: \'register name "c" already exists\'\n2023-03-14T08:27:47.726076677Z /pod-data/ CLOSE_WRITE,CLOSE terminated\n2023-03-14T08:27:47.759057309Z Termination marker file found. Kill process (7).\n2023-03-14T08:27:47.791350105Z /bin/bash: line 3:     7 Killed                  python -m uvicorn server.main:app --port 8081\n2023-03-14T08:27:47.791445470Z Termination signal received, exited.\n'

Expected behavior
Should give appropriate error message or not fail.
Suggested solutions
Additional Information
In the code above, when we define the circuit = QuantumCircuit(2) there is no problem.
See also #659 .

qiskit-ibm-runtime version:  0.20.1
Python version: 3.10.9
Operating system: ubuntu

See epic https://github.ibm.com/IBM-Q-Software/ws-primitives/issues/39.

Even worse is that if the circuit is created with ClassicalRegister arguments (rather than ints), the job completes but with nonsense results:

backend
cbit?
values

sim
no
[-1.     -0.0035]

kyoto
no
[-1.01559967 -0.04368171]

sim
yes
[-1.     -0.0265]

kyoto
yes
[1.64630225 1.64630225]

Code to reproduce
from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister
from qiskit.quantum_info import SparsePauliOp
from qiskit_ibm_runtime import QiskitRuntimeService, Estimator

service = QiskitRuntimeService(channel="ibm_quantum")
simulator = service.backend("ibmq_qasm_simulator")
hardware = service.backend("ibm_kyoto")

mps = [SparsePauliOp("Z"), SparsePauliOp("Y")]

without_bit = QuantumCircuit(QuantumRegister(1))
without_bit.x(0)

with_bit = QuantumCircuit(QuantumRegister(1), ClassicalRegister(1))
with_bit.x(0)

jobs = []
for circuit in [without_bit, with_bit]:
    for backend in [simulator, hardware]:
        jobs.append(
            Estimator(backend=backend).run([circuit, circuit], mps)
        )
print([job.job_id() for job in jobs])
# ['clp18fb537dd6q5ve060', 'cns18fsxg8g00083720g', 'clp18g7cftmaupnofdq0', 'cns18gjnv6t0008zpq1g']

print(
f"""
| backend | cbit? | values
|---------|-------|--------------------------
| sim     | no    | `{service.job(jobs[0]).result().values}`
| kyoto   | no    | `{service.job(jobs[1]).result().values}`
| sim     | yes   | `{service.job(jobs[2]).result().values}`
| kyoto   | yes   | `{service.job(jobs[3]).result().values}`
"""
)

Client-side validation would best as it can take hours for the job to run and return the error message.

authors: frankharkins merav-aharoni


text:
Fractional gate opt-in

Summary
This PR adds the fractional gate opt-in feature. In IBM backend architecture, dynamic circuits and fractional gates will be exclusively supported. However, Qiskit Target model doesn't express such a constraint. This means one must create two target instances, namely, one only with the fractional gate instructions and the other one only with the control flow instructions. The choice of target is the responsibility of the end users.
This opt-in might be removed without announce when IBM backend architecture changes.
Details and comments
This PR is draft to conclude the final design.

API (fixed)

Both QiskitRuntimeService.backends() and QiskitRuntimeService.backend() gains use_fractional_gate argument. User needs to set True to include fractional gates in the backend target.

Mutability (need help)

In the current implementation, the service instance pre caches all backends associated with the account. This has been reasonable design. However, with the new flag, the same backend will have two instances with/without fractional gates/control flow instructions in their target. Change of the flag will silently mutate the cached backend. For example,
backend_dc = service.backends("some_backend", use_control_flow=False)
backend_fg = service.backends("some_backend", use_control_flow=True)

qc = QuantumCircuit(...)
qc.if_else(...)

isa_qc = transpile(qc, backend_dc)  # This fails because id(backend_dc) == id(backend_fg)

The easiest solution is to deepcopy the instance before returning it to users (target is created when the end user calls any attribute from the target for the first time). We don't like deepcopy though. Alternatively we can remove this cache and always call _create_backend_obj when the backend is retrieved. This maybe increase REST GET call overhead to get configuration data from server, but makes internal code simpler (and might reduce memory footprint if retrieved backend is GC'd). If the user doesn't retrieve the same backend multiple times there is no overhead with this change.

Breaking API change (need help)

We set default of use_fractional_gates to True because dynamic circuit seems not being heavily used. However this is indeed a breaking API change for end users because it silently mutates basis gates and changes the resulting isa circuits, and maybe fidelity too. We can also start with False, then turn it on with deprecation warning if we want. From the API break viewpoint, another concern is a user can still use qiskit-ibm-runtime before this commit even after our backends start to report fractional basis gates. This will create a target with mixture of fractional and control flow instructions, which will create invalid isa circuits when it includes any control flow. In the current version there is no warning mechanism in the client software, which might frustrate end users using outdated runtime.
TODO

[x] Write unittest
[x] Write release note

Pull Request Test Coverage Report for Build 9321760116
Details

37 of 38 (97.37%)  changed or added relevant lines in 6 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.09%) to 82.36%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit_ibm_runtime/qiskit_runtime_service.py
3
4
75.0%

Files with Coverage Reduction
New Missed Lines
%

qiskit_ibm_runtime/utils/backend_converter.py
1
79.59%

Totals

Change from base Build 9317459518:
0.09%

Covered Lines:
6037

Relevant Lines:
7330

💛  - Coveralls

(clue for review)
I added unit tests in three steps:

b9ac43b: Test for convert_to_target function is added. This is the core feature of the PR. I also modified the interface so that we can individually select dynamic and fractional feature. When our backends support both, we can just set True in both arguments without any API change. Note that FakeBackends already do this, because the simulator backend doesn't have constraints. In addition, if we disable dynamic feature, this could break other unit tests (including community package) for dynamic circuits relying on our fake backends.

736e060: Test for backends(..., use_fractional_gates=True) is added. This requires modification for the test backend, so that the fake runtime client can refer to the actual model data of fake backends by backend names (before this commit every backend uses FakeLima).

7453ce3: Test to verify Sampler.run can reject un-executable pubs on our backends.

Thanks @jyu00 I updated the PR. Do you have any comment on the rest of two topics in the PR comment?: Mutability and Breaking API change

Do you want to add checks at the client side that PEC and PEA are not requested along with fractional gates?

Do you want to add checks at the client side that PEC and PEA are not requested along with fractional gates?

Doing it on the client side has the disadvantage that down level client code would become stale when updates are made on the server side (e.g. if/when we support fractional gates with dynamic circuits). So I was really hoping the validation service will be setup in time, although that's not looking likely. Regardless, I'd highly recommend doing the check in a separate PR, if we don't want to wait on the validation service.


text:
Extend RB circuits.py to allow other types of groups and gate sets

What is the expected behavior?
Extend RB circuits.py to allow other types of groups and gate sets (not only the Clifford group), such as the CNOT-dihedral group from https://arxiv.org/abs/1510.02720

The following API should be updated:

The function randomized_benchmarking_seq in circuits.py:
-- Add a parameter called group_or_gates (default value is 'Clifford')
-- The parameter align_cliffs would remain (so we won't need to update tutorials or documentation), but will also be used for non-Clifford gates
-- The ability to use patterns and length_multiplier will remain
-- The options for interleaved gates and purity calculation will remain

The function load_tables should be moved to clifford_utils.py (since it only deals with Cliffords)

The function get_quantum_circuit should be moved to circuits.py (since it can be used not only for Cliffords)

The following functions in clifford_utils.py will be renamed, and it will be assumed that any new module of another group (or gate set) will have a similar utils file with the following functions:
-- load_tables (in case pre-generated tables are needed)
-- random_clifford_gates --> random_gates
-- compose_gates
-- find_inverse_clifford_gates --> find_inverse_gates

It will be assumed that any new module of another group (or gate set) will have a similar class like the Clifford.py class.

I would suggest to replace the existing clifford_utils.py and the planned dihedral_utils.py files by classes: CliffordUtils class and DihedralUtils class.
Both classes will inherit from a basic abstract class: BasicUtils that should have the following functions:

load_tables - load pickled tables (and if they don't exist - then generate them)
random_gates - select a random group element from the table
compose_gates - compose group elements
find_inverse_gates - compute the inverse element (reverse a given list of gates)
find_key - find the key in the table of a given group element (find the corresponding list of gates)

This way, it will be easier to add other groups (or gate sets) in the future.

Closed by https://github.com/Qiskit/qiskit-ignis/pull/255

authors: ShellyGarion dcmckayibm

repo: Qiskit/qiskit-ignis


text:
Link with error correction/error detection codes

What is the expected enhancement?
Link with error correction/error detection codes (like repetition code) of qiskit ignis for the operator evaluation circuits. This enhancement will allow for better results in the execution in exchange for more qubits.

Is this still requested (qiskit-ignis is deprecated)? If so, can you add an example on the expected feature?

Closing as stale.

authors: 1ucian0 jakelishman pbark

repo: Qiskit/qiskit-terra


text:
Add release note for Expr support

Summary
Close #10331.
Details and comments

Pull Request Test Coverage Report for Build 5669229161

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.02%) to 85.92%

Files with Coverage Reduction
New Missed Lines
%

qiskit/extensions/unitary.py
1
93.75%

crates/qasm2/src/lex.rs
2
90.89%

qiskit/pulse/library/waveform.py
3
93.75%

Totals

Change from base Build 5667924881:
0.02%

Covered Lines:
73037

Relevant Lines:
85006

💛  - Coveralls

authors: coveralls jakelishman


text:
Clean DatabaseLog table before migrations (task #5457)

Run the garbage collector shell which cleans up the database_log
table, before executing the migrations.

Codecov Report

Merging #479 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #479   +/-   ##
=========================================
  Coverage     28.23%   28.23%
  Complexity      809      809
=========================================
  Files            72       72
  Lines          2787     2787
=========================================
  Hits            787      787
  Misses         2000     2000

Continue to review full report at Codecov.

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

authors: codecov-io mamchenkov

repo: QoboLtd/project-template-cakephp


text:
Introduction of decimal round

By default, .NET support rounding of floating points (including decimals).
However, for some domains this support is too limited. To overcome this, Qowaiv
has the static DecimalRound helper class, containing extension methods for rounding.
‘Negative’ decimals
To round tenfold, hundredfold, etc. precision, a negative amount of decimals
can be specified:
var tenfold = 1245.346m.Round(-1); // 1250m
var hundredfold = 1209m.Round(-2); // 1000m

Multiple of
Rounding to a multiple of is supported:
var multipleOf = 123.5m.Round(5m); //   125.0m
var multiple25 = 123.5m.Round(2.5m); // 122.5m

Extra rounding methods
.NET supports rounding to even (Bankers rounding) and away from zero out-of-the-box.
Rounding methods like ceiling, floor, and truncate have limited support (0 decimals only),
and a lot others (to odd, half-way up, half-way down, e.o.) are missing at all.
By specifying the DecimalRounding 13 ways are supported.
var toOdd = 23.0455m.Round(3, DecimalRouding.ToOdd); // 23.045m
var towardsZero = 23.5m.Round(DecimalRounding.TowardsZero); // 23m
var randomTie = 23.5m.Round(DecimalRounding.RandomTieBreaking); // 50% 23m, 50% 24,

Note that this is also required by #96 . I think it is quite some functionality by its own, and deserves a separate pull request.

Biggest concern to me is the potential confusing difference between:
var rounded = 13.456m.Round(2); // 13.46m;
var multiple = 13.456m.Round(2m); // 12m;

You can opt for a longer method name like RoundToMultpleOf(), but I'm not sure about that either.

My vote goes to RoundToMultiple().

authors: Corniel Sjaaky

repo: Qowaiv/Qowaiv


text:
[ENH] - Keycloak Group attributes to control JupyterLab profile access

Feature description
This functionality has been dropped in the recent refactor.
If a Keycloak group had a profile attribute containing a list of JupyterLab profiles then members of that group would be able to access the profiles. This check only came into effect for profiles defined with groups: (which could be empty) in the qhub-config.yaml file. That choice was because profiles defined with no groups: (or users:) would be available to all users - i.e. no access control - so this ability to override dynamically by setting Keycloak group attributes is not wanted for those groups.
I would like to reinstate this functionality. It is possible that some usage of roles in keycloak would be better, but as a short term solution at least, this functionality can be easily reinstated by adding a mapper to the jupyterhub client as follows:

We would also need to reinstate the code that checks for this in jupyterhub_config.py or similar.
I propose we change the attribute name from profiles to jupyterlabprofiles though.
Value and/or benefit
This allows profiles to be assigned to groups dynamically using Keycloak without a full redeploy.
Anything else?
No response

@danlester I think this is great functionality to have and we could control dask profiles the same way. I was able to get this working as a test but haven't actually implemented it.
Settings some group and user attributes

I've used profiles but I agree we should use a more specific name like jupyterlabprofiles.
Next set a mapper on the jupyterhub oauth client

Testing it within keycloak

Yes, that's the same as the approach I was suggesting. But I think you need to specify lists like this:
profile1##profile2
In my tests, the mapper merged as hoped - just one long list of all profiles (not duplicated).

Also longer term I think this is the correct way we should encourage admins to manage profile access. I'd be in favor of dropping users and groups to make the qhub-config.yaml simpler.

Actually, the behavior is getting very confusing once we mix all these ways to control permissions. I will add a field called access that can be one of [all (default), keycloak, yaml]
If access: all then every since user has access and groups and users must NOT exist in the profile definition in the yaml file.
If access: keycloak then again groups and users must NOT exist in the profile definition in the yaml file but access will instead be granted to any Keycloak user with jupyterlabprofiles attributes that include that profile name. This means that if no Keycloak attributes are created for any user/group then no-one has access to that profile.
If access: yaml then groups or users are each optional and access is granted to anyone who is a member of a group listed or who is listed in users directly. (Keycloak attributes of jupyterlabprofiles are ignored in this case.) If users and groups are both missing or empty then no-one has access to that profile.

keycloak upgrade will have to work its way through this.
Basically if a profile has any groups or users field it should be turned to access: yaml. If it has neither field then it should become access: all.

authors: costrouc danlester

repo: Quansight/qhub


text:
Some classes which contain CPU-intensive methods are not serialisable (pickle)

A list of some classes in ragna that can't be pickled, with some possible workarounds. These classes all contain CPU-intensive methods, and so serialisation to another process may be desirable in the future. This initially came up during some experimentation with anyio, which uses pickle. This list isn't necessarily comprehensive. I also don't consider any of the items to be a bug/blocker (at least for now). I'm happy to contribute to any items that are considered relevant.
Issue 1 -  VectorDatabaseSourceStorage
When this class is initialised, it currently sets the _embedding_function attribute as chromadb.utils.embedding_functions.DefaultEmbeddingFunction(). Unfortunately, DefaultEmbeddingFunction() contains a module as an attribute, and hence can't be pickled.
Possible solutions

Defer initialising DefaultEmbeddingFunction until inside methods like store or retrieve.
Work upstream with chromadb to see if this attribute really needs to be a module.
Work upstream with anyio to see if they might consider using cloudpickle instead of pickle.

Issue 2 -  VectorDatabaseSourceStorage
When this class is initialised, it currently sets the _tokenizer attribute as tiktoken.get_encoding("cl100k_base"). Unfortunately, ``tiktoken.Encoding` can't be pickled in its current implementation.
Possible solutions

A PR has been opened here that should resolve the issue when merged.

Issue 3 - Chroma
When this class is initialised, it currently sets the _client attribute using an instance of chromadb.Client. Unfortunately, with the current settings for Chroma, this creates a SQLite connection,  which can't be serialised.
Possible solutions

Defer the instantiation of the client to inside of store or retrieve. It seems to be cached in the Chroma code, so this might actually be too much overhead.
Think of a nicer way of fitting this into the ragna code!
Consider using a different client from Chroma whose connection is serialisable (but I'm not sure how realistic this is, and sqlite fits well with the other parts of ragna IMO)

Thanks for the issue @nenb. Indeed having everything serializable is quite a problem. In fact, we basically had what you are suggesting (at least what can be done on our side), but we migrated away from that in #54 for simplicity.
Task queue libraries also usually don't use subprocesses for this exact reason.
My preferred way of handling this is to

Wait with any implementation until user demand materializes. Everything else is premature optimization.
If there is actual user demand, instead of running CPU bound operations as subprocesses, reinstate the task queue and corresponding workers for that.

@pmeier Thanks for the extra information. I'm closing this as your answer has fully documented the situation, but please re-open if you wish.

authors: nenb pmeier

repo: Quansight/ragna


text:
Fix Dockerfile unzip command

Description

Fix unzip command in Dockerfile.
Related Issue

Fixes #2537
Motivation and Context

The actual Dockerfile throws
ERROR: Build failed: The command '/bin/sh -c wget https://github.com/QuantConnect/Lean/archive/master.zip && mkdir /root/Lean && unzip master.zip /root/Lean && cd /root/Lean' returned a non-zero code: 11
Requires Documentation Change

How Has This Been Tested?

Deploy a Lean container in Docker cloud.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Non-functional change (xml comments/documentation/etc)

Checklist:

[x] My code follows the code style of this project.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] My branch follows the naming convention bug-<issue#>-<description or feature-<issue#>-<description>

https://linux.die.net/man/1/unzip
[-d exdir]
An optional directory to which to extract files. By default, all files and subdirectories are recreated in the current directory; the -d option allows extraction in an arbitrary directory (always assuming one has permission to write to the directory). This option need not appear at the end of the command line; it is also accepted before the zipfile specification (with the normal options), immediately after the zipfile specification, or between the file(s) and the -x option. The option and directory may be concatenated without any white space between them, but note that this may cause normal shell behavior to be suppressed. In particular, ''-d ~'' (tilde) is expanded by Unix C shells into the name of the user's home directory, but ''-d~'' is treated as a literal subdirectory ''~'' of the current directory.

authors: Jay-Jay-D mchandschuh

repo: QuantConnect/Lean


text:
ipycytoscape=0.2.0 is not on conda-forge

The latest version on conda-forge is ipycytoscape 0.1.4

Thanks for letting me know! Sorry for that, will fix in a minute.

Now there is a version 0.2.1.
Thanks @pwrose!

authors: marimeireles pwrose

repo: QuantStack/ipycytoscape


text:
Open / Close Animation

Add support for open / close animation time: https://www.jstree.com/api/#/?f=$.jstree.defaults.core.animation

Sure thing :rocket:

repo: QuantStack/ipytree


text:
Update example in the numpy cheatsheet to use the xt namespace

Trivial change to include xt:: for consistency.

Thanks!

authors: pelson wolfv

repo: QuantStack/xtensor


text:
Test Jenkins

[ ] I have read the Contributing Guide. Don't lie! 😉
[ ] My PR is on a custom branch and is not named main.
[ ] I have added relevant unit tests. Note: Your PR will likely not be merged without proper tests.

Run jenkins

repo: Quantum-Accelerators/quacc


text:
Calculate correct circuit depth

Implements the changes discussed in #238, particularly the following:

Cast parameters given as a flat list to circuit.set_parameters() to np.array so that the snippet from #238 works.
Change circuit.depth property to circuit.ngates as it returns the total number of gates in the circuit and not the depth.
Create a new circuit.depth property that returns the actual depth, assuming that each gate is placed in the earliest possible position in the circuit according to the qubits it acts on. In order to do this calculation I extended the queue data structure slightly to hold a list of "moments" (in Cirq terminology).
Change circuit.summary from @property to simple method so that it can be accessed as circuit.summary().
Update circuit.summary() to print both the (corrected) circuit depth and total number of gates.

I also updated the docs regarding the circuit.summary(), however it might make sense to revert these changes because the public docs will be updated while the pip Qibo version will not. However we should remember to update the docs for all changes when we release. Let me know what you think.

change the documentation urls to "stable" instead of "latest" in all places (README.md, landing page, etc).

Thanks for the reply. If I understand correctly the "stable" docs are updated only when a release is made, so I agree that this should be the page that appears by default, because "latest" will be updated as we add new features. The only issue is that using "stable" means that we will temporarily loose the fixes from #238.

show the qibo version in the docs (I think there is an option for that in sphinx)
We can show the version number using |release| in the .rst files but this would appear only in a specific place in the docs (eg. in index.rst).

from now on, set the master version to 0.1.1-master or something similar following these lines.

For this do we just need to update __init__.py?

Yes, exactly, we can solve this impasse by releasing a 0.1.1 at the end of this month with all changes, including documentation.

We can show the version number using |release| in the .rst files but this would appear only in a specific place in the docs (eg. in index.rst).

Sounds good, adding the version at least in the home page is be fine.

For this do we just need to update init.py?

yes, exactly. We can append the -master or -dev suffix for the master version.

I would probably set it to 0.1.1-dev, so the transition from 0.1.1-dev to 0.1.1 looks more natural.

Thanks, yes I forgot to change 0.1.1.

Great, thanks. Now, concerning the urls, the only places where we hardcode latest are:

examples/benchmarks/results/PRECISION.md
examples/benchmarks/results/HARDWARE.md
examples/benchmarks/results/ADIABATIC.md
examples/adiabatic3sat/README.md
README.md
We can update latest->stable before the 0.1.1 release, so people reading the current latest may benefit from the corrections from Diego.

repo: Quantum-TII/qibo


text:
Interest in keeping cherrytree development

Hi,
I've been developing a fork of cherrytree published as cherrytreex, currently as version 3.4.
It's API is compatible with v2 but adds some features from v3
Here's what changed:

Implement next, done, error, cancel hooks (fixes #155 )
Optionally describe routes  as arrays of objects
Bundles with Rollup for smaller bundles
Optionally routes can be defined as a constructor option
Update dev dependencies / tests

The incompatibility with cherrytree v2 are :

package is distributed as an ES Module
the constructor is exported instead of a factory function
do not use current state in generate
requires window.Promise (native or pollyfied)

I'm planing a v4 with a few breaking changes:

Use named exports for better tree shaking
Publish with ES Classes, ES6 features, no transpilling down to ES5
Make route.name optional

Since there's no activity here for a while, i'd like to know if there's interest that i take the ownership of cherrytree repository / npm package so the project keeps going on.

Hi! This is exciting! I am no longer using this library myself, but I think we could figure out how to keep it going. Just give me a bit of time to do a review of cherrytreex and come up with a plan.
I no longer have access to this repo or npm package, but I can get those back in the next week or so.
I'm wondering where it would be best to keep the source, this repo, your repo? I'd also be happy to transfer to my username or create a dedicated org for cherrytree.
Out of curiosity, what JS framework are you using Cherrytree with?

Out of curiosity, what JS framework are you using Cherrytree with?

Web component / LitElement
I'm using https://github.com/blikblum/nextbone-routing but i plan to create a smaller middleware for web components for those that don't need all that features

I'm wondering where it would be best to keep the source, this repo, your repo?

Anyone. What be more feasible

I've contacted Qubit, my contact will be back next week, so I'll check back in then.
If it works for you, we could add you as a collaborator to the repo, whilst controlling the npm releases on our end. This way we'd merge the 2 efforts and continue development of Cherrytree into V3 and V4 etc.
Myself, I've actually been using https://github.com/KidkArolis/space-router for a couple years instead of Cherrytree, it's much lighter ~2kb and works well with React patterns. Instead of middleware functions with lifecycle hooks, you just get passed an array of say components and you render them. But it's also possible to configure objects with some lifecycle hooks instead of components and loop over those, etc. It might be possible to get some of the Cherrytree style functionality, but in an overall simpler package. I'm working towards 1.0.0 there, still going through some breaking API changes/improvements.

Sorry for dropping the ball on this completely. Didn't get access to this yet. But given the circumstance, wondering if it's best to leave this as is and continue on cherrytreex..

Thanks i ve just renamed to Slick  Router.
For anyone interested see https://github.com/blikblum/slick-router

Awesome! I think that's probably the best course of action.

authors: KidkArolis blikblum

repo: QubitProducts/cherrytree


text:
🛑 Biken is down

In 20e2834, Biken (https://biken.quentinp.me) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Biken is back up in e40d0b3.

repo: QuentinPhilipp/uptime


text:
Proof of Concept: Move Minecraft-specific code to its own project

I don't intend this to be merged in its current state, but I want to show our current progress. As such, this description will be updated often.
This branch will serve as the base for Loader Plugins. Currently it doesn't do anything resembling an actual plugin, it is only a group of two ServiceLoaders that load the GameProvider and Transformer classes.
I removed some legacy code involving LaunchWrapper, and some code involving compatibility with (roughly) 1.9 to 1.12 FML. For the latter, I added an API to GameProvider that would allow it to be re-added by a plugin.

handled by upstream in upcoming merge

repo: QuiltMC/quilt-loader


text:
Contributing

close #5
CONTRIBUTING を書きました．
poetry の使い方や開発の流れなどでおかしな点があれば教えてください．

ドキュメントの整備、ありがとうございます！
flake8やmypyの導入にあたって、lintエラーの修正方法がわからなかったり、どうしても修正出来ない行が出てくることがあると思います。
こういった対策として、対応する行にPythonのコメントを書くことで無視することが出来ると思います。
linterに詳しく無い人向けに、こういったことが出来るということをContributionに書いて(各ツールのコメントの書き方のリンクを書くなど)周知した方がいいのかも、と思っているのですが、どう思いますか？
この参考記事を読んでいました。
2021年Python開発リンター導入のベストプラクティス - zenn.dev
PRの詳細は明日確認します。

「直し方分からないから CI 落ちたままマージしちゃおう」みたいになるとよくないのでこれは必要そうですね，ありがとうございます．明日追記しておきます．

@Hiroya-W ↑のやつ反映したのでレビューお願いします 🙏

隅々までチェックありがとうございます!
まだ見落としがあるかもしれないので @kotamanegi にも時間があればレビューをお願いしたいです．

こちらこそ、ドキュメントの作成と迅速な修正ありがとうございます！
全体的に、丁寧に内容がカバーされていて、とても分かりやすかったです！

authors: Hiroya-W ikanago

repo: Qulacs-Osaka/python-project-template


text:
🛑 Desk is down

In a77c9ef, Desk (https://skywalker.autovance.com/health) was down:

HTTP code: 503
Response time: 147 ms

Resolved: Desk is back up in 7c8e3ab.

repo: QuorumDMS/av-uptime


text:
Show city and postcode in search results

The search does only include the city at the results, when the POI has  an addr:city tag. This is kind of bad, because most of POIs doesn't have the addr:city tag. So searching for media markt nürnberg results in this:

So only two results are actually in Nürnberg and no "Media Markt". There are three in the OpenStreetMap database: 786620520, 145043755 and 3709835488. Those all have in common, that they don't have addr:city=Nürnberg.
Nominatim does better here by getting the city and the postcode from the relations where the POI is in: https://www.openstreetmap.org/search?query=media markt nürnberg

So to resolve this issue the Qwant Maps search should return the following when searching for Media Markt Nürnberg
Media Markt
Äußere Bayreuther Straße 80, 90491 Nürnberg
Media Markt
Ipsheimer Straße, 90431 Nürnberg
Media Markt
Reichenthaler Straße, 90473 Nürnberg

The postcode is not so important as a first step. The city is key here for the search :)
For me this is an issue which "blocks" me from using Qwant Maps as well as recommending it to other people. Because apart from this I find it one of the best OSM based maps on the internet. Vector based and clicking on POIs for getting information :)

Thanks for your relevant feedback !
We are actually working on a solution to handle this kind of admins zones in Cosmogony:

https://github.com/osm-without-borders/cosmogony/pull/67
https://github.com/osm-without-borders/cosmogony/pull/84
This should solve your problem as soon as it will be released !

authors: jbgriesner jonsger

repo: QwantResearch/qwantmaps


text:
[Frontend] Add About Route as Public

Details
Currently in the security service on the frontend the findfirst.dev/about routes the user back to login. We should change that to be public.

Hi, I'd like to work on this issue! I understand that the task involves changing the /about route so that it no longer redirects users to the login page and instead becomes publicly accessible. I will update the frontend security service or routing logic to ensure that authentication is not required for this specific page, while maintaining security for other protected routes. Let me know if there are any additional requirements or considerations before I proceed.

@GiannisPep Absolutely, thank you!

I tried to clone the repository, but I encountered an error related to an invalid path due to the file name: data/test_screenshots/https:__facebook.com.png. It seems that the file name contains characters that are not allowed on my system (Windows). Here's the error message I received:
invalid path 'data/test_screenshots/https:__facebook.com.png'
unable to checkout working tree
warning: Clone succeeded, but checkout failed.

@GiannisPep Let me workout an alternative url scheme because in windows : is a reserved path.

Do you want it to say something specific or is that fine

That's a good starting point! I will accept that :D :rocket:

#259

#259

Thank you @GiannisPep.

authors: GiannisPep R-Sandor

repo: R-Sandor/FindFirst


text:
[BUG] Invalid Notifications in the scheduler

Please check if the bug has already been reported in the Issues Tab and mention any related issues here.
Describe the bug
There are lot of logs of invalid notifications being scheduled in the scheduler (Quartz) that do not exist in the database. Ideally, this should not happen because if the notification is deleted from the database it should also be removed from the scheduler.
Logs-
2021-03-25 09:00:00,138 WARN  [quartzScheduler_Worker-2] org.radarbase.appserver.event.listener.QuartzMessageJobListener: The notification does not exist in database and yet was scheduled.
2021-03-25 09:00:00,232 INFO  [quartzScheduler_Worker-3] org.quartz.core.JobRunShell: Job DEFAULT.message-jobdetail-454838b3-2da2-4c39-b2e0-bc002d248c38-13486 threw a JobExecutionException:
org.quartz.JobExecutionException: org.radarbase.appserver.exception.InvalidNotificationDetailsException: The Notification with Id 13486 does not exist in project STAGING_PROJECT for user 454838b3-2da2-4c39-b2e0-bc002d248c38
	at org.radarbase.appserver.service.scheduler.quartz.MessageJob.execute(MessageJob.java:103)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: org.radarbase.appserver.exception.InvalidNotificationDetailsException: The Notification with Id 13486 does not exist in project STAGING_PROJECT for user 454838b3-2da2-4c39-b2e0-bc002d248c38
	at org.radarbase.appserver.service.FcmNotificationService.getNotificationByProjectIdAndSubjectIdAndNotificationId(FcmNotificationService.java:431)
	at org.radarbase.appserver.service.FcmNotificationService$$FastClassBySpringCGLIB$$8d21085e.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
	at org.radarbase.appserver.service.FcmNotificationService$$EnhancerBySpringCGLIB$$8766759a.getNotificationByProjectIdAndSubjectIdAndNotificationId(<generated>)
	at org.radarbase.appserver.service.scheduler.quartz.MessageJob.execute(MessageJob.java:89)
	... 2 common frames omitted

Priority
3
Difficulty
4
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
This should not happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Mobile App
The Mobile app ,if any, used with this app server

Name [e.g. RADAR-Questionnaire] - aRMT
Version [e.g. 0.5.8] - 1.1.0-alpha
Github repo [If applicable]

Additional context
Add any other context about the problem here.

should be fixed by #239

repo: RADAR-base/RADAR-Appserver


text:
David/dynamic endpoints

Specifies that "data" endpoints are defined dynamically. "Data" endpoints are what has been these endpoints:
/catalogs
/catalogs/{catalogId}
/catalogs/{catalogId}/collections
/catalogs/{catalogId}/collections/{recordsCollectionId}
/catalogs/{catalogId}/collections/{recordsCollectionId}/items
/catalogs/{catalogId}/collections/{recordsCollectionId}/items/{itemId}

These endpoints are now loaded dynamically based on RDF declarations in:
prez/reference_data/endpoints/data_endpoints_default
To instead use custom endpoints, follow the instructions in the README-Custom-Endpoints.md
In summary Prez will:
If CUSTOM_ENDPOINTS is "true":

look for endpoints in the data repo (e.g. triplestore), and if declarations are found, dynamically load these
if no definitions are found, the local directory is checked prez/reference_data/endpoints/data_endpoints_custom, and if declarations are found, these are dynamically loaded.
If CUSTOM_ENDPOINTS is unset or any other value:
the endpoints defined in prez/reference_data/endpoints/data_endpoints_default are loaded.

still testing but initial note:
it has created the endpoints dynamically but when I browse the /catalogs endpoint no data is shown even though the target class is dcat:Catalog and there are dcat:Catalog 's defined in the data.

repo: RDFLib/prez


text:
pip installation not working

As a part of review (https://github.com/openjournals/joss-reviews/issues/5973) I tried installing with both pip and pip3 and both were unsuccessful. Please see error logs below:
pip3 install stanscofi

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
cnvkit 0.9.9 requires joblib<1.0, but you have joblib 1.3.2 which is incompatible.
Successfully installed numpy-1.19.4

pip install stanscofi

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
cnvkit 0.9.9 requires joblib<1.0, but you have joblib 1.3.2 which is incompatible.
Successfully installed arrow-1.3.0 codecarbon-2.3.2 cute-ranking-0.0.3 fastcluster-1.2.6 fuzzywuzzy-0.18.0 joblib-1.3.2 llvmlite-0.39.1 numba-0.56.4 numpy-1.21.3 prometheus-client-0.19.0 py-cpuinfo-9.0.0 pynndescent-0.5.11 pynvml-11.5.0 scikit-learn-1.3.2 seaborn-0.12.2 stanscofi-2.0.0 threadpoolctl-3.2.0 types-python-dateutil-2.8.19.14 umap-learn-0.5.5

I am running this on macOSMonterey and a conda environment with Python 3.8.12

looks like it is an issue with my system having a higher version of joblib. Given that many people might have this version, is it possible to update the version of cnvkit and joblib used? This may be helpful in increasing the longevity of the package as the dependencies update over time.

Hi! Package cnvkit is not part of the requirements of packages stanscofi nor benchscofi. The only constraints version-wise is that joblib>=1.0.1, so I suspect the issue actually comes from cnvkit. Either way, this issue flag from pip should not prevent you from running the package.
Let me know if you encounter an issue when using the package. Otherwise, I will close the issue.

I was able to install the package.

repo: RECeSS-EU-Project/stanscofi


text:
🛑 RC Documentation is down

In a17558e, RC Documentation ($URL_RC_DOCUMENTATION) was down:

HTTP code: 0
Response time: 0 ms

Resolved: RC Documentation is back up in cdb16e0 after 18 minutes.

repo: RIT-RC/rc-status-page


text:
🛑 RC Documentation is down

In 4592d4d, RC Documentation ($URL_RC_DOCUMENTATION) was down:

HTTP code: 0
Response time: 0 ms

Resolved: RC Documentation is back up in 38842d0 after 5 minutes.


text:
🛑 Activated Male is down

In 616fcd8, Activated Male (http://activatedmale.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Activated Male is back up in 74dea5c after 20 minutes.

repo: RJVCA/uptime


text:
🛑 Sensor Tracker login is down

In 3f7c431, Sensor Tracker login (https://stg.ceotr.ca/sensor_tracker) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Sensor tracker login is back up in f743670 after 1 minute.

repo: RKTowse/upptime


text:
🛑 CEOTR Home Page loads is down

In 9a7e8ff, CEOTR Home Page loads (https://stg.ceotr.ca CEOTR Home) was down:

HTTP code: 0
Response time: 0 ms

Resolved: CEOTR Home Page loads is back up in 35b5a25 after 2 minutes.


text:
🛑 Sensor Tracker login is down

In 6641c6e, Sensor Tracker login (https://stg.ceotr.ca/sensor_tracker) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Sensor tracker login is back up in 9073479 after 1 minute.


text:
🛑 Sensor Tracker login is down

In 0acfe5d, Sensor Tracker login (https://stg.ceotr.ca/sensor_tracker) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Sensor tracker login is back up in 3e4936f after .


text:
🛑 CEOTR ERDDAP Page is down

In 3b4b95b, CEOTR ERDDAP Page (https://prod.ceotr.ca/erddap) was down:

HTTP code: 0
Response time: 0 ms

Resolved: CEOTR ERDDAP Page is back up in 468bb60 after 5 days, 15 hours, 39 minutes.


text:
🛑 Sensor Tracker login is down

In 85b0683, Sensor Tracker login (https://stg.ceotr.ca/sensor_tracker) was down:

HTTP code: 502
Response time: 46 ms

Resolved: Sensor tracker login is back up in 7edd45f.


text:
🛑 Sensor Tracker login is down

In 79ab8db, Sensor Tracker login (https://stg.ceotr.ca/sensor_tracker) was down:

HTTP code: 502
Response time: 77 ms

Resolved: Sensor tracker login is back up in 14ace95.


text:
Allow opening files from explorer/cli in an existing Nvy instance

It is possible to drag a file from explorer on to Nvy and it will open the file in that instance, which is great. However it would be nice to allow the same behavior just from double clicking a file in explorer or via the command line.

I would like to vote against this idea...
Or, rather, make it configurable if possible.
If I want it to open in the same instance, I use the built-in file explorer, or Oil, or telescope, or similar in the instance that I'm working in.
If I double-click in Windows Explorer it is because I specifically want a new instance so that I can put it on the other screen.
But.  This said...
It would be really nifty if there can be a command-line option like --existing-instance so that it opens in an existing instance when I select the file in something like Quartus (an FPGA firmware IDE).
In that case, it would need quite a lot of logic behind the scenes...  It needs to search the existing instances for in case the file is already open and then  choose it, otherwise choose a random instance.

I agree that this behavior could be configurable, but I will say that most other modern editors (VSCode, Notepad++, even just normal Notepad) behave this way by default.

Everybody else is jumping off cliffs, so you also have to ;-)
In all seriousness though -- I don't like the behaviour of "other modern editors", which is why I don't use them.
I'm going to remove myself from this discussion...  I've said my piece.

repo: RMichelsen/Nvy


text:
How can I add velodyne-16 lidar when I use turtlebot3?

ISSUE TEMPLATE ver. 0.4.0

Which TurtleBot3 platform do you use?

[x] Burger
[ ] Waffle
[ ] Waffle Pi

Which ROS is working with TurtleBot3?

[x] ROS 1 Kinetic Kame
[ ] ROS 1 Melodic Morenia
[ ] ROS 1 Noetic Ninjemys
[ ] ROS 2 Dashing Diademata
[ ] ROS 2 Eloquent Elusor
[ ] ROS 2 Foxy Fitzroy
[ ] etc (Please specify your ROS Version here)

Which SBC(Single Board Computer) is working on TurtleBot3?

[ ] Intel Joule 570x
[x] Raspberry Pi 3B+
[ ] Raspberry Pi 4
[ ] etc (Please specify your SBC here)

Which OS you installed on SBC?

[ ] Raspbian distributed by ROBOTIS
[x] Ubuntu MATE (16.04/18.04/20.04)
[ ] Ubuntu preinstalled server (18.04/20.04)
[ ] etc (Please specify your OS here)

Which OS you installed on Remote PC?

[x] Ubuntu 16.04 LTS (Xenial Xerus)
[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[ ] Ubuntu 20.04 LTS (Focal Fossa)
[ ] Windows 10
[ ] MAC OS X (Specify version)
[ ] etc (Please specify your OS here)

Specify the software and firmware version(Can be found from Bringup messages)

Software version: [x.x.x]
Firmware version: [x.x.x]

Specify the commands or instructions to reproduce the issue.

HERE

Copy and Paste the error messages on terminal.

HERE

Please describe the issue in detail.

HERE

Hi @tdcsu :)
Thanks for your interest in Turtlebot3
I think you can use Velodyne by connecting it to Raspberry Pi 3B+.
Please refer to the link and photos below for more details

Getting Started with the Velodyne VLP16
Thank you.

thank you for your kind interpretation，I will try it as soon as possible!
---Original---
From: @.>
Date: Mon, Jun 14, 2021 17:01 PM
To: @.>;
Cc: @.@.>;
Subject: Re: [ROBOTIS-GIT/turtlebot3] How can I add velodyne-16 lidar when I use turtlebot3? (#751)
Hi @tdcsu :)
Thanks for your interest in Turtlebot3
I think you can use Velodyne by connecting it to Raspberry Pi 3B+.
Please refer to the link and photos below for more details
Getting Started with the Velodyne VLP16
Thank you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

authors: ashekim tdcsu


text:
Calling hipFree on a pointer allocated with hipMallocManaged returns hipErrorInvalidDevicePointer

Any pointer allocated with hipMallocManaged can not be freed with hipFree (on the AMD GPU backend). Basic code to reproduce:
#include <cstdlib>
#include <iostream>

#include <hip/hip_runtime.h>

int main(int argc, char *argv[])
{
    float* ptr;
    hipError_t err;
    if ((err = hipMallocManaged(&ptr, sizeof(float))) != hipSuccess) {
        std::cerr << "Allocation failed: " << hipGetErrorName(err) << std::endl;
        std::exit(1);
    }

    if ((err = hipFree(ptr)) != hipSuccess) {
        std::cerr << "Freeing failed: " << hipGetErrorName(err) << std::endl;
        std::exit(1);
    }

    return 0;
}

Always prints Freeing failed: hipErrorInvalidDevicePointer.

Thanks for reporting this. I will fix it. #1036 added basic support for hipMallocManaged using host malloc memory.

Closing the bug as we have made the fix for the same.

authors: SarbojitAMD fthaler gargrahul

repo: ROCm-Developer-Tools/HIP


text:
Better way to detect hip_platform

Hi,
I have a problem with detecting the correct hip_platform on Nvidia machines. The problem lies in the "hipconfig" script below. Since I have installed rocm-dev package for cross-compilation reasons, the command "/opt/rocm/hcc/bin/hcc --version" always runs gracefully and the HIP_PLATFORM is set to "hcc". This causes a problem when the gpu card on the machine is Nvidia. I was wondering if there is a better way to detect platform such as actually probing the system for gpu device.
sub can_run {
    my ($exe) = @_;
    `$exe --version 2>&1`;
    if ($? == 0) {
        return 1;
    } else {
        return 0;
    }
}

and
if (not defined $HIP_PLATFORM) {
    if (can_run("$HCC_HOME/bin/hcc") or can_run("hcc")) {
        $HIP_PLATFORM = "hcc";
    } ...

Note: I know "export HIP_PLATFORM=nvcc" solves this issues but ideally I don't want to require the end-user of my program to do this.
Thanks

@SarbojitAMD @mangupta @kzhuravl This issue can be finally be closed now with the internal merge of https://github.com/ROCm/HIPCC/pull/145 !!!

authors: acxz atabish

repo: ROCm/HIP


text:
BF16 atomic add question

I observe that the bf16 atomic add will reach the value of 256 and then will not be incremented further.  This is not observed for fp16 atomic add.
To reproduce the issue, the example is https://github.com/zjin-lcf/HeCBench/tree/master/src/f16atomic-hip
Thanks.

@jinz2014 it is true for all floating point types that at some point adding 1.0 to a floating point value v will result in v.  That value v is defined by the number of bits in the significand of the floating point type.   And I will note that bf16 has only 7 bits in the significand.


text:
EXSWHTEC-138 - Implement tests for hipGraphicsSubResourceGetMappedArray

Basic positive test
Negative parameter tests.

Depends-on: #62

@mirza-halilcevic
Will you please resolve the merge conflicts for this PR?

PR has been merged into develop branch via commit e3a3ea56a3c8ccaf51d84ae68bd0adc1b1d7af2d

authors: mangupta mirza-halilcevic rorake

repo: ROCm/hip-tests


text:
[Issue]: rocprofv2 --kernel-trace doesn't output all dispatches

Problem Description
rocprofv2 --kernel-trace doesn't output entire trace. I searched for known limitations (seconds of trace data, number of kernels) but couldn't find anything published.
Repro script:
rocprofv2_issue_repr.txt
The script launches 400 kernels but only a fraction of them are recorded in the output, and the number varies with each invocation of rocprofv2.
Operating System
Ubuntu 22.04.5 LTS (Jammy Jellyfish)
CPU
AMD EPYC 9454 48-Core Processor
GPU
AMD Instinct MI300X
ROCm Version
ROCm 6.2.3
ROCm Component
rocprofiler
Steps to Reproduce

Rename rocprofv2_issue_repr.txt to rocprofv2_issue_repr.py.
rocprofv2 --plugin file --kernel-trace -o output python rocprofv2_issue_repr.py
results_output.csv doesn't contain the full 400 kernels dispatched.

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
Used docker container based on
FROM rocm/pytorch:rocm6.2.3_ubuntu22.04_py3.10_pytorch_release_2.3.0

We are no longer developing rocprofv2. The internal design of rocprofiler v2 was extremely problematic and we came to the conclusion that we need to scrap it. We re-designed the profiling library from scratch and built a new rocprofv3 on top of it in ROCm 6.2: rocprofiler-sdk. The new profiling library and rocprofv3 are far more stable, reliable, and better tested.

I see; thanks.

authors: guacamoleo jrmadsen

repo: ROCm/rocprofiler


text:
[Issue]: CTest - Failures

Problem Description

4: ---------------------------------- Results of QA Test - Tensor_hip ----------------------------------
4:
4: brightness_u8_Tensor_PKD3: FAILED
4: brightness_u8_Tensor_PLN3: FAILED
4: brightness_u8_Tensor_PLN1: FAILED
4: gamma_correction_u8_Tensor_PKD3: FAILED
4: gamma_correction_u8_Tensor_PLN3: FAILED
4: gamma_correction_u8_Tensor_PLN1: FAILED
4: blend_u8_Tensor_PKD3: FAILED
4: blend_u8_Tensor_PLN3: FAILED
4: blend_u8_Tensor_PLN1: FAILED
4: contrast_u8_Tensor_PKD3: FAILED
4: contrast_u8_Tensor_PLN3: FAILED
4: contrast_u8_Tensor_PLN1: FAILED
4: exposure_u8_Tensor_PKD3: FAILED
4: exposure_u8_Tensor_PLN3: FAILED
4: exposure_u8_Tensor_PLN1: FAILED
4: flip_u8_Tensor_PKD3: FAILED
4: flip_u8_Tensor_PLN3: FAILED
4: flip_u8_Tensor_PLN1: FAILED
4: resize_u8_Tensor_PKD3_interpolationTypeNearestNeighbor: FAILED
4: resize_u8_Tensor_PKD3_interpolationTypeBilinear: FAILED
4: resize_u8_Tensor_PKD3_interpolationTypeBicubic: FAILED
4: resize_u8_Tensor_PKD3_interpolationTypeLanczos: FAILED
4: resize_u8_Tensor_PKD3_interpolationTypeTriangular: FAILED
4: resize_u8_Tensor_PKD3_interpolationTypeGaussian: FAILED
4: resize_u8_Tensor_PLN3_interpolationTypeNearestNeighbor: FAILED
4: resize_u8_Tensor_PLN3_interpolationTypeBilinear: FAILED
4: resize_u8_Tensor_PLN3_interpolationTypeBicubic: FAILED
4: resize_u8_Tensor_PLN3_interpolationTypeLanczos: FAILED
4: resize_u8_Tensor_PLN3_interpolationTypeTriangular: FAILED
4: resize_u8_Tensor_PLN3_interpolationTypeGaussian: FAILED
4: resize_u8_Tensor_PLN1_interpolationTypeNearestNeighbor: FAILED
4: resize_u8_Tensor_PLN1_interpolationTypeBilinear: FAILED
4: resize_u8_Tensor_PLN1_interpolationTypeBicubic: FAILED
4: resize_u8_Tensor_PLN1_interpolationTypeLanczos: FAILED
4: resize_u8_Tensor_PLN1_interpolationTypeTriangular: FAILED
4: resize_u8_Tensor_PLN1_interpolationTypeGaussian: FAILED
4: rotate_u8_Tensor_PKD3_interpolationTypeNearestNeighbor: FAILED
4: rotate_u8_Tensor_PKD3_interpolationTypeBilinear: FAILED
4: rotate_u8_Tensor_PLN3_interpolationTypeNearestNeighbor: FAILED
4: rotate_u8_Tensor_PLN3_interpolationTypeBilinear: FAILED
4: rotate_u8_Tensor_PLN1_interpolationTypeNearestNeighbor: FAILED
4: rotate_u8_Tensor_PLN1_interpolationTypeBilinear: FAILED
4: water_u8_Tensor_PKD3: FAILED
4: water_u8_Tensor_PLN3: FAILED
4: water_u8_Tensor_PLN1: FAILED
4: non_linear_blend_u8_Tensor_PKD3: FAILED
4: non_linear_blend_u8_Tensor_PLN3: FAILED
4: non_linear_blend_u8_Tensor_PLN1: FAILED
4: color_cast_u8_Tensor_PKD3: FAILED
4: color_cast_u8_Tensor_PLN3: FAILED
4: crop_and_patch_u8_Tensor_PKD3: FAILED
4: crop_and_patch_u8_Tensor_PLN3: FAILED
4: crop_and_patch_u8_Tensor_PLN1: FAILED
4: lut_u8_Tensor_PKD3: FAILED
4: lut_u8_Tensor_PLN3: FAILED
4: lut_u8_Tensor_PLN1: FAILED
4: color_twist_u8_Tensor_PKD3: FAILED
4: color_twist_u8_Tensor_PLN3: FAILED
4: crop_u8_Tensor_PKD3: FAILED
4: crop_u8_Tensor_PLN3: FAILED
4: crop_u8_Tensor_PLN1: FAILED
4: crop_mirror_normalize_u8_Tensor_PKD3: FAILED
4: crop_mirror_normalize_u8_Tensor_PLN3: FAILED
4: crop_mirror_normalize_u8_Tensor_PLN1: FAILED
4: resize_crop_mirror_u8_Tensor_PKD3: FAILED
4: resize_crop_mirror_u8_Tensor_PLN3: FAILED
4: resize_crop_mirror_u8_Tensor_PLN1: FAILED
4: color_temperature_u8_Tensor_PKD3: FAILED
4: color_temperature_u8_Tensor_PLN3: FAILED
4: vignette_u8_Tensor_PKD3: FAILED
4: vignette_u8_Tensor_PLN3: FAILED
4: vignette_u8_Tensor_PLN1: FAILED
4: magnitude_u8_Tensor_PKD3: FAILED
4: magnitude_u8_Tensor_PLN3: FAILED
4: magnitude_u8_Tensor_PLN1: FAILED
4: phase_u8_Tensor_PKD3: FAILED
4: phase_u8_Tensor_PLN3: FAILED
4: phase_u8_Tensor_PLN1: FAILED
4: bitwise_and_u8_Tensor_PKD3: FAILED
4: bitwise_and_u8_Tensor_PLN3: FAILED
4: bitwise_and_u8_Tensor_PLN1: FAILED
4: bitwise_or_u8_Tensor_PKD3: FAILED
4: bitwise_or_u8_Tensor_PLN3: FAILED
4: bitwise_or_u8_Tensor_PLN1: FAILED
4: copy_u8_Tensor_PKD3: PASSED
4: copy_u8_Tensor_PLN3: PASSED
4: copy_u8_Tensor_PLN1: PASSED
4: resize_mirror_normalize_u8_Tensor_PKD3: FAILED
4: resize_mirror_normalize_u8_Tensor_PLN3: FAILED
4: resize_mirror_normalize_u8_Tensor_PLN1: FAILED
4: ricap_u8_Tensor_PKD3: FAILED
4: ricap_u8_Tensor_PLN3: FAILED
4: ricap_u8_Tensor_PLN1: FAILED
4: gridmask_u8_Tensor_PKD3: FAILED
4: gridmask_u8_Tensor_PLN3: FAILED
4: gridmask_u8_Tensor_PLN1: FAILED
4: swap_channels_u8_Tensor_PKD3: FAILED
4: swap_channels_u8_Tensor_PLN3: FAILED
4: swap_channels_u8_Tensor_PLN1: PASSED
4: color_to_greyscale_u8_Tensor_PKD3: FAILED
4: color_to_greyscale_u8_Tensor_PLN3: FAILED
4: tensor_sum_u8_Tensor_PKD3: FAILED
4: tensor_sum_u8_Tensor_PLN3: FAILED
4: tensor_sum_u8_Tensor_PLN1: FAILED
4: tensor_min_u8_Tensor_PKD3: FAILED
4: tensor_min_u8_Tensor_PLN3: FAILED
4: tensor_min_u8_Tensor_PLN1: FAILED
4: tensor_max_u8_Tensor_PKD3: FAILED
4: tensor_max_u8_Tensor_PLN3: FAILED
4: tensor_max_u8_Tensor_PLN1: FAILED
4:
4: -------------------------------------------------------------------
4:
4: Final Results of Tests:
4:     - Total test cases including all subvariants REQUESTED = 110
4:     - Total test cases including all subvariants PASSED = 4
4:
4: General information on Tensor voxel test suite availability:
4:     - Total augmentations supported in Tensor test suite = 35
4:     - Total augmentations with golden output QA test support = 31
4:     - Total augmentations without golden ouput QA test support (due to randomization involved) = 4
4:
4: -------------------------------------------------------------------
4/5 Test #4: rpp_qa_tests_tensor_hip_all ..........   Passed   96.87 sec

Operating System
RHEL 9 / Ubuntu 22
CPU
ALL
GPU
AMD Instinct MI300
Other
No response
ROCm Version
ROCm 6.0.0
ROCm Component
rpp
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

Resolution is in PR #361

Passing with TOT

authors: kiritigowda r-abishek

repo: ROCm/rpp


text:
Figure out why AttentionBatch1_Float16 fails ORT CI

This test is randomly failing/passing in CI without any sense.
Current PR from Chris disables this #2226 as a work around right now
Find the root cause and determine why things are failing/not failing.

https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/pull/2226 didn't solve the problem.  The failure occurred with another test just after.

@causten guessing we can close this out due to the change from no more Vega for those tests?

Closing this out since I havent seen the onnx issue again

authors: TedThemistokleous causten

repo: ROCmSoftwarePlatform/AMDMIGraphX