Can I use CIFAR10 dataset to substitute ImageNet dataset?

Thanks for contributing this amazing repo! I found that all your configs use ImageNet dataset to train models, but my server has not enough space to store that huge dataset. So I attempted to use CIFAR10 dataset as substitution, and it works well. Then, I try to apply the config to other models, but they do not work. How should I modify my config? Is there any other solution for my problem?

You only need to change data_source_cfg in the config. Do not change others. You may use SGD if the batch size is small, you may also adjust hyperparams such as  lr.

Thanks for your reply. Following your instruction, I reset my config and only change data_source_cfg, but it still makes no effect.
The log shows below:
(open-mmlab) lhy@mustdl2:/disk1/lhy/Documents/github/OpenSelfSup$ bash tools/dist_train.sh configs/selfsup/byol/r50_cifar.py 2
*****************************************
Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.
*****************************************
2020-09-01 15:35:03,052 - openselfsup - INFO - Environment info:
------------------------------------------------------------
sys.platform: linux
Python: 3.7.6 (default, Jan  8 2020, 19:59:22) [GCC 7.3.0]
CUDA available: True
CUDA_HOME: /usr/local/cuda-8.0
NVCC: Cuda compilation tools, release 8.0, V8.0.61
GPU 0,1: GeForce GTX 1080 Ti
GCC: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
PyTorch: 1.5.1
PyTorch compiling details: PyTorch built with:
  - GCC 7.3
  - C++ Version: 201402
  - Intel(R) Math Kernel Library Version 2020.0.0 Product Build 20191122 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v0.21.1 (Git Hash 7d2fd500bc78936d1d648ca713b901012f470dbc)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 10.1
  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
  - CuDNN 7.6.3
  - Magma 2.5.2
  - Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_INTERNAL_THREADPOOL_IMPL -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,

TorchVision: 0.6.0a0+35d732a
OpenCV: 4.3.0
MMCV: 1.0.3
OpenSelfSup: 0.2.0+dbfc6b1
------------------------------------------------------------

2020-09-01 15:35:03,053 - openselfsup - INFO - Distributed training: True
2020-09-01 15:35:03,053 - openselfsup - INFO - Config:
/disk1/lhy/Documents/github/OpenSelfSup/configs/base.py
train_cfg = {}
test_cfg = {}
optimizer_config = dict()  # grad_clip, coalesce, bucket_size_mb
# yapf:disable
log_config = dict(
    interval=50,
    hooks=[
        dict(type='TextLoggerHook'),
        dict(type='TensorboardLoggerHook')
    ])
# yapf:enable
# runtime settings
dist_params = dict(backend='nccl')
cudnn_benchmark = True
log_level = 'INFO'
load_from = None
resume_from = None
workflow = [('train', 1)]

/disk1/lhy/Documents/github/OpenSelfSup/configs/selfsup/byol/r50_cifar.py
import copy
_base_ = '../../base.py'
# Model settings
model = dict(
    type='BYOL',
    pretrained=None,
    base_momentum=0.996,
    backbone=dict(
        type='ResNet',
        depth=50,
        in_channels=3,
        out_indices=[4],  # 0: conv-1, x: stage-x
        norm_cfg=dict(type='BN')),
    neck=dict(
        type='NonLinearNeckV2',
        in_channels=2048,
        hid_channels=4096,
        out_channels=256,
        with_avg_pool=True),
    head=dict(type='LatentPredictHead',
              size_average=True,
              predictor=dict(type='NonLinearNeckV2',
                             in_channels=256, hid_channels=4096,
                             out_channels=256, with_avg_pool=False)))
# Dataset settings
data_source_cfg = dict(type='Cifar10', root='data')
# data_source_cfg = dict(
#     type='ImageNet',
#     memcached=True,
#     mclient_path='/mnt/lustre/share/memcached_client')
# data_train_list = 'data/imagenet/meta/train.txt'
# data_train_root = 'data/imagenet/train'
dataset_type = 'BYOLDataset'
img_norm_cfg = dict(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
train_pipeline = [
    dict(type='RandomResizedCrop', size=224, interpolation=3), # bicubic
    dict(type='RandomHorizontalFlip'),
    dict(
        type='RandomAppliedTrans',
        transforms=[
            dict(
                type='ColorJitter',
                brightness=0.4,
                contrast=0.4,
                saturation=0.2,
                hue=0.1)
        ],
        p=0.8),
    dict(type='RandomGrayscale', p=0.2),
    dict(
        type='RandomAppliedTrans',
        transforms=[
            dict(
                type='GaussianBlur',
                sigma_min=0.1,
                sigma_max=2.0,
                kernel_size=23)
        ],
        p=1.),
    dict(type='RandomAppliedTrans',
         transforms=[dict(type='Solarization')], p=0.),
    dict(type='ToTensor'),
    dict(type='Normalize', **img_norm_cfg),
]
train_pipeline1 = copy.deepcopy(train_pipeline)
train_pipeline2 = copy.deepcopy(train_pipeline)
train_pipeline2[4]['p'] = 0.1 # gaussian blur
train_pipeline2[5]['p'] = 0.2 # solarization

data = dict(
    imgs_per_gpu=32,  # total 32*8=256
    workers_per_gpu=4,
    train=dict(
        type=dataset_type,
        data_source=dict(
            # list_file=data_train_list, root=data_train_root,
            **data_source_cfg),
        pipeline1=train_pipeline1,
        pipeline2=train_pipeline2))
# Additional hooks
custom_hooks = [
    dict(type='BYOLHook', end_momentum=1.)
]
# Optimizer
optimizer = dict(type='SGD', lr=0.1, momentum=0.9, weight_decay=0.0005)
# optimizer = dict(type='LARS', lr=0.2, weight_decay=0.0000015, momentum=0.9,
#                  paramwise_options={
#                     '(bn|gn)(\d+)?.(weight|bias)': dict(weight_decay=0., lars_exclude=True),
#                     'bias': dict(weight_decay=0., lars_exclude=True)})
# Learning policy
lr_config = dict(
    policy='CosineAnnealing',
    min_lr=0.,
    warmup='linear',
    warmup_iters=2,
    warmup_ratio=0.0001, # cannot be 0
    warmup_by_epoch=True)
checkpoint_config = dict(interval=10)
# Runtime settings
total_epochs = 200

2020-09-01 15:35:03,053 - openselfsup - INFO - Set random seed to 0, deterministic: False
Traceback (most recent call last):
  File "tools/train.py", line 142, in <module>
    main()
  File "tools/train.py", line 124, in main
    datasets = [build_dataset(cfg.data.train)]
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/datasets/builder.py", line 37, in build_dataset
    dataset = build_from_cfg(cfg, DATASETS, default_args)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/utils/registry.py", line 79, in build_from_cfg
    return obj_cls(**args)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/datasets/byol.py", line 18, in __init__
    self.data_source = build_datasource(data_source)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/datasets/builder.py", line 43, in build_datasource
    return build_from_cfg(cfg, DATASOURCES)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/utils/registry.py", line 79, in build_from_cfg
    return obj_cls(**args)
TypeError: __init__() missing 1 required positional argument: 'split'
Traceback (most recent call last):
  File "tools/train.py", line 142, in <module>
    main()
  File "tools/train.py", line 124, in main
    datasets = [build_dataset(cfg.data.train)]
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/datasets/builder.py", line 37, in build_dataset
    dataset = build_from_cfg(cfg, DATASETS, default_args)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/utils/registry.py", line 79, in build_from_cfg
    return obj_cls(**args)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/datasets/byol.py", line 18, in __init__
    self.data_source = build_datasource(data_source)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/datasets/builder.py", line 43, in build_datasource
    return build_from_cfg(cfg, DATASOURCES)
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/utils/registry.py", line 79, in build_from_cfg
    return obj_cls(**args)
TypeError: __init__() missing 1 required positional argument: 'split'
Traceback (most recent call last):
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/distributed/launch.py", line 263, in <module>
    main()
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/distributed/launch.py", line 259, in main
    cmd=cmd)
subprocess.CalledProcessError: Command '['/disk1/lhy/Applications/anaconda3/envs/open-mmlab/bin/python', '-u', 'tools/train.py', '--local_rank=1', 'configs/selfsup/byol/r50_cifar.py', '--work_dir', 'work_dirs/selfsup/byol/r50_cifar/', '--seed', '0', '--launcher', 'pytorch']' returned non-zero exit status 1.

Should I change your code in /openselfsup?

The bug is obvious. It shows init() missing argument "split". The key "data_source" in the config under data.train shall accept an argument "split". I'm willing to help but I suggest carefully reading the log to find the bug by yourself first before raising issues, so that we could save time for both of us :)

Please forgive my carelessness.  After fixing this bug, I met another one:
Original Traceback (most recent call last):
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop
    data = fetcher.fetch(index)
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/disk1/lhy/Documents/github/OpenSelfSup/openselfsup/datasets/byol.py", line 29, in __getitem__
    img1 = self.pipeline1(img)
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torchvision/transforms/transforms.py", line 61, in __call__
    img = t(img)
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torchvision/transforms/transforms.py", line 680, in __call__
    i, j, h, w = self.get_params(img, self.scale, self.ratio)
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torchvision/transforms/transforms.py", line 641, in get_params
    width, height = _get_image_size(img)
  File "/disk1/lhy/Applications/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torchvision/transforms/transforms.py", line 40, in _get_image_size
    raise TypeError("Unexpected type {}".format(type(img)))
TypeError: Unexpected type <class 'tuple'>
raise self.exc_type(msg)

Then I found the img variable contains the origin image data (<PIL.Image.Image image mode=RGB size=32x32 at 0x7F1197BDA690>, 1) with a tuple. So I changed your code to extract the data.
Thank you for your help, and your instruction did inspire me a lot!

I notice that your code is still in an old version. Please follow the latest code, otherwise there may be bugs and the result cannot be reproduced.

Roger that!


[Bug] Determining whether the last task failed with non-determinism is unstable

What are you really trying to do?

Describe the bug
Some SDKs may return arbitrary string as the cause for non-deterministic failure. Currently the code depends on this cause to determine whether the last task failed with Non Determinism
https://github.com/temporalio/tctl/blob/681f0e458b3ac54201c40abfc800852d97eca8f3/cli/workflowCommands.go#L1294

Minimal Reproduction

Environment/Versions

OS and processor: [e.g. M1 Mac, x86 Windows, Linux]
Temporal Version: [e.g. 1.14.0?] and/or SDK version
Are you using Docker or Kubernetes or building Temporal from source?

Additional context

seems there is now a new type specifically for that enumspb.WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR


partd directories are not always cleaned up

Whenever dask.DataFrame performs certain operations, temporary .partd directories are created; however, in the presence of certain errors, these temporary directories are never cleaned up.  This can be a big problem on shared servers with limited /tmp/ space, or if you aren't aware that it's happening.
For example, dd.merge() eventually creates a .partd directory but during the actual merge / shuffle, a MemoryError might get thrown and the (usually large) .partd directory is never cleaned.
Here's a reproducible example that mocks up the situation by mocking this line:
In [1]: import dask.dataframe as dd; import os

In [2]: [folder for folder in os.listdir(os.environ['TMPDIR']) if 'partd' in folder]
Out[2]: []

In [3]: A = dd.demo.daily_stock('GOOG', '2010', '2011', freq='1d')

In [4]: dd.shuffle.shuffle_group_3 = lambda x: x

In [5]: dd.merge(A, A, on='close').head()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-5-97a9ff784554> in <module>()
----> 1 dd.merge(A, A, on='close').head()

//anaconda/lib/python3.5/site-packages/dask/dataframe/core.py in head(self, n, npartitions, compute)
    795
    796         if compute:
--> 797             result = result.compute()
    798         return result
    799

//anaconda/lib/python3.5/site-packages/dask/base.py in compute(self, **kwargs)
     93             Extra keywords to forward to the scheduler ``get`` function.
     94         """
---> 95         (result,) = compute(self, traverse=False, **kwargs)
     96         return result
     97

//anaconda/lib/python3.5/site-packages/dask/base.py in compute(*args, **kwargs)
    200     dsk = collections_to_dsk(variables, optimize_graph, **kwargs)
    201     keys = [var._keys() for var in variables]
--> 202     results = get(dsk, keys, **kwargs)
    203
    204     results_iter = iter(results)

//anaconda/lib/python3.5/site-packages/dask/threaded.py in get(dsk, result, cache, num_workers, **kwargs)
     74     results = get_async(pool.apply_async, len(pool._pool), dsk, result,
     75                         cache=cache, get_id=_thread_get_id,
---> 76                         **kwargs)
     77
     78     # Cleanup pools associated to dead threads

//anaconda/lib/python3.5/site-packages/dask/async.py in get_async(apply_async, num_workers, dsk, result, cache, get_id, raise_on_exception, rerun_exceptions_locally, callbacks, dumps, loads, **kwargs)
    498                     _execute_task(task, data)  # Re-execute locally
    499                 else:
--> 500                     raise(remote_exception(res, tb))
    501             state['cache'][key] = res
    502             finish_task(dsk, key, state, results, keyorder.get)

TypeError: <lambda>() takes 1 positional argument but 4 were given

Traceback
---------
  File "//anaconda/lib/python3.5/site-packages/dask/async.py", line 266, in execute_task
    result = _execute_task(task, data)
  File "//anaconda/lib/python3.5/site-packages/dask/async.py", line 247, in _execute_task
    return func(*args2)

In [6]: [folder for folder in os.listdir(os.environ['TMPDIR']) if 'partd' in folder]
Out[6]: ['tmpqk5joscj.partd']

Related to this, it might be nice to elevate / expose the path keyword argument in partd.File.__init__() in some way so that users don't have to know to set TMPDIR and TMP environment variables.

@pitrou is there a mechanism that you would recommend to reliably clean up this temporary directory after all references to it are removed?  I tend to use the atexit module for this but I recall you using something recently that was more associated to an object than to a session.

The simple solution is a try .. finally block. Otherwise, tempfile.TemporaryDirectory is an option. It only exists on Python 3 but the source code is simple enough that it shouldn't be a problem backporting it on Python 2 (it uses weakref.finalize which is already backported in Distributed):
https://github.com/python/cpython/blob/master/Lib/tempfile.py#L777
Do note that if MemoryError was raised, perhaps the Python process will not be able to allocate enough memory to actually run the directory deletion routine...

I don't think that we can use a context manager here.  We create an object in one task that then gets used by other tasks in other threads.  I think it's better to tie the lifetime of the directory to an object or to a process.


Dance command and Hubot scripts

Hi @mintuz !
Here are my Hubot scripts for BB-8. Since my code requires your Express server code, your repo feels like the right place for these Hubot scripts. I'm hoping we'll see more commands written for BB-8 (and more scripts for Hubot to interact with BB-8). I think there are a lot of possibilities.
I created a hubot-readme.md file that contains the same content as my blog post. I'm happy to change the readme.md to point to this hubot-readme.md file instead of my medium post.
I added the dance command to the index.js, so it all will work end-to-end the Hubot coffeescript walkthrough example. I think I've fixed BB-8 from literally losing his head.
And no worries if you'd prefer I keep these hubot scripts as a separate fork! Just let me know! :smile:

Hi @mintuz!
Here are the updates in this PR:

I've added a bb8.js hubot script, thanks to http://js2.coffee/
I've removed the bb8.coffee file from this PR.
I've updated the hubot-readme.md to demo both the javascript (as preferred) and the coffeescript (for those who have to use coffeescript).

Looking forward to your feedback! 😄

Apart from the README this is good to go 👍

Hi @mintuz!
Your feedback makes sense. I've replaced the long readme with a short and to the point example.
Thanks!
-sara

Merging.


[feature request] Containers page: Published ports to include the IP they are binded to and their protocol (udp or tcp)

It would be nice to see the IP address to which the published ports are binded to and what protocol those ports are of, at the containers overview page.
Currently it is possible to see the IP by hovering the cursor over and the protocol by inspecting the container, but I think it would be better to see them directly at the containers overview page.
Running Portainer 1.13.4.

Unless we figure out a way that is would not clutter the UI, I'm not keen on adding this. IMO this will be too much information displayed in the containers view.
If somebody can come with some UI mockups on this, we could then decide how to integrate that.


Homebridge stops working

homebridge accessory 'no response'. Still logs homekit events when controlling Hue lights with the Hue app.
May 14 20:20:04 raspberrypi systemd[1]: Starting Node.js HomeKit Server...
May 14 20:20:04 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** The program 'nodejs' uses the Apple Bonjour compatibility layer of Avahi.
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** Please fix your application to use the native API of Avahi!
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs>
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** The program 'nodejs' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** Please fix your application to use the native API of Avahi!
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs&f=DNSServiceRegister>
May 14 20:20:08 raspberrypi homebridge[12983]: [5/14/2017, 8:20:08 PM] Loaded plugin: homebridge-hue
May 14 20:20:08 raspberrypi homebridge[12983]: [5/14/2017, 8:20:08 PM] Registering platform 'homebridge-hue.Hue'
May 14 20:20:08 raspberrypi homebridge[12983]: [5/14/2017, 8:20:08 PM] ---
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loaded plugin: homebridge-people
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Registering platform 'homebridge-people.People'
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Registering accessory 'homebridge-people.PeopleAccessory'
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Registering accessory 'homebridge-people.PeopleAllAccessory'
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] ---
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loaded config.json with 0 accessories and 2 platforms.
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] ---
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loading 2 platforms...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing People platform...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'Larissa'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'Andre'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'Anyone'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'No One'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] WebHook: Started server on port '51828'.
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] [Hue] Initializing Hue platform...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] [Hue] homebridge-hue v0.4.3, node v7.10.0, homebridge v0.4.20
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loading 0 accessories...
May 14 20:20:14 raspberrypi homebridge[12983]: [5/14/2017, 8:20:14 PM] [Hue] Philips hue: BSB001 bridge, api v1.16.0
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Philips hue: 5 accessories
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Philips hue'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Philips hue: 3 services
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Eettafel'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Eettafel'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Woonkamer'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Woonkamer'...
May 14 20:20:15 raspberrypi homebridge[12983]: Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
May 14 20:20:15 raspberrypi homebridge[12983]: ┌────────────┐
May 14 20:20:15 raspberrypi homebridge[12983]: │ 031-45-111 │
May 14 20:20:15 raspberrypi homebridge[12983]: └────────────┘
May 14 20:20:15 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:15 GMT EventedHTTPServer Server listening on port 51826
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] Homebridge is running on port 51826.
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] New connection from client
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server listening on port 36251
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP request: /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT HAPServer [CD:22:3D:E3:CE:71] HAP Request: POST /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP Response is finished
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] Client connection closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP connection was closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server was closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] New connection from client
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server listening on port 39949
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP request: /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT HAPServer [CD:22:3D:E3:CE:71] HAP Request: POST /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP Response is finished
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] Client connection closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP connection was closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server was closed

This one looks like iOS device failed to establish a secure connection with homebridge. Did you made any changes to files under .homebridge? Try remove the accessory from iOS device and pair with it again.
Best Wishes,
Tian Zhang

On May 14, 2017, at 1:22 PM, andre-dw<EMAIL_ADDRESS>wrote:
homebridge accessory 'no response'. Still logs homekit events when controlling Hue lights with the Hue app.
May 14 20:20:04 raspberrypi systemd[1]: Starting Node.js HomeKit Server...
May 14 20:20:04 raspberrypi systemd[1]: Started Node.js HomeKit Server.
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** The program 'nodejs' uses the Apple Bonjour compatibility layer of Avahi.
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** Please fix your application to use the native API of Avahi!
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** The program 'nodejs' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** Please fix your application to use the native API of Avahi!
May 14 20:20:04 raspberrypi homebridge[12983]: *** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs&f=DNSServiceRegister
May 14 20:20:08 raspberrypi homebridge[12983]: [5/14/2017, 8:20:08 PM] Loaded plugin: homebridge-hue
May 14 20:20:08 raspberrypi homebridge[12983]: [5/14/2017, 8:20:08 PM] Registering platform 'homebridge-hue.Hue'
May 14 20:20:08 raspberrypi homebridge[12983]: [5/14/2017, 8:20:08 PM] ---
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loaded plugin: homebridge-people
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Registering platform 'homebridge-people.People'
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Registering accessory 'homebridge-people.PeopleAccessory'
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Registering accessory 'homebridge-people.PeopleAllAccessory'
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] ---
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loaded config.json with 0 accessories and 2 platforms.
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] ---
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loading 2 platforms...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing People platform...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'Larissa'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'Andre'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'Anyone'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Initializing platform accessory 'No One'...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] WebHook: Started server on port '51828'.
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] [Hue] Initializing Hue platform...
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] [Hue] homebridge-hue v0.4.3, node v7.10.0, homebridge v0.4.20
May 14 20:20:09 raspberrypi homebridge[12983]: [5/14/2017, 8:20:09 PM] Loading 0 accessories...
May 14 20:20:14 raspberrypi homebridge[12983]: [5/14/2017, 8:20:14 PM] [Hue] Philips hue: BSB001 bridge, api v1.16.0
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Philips hue: 5 accessories
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Philips hue'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Philips hue: 3 services
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Eettafel'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Eettafel'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Woonkamer'...
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] [Hue] Initializing platform accessory 'Woonkamer'...
May 14 20:20:15 raspberrypi homebridge[12983]: Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
May 14 20:20:15 raspberrypi homebridge[12983]: ┌────────────┐
May 14 20:20:15 raspberrypi homebridge[12983]: │ 031-45-111 │
May 14 20:20:15 raspberrypi homebridge[12983]: └────────────┘
May 14 20:20:15 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:15 GMT EventedHTTPServer Server listening on port 51826
May 14 20:20:15 raspberrypi homebridge[12983]: [5/14/2017, 8:20:15 PM] Homebridge is running on port 51826.
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] New connection from client
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server listening on port 36251
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP request: /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT HAPServer [CD:22:3D:E3:CE:71] HAP Request: POST /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP Response is finished
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] Client connection closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP connection was closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server was closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] New connection from client
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server listening on port 39949
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP request: /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT HAPServer [CD:22:3D:E3:CE:71] HAP Request: POST /pair-verify
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP Response is finished
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] Client connection closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP connection was closed
May 14 20:20:16 raspberrypi homebridge[12983]: Sun, 14 May 2017 20:20:16 GMT EventedHTTPServer [<IP_ADDRESS>] HTTP server was closed
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/nfarina/homebridge/issues/1290, or mute the thread https://github.com/notifications/unsubscribe-auth/ABpU4MbUxdEIhBvM420u6wS_LHpUb0tNks5r52KGgaJpZM4Nafh9.

Thanks! reinstalled all plugins removed homebridge from home app and added it again works all great now.
So every time i add something to homebridge i need to remove homebridge from the app and create all the scenes again?

@andre-dw normally you shouldn't need to do that.


Is it possible to use JaCoCo and Kover on the same Android project ?

At the moment, Kover is better for code coverage about Kotlin.
At the moment, JaCoCo is better for code coverage about Android. (source : https://github.com/Kotlin/kotlinx-kover/issues/96)
So, why not use both until Kover can handle Android Instrumented tests well ?
This article makes it clear JaCoCo can handle both exec and ec files, so I'd imagine kover generating the code coverage for unit tests and JaCoCo generating the code coverage for Android instrumented tests and merging them ?
Sadly, my Gradle skills are abysmal (and I'm not interested at all tbh) so I don't know if that's even possible, in the interim.

Hi,
unfortunately, apart from the format of the binary report files themselves (exec for JaCoCo and ic for IntelliJ), the files differ in their contents.
ic contains more information about Kotlin classes, so it is possible to generate a coverage report more correctly.
Therefore, reading the exec file will not give the IntelliJ reporter all the necessary information, and the development time can be comparable to the time of adding support for instrumentation of Android devices.


added python regex for Hex-color code

Hey @Shubhamdutta2000, Please merge my PR

Ya looks good 👍


Extend Arlington for PPM (ISO 21812-1:2019)

Extend Arlington for ISO 21812-1:2019 Graphic technology — Print product metadata for PDF files — Part 1: Architecture and core requirements for metadata (a.k.a. PPM).
Includes Extension dictionary with /GTSm, etc.

Model has been prototyped but found an issue with the ISO standard (https://github.com/pdf-association/pdf-issues/issues/459).
Reported this to the PDF Association's PPM LWG and also looking for diverse sample PDFs with PPM to test the model.
PS. The ISO spec error was found due to model validation:
Error: can't reach ArrayOfCIP4_PrintProcess from Trailer or XRefStream (assumed as dictionary)
Error: can't reach CIP4_ProductionIntent from Trailer or XRefStream (assumed as dictionary)

(ArrayOfCIP4_PrintProcess is only referenced from inside CIP4_ProductionIntent so is just a dependency.)


To release 0.10.1

New features

Added options for sticky header

--header-file
--header-lines

Added --margin option
Added cancel action which clears the input or closes the finder when the
input is already empty

e.g. export FZF_DEFAULT_OPTS="--bind esc:cancel"

Added delete-char/eof action to differentiate CTRL-D and DEL

Minor improvements/fixes

Fixed to allow binding colon and comma keys
Fixed ANSI processor to handle color regions spanning multiple lines

phew.

Great work !

Thanks, please let me know if you find any regression.


Large performance decrease

While fixing the bugs to get the async and template support working, performance has been cut by a significant amount (around 65% decrease). This may be just how it is with the proper async support, but need to investigate.

PR #13 changed the thenable check to bring back the majority of the performance gap.


Clarified identification vs authentication

Identification != authentication. So I made  a small edit to that effect

#sign-off

@ShannonLeavitt : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Robot control causes crash after new objects added during slicing

To test, checkout 91c2360bf4ecb08dc29e6c355c4efe9f083f0096 and run python .\tests\test_symbolic_primitives.py
After the half objects are loaded, the dynamic control API of the robot no longer works:
Grasping knife
Cutting steak
[INFO] [omnigibson.objects.object_base] Loaded half_apple_0 at /World/half_apple_0
[INFO] [omnigibson.objects.object_base] Loaded half_apple_1 at /World/half_apple_1
2023-09-21 21:35:26 [173,941ms] [Error] [omni.isaac.dynamic_control.plugin] Failed to refresh articulation /World/robot0/base_link
2023-09-21 21:35:26 [174,014ms] [Error] [omni.isaac.dynamic_control.plugin] Failed to refresh articulation /World/robot0/base_link
[WARNING] [omnigibson.utils.registry_utils] Object 'half_apple_0' is not in the state dict to load from. Skip loading its state.
[WARNING] [omnigibson.utils.registry_utils] Object 'half_apple_1' is not in the state dict to load from. Skip loading its state.
Traceback (most recent call last):
  File ".\tests\test_symbolic_primitives.py", line 238, in <module>
    main()
  File ".\tests\test_symbolic_primitives.py", line 231, in main
    test_cut(env, prim_gen, steak, knife, countertop)
  File ".\tests\test_symbolic_primitives.py", line 204, in test_cut
    for action in prim_gen.apply_ref(SymbolicSemanticActionPrimitiveSet.CUT, steak):
  File "C:\Users\cgokmen\OmniGibson\omnigibson\action_primitives\symbolic_semantic_action_primitives.py", line 204, in apply_ref
    yield from self._settle_robot()
  File "C:\Users\cgokmen\OmniGibson\omnigibson\action_primitives\symbolic_semantic_action_primitives.py", line 970, in _settle_robot
    yield from [self._empty_action() for _ in range(100)]
  File "C:\Users\cgokmen\OmniGibson\omnigibson\action_primitives\symbolic_semantic_action_primitives.py", line 970, in <listcomp>
    yield from [self._empty_action() for _ in range(100)]
  File "C:\Users\cgokmen\OmniGibson\omnigibson\action_primitives\symbolic_semantic_action_primitives.py", line 720, in _empty_action
    action[action_idx] = self.robot.get_joint_positions()[joint_idx]
  File "C:\Users\cgokmen\OmniGibson\omnigibson\prims\entity_prim.py", line 810, in get_joint_positions
    joint_positions = self._dc.get_articulation_dof_states(self._handle, _dynamic_control.STATE_POS)["pos"]
TypeError: 'NoneType' object is not subscriptable

This was fixed in #279


Store xConnect schema files on SearchStax

Keep xConnect schema file in the same zip directory as the same way other Solr configs are.

See new requirement above. Still determining versions we want to support as well.


scoutcloud: service for autodeploy

This is epic issue for developing scoutcloud - API service for autodeploy blockscout instances
Tasks

[x] initial service structure (db schema, api schema, service-template)
https://github.com/blockscout/blockscout-rs/pull/806
[x] github client to create/update files, and handle workflows
https://github.com/blockscout/blockscout-rs/pull/806
[x] config generation
https://github.com/blockscout/blockscout-rs/pull/814
[x] add endpoints related to balance (user balance, instance total cost etc)
https://github.com/blockscout/blockscout-rs/pull/852
[x] creating instance, basic CRUD for instances/deployments
https://github.com/blockscout/blockscout-rs/pull/834
[x] handling balances and stoping instances
https://github.com/blockscout/blockscout-rs/pull/846

QA related
Links
Swagger: https://app.swaggerhub.com/apis/LYMARENKOLEV/scoutcloud/0.1.1
Postman collection: https://galactic-sunset-60264.postman.co/workspace/Blockscout-workspace~55946628-0c3d-48ac-b418-05a67600b1d6/collection/15533327-d23e80de-affa-4d3e-9349-3fa231c2378b?action=share&creator=15533327&active-environment=15533327-fc0fe3bc-0e5b-414d-85f4-5fdf2e1e7863
Common flow to start blockscout:

get api key (for now only insert data in database):

insert into users(id, email) values (1, 'lymarenko.lev@gmail.com');
insert into auth_tokens(user_id) values (1);
insert into balance_changes(user_id, amount) values (1, 100);
select token_value from auth_tokens;

create instance: POST /api/v1/instances
start deployment: POST /api/v1/instances/{instance_id}/status:update with {"action": "START"}
wait until status moves from PENDING to RUNNING: GET /api/v1/instances/{instance_id}/deployments/current
in case of error see autodeploy private repo


Add a post about BonnyCI beta

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/bonnyci.org/20/1487019541.69/bonnyci.org : FAILURE in 25s

What do people think about making this a page, rather than a post? The only real reason to have posts is to make a temporal statement like "this week blah blah" or "as of now". But really, the beta is a page that I'd like to be able to reference, so   "go to bonnyci.org/beta" ?

Yeah, that makes sense to me. :+1: on page over post.
On Tue, Feb 14, 2017 at 10:45 AM, SpamapS<EMAIL_ADDRESS>wrote:

What do people think about making this a page, rather than a post? The
only real reason to have posts is to make a temporal statement like "this
week blah blah" or "as of now". But really, the beta is a page that I'd
like to be able to reference, so "go to bonnyci.org/beta" ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BonnyCI/bonnyci.org/pull/20#issuecomment-279797158,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKImtHN3K2ijs27XOlSgOMZEiLI0zwIks5rcfZBgaJpZM4L_ttj
.

Page instead of post seems reasonable to me.

What do people think about making this a page, rather than a post? The only real reason to have posts is to make a temporal statement like "this week blah blah" or "as of now". But really, the beta is a page that I'd like to be able to reference, so "go to bonnyci.org/beta" ?

Agreed. Please be sure to include show_header_link: true in the file.

So.. can we land as-is and revise? I need to start handing out the link.

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/bonnyci.org/20/1487353543.55/bonnyci-run-check : FAILURE in 2m 13s


Matplotlib issue? 'c' argument looks like a single numeric RGB or RGBA sequence

Hi,
I downloaded peddy 0.4.5 and received this error when I tried to run the example in the peddy directory. I received the same error whether I used conda or github to install peddy. Thank you.
$ conda update --all
$ python -V
Python 3.7.6
$ peddy --version
peddy, version 0.4.5
$ python -m peddy -p 4 --plot --prefix ceph-1463 data/ceph1463.peddy.vcf.gz data/ceph1463.ped
2020-03-23 09:24:16 lonepeak11 peddy.cli[2755] INFO Running Peddy version 0.4.5
2020-03-23 09:24:16 lonepeak11 peddy.cli[2755] INFO ped_check
2020-03-23 09:24:16 lonepeak11 numexpr.utils[2755] INFO Note: NumExpr detected 24 cores but "NUMEXPR_MAX_THREADS" not set, so enforcing safe limit of 8.
2020-03-23 09:24:16 lonepeak11 numexpr.utils[2755] INFO NumExpr defaulting to 8 threads.
2020-03-23 09:24:24 lonepeak11 peddy.peddy[2755] INFO plotting
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:24 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided                                                    as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify                                                    the same RGB or RGBA value for all points.
2020-03-23 09:24:25 lonepeak11 peddy.cli[2755] INFO ran in 9.7 seconds
2020-03-23 09:24:25 lonepeak11 peddy.cli[2755] INFO het_check
2020-03-23 09:24:28 lonepeak11 peddy.pca[2755] INFO loaded and subsetted thousand-genomes genotypes (shape: (2504, 2724)) in 0.6 seconds
2020-03-23 09:24:28 lonepeak11 peddy.pca[2755] INFO ran randomized PCA on thousand-genomes samples at 2724 sites in 0.7 seconds
2020-03-23 09:24:28 lonepeak11 peddy.pca[2755] INFO Projected thousand-genomes genotypes and sample genotypes and predicted ancestry via SVM in 0.1 seconds
2020-03-23 09:24:28 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify the same RGB or RGBA value for all points.
2020-03-23 09:24:28 lonepeak11 matplotlib.axes._axes[2755] WARNING 'c' argument looks like a single numeric RGB or RGBA sequence, which should be avoided as value-mapping will have precedence in case its length matches with 'x' & 'y'.  Please use a 2-D array with a single row if you really want to specify the same RGB or RGBA value for all points.
Traceback (most recent call last):
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/uufs/chpc.utah.edu/common/home/u0873645/peddy/peddy/main.py", line 14, in
sys.exit(cli())
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/uufs/chpc.utah.edu/common/home/u0873645/peddy/peddy/cli.py", line 209, in peddy
in ("ped_check", "het_check", "sex_check")]):
File "/uufs/chpc.utah.edu/common/home/u0873645/peddy/peddy/cli.py", line 43, in run
prefix=prefix, **kwargs)
File "/uufs/chpc.utah.edu/common/home/u0873645/peddy/peddy/peddy.py", line 878, in het_check
pca_df, background_pca_df = pca(pca_plot, sitesfile, gt_types, sites)
File "/uufs/chpc.utah.edu/common/home/u0873645/peddy/peddy/pca.py", line 138, in pca
edgecolor=pal[i])
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/site-packages/matplotlib/init.py", line 1565, in inner
return func(ax, *map(sanitize_sequence, args), **kwargs)
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/site-packages/matplotlib/cbook/deprecation.py", line 358, in wrapper
return func(*args, **kwargs)
File "/uufs/chpc.utah.edu/common/home/u0873645/anaconda3/lib/python3.7/site-packages/matplotlib/axes/_axes.py", line 4387, in scatter
raise ValueError("s must be a scalar, or the same size as x and y")
ValueError: s must be a scalar, or the same size as x and y

thank you for reporting. I will fix this shortly.

Worth adding this test to the .travis.yaml?
 python -m peddy -p 4 --plot --prefix ceph-1463 data/ceph1463.peddy.vcf.gz data/ceph1463.ped

I can add it to the bioconda recipe as well so we can catch these, if that should work OOTB.

If this helps, the only files I receive as output are:
ceph-1463.vs.html
ceph-1463.ped_check.csv
ceph-1463.ped_check.png
ceph-1463.ped_check.rel-difference.csv

ok. this is fixed. I added --plot to the test and tagged 0.4.6 and pushed to pypi.


Replace placeholders.

MOD_ID for your own ID in modid.mixins.json.
This is crucial because when someone uses a few mods and Minecraft crashes then in the log he will see a meaningless "Mixin prepare failed preparing ExampleMixin in modid.mixins.json"

Fixed and will be apart of the full v1.1.0 release

Fixed and will be apart of the full v1.1.0 release


Add image_puller to jupyter_server manifest when the image is custom

Description
This PR adds the image_puller manifest to jupyter-server and user-services if the image is not on global docker registries
Checklist

[x] I have manually tested my changes and I am happy with the result.
[x] The documentation reflects the changes.
[x] The PR branch is set up to merge into dev instead of master.

I really like this injection approach :+1: , question, is there a reason for not replacing calls to get_init_container_manifest with add_image_puller_if_needed to have a consistent approach and abstraction level?

question, is there a reason for not replacing calls to get_init_container_manifest with add_image_puller_if_needed to have a consistent approach and abstraction level

Since pipeline steps and kernels, always use images from our registry, I thought there is no need to check if init-container is needed or not.
also pipeline manifest is of type workflow, so the path for injection of init-container is different than the deployment.
(in deployment it is in .spec.template.spec.initContainers and in workflow it is in  '.spec.template.initContainers')
and kernel manifest is of type pod which means a different path for injection.

Since pipeline steps and kernels, always use images from our registry, I thought there is no need to check if init-container is needed or not.

Sounds good :+1:

Overall the logic looks good to me! :+1:


User Guide: TreeTagger instructions refer to .jy file

The installation instructions for TreeTagger in the user guide mention treetagger.jy in both the windows and linux instructions, this is no longer up-to-date.

Updated in user-guide.adoc as well as in tutorial.adoc


At the EID assay, since the end point is detection, there is no need for the extraction assay rather the various platforms should list all the assays in use in the country. These include the main assays as listed in the drop down menu (Add GeneExpert and AlereQ to this list)

sorted


issue-keyword class is being incorrectly stripped off spans

Bluemonday sanitizer regexp rules are not additive, so the addition of the icons,
emojis and chroma syntax policy has led to this being stripped.
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Codecov Report

Merging #16163 (2d05d54) into main (b8e4ce7) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main   #16163      +/-   ##
==========================================
- Coverage   44.58%   44.58%   -0.01%
==========================================
  Files         699      699
  Lines       82795    82794       -1
==========================================
- Hits        36916    36912       -4
- Misses      39899    39901       +2
- Partials     5980     5981       +1

Impacted Files
Coverage Δ

modules/markup/sanitizer.go
91.22% <100.00%> (-0.16%)
:arrow_down:

models/gpg_key.go
51.42% <0.00%> (-0.57%)
:arrow_down:

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 b8e4ce7...2d05d54. Read the comment docs.

:rocket: