Installation issue with --editable option

Hello,
I'm trying to install pandas on Mac OS X 10.11.6 in a Django project. Pandas library is used with one of the 3rd party libraries that I am using in the project.
Since I don't want to switch to different package manager (Anakonda) just for installing pandas (I'm using pip now), in order for me to get the C files compiled, I decided to install pandas by including --editable<EMAIL_ADDRESS>in the requirements.txt file and the library is now installed in my src dir and there's a symlink in my virtualenv's site-packages which points to it.
This gets these headers compiled, but causes many strange importing errors in pandas source code itself when it is imported by a third party library that is also installed with --editable mode. F. ex. file at Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/src/knmi-py/knmi/parsers.py has this line import pandas as pd. And I had to edit this code block in virtualenv/src/pandas/pandas/__init__.py for things to work:
try:
    # XXX: I had to comment this out for things to work:
    # from pandas import hashtable, tslib, lib
    import hashtable, tslib, lib
except ImportError as e:  # pragma: no cover
    module = str(e).lstrip('cannot import name ')  # hack but overkill to use re
    raise ImportError("C extension: {0} not built. If you want to import "
                      "pandas from the source directory, you may need to run "
                      "'python setup.py build_ext --inplace' to build the C "
                      "extensions first.".format(module))

But then another importing error appears here: virtualenv/src/pandas/pandas/core/config.py:
File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/src/pandas/pandas/core/config.py", line 57, in <module>
    import pandas.compat as compat
AttributeError: 'module' object has no attribute 'compat'

What should I do to get these things fixed ? I'd love to be able to use this library with pip and Django.

Edit: I think I solved this by wrapping editable pandas library in virtualenv/src with another pandas folder which contains the library itself and single __init__.py file. SO now it looks like this:

Is there any reason you need to compile?  pip install pandas will install a pre-compiled wheel.

installation instructions: http://pandas.pydata.org/pandas-docs/stable/install.html
using a distribution is best best.

@chris-b1 I need to compile, because my Django project uses a third party library KNMI-py and one of the dependencies for this 3rd party library is pandas. This KNMI-py library is importing pandas in its source code and I'm getting an error message that C files are not compiled. These C files are not compiled when you do pip install pandas, they're only compiled when you install the package as --editable. This is the code block from pandas source that does that:
try:
    # XXX: these are actualy C files (hashtable.c and etc.):
    from pandas import hashtable, tslib, lib
except ImportError as e:  # pragma: no cover
    module = str(e).lstrip('cannot import name ')  # hack but overkill to use re
    raise ImportError("C extension: {0} not built. If you want to import "
                      "pandas from the source directory, you may need to run "
                      "'python setup.py build_ext --inplace' to build the C "
                      "extensions first.".format(module))

^ I think my case counts as 'importing pandas from source directory', because a 3rd party library is doing that.
@jreback sorry, I'm not exactly sure I understand what you mean by 'using a distribution', but if you mean conda install pandas, this is not quite suitable for my case, because it would require to switch to a new package manager. And we have a lot of automation tools tied to the requirements.txt file used by pip, so I'd really like to continue using this pip approach..
So unless I'm missing something, I can come up with only one workaround which is forking pandas and including it as an --editable package in my requirements.txt file, which will compile there C files for me.

I'm getting an error message that C files are not compiled. These C files are not compiled when you do pip install pandas, they're only compiled when you install the package as --editable

This is not necessarily true. There are binary wheels available on PyPI for many platforms/python versions.

I think my case counts as 'importing pandas from source directory', because a 3rd party library is doing that.

KNMI-py is importing pandas in its source code (eg https://github.com/EnergyID/KNMI-py/blob/master/knmi/parsers.py#L1), but it is not importing pandas from the source, that is something different. KNMI-py will just import the installed pandas available in the python runtime, whether it is an editable install or not.

So unless I'm missing something, I can come up with only one workaround which is forking pandas and including it as an --editable package in my requirements.txt file, which will compile these C files for me.

That should not be necessary. pip does normally install binary wheels. If that is not the case, you should first check why. And even then, when pip installs the source files, it should also try to compile those during installation.

@jorisvandenbossche But if I am gonna use wheels, how am I gonna automate the setup process of the Project for every developers platform, I can not specify which .whl file to download from pip in my requirements.txt file. I really love the smoothness of pip install -r requirements.txt when everything works for everyone just after executing one command.

But if I am gonna use wheels, how am I gonna automate the setup process of the Project for every developers platform

the same applies for building pandas from source (different needs to build c extensions on each platform).
And again, if there is no wheel available for the specific platform (but there are for windows/linux/macosx), pip will also just install the source and try to build the C extensions, just the same as you would do with an editable install.

And even then, when pip installs the source files, it should also try to compile those during installation.

Unfortunately when pip installs .whl file, C files are not compiled:
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$ pip install --use-wheel pandas
Collecting pandas
  Using cached pandas-0.18.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Requirement already satisfied (use --upgrade to upgrade): pytz>=2011k in ./virtualenv/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in ./virtualenv/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7.0 in ./virtualenv/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): six in ./virtualenv/lib/python2.7/site-packages (from python-dateutil->pandas)
Installing collected packages: pandas
Successfully installed pandas-0.18.1
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$ ls virtualenv/lib/python2.7/site-packages/pandas/
__init__.py	_sparse.so	_version.pyc	computation	hashtable.so	info.py		json.so		parser.so	sparse		tools		types
__init__.pyc	_testing.so	algos.so	core		index.so	info.pyc	lib.so		rpy		stats		tseries		util
_period.so	_version.py	compat		formats		indexes		io		msgpack		sandbox		tests		tslib.so
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$

You can see that there are no C files compiled in this directory :(

You can see that there are no C files compiled in this directory :(

All the .so files are compiled C files

@jorisvandenbossche thanks and sorry for my mistake. It seems that you're right and now C files can be found after installing .whl file. But everything works only after wrapping virtualenv/lib/python2.7/site-packages/pandas in another pandas folder with __init__.py... I still have no idea why those import errors are present in pandas source code.

But everything works only after wrapping virtualenv/lib/python2.7/site-packages/pandas in another pandas folder with init.py...

What does not work? What error do you get?
This wrapping should certainly not be needed.

I'm just getting error from this code block at virtualenv/lib/python2.7/site-packages/pandas/__init__.py:
try:
    from pandas import hashtable, tslib, lib
except ImportError as e:  # pragma: no cover
    module = str(e).lstrip('cannot import name ')  # hack but overkill to use re
    raise ImportError("C extension: {0} not built. If you want to import "
                      "pandas from the source directory, you may need to run "
                      "'python setup.py build_ext --inplace' to build the C "
                      "extensions first.".format(module))

If I change the import from from pandas import hashtable, tslib, lib to import hashtable, tslib, lib this error is not raised, but then other import errors are raised:
virtualenv/src/pandas/pandas/core/config.py:
File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/src/pandas/pandas/core/config.py", line 57, in <module>
    import pandas.compat as compat
AttributeError: 'module' object has no attribute 'compat'

but then other import errors are raised

That sounds logical to me that you get errors, as you should totally not wrap the installed pandas in site-packages in another folder.
Please show exactly what you did (output from the console including input and output), and the error you got.
Typically, the error means that you are importing pandas in a session where the current working directory is set at virtualenv/lib/python2.7/site-packages/pandas (something you shouldn't do)

That sounds logical to me that you get errors, as you should totally not wrap the installed pandas in site-packages in another folder.

Those C files / path related import errors are raised without wrapping anything anywhere. They're raised after fresh install.
Here's my console output with fresh install from zero:
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$ pip install --use-wheel pandas
Collecting pandas
  Using cached pandas-0.18.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Requirement already satisfied (use --upgrade to upgrade): pytz>=2011k in ./virtualenv/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in ./virtualenv/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7.0 in ./virtualenv/lib/python2.7/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): six in ./virtualenv/lib/python2.7/site-packages (from python-dateutil->pandas)
Installing collected packages: pandas
Successfully installed pandas-0.18.1
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$

And then if I try to run a test in Django I'm getting errors that C files are not found:
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$ ./manage.py test mijnstroom.api.tests.v1.test_views.ApiViewDataTests.test_duplicate_data_points
Creating test database for alias 'default'...
/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/db/models/fields/__init__.py:1453: RuntimeWarning: DateTimeField EndexTariff.date received a naive datetime (2016-03-23 17:29:40.013550) while time zone support is active.
  RuntimeWarning)

/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/db/models/fields/__init__.py:1453: RuntimeWarning: DateTimeField EndexTariff.added_on received a naive datetime (2016-03-23 17:32:55.578788) while time zone support is active.
  RuntimeWarning)

created Group 'Installateurs'

created Group 'Investeerders'

created Group 'Energieleveranciers'

created Group 'Projecteigenaars'
/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/redactor/urls.py:19: RemovedInDjango110Warning: django.conf.urls.patterns() is deprecated and will be removed in Django 1.10. Update your urlpatterns to be a list of django.conf.urls.url() instances instead.
  name='redactor_upload_file'),

/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/rest_framework_swagger/urls.py:10: RemovedInDjango110Warning: django.conf.urls.patterns() is deprecated and will be removed in Django 1.10. Update your urlpatterns to be a list of django.conf.urls.url() instances instead.
  url(r'^api-docs/(?P<path>.*)/?$', SwaggerApiView.as_view(), name='django.swagger.api.view'),

/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/pandas/__init__.py:25: RuntimeWarning: datetime.datetime size changed, may indicate binary incompatibility. Expected 64, got 48
  from pandas import hashtable, tslib, lib

/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/pandas/__init__.py:25: RuntimeWarning: datetime.date size changed, may indicate binary incompatibility. Expected 48, got 32
  from pandas import hashtable, tslib, lib

/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/pandas/__init__.py:25: RuntimeWarning: datetime.date size changed, may indicate binary incompatibility. Expected 48, got 32
  from pandas import hashtable, tslib, lib

/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/pandas/__init__.py:25: RuntimeWarning: datetime.datetime size changed, may indicate binary incompatibility. Expected 64, got 48
  from pandas import hashtable, tslib, lib

E
======================================================================
ERROR: test_duplicate_data_points (mijnstroom.api.tests.v1.test_views.ApiViewDataTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/freezegun/api.py", line 428, in wrapper
    result = func(*args, **kwargs)
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/mijnstroom/api/tests/v1/test_views.py", line 313, in test_duplicate_data_points
    url = reverse('api:api_v1:v1_project_detail', kwargs={'pk': self.project.id})
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 568, in reverse
    app_list = resolver.app_dict[ns]
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 360, in app_dict
    self._populate()
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 293, in _populate
    for pattern in reversed(self.url_patterns):
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
    return import_module(self.urlconf_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/mijnstroom/urls.py", line 24, in <module>
    url(r'^messaging/', include('mijnstroom.messaging.urls', namespace="messaging")),
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 52, in include
    urlconf_module = import_module(urlconf_module)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/mijnstroom/messaging/urls.py", line 2, in <module>
    from mijnstroom.messaging import views
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/mijnstroom/messaging/views.py", line 22, in <module>
    from mijnstroom.utils.helpers import percentage_difference
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/mijnstroom/utils/helpers.py", line 15, in <module>
    import knmi
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/src/knmi-py/knmi/__init__.py", line 1, in <module>
    from knmi import get_day_data_raw, get_day_data_dataframe
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/src/knmi-py/knmi/knmi.py", line 3, in <module>
    from .parsers import parse_day_data, parse_dataframe
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/src/knmi-py/knmi/parsers.py", line 1, in <module>
    import pandas as pd
  File "/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/pandas/__init__.py", line 31, in <module>
    "extensions first.".format(module))
ImportError: C extension: hashtable not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace' to build the C extensions first.

----------------------------------------------------------------------
Ran 1 test in 1.039s

FAILED (errors=1)
Destroying test database for alias 'default'...
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$

Only when I do the wrapping that I mentioned earlier, everything works fine and the test passes.

Nope, all is good:
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$ which python
/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/bin/python
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-7<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import pandas
>>>
>>>
>>>
(virtualenv)MacBook-Air-2:mijnstroom eimantas$

So at least some version of pandas is correctly installed. Can you show the output of pd.__path__ to see that it is the correct pandas install that is imported?
Does it also work to import knmi from the console?
So it seems another version is imported in the django application.

Does it also work to import knmi from the console?

Yup, it works

Can you show the output of pd.path to see that it is the correct pandas install that is imported?

The path also seems to be correct..
(virtualenv)MacBook-Air-2:mijnstroom eimantas$
(virtualenv)MacBook-Air-2:mijnstroom eimantas$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-7<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>> import pandas as pd
>>>
>>> print(pd.__path__)
['/Users/eimantas/Desktop/Projects/WeShareSolar/mijnstroom/virtualenv/lib/python2.7/site-packages/pandas']
>>>
>>>

From the output above from testing the django app, I see you also get those warnings: RuntimeWarning: datetime.datetime size changed, may indicate binary incompatibility. Expected 64, got 48.
So apparantly, some other import has adapted datetime objects. To find the culprit, you can maybe in the console import packages that are used in the django app one by one, and see when importing pandas starts failing. Googling gave me this: https://github.com/spulec/freezegun/issues/13

And apparantly you are using freezegun, as it appears in the test error output from above.

@jorisvandenbossche thank you! Apparently freezegun is causing the problems. I'll continue from there now.


Ready attribute should not be neccesary for Main

Expected
If ready attribute is not used, Main will still initialize.
Actual
If ready attribute is not used, Main won't initialize.
Steps To Reproduce
public class App
{
    public static void Main()
    {
         Console.WriteLine("Hello World!");
    }
}

Yes, this has been annoying me lately. We will fix this for Bridge 1.14.

@michaelcheers, can you please clarify - do you suggest:

auto calling static Main method (a single one)
throwing an error if there are more than one static Main methods (or calling all)

Goal is to mimic the .NET behaviour. If multiple Main's are allowed in a .NET Console app, then we should support multiple Main's. If only one is required, and an Exception is thrown if >1, then Bridge should thrown the same Exception under the same conditions.
I do think any Methods marked with [Ready] should be called, even if a Main is configured, but called after Main.

@geoffreymcgill @LeonidVeriga I think that it should look for Main methods except if there are any methods marked Ready.
In .NET you can choose which startup class you want or you can just run auto find. The .NET behaviour, if you ask it to auto-find, is to run the first Main method it finds and no other Main methods.
Also, you could have an option to use Init not Ready if you want.

The implemetation is:

(to mimic .Net), static Main method automatically called with Bridge.ready (no [Ready] attridute required)
If there are more than one static Main methods (with no [Ready] attribute) then compilation error shown, like Program has more than one entry point defined - App1.Main, App2.Main

Example1 (Live) - will call App.NotMain, App.Main, App1.NotMain, App1.Main (the latter is with no [Ready]):
    public class App
    {
        [Ready]
        public static void NotMain()
        {
           // will be called
           System.Console.WriteLine("App.NotMain");
        }

        [Ready]
        public static void Main()
        {
           // will be called
           System.Console.WriteLine("App.Main");
        }

    }

    public class App1
    {
        [Ready]
        public static void NotMain()
        {
           // will be called
           System.Console.WriteLine("App1.NotMain");
        }

        public static void Main()
        {
           // will be called
           System.Console.WriteLine("App1.Main");
        }
    }

Example2 (Live) - will show compilation error as there are two Main methods - App.Main (the first is now with no [Ready]) and App1.Main:
    public class App
    {
        [Ready]
        public static void NotMain()
        {
           // would be called
           System.Console.WriteLine("App.NotMain");
        }

        public static void Main()
        {
           // the first Main with no [Ready]
           System.Console.WriteLine("App.Main");
        }

    }

    public class App1
    {
        [Ready]
        public static void NotMain()
        {
           // would be called
           System.Console.WriteLine("App1.NotMain");
        }

        public static void Main()
        {
           // the second Main with no [Ready] causing compilation error
           System.Console.WriteLine("App1.Main");
        }
    }


Create n-way-dimmer.js

N-Way Dimmer will synchronize the dimmer values between multiple Shelly Plus Wall Dimmers. Only one Dimmer is connected to the load, all the rest are used only for control. This removes the need for any cloud services or home automation system to keep them in sync.

Thank you for this script. Pretty advanced implementation!
Can you add a record in https://github.com/ALLTERCO/shelly-script-examples/blob/main/SHELLY_MJS.md?

Will do, I need to make a tweak to the code, I was hoping not to have to poll for the dimer value changes, but upon further testing, right now only on/off get synced real time, the brightness value only gets synced on power off which is less than ideal.

I have updated the SHELLY_MJS.md as requested, I had to abandon plans to poll for dimmer changes and will have to reevaluate how to implement that feature. The code as it is now will at least provide basic functionality.

Thank you.


PSON and IOTMP libraries

Hello @vshymanskyy
Thanks for developing the muon and TinyGSM libraries
I'm a Macker and I use Thinger.io in my projects.
They developed PSON (A Serialization Format for IoT Sensor Networks) and the IOTMP protocol.
I hope the information about PSON and IOTMP can help in muon development.
Thank you for your work
PSON Article: https://www.mdpi.com/1424-8220/21/13/4559/htm
PSON Github: https://github.com/thinger-io/Protoson
IOTMP Article: https://www.mdpi.com/1424-8220/19/5/1044/htm
IOTMP Github: https://github.com/thinger-io/IOTMP
Integration: PSON - IOTMP - ARDUINO and TINYGSM with Thinger.io
Arduino-Library: https://github.com/thinger-io/Arduino-Library

Thanks, will check it out


contextmenu event handler gets attached repeatedly

Thanks for your hard work on this extension! I appreciate it.
It seems that scrolling keeps attaching contextmenu event handlers to .ynab-grid and eventually slows the app down.
I think it might be here in /res/features/right-click-to-edit/main.js:
return {
  invoke: function() {
    $('.ynab-grid').on('contextmenu', '.ynab-grid-body-row', function(e) { displayContextMenu(this, e); return false; });
  $('body').on('contextmenu', '.modal-account-edit-transaction-list', hideContextMenu);
},

You can quickly see the number of attached handlers with this:
jQuery._data( $('.ynab-grid')[0], "events" );
Scroll a bit and check again. The list will be bigger.

Thanks so much for the report. We've all been off doing other things for a while, but we'll get back into this shortly. It should be as simple as setting a flag in the Right Click to Edit feature code to only attach on invoke if it's not already there.
We'll get to it soon!

@blargity close this?

This should now be fixed. Let us know if it's not and we'll have another look.


No betas should equal 0.0 in the coloc tables

For example, the gwas-gwas results here:
https://genetics.opentargets.org/study-locus/NEALE2_20002_1453/12_111427245_C_G
They should be null.

@remo87 could you have a quick look at this very old ticket? I'm assuming nulls are converted to 0s in the GWAS Study Colocalisation table.

@remo87 could you have a quick look at this very old ticket? I'm assuming nulls are converted to 0s in the GWAS Study Colocalisation table.

That's correct what would be the correct way to show nulls? a blank space or the N/A value?

You can use N/A for consistency

Ok!

hi @remo87 are you happy for me to close this issue?


Using rotary bezel as mouse wheel?

That would be ideal for scrolling large web pages presented out on large screens.

Um... It already works just like that on my watch though?

Neither mode detects my rotary input, unfortunately. Anyway to not break anything, I think best would be to have this as a standalone option, ie. Simple scroller.

There is a reference on how to use the bezel on these devices: https://stackoverflow.com/questions/70060650/how-to-implement-positionindicator-for-bezel-galaxy-watch-4-classic-wear-os-3/70062947#70062947
I believe only there is a focus issue, i.e. your methods are not getting the bezel events because the underlying layout is not in focus.
This might give you a hint to fix this :)
It would be crazy good present for Galaxy Watch users for Christmas:)
Thank you!

Hi!
As I mentioned, I don't have the issue in the first place.
I've created a build that has requestFocus() calls in some places, but unfortunately I can't release it, because Play Store doesn't accept the update, claiming it doesn't work as described (WTF?)...
In their own words:

Issue found: Basic functionality of app isn't working as described
The basic functionality of your app doesn't work as described. Make sure to test your app on a variety of Wear OS devices and configurations. Please refer to the Building Apps for Wearables and Testing your App documentation for more information.
For example:
your application indicates it is a standalone app, but it requires phone interaction for the watch version to function. For example, your app requires a phone or other device for authentication or operation.

So, for that reason I can't upload any updates. Sorry.

Thanks for letting me know this.
Can you please share the compiled app, so I can test it on my watch? (I can sideload the apk file with adb)
This way we would at least know if really requestFocus() was the call we needed, or there is something else missing too.
Thank you!

Hi, what do you think? :) Can you pass over please the fixed version?

Hi, sorry for being slow, there's quite a bit on my plate.
That said, yes, I do believe that GitHub APK releases are the way to go from now on, so I will try and publish something soon.
Again, sorry for the wait, and thank you for your patience.

Thank you, no worries. Can you please upload your build, so I can test. Thank you!

Alright, better late than never. :)
The app is back in Play Store, and the latest version features a lot of added requestFocus calls, so it might solve your issue.

Hi, tried it, still doesn't work as intended: scrolling the touch bezel "left" cause the screen to jump up (to beginning of page). Scrolling "right" cause jumping down (to end of page). Only beginning and ending of page is available while scrolling, not a nice smooth scroll behavior. Thank you anyway.

OK, at least it works. :)
I suggest going to your OS settings and reduce the number of lines scrolled per tick:

I'm using this on Android.  :)

Hm, I see the problem now: even at the lowest setting it still jumps a couple screens at a time. And yet, if you use the two-finger scroll gesture in the touchpad mode, it's reasonably smooth...
Probably an issue with the "resolution" property the watch is reporting (that is, scroll was smoother on watches with a crown), I'll look into it.

Let me know once you find a way to fix it :)


initial appveyor.yml CI config

initial appveyor.yml CI config
added sandcastle nuget packages.config to build via msbuild, see https://stackoverflow.com/questions/33668365/how-to-generate-documentation-using-sandcastle-nuget-package-ewsoftware-shfb
added missing build dependency, needed for /m (parallel builds) option of msbuild
modified nuget pack due to issue reported also at http://timjames.me/blog/2015/07/29/nuget-pack-fails-with-exited-with-code-1/

Build see:
https://ci.appveyor.com/project/chcg/mediadevices/build/1.0.11
Not done:

prepare proper release to github, see https://www.appveyor.com/docs/deployment/github/#provider-settings
publish nuget package, see https://www.codeproject.com/Tips/806257/Automating-NuGet-Package-Creation-using-AppVeyor

updated by PR #4


Wagtail requires django-taggit>=3.0, but setup.py specifies django-taggit>=2.0,<4.0

Issue Summary
Wagtail requires django-taggit>=3.0, but setup.py specifies django-taggit>=2.0,<4.0
Steps to Reproduce
Clicking an image tag in the image admin causes a server error:
File "[...]/lib/python3.8/site-packages/wagtail/images/views/images.py", line 116, in get_context_data
images = images.filter(tags__name=self.current_tag)
*** django.core.exceptions.FieldError: Related Field got invalid lookup: name
The suggested solution at django-taggit was to upgrade from 2.1 to 3.0: https://github.com/jazzband/django-taggit/issues/825
Upgrading to django-taggit==3.0 worked to resolve the issue.
However wagtail/setup.py specifies django-taggit>=2.0,<4.0: https://github.com/wagtail/wagtail/blob/56d0fe8fbc56737c0d7729f1a32ae61a2cac6f1e/setup.py
Please update setup.py.
I have not confirmed that this issue can be reproduced as described on a fresh Wagtail project.
Technical details

Python version: Python 3.8.2
Django version: Version: 4.1.2
Wagtail version: Version: 4.1
Browser version: Chrome 107

Hi @hvanness - please see the discussion on #9244. The requirement for django-taggit 3.0 comes from Django 4.1, rather than Wagtail - running Wagtail against an older Django version and django-taggit 2.x is still supported.


Add a code to generate camera definition file

A code to generate camera definition file by querying the camera device is added to test folder. Code has dependency on tinyxml which can be installed using:
$ sudo apt install libtinyxml-dev
To run the code:
$ cd camera-streaming-daemon/tools/export_v4l2_param_xml
$ make
$./export_v4l2_param -d  -f
eg: ./export_v4l2_param -d /dev/video0 -f  camera_def.xml

@anselmolsm  Makefile is listed in .gitignore but I added it to the commit using git add -f. What is the correct way of doing it- should I create a Makefile.am instead of Makefile in or add another target to existing Makefile.am?

@SaliniVenate you could either deal with Makefile.am or change .gitignore from Makefile to /Makefile, i.e. only ignore the file generated at the root dir of the project.

@anselmolsm @hamishwillee Can you please review the code?

I've added a few comments, but my C++ reviewing skills really aren't good enough for proper review. What testing have you done of the output?

@hamishwillee, These are the steps I followed for testing:

Hosted the xml file generated by the tool using a http server.
Updated conf file of csd and started csd.
Opened QGC and checked whether QGC is able to parse the xml file  and display the parameters.

@SaliniVenate Sounds like a good basic test - particularly since the file isn't validated by CSD for XML correctness or anything else AFAIK.
Have you checked that the parameters extracted are the full set that that can/should be extracted? Essentially I want to be sure that file generated:

Contains entries all parameters that can be obtained from a v4l2 camera (ie not hard coded to some subset).
That the output is XML compliant and compliant with the standard
Perhaps basic checking that the values aren't obvious garbage for any parameters?

@anselmolsm You should do the technical review.

@SaliniVenate Is there anything pending to close this?

@lbegani I believe no. I've  taken care of all the review comments and made changes accordingly.


Implement server stop command for background instances

Servers now register and deregister themselves for the running user's
instance list (stored in: /tmp/.codechecker_username.instances.json)

New commands under CodeChecker server:

-l/--list lists the running instances for the user
-s/--stop stops the server for the given --workspace and
--view-port combination
--stop-all stops every running CodeChecker instance for the user

Servers stopped by classical SIGTERM unregister themselves, but the
instance list is always double-checked to ensure that only the actual
running processes are shown.

This feature introduces psutil as a new Python module dependency.
This closes #454.

Can we store the name of the hosts? It is possible that the file system is mounted to multiple hosts and it might be useful at least to see all of the CodeCheckers server started by the user, even if stopping instances on other servers is not possible.

This feature should be merged after the 5.7.1 bugfix release is out.

Test should be added #587


StatelessWorker Exception

As discussed in Gitter:
see https://github.com/Fiurgeist/OrbitIssue
There you can find a unit test which doesn't make a lot of sense as it is, because I streamlined it to focus on the issue.
It's basically just a for loop which calls a StatelessWorker a 100 times and in that actor another StatelessWorker is called.
And every 10th or so run of the test I get this exception:
Jul 22, 2015 5:06:12 PM com.ea.orbit.concurrent.ExecutorUtils lambda$newScalingThreadPool$0
Uncaught Exception
java.lang.Error: Error loading class: null
    at com.ea.orbit.actors.runtime.Execution.classForName(Execution.java:776)
    at com.ea.orbit.actors.runtime.Execution.classForName(Execution.java:762)
    at com.ea.orbit.actors.runtime.Execution.access$300(Execution.java:93)
    at com.ea.orbit.actors.runtime.Execution$Activation.getOrCreateInstance(Execution.java:432)
    at com.ea.orbit.actors.runtime.Execution.executeMessage(Execution.java:989)
    at com.ea.orbit.actors.runtime.Execution.lambda$handleOnMessageReceived$24(Execution.java:912)
    at com.ea.orbit.actors.runtime.Execution$$Lambda$55/2071701248.get(Unknown Source)
    at com.ea.orbit.actors.runtime.ExecutionSerializer.lambda$offerJob$32(ExecutionSerializer.java:116)
    at com.ea.orbit.actors.runtime.ExecutionSerializer$$Lambda$56/619859981.run(Unknown Source)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
    at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
    at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
    at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.ea.orbit.actors.runtime.Execution.classForName(Execution.java:770)
    ... 13 more

This means the concreteClassName was not initialized.
I have two hypotheses:

Hosting not calling canActivate in the target node. Unlikely since some invocations work...
Some race condition or worse with Execution.descriptorMapByInterface (this should be a concurrent map!)

But I couldn't reproduce the issue with your example.
I've increased the test count to 4000 and 100.000 to no avail.
(with 1.000.000 I start getting execution refused...)
public class WorkerTest extends ActorBaseTest
{
    private static final int LENGTH = 100_000;

    @Test
    public void testSequence() throws ExecutionException, InterruptedException
    {
        createStage();
        List<Task> list = new ArrayList<>();
        for (int i = 0; i < LENGTH; ++i)
        {
            Actor.getReference(ListAActor.class, "listA").add("" + i);
        }

        list.forEach(t -> t.join());
        Assert.assertEquals(true, true);
    }
}

@Fiurgeist Could you please test this patch in your environment:
Index: orbit-public/actors/stage/src/main/java/com/ea/orbit/actors/runtime/Execution.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- orbit-public/actors/stage/src/main/java/com/ea/orbit/actors/runtime/Execution.java	(revision c5d02cf9f76e73276ad18f372298e8f91320df36)
+++ orbit-public/actors/stage/src/main/java/com/ea/orbit/actors/runtime/Execution.java	(revision )
@@ -81,6 +81,7 @@
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentLinkedDeque;
+import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ForkJoinTask;
@@ -96,8 +97,8 @@
     private static final Logger logger = LoggerFactory.getLogger(Execution.class);
     private final String runtimeIdentity;
     private ActorClassFinder finder;
-    private Map<Class<?>, InterfaceDescriptor> descriptorMapByInterface = new HashMap<>();
-    private Map<Integer, InterfaceDescriptor> descriptorMapByInterfaceId = new HashMap<>();
+    private ConcurrentMap<Class<?>, InterfaceDescriptor> descriptorMapByInterface = new ConcurrentHashMap<>();
+    private ConcurrentMap<Integer, InterfaceDescriptor> descriptorMapByInterfaceId = new ConcurrentHashMap<>();
     private Map<EntryKey, ReferenceEntry> localActors = new ConcurrentHashMap<>();
     private Map<EntryKey, ActorObserver> observerInstances = new MapMaker().weakValues().makeMap();
     // from implementation to reference
@@ -810,8 +811,8 @@
             interfaceDescriptor.isObserver = ActorObserver.class.isAssignableFrom(aInterface);
             interfaceDescriptor.factory = dynamicReferenceFactory.getFactoryFor(aInterface);
             interfaceDescriptor.invoker = (ActorInvoker<Object>) interfaceDescriptor.factory.getInvoker();
-            descriptorMapByInterface.put(aInterface, interfaceDescriptor);
-            descriptorMapByInterfaceId.put(interfaceDescriptor.factory.getInterfaceId(), interfaceDescriptor);
+            descriptorMapByInterface.putIfAbsent(aInterface, interfaceDescriptor);
+            descriptorMapByInterfaceId.put(interfaceDescriptor.factory.getInterfaceId(), descriptorMapByInterface.get(aInterface));
         }
         return interfaceDescriptor;
     }

@DanielSperry seems to be fixed, can't reproduce it any more

I addressed a few issues in the above patch, result from putIfAbsent should be returned or the race condition is still present and there was a redundant get on descriptorMapByInterface.

Cool :) thanks guys!

unfortunately it just happened again :/
seems to be less frequent though
Jul 23, 2015 5:50:41 PM com.ea.orbit.concurrent.ExecutorUtils lambda$newScalingThreadPool$6
Uncaught Exception
java.lang.Error: Error loading class: null
	at com.ea.orbit.actors.runtime.Execution.classForName(Execution.java:776)
	at com.ea.orbit.actors.runtime.Execution.classForName(Execution.java:762)
	at com.ea.orbit.actors.runtime.Execution.access$300(Execution.java:93)
	at com.ea.orbit.actors.runtime.Execution$Activation.getOrCreateInstance(Execution.java:432)
	at com.ea.orbit.actors.runtime.Execution.executeMessage(Execution.java:996)
	at com.ea.orbit.actors.runtime.Execution.lambda$handleOnMessageReceived$23(Execution.java:919)
	at com.ea.orbit.actors.runtime.Execution$$Lambda$54/519927364.get(Unknown Source)
	at com.ea.orbit.actors.runtime.ExecutionSerializer.lambda$offerJob$1(ExecutionSerializer.java:116)
	at com.ea.orbit.actors.runtime.ExecutionSerializer$$Lambda$55/1043499521.run(Unknown Source)
	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source)
	at java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(Unknown Source)
	at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
	at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at com.ea.orbit.actors.runtime.Execution.classForName(Execution.java:770)
	... 13 more

this test is really good at reproducing the problem:
public class WorkerTest extends ActorBaseTest
{

    @StatelessWorker
    public interface MyActor extends Actor
    {
        Task<Void> ping();
    }

    public static class MyActorImpl extends AbstractActor implements MyActor
    {
        @Override
        public Task<Void> ping()
        {
            return Task.done();
        }
    }

    @Test
    public void testSequence() throws ExecutionException, InterruptedException
    {
        Stage stage = createStage();
        MyActor ref = Actor.getReference(MyActor.class, clusterName);
        List<Task<Void>> list = IntStream.range(1, 10)
                .parallel()
                .mapToObj(i -> ref.ping())
                .collect(Collectors.toList());
        Task.allOf(list).join();
        stage.stop().join();
    }
}

I'd say the main problem was in the ClassPathSearch.findImplementation  where class descriptors where concurrently initialized leading to the actor implementation not being found.
Involved parts in the bug:

Execution.getDescriptor(Class):  fixed by @johnou
Execution.canActivateActor: when called concurrently could call finder.findActorImplementation multiple times (in parallel).
ClassPathSearch.findImplementation modifies ClassInfos during the search leading to parallel search problems. This was fixed by synchronizing the search (a potential optimization is synchronizing only ClassPathSearch.getClassInfo at the point were it loads the info...)


Mapper conversions for Futures

I had some thoughts on the easy migration to new finchx and one of them is to provide few additional implicit conversions for Mapper that will work with Future and automatically pack it into E : Effect.
So as an example:
import io.finch._
import io.finch.catsEffect._
import io.finch.futures._

val endpoint: Endpoint[IO, String] = get("hello") { Future.value(Ok("world"))) } //this apply will be automatically lifted into IO and converted to Mapper, so it should work

What do you think people? Is there any need for it?

I think there is definitely a need for this for both Twitter and Scala Futures (assuming we can support both). Changing to Cats Effect is a big change and not everyone is going to be able to move all of their codebases to it immediately (or even over the 6 months or whatever time frame that we're still going to publish Finch with futures). Easing the migration path will be beneficial for everyone.

I like that. I wonder if we can do this w/o exporting io.finch.futures._ and just provide mapping from both Twitter Future and Scala Future to whatever is the current effect type.

No, I think Mapper is enough atm

Closed with #1016


[Challenging Bug] Teleport cumulates its content when used with Suspense

Version
vue 3.1.4
Reproduction link
https://github.com/dmx374/teleportbug
Steps to reproduce
If you have 2 layouts (LayoutA.vue, LayoutB.vue, see the reproduction repo) and one is using Suspense, then teleport cumulates its content instead of cleaning.
When you go back and forth between Index and About pages, multiple times (go to About, then Index, then About again and so on), the #modal target get cumulated.
To fix the bug:

open LayoutA.vue
remove the Suspense tag, replace with slot (like in LayoutB.vue)

What is expected?
Teleport should not cumulate its content. Remove Suspense in LayoutA (put slot instead) to see the expected normal behavior.
What is actually happening?
Teleport is cumulating things when using with Suspense

mini repro see playground
the cause is :
function normalizeSuspenseSlot(s: any) {
  //...
  if (isArray(s)) {
    const singleChild = filterSingleRoot(s)
    if (__DEV__ && !singleChild) {
      warn(`<Suspense> slots expect a single root node.`)
    }
    s = singleChild
  }
  s = normalizeVNode(s)
  if (block) {
+ 	After filter, the dynamicChildren is an empty array, I don't understand why need filter here? 🤔🤔🤔
    s.dynamicChildren = block.filter(c => c !== s)
  }
  return s
}


Overwrite "Try It Out" url

What would you like?
The ability to change the default url/port for the "Try It Out" button.
Why is this needed?
The API I'm building has different ports for different things. In my specific case, the current behavior does not invoke my api.
How could it be implemented?
Could we possibly  have an additional env variable that overwrites the default behavior?
Other information
No response

Hi @lundjrl , I'm working on it in #136 , can you please validate it via pkg-pr-new release ? You can also check this StackBlitz example
I'm not sure about your specific use case, but if your Spec doesn't include any Servers, you can set a default one. You can also define Servers at the Operation level, or even set a custom function to get Server/s dynamically.
Any feedback is welcome, thanks!


Updating docker file for live reloading in docker

Hey man, thanks for sharing
In this way it works :)

Hey @Mekaeil,
I tried to reuse this image recently and I have seen that it doesn't works very well. Normally this image is used to run without golang inside it. If I make two separate image:

itsalex/docker-alpine-reflex
itsalex/docker-alpine-reflex-with-golang

is it okay for you?

Hi @Its-Alex
Recently I used this structure in my project but it didn't work and as you said in the second image which is without Golang, the path directory to put reflex didn't exist! so it's a reason I've had to add Golang to the second image as well.
And also the reason for removing ARGs from the second image was for the path of the reflex, if you want to have the reflex the path of the reflex to copy is different, in the way that you wrote it doesn't work for me.
I've used it here: https://github.com/Mekaeil/Golang-QuizApp/blob/master/deployment/Dockerfile
and then when I wanted to run it I use the Makefile like below:
docker exec -it $(APP_DOCKER_NAME) reflex -r '(\.go)' -s -- sh -c 'go run bootstrap/main.go'

@Mekaeil I added new images, tell me if it's good for you 🙏


[BUG] Gstreamer warnings, errors on attempted video playback

Describe the bug
When trying to open videos on Fedora 39 (.mkv, .mp4, and youtube) I get warnings and errors.
To Reproduce
Steps to reproduce the behavior:

Install library dependencies
Install tplay via cargo
Try to play any video

Expected behavior
A video plays or an error tells me what action I might take to fix the problem.
Screenshots
$ tplay 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
[youtube] Extracting URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ
[youtube] dQw4w9WgXcQ: Downloading webpage
[youtube] dQw4w9WgXcQ: Downloading ios player API JSON
[youtube] dQw4w9WgXcQ: Downloading web creator player API JSON
[youtube] dQw4w9WgXcQ: Downloading player b0557ce3
[youtube] dQw4w9WgXcQ: Downloading m3u8 information
[info] dQw4w9WgXcQ: Downloading 1 format(s): 18
[download] Destination: -
[download] 100% of    8.68MiB in 00:00:05 at 1.54MiB/s
[<EMAIL_ADDRESS>global cap_gstreamer.cpp:2769 handleMessage OpenCV | GStreamer warning: your GStreamer installation is missing a required plugin
[<EMAIL_ADDRESS>global cap_gstreamer.cpp:2784 handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module qtdemux0 reported: Internal data stream error.
[<EMAIL_ADDRESS>global cap_gstreamer.cpp:1679 open OpenCV | GStreamer warning: unable to start pipeline
[<EMAIL_ADDRESS>global cap_gstreamer.cpp:1164 isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
MFX: Can't initialize session
<EMAIL_ADDRESS>global cap.cpp:164 open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.8.1) /builddir/build/BUILD/opencv-4.8.1/modules/videoio/src/cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number (in the name of file): /tmp/my_temp_file_ZLfDuQ.webm in function 'icvExtractPattern'

Error: Application("Error opening video")

Desktop (please complete the following information):

OS: Fedora 39
tplay  --version: tplay 0.5.0
yt-dlp --version: 2024.08.06
mpv --version: mpv 0.36.0
rustc --version: rustc 1.75.0 (82e1608df 2023-12-21)
pkg-config --modversion opencv4: 4.8.1
ffmpeg -version: ffmpeg version 6.1.2

Additional context
It's entirely possible/probable that this isn't a bug at all and I just need to do some more work to get this working on Fedora; I don't mind doing that work but am stuck and could use a pointer towards what I might be missing on my system. I installed equivalent packages as those listed for Ubuntu and successfully compiled and ran tplay via cargo.
I can open image files fine.

It looks like a known bug https://github.com/maxcurzi/tplay/issues/19
I noticed it when briefly testing tplay on Fedora.
However back then I could still play other videos, or the same video when I downloaded it with yt-dlp but didn't have time to look into it further
I'm not sure what's going on here and why this happens in Fedora but not other distros.
Maybe I'll make some progress on it once I update dependencies as part of other PRs

Knowing that you also ran into issues with Fedora is a good clue; I will poke around and report back if I figure anything out.

fwiw, tplay /dev/video0 works perfectly fine for me and does output the same warnings about gstreamer pipelines so those warnings are probably a red herring.

The plot thickens! :)
I wonder if the "MFX can't initialize session" might point at the problem
https://github.com/luxonis/depthai/issues/461
https://stackoverflow.com/questions/63814047/openvino-movidius-cant-read-ip-camera


Fix obtainLock() behaviour, reset index dirs  and added more Upcrater tests

Codecov Report

Merging #4952 into migration-tool will increase coverage by 0.12%.
The diff coverage is 62.5%.

@@                 Coverage Diff                 @@
##             migration-tool   #4952      +/-   ##
===================================================
+ Coverage             81.77%   81.9%   +0.12%
- Complexity            10694   10713      +19
===================================================
  Files                  1305    1305
  Lines                 44899   44900       +1
  Branches               5723    5724       +1
===================================================
+ Hits                  36718   36776      +58
+ Misses                 5492    5445      -47
+ Partials               2689    2679      -10

Impacted Files
Coverage Δ
Complexity Δ

...ater/src/main/java/io/crate/upcrater/Upcrater.java
70.06% <100%> (+21.76%)
26 <ø> (+10)
:white_check_mark:

...er/src/main/java/io/crate/upcrater/FSLockUtil.java
75.86% <57.14%> (-9.86%)
9 <ø> (ø)

...exceptions/GroupByOnArrayUnsupportedException.java
66.66% <ø> (-33.34%)
1% <ø> (-1%)

...ration/collect/collectors/OrderedDocCollector.java
75% <ø> (-25%)
5% <ø> (-2%)

...ion/aggregation/impl/GeometricMeanAggregation.java
59.09% <ø> (-22.73%)
11% <ø> (ø)

...a/io/crate/exceptions/ContextMissingException.java
81.81% <ø> (-18.19%)
1% <ø> (-1%)

...peration/aggregation/impl/VarianceAggregation.java
64.7% <ø> (-17.65%)
11% <ø> (ø)

...transport/executionphases/ExecutionPhasesTask.java
83.17% <ø> (-8.42%)
20% <ø> (-3%)

...va/io/crate/protocols/postgres/types/JsonType.java
77.41% <ø> (-6.46%)
8% <ø> (-1%)

... and 22 more

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 3694dda...c9f91c1. Read the comment docs.


ISPN-15872 View change during a cache join can lead to not replicatin…

https://issues.redhat.com/browse/ISPN-15872
…g data
Basically, because of the view change, the joiner retries the request and receives the topology in rebalance. The topology in rebalance has the pending consistent hash that includes the joiner. This causes the state transfer to mistakenly use the joiner as a state donor, causing some entries to not replicate in the state transfer.
The fix is to choose the appropriate topology when handling the join response. We can not use a topology which includes the joiner. We change this when handling the response because it is at a point we know the node is still joining and doesn't have any state.

Seems fine to me as far as I can tell, @pruivo want to add anything?

Thanks @jabolina


It is an arcade game with a Mario theme where the player needs jump off the incoming blocks. The more blocks the players jumps the better is the score !!!

How to play your game?

Simple controls - Press W to Jump (Only 1 control)

Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[x] The image is in the /games/img directory.
[x] The name of the image matches the name of your file. Example: sokoban_plus.js -> sokoban_plus.png.

Thanks for PR!

Respected Sir
Will I receive Sprig?
Regards
Aditi
On Fri, Jan 13, 2023 at 10:28 PM Lucas @.***> wrote:

@.**** commented on this pull request.
Great game! Just out of curiosity, why the name?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#pullrequestreview-1248041784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMV5TANL6NNGRLG62M3WSGCUPANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

The name because I have seen my brother play alot.
And also it the gameplay was relatable as I was also seen it.
Moreover I was able to make the player look like Mario.
On Fri, Jan 13, 2023 at 10:28 PM Lucas @.***> wrote:

@.**** commented on this pull request.
Great game! Just out of curiosity, why the name?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#pullrequestreview-1248041784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMV5TANL6NNGRLG62M3WSGCUPANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sir
Is my game working?
Because I received an email from github showing test game failure?
Regards
Aditi
On Fri, Jan 13, 2023 at 10:28 PM Lucas @.***> wrote:

@.**** commented on this pull request.
Great game! Just out of curiosity, why the name?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#pullrequestreview-1248041784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMV5TANL6NNGRLG62M3WSGCUPANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Also how to correct this test game failure thing sir?
regards
On Fri, Jan 13, 2023 at 11:21 PM ADITI VATS @.***> wrote:

Sir
Is my game working?
Because I received an email from github showing test game failure?
Regards
Aditi
On Fri, Jan 13, 2023 at 10:28 PM Lucas @.***> wrote:

@.**** commented on this pull request.
Great game! Just out of curiosity, why the name?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#pullrequestreview-1248041784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMV5TANL6NNGRLG62M3WSGCUPANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

No need to call me sir haha

Respected Sir
Will I receive Sprig?
Regards
Aditi
On Fri, Jan 13, 2023 at 10:28 PM Lucas @.***> wrote:

@.**** commented on this pull request.
Great game! Just out of curiosity, why the name?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#pullrequestreview-1248041784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMV5TANL6NNGRLG62M3WSGCUPANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

You will receive:)

The name because I have seen my brother play alot.
And also it the gameplay was relatable as I was also seen it.
Moreover I was able to make the player look like Mario.
On Fri, Jan 13, 2023 at 10:28 PM Lucas @.***> wrote:

@.**** commented on this pull request.
Great game! Just out of curiosity, why the name?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#pullrequestreview-1248041784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMV5TANL6NNGRLG62M3WSGCUPANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Ok! I asked because Mario Kart is a racing game

Also how to correct this test game failure thing sir?
regards

Sir
Is my game working?
Because I received an email from github showing test game failure?
Regards
Aditi

This is just deployment, please ignore:)

Calling you sir out of respect.
:)
On Sat, Jan 14, 2023 at 4:11 AM Lucas @.***> wrote:

No need to call me sir haha
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#issuecomment-1382503018, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMTV75VIJHUIKBKL7ITWSHK2JANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Ooooh!
Actually I dont play many games at all , thats why i was not aware of this.
On Sat, Jan 14, 2023 at 4:12 AM Lucas @.***> wrote:

The name because I have seen my brother play alot.
And also it the gameplay was relatable as I was also seen it.
Moreover I was able to make the player look like Mario.
On Fri, Jan 13, 2023 at 10:28 PM Lucas @.***> wrote:
@.**** commented on this pull request.
Great game! Just out of curiosity, why the name?
—
Reply to this email directly, view it on GitHub
#728 (review)
https://github.com/hackclub/sprig/pull/728#pullrequestreview-1248041784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMV5TANL6NNGRLG62M3WSGCUPANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>
Ok! I asked because Mario Kart is a racing game
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/728#issuecomment-1382506722, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A5GNNMTNUPFQLTFGXNNFL7DWSHK6XANCNFSM6AAAAAAT2PCCHA
.
You are receiving this because you authored the thread.Message ID:
@.***>


atm_digital startup state

I really like your framework -- well done.
With that said, I'm still having a difficult time getting started.  I want to control an alarm on a couple of doors.  One is a simple switch with timer and the other has switches for open and closed with timers.
Here is my first question:  with the atm_digital, how do you setup/determine initial state?  When I start in the grounded/closed state all works well.  However, when I start in the pull-up/open state the machine doesn't go into the open state.  I have tried several ways, but nothing seems to be obvious.  I am trying to use a single atm_digital object that initially moves from None to Idle, but doesn't move to the waitl or vlow state.   I have tried using an external atm_digital and attaching that to my state machine as well as having the switch inside of my state machine.
Here is the begin method that seems to work the best so far:
PassageDoor& PassageDoor::begin(unsigned long doorSwitch) {
// clang-format off
const static state_t state_table[] PROGMEM = {
/*                       ON_ENTER  ON_LOOP     ON_EXIT  EVT_OPENTIMEOUT  EVT_OPENED  EVT_CLOSED  ELSE /
/      CLOSED /      ENT_CLOSED,      -1, EXT_CLOSED,              -1,       OPEN,         -1,   -1,
/        OPEN /              -1,      -1,         -1,     OPENTIMEOUT,         -1,     CLOSED,   -1,
/ OPENTIMEOUT */ ENT_OPENTIMEOUT,      -1,         -1,              -1,         -1,     CLOSED, OPEN,
};
// clang-format on
sw = doorSwitch;
pdswitch.begin(sw, 500, true, true)
.trace(Serial)
.onChange(LOW, *this, EVT_OPENED)
.onChange(HIGH, *this, EVT_CLOSED);
;
Machine::begin( state_table, ELSE );
next = pdswitch.state() ? OPEN : CLOSED;       // Set initial state based on switch position
timer.begin(5000,1)
.onFinish(*this, EVT_OPENTIMEOUT);
return *this;
}

Second question:  Once a state has been reached I want to send a mqtt message.  Should I put that code in the state machine's event method or have a callback out to the code that manages the mqtt connection?  What is the intended use of the  and  parameters on the push method?
Any suggestions on how to structure this would be appreciated.
Thank you,
Jim

Back...  After looking at (studying) the atm_digital state machine I modified my state machine and added another 'idle' state  and assumed that the door was open.   After making this change my default state is correct on boot and the timeouts work.
Thanks again for the fine library, it really helps.
Jim


not showing validation message while add general details in service page

Describe the bug

When we click without adding any details then there is not showing any message or not saving
Title placeholder is wrong

Screenshots

https://www.berrycast.com/conversations/9c454f17-07f2-511d-be7c-831a7dfeabaa


World not showing

I used all of the example code but all I can see is the bot, not the world

I have tested it on multiple browsers

Same problem, any fix?

Up to 1.17 is supported

Oh, ok


Issue with CycleGAN models

i'm trying to convert one of the CycleGAN pre trained model with  'convert-fast-neural-style.py'.
i got the output model but when i used it in my app, not getting the expected output. I guess the issue with arguments provided inside the 'convert-fast-neural-style.py'.
is there any way i can inspect a pre trained model to find the correct arguments for the conversion.
Model Used : https://people.eecs.berkeley.edu/~taesung_park/CycleGAN/models/apple2orange_cpu.t7

@devajith I got the same issue about converting the CycleGAN model.
And now do you solve the problem of that? If so, could you send the converted CycleGAN .mlmodel to me? My email is<EMAIL_ADDRESS>.
Thank you very much.


Support Python 3.12

Support Python 3.12 by updating requirements and adding bypasses to torch.compile functionality which is still unsupported for Python 3.12

Python 3.12 is now supported by minerva but not for Windows due to lmdb issues and torch.compile functionality is still not supported in Python 3.12


Create new widgets for new commercial construction & additions

From Donna:
To show the time it takes to get a permit for commercial construction we want to break it done as follows:

New commercial construction and additions.  To get this number select the permit type BLDG,  Category  0001, application types 07, 01, 02, 12, 11
For renovations, alterations or repairs to commercial buildings select permit type BLDG, Category  0001, application type 03, 04, 08, 09
Sign non electrical Permit type Bldg category 0051 all applications types

For these different headers  show the average , minimum and maximum time for permit issuance to application acceptance .

Sent over to Sophia for styling, but very similar to #412, #413 and #414.


Another 0.6.8 Issue (GE Smart Oven)

I'm having few issues with GE Home integration that started with 0.6.8 with my GE Smart Oven (Double)

gehome occasionally stops updating some/all of the sensors (errors below)
if the integration is reloaded, all sensors and controls seem to stop working (errors below)
in both of these situations, restarting home assistant usually fixes it temporarily

Related logs for "gehome occasionally stops updating some/all of the sensors":
Logger: homeassistant
Source: helpers/entity.py:756
First occurred: October 7, 2023 at 9:06:10 PM (6976 occurrences)
Last logged: 2:00:37 PM
Error doing job: Task exception was never retrieved

Traceback (most recent call last):
  File "/config/custom_components/ge_home/update_coordinator.py", line 280, in on_device_update
    entity.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 756, in async_write_ha_state
    raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <entity None=off>

When this happens, I can usually still turn on the oven via home assistant, but cannot turn it off (presumably since gehome doesn't know the oven is on since the relevant sensor won't update)
Related logs for "if the integration is reloaded, all sensors and controls seem to stop working":
Logger: homeassistant.components.binary_sensor
Source: helpers/entity_platform.py:507
Integration: Binary sensor ([documentation](https://www.home-assistant.io/integrations/binary_sensor), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+binary_sensor%22))
First occurred: 2:26:57 PM (1 occurrences)
Last logged: 2:26:57 PM
Error adding entities for domain binary_sensor with platform ge_home

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1025, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity binary_sensor.sngr068766q_lower_oven_remote_enabled cannot be added a second time to an entity platform

Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:507
Integration: Sensor ([documentation](https://www.home-assistant.io/integrations/sensor), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
First occurred: 2:26:57 PM (1 occurrences)
Last logged: 2:26:57 PM
Error adding entities for domain sensor with platform ge_home

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 189, in add_to_platform_start
    super().add_to_platform_start(hass, platform, parallel_updates)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1025, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity sensor.sngr068766q_lower_oven_cook_mode cannot be added a second time to an entity platform

Logger: homeassistant.components.water_heater
Source: helpers/entity_platform.py:507
Integration: Water Heater ([documentation](https://www.home-assistant.io/integrations/water_heater), [issues](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+water_heater%22))
First occurred: 2:26:57 PM (1 occurrences)
Last logged: 2:26:57 PM
Error adding entities for domain water_heater with platform ge_home

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1025, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity water_heater.sngr068766q_lower_oven cannot be added a second time to an entity platform

Logger: homeassistant
Source: helpers/entity.py:1025
First occurred: 2:26:57 PM (3 occurrences)
Last logged: 2:26:57 PM
Error doing job: Task exception was never retrieved

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1025, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity binary_sensor.sngr068766q_lower_oven_remote_enabled cannot be added a second time to an entity platform

I'm running into the same issue for both the oven and the hood.

I'm getting similar issues but I have their Water Filter. Reloading the integration fixes it but every reboot I have to go and reload it to get function but I am also being loaded with lots off errors just like these ones.
Error adding entities for domain binary_sensor with platform ge_home
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity binary_sensor.fdpoek5u01973_wh_filter_manual_mode cannot be added a second time to an entity platform

Error adding entities for domain sensor with platform ge_home
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 215, in add_to_platform_start
    super().add_to_platform_start(hass, platform, parallel_updates)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity sensor.fdpoek5u01973_wh_filter_mode cannot be added a second time to an entity platform

Error adding entities for domain select with platform ge_home
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity select.fdpoek5u01973_wh_filter_position cannot be added a second time to an entity platform

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
    entity.add_to_platform_start(
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity binary_sensor.fdpoek5u01973_wh_filter_manual_mode cannot be added a second time to an entity platform

FYI, this issue is worse. It loses connection to the GE appliances basically daily. If I reload the integration it will show the status of the entities, but I cannot control any of them (e.g., hood fan or light settings)--HA will change the displayed setting but nothing happens on the actual appliance. I've also gotten several notifications the integration needs to be reconfigured.  At this point the integration is essentially nonfunctional for me. :(
Logs show a whole pile of errors, not sure why it's doing this:
Logger: homeassistant.components.select
Source: helpers/entity_platform.py:507
Integration: Select (documentation, issues)
First occurred: 6:56:06 AM (1 occurrences)
Last logged: 6:56:06 AM
Error adding entities for domain select with platform ge_home
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
entity.add_to_platform_start(
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity select.ge_oven_light cannot be added a second time to an entity platform
Logger: homeassistant.components.water_heater
Source: helpers/entity_platform.py:507
Integration: Water Heater (documentation, issues)
First occurred: 6:56:06 AM (1 occurrences)
Last logged: 6:56:06 AM
Error adding entities for domain water_heater with platform ge_home
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
entity.add_to_platform_start(
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity water_heater.ge_oven cannot be added a second time to an entity platform
Logger: homeassistant.components.switch
Source: helpers/entity_platform.py:507
Integration: Switch (documentation, issues)
First occurred: 6:56:06 AM (1 occurrences)
Last logged: 6:56:06 AM
Error adding entities for domain switch with platform ge_home
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
entity.add_to_platform_start(
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity switch.ge_oven_sabbath_mode cannot be added a second time to an entity platform
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:507
Integration: Sensor (documentation, issues)
First occurred: 6:56:06 AM (1 occurrences)
Last logged: 6:56:06 AM
Error adding entities for domain sensor with platform ge_home
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
entity.add_to_platform_start(
File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 215, in add_to_platform_start
super().add_to_platform_start(hass, platform, parallel_updates)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity sensor.ge_oven_cook_mode cannot be added a second time to an entity platform
Logger: homeassistant.components.binary_sensor
Source: helpers/entity_platform.py:507
Integration: Binary sensor (documentation, issues)
First occurred: 6:56:06 AM (1 occurrences)
Last logged: 6:56:06 AM
Error adding entities for domain binary_sensor with platform ge_home
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 507, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity
entity.add_to_platform_start(
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 991, in add_to_platform_start
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Entity binary_sensor.ge_oven_remote_enabled cannot be added a second time to an entity platform
This error originated from a custom integration.
Logger: slixmpp.stringprep
Source: custom_components/ge_home/update_coordinator.py:8
Integration: GE Home (documentation)
First occurred: 6:54:57 AM (1 occurrences)
Last logged: 6:54:57 AM
Using slower stringprep, consider compiling the faster cython/libidn one.

Running into this same issue.
Did any of you find a solution?

To those with this issue, do you have more than 1 appliance on the account?

I only have the oven.

To those with this issue, do you have more than 1 appliance on the account?

I only have the one oven on my account.

I only have the water filter.

Can you all try 0.6.9-dev4 or above (the pre-release/beta branch)?  It might resolve the issues you are seeing.

It seems to be working for me. Thanks!

Can you all try 0.6.9-dev4 or above (the pre-release/beta branch)? It might resolve the issues you are seeing.

Installed 0.6.9-dev6 today, and it has been working fine so far!

Updated to the last dev version this one and dev3 have been much more stable so far.

I'm going to close this for now, assuming that the latest pre-release fixes it.  Please let me know if the issue is still present for others and I'll reopen.


feat: touchscreen controls

adding support for touchscreen controls would be great for mobile platforms:
https://github.com/d-bucur/bevy_touch_camera/blob/1bf9bcbdd85c834ffd5eae967f0187535374e8b7/src/plugin.rs#L102

Thanks for the suggestion, I'll look into it when I can.

Released in version 0.11.1


Improved Donate Page CSS

Added padding and margin to the donate page box, steps and text-box.
Thank you for your contribution to Bloody-Buddy 🤩🤩

Please mention the following in order to get PR merged  🙌🏻🙌🏻
 Added some padding and margins to the donate page box.
 #74

Before Images are:

After Images are:

Kind of change this PR introduce : Improved CSS.
Issue it resolves : Better looking Donate Page.
GitHub Page Link : https://2024-sandhya.github.io/Blood-Buddy/donate.html

@prath-10  Provide the GitHub page link for the changes YOU have done, not the existing link.

Github Page Link: https://prath-10.github.io/BloodBuddyRepo/donate.html
Here is the link for the page I have done changes for.


Wiki: links to 404 !!!

In the wiki start page (https://github.com/mm-jsr/jsr), the most top link and the DEMO link are incorrect
Good job  !!

Thank you. It works now. I've changed GitHub Pages structure, and that's why it didn't work.


delete and update

1.The domain name of the University of Chinese Academy of Sciences is ucas.ac.cn instead of ucas.as.cn. Someone may use ucas.as.cn to fraudulently obtain licenses.
2.According to the official website documents, the old domain name @kmust.edu.cn has been discontinued（https://metc.kust.edu.cn/info/1261/1775.htm）

@kawa11 I am sorry, the domain kmust.edu.cn is removed from our trusted domains list because the school allows to register an email address there even if you are not a student of the school. If you are the student of this school, please apply with official document (OFFICIAL DOCUMENT tab at https://www.jetbrains.com/shop/eform/students).


fix(BankTransfer): showEmailAdress flag

Summary
We have noticed that you have implemented the feature to send a copy to the email when there is a payment with Bank Transfer. Which is a very good feature but in our case we do not need it and we noticed that the showEmailAddress flag was not working.

Thank you! I'll look forward for more collaborations together


[ERROR] could not install from symfony/ux-* using symfony asset mapper for npm dependencies

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
npm
Package manager version
pnpm 8.14.3
Language version
Node 20.11
Manifest location and content before the Dependabot update
package.json
{
  "name": "sigedi-gestio",
  "description": "Gestio : The SIGEDI ERP's",
  "license": "proprietary",
  "author": "SIGEDI",
  "main": "app.js",
  "packageManager"<EMAIL_ADDRESS>  "scripts": {
    "build": "encore production --progress",
    "dev": "encore dev",
    "dev-server": "encore dev-server",
    "format": "node ./assets/js/scripts/lint.js --fix",
    "lint": "node ./assets/js/scripts/lint.js",
    "watch": "encore dev --watch"
  },
  "dependencies": {
    "@babel/plugin-transform-runtime": "^7.23.7",
    "@babel/runtime-corejs3": "^7.23.8",
    "@fortawesome/fontawesome-free": "^5.15.4",
    "@fullcalendar/core": "^4.3.1",
    "@fullcalendar/daygrid": "^4.3.0",
    "@fullcalendar/interaction": "^4.3.0",
    "@fullcalendar/list": "^4.3.0",
    "@fullcalendar/resource-common": "^4.3.1",
    "@fullcalendar/resource-daygrid": "^4.3.0",
    "@fullcalendar/resource-timegrid": "^4.3.0",
    "@fullcalendar/resource-timeline": "^4.3.0",
    "@fullcalendar/timegrid": "^4.3.0",
    "@fullcalendar/timeline": "^4.3.0",
    "alertifyjs": "^1.13.1",
    "bootstrap": "^3.4.1",
    "chart.js": "^4.4.1",
    "datatables.net": "^1.13.8",
    "datatables.net-autofill-dt": "^2.6.0",
    "datatables.net-buttons": "^2.4.2",
    "datatables.net-buttons-dt": "^2.4.2",
    "datatables.net-colreorder-dt": "^1.7.0",
    "datatables.net-dt": "^1.13.8",
    "datatables.net-fixedcolumns-dt": "^4.3.0",
    "datatables.net-fixedheader-dt": "^3.4.0",
    "datatables.net-plugins": "^1.13.6",
    "datatables.net-responsive-dt": "^2.5.0",
    "datatables.net-scroller-dt": "^2.3.0",
    "datatables.net-select-dt": "^1.7.0",
    "exceljs": "^4.4.0",
    "flatpickr": "^4.6.13",
    "jquery": "^3.7.1",
    "jszip": "^3.10.1",
    "pdfmake": "^0.2.9",
    "select2": "^4.1.0-rc.0"
  },
  "devDependencies": {
    "@babel/core": "^7.23.7",
    "@babel/preset-env": "^7.23.8",
    "@babel/preset-react": "^7.23.3",
    "@hotwired/stimulus": "^3.0.0",
    "@symfony/stimulus-bridge": "^3.2.0",
    "@symfony/ux-react": "file:vendor/symfony/ux-react/assets",
    "@symfony/webpack-encore": "^4.5.0",
    "autoprefixer": "^10.4.16",
    "chalk": "^4.0.0",
    "compression-webpack-plugin": "^10.0.0",
    "core-js": "^3.35.0",
    "eslint": "^8.56.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.1.3",
    "eslint-plugin-react": "^7.33.2",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-webpack-plugin": "^4.0.1",
    "file-loader": "^6.2.0",
    "image-minimizer-webpack-plugin": "^3.8.3",
    "npm-package-json-lint": "^7.1.0",
    "npm-package-json-lint-config-default": "^6.0.0",
    "postcss": "^8.4.33",
    "postcss-loader": "^7.3.4",
    "postcss-nesting": "^12.0.2",
    "prettier": "^3.2.2",
    "prop-types": "^15.8.1",
    "react": "^18.0",
    "react-dom": "^18.0",
    "regenerator-runtime": "^0.14.1",
    "sass": "^1.69.7",
    "sass-loader": "^13.3.3",
    "sharp": "^0.33.2",
    "tailwindcss": "^3.4.1",
    "terser-webpack-plugin": "^5.3.10",
    "webpack": "^5.89.0",
    "webpack-bundle-analyzer": "^4.10.1",
    "webpack-cli": "^5.1.4",
    "webpack-notifier": "^1.15.0"
  },
  "private": true
}

dependabot.yml content
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  # Maintain back dependencies for Composer
  - package-ecosystem: "composer"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 50

  # Maintain front dependencies for PNPM
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 50
    ignore:
      - dependency-name: "@fullcalendar/core"
      - dependency-name: "@fullcalendar/daygrid"
      - dependency-name: "@fullcalendar/interaction"
      - dependency-name: "@fullcalendar/list"
      - dependency-name: "@fullcalendar/resource-common"
      - dependency-name: "@fullcalendar/resource-daygrid"
      - dependency-name: "@fullcalendar/resource-timegrid"
      - dependency-name: "@fullcalendar/resource-timeline"
      - dependency-name: "@fullcalendar/timegrid"
      - dependency-name: "@fullcalendar/timeline"
      - dependency-name: "@fortawesome/fontawesome-free"
      - dependency-name: "bootstrap"
      - dependency-name: "chalk"
      - dependency-name: "@symfony/ux-react"

  # Maintain Github actions dependencies
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 25

Updated dependency
"@symfony/ux-react": "file:vendor/symfony/ux-react/assets",
What you expected to see, versus what you actually saw
Ignore @symfony/ux-react completely and don't throw an error when dependabot looks for dependency updates. I'm using importmap using symfony/ux (official doc here) for @symfony/ux-react dep only
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs

Smallest manifest that reproduces the issue

Use the default config to updates npm packages
Dependabot works
Install a dependency using symfony/ux
Dependabot won't works anymore

@weaverryan @kbond Any idea ?

@greysteil @feelepxyz Any idea?

Sorry @vinceAmstoutz - I haven't worked on Dependabot for years. No insight to share!

Sorry @vinceAmstoutz - I haven't worked on Dependabot for years. No insight to share!

Thanks for you response @greysteil! No idea how to globally ignore a dependency (ignored even from the scan)? Thanks for allin advance!

I think the problem is that the symfony components switched to path based entries at some point, but those paths are only available after running a composer install command (which I doubt the npm update check does).


Walkthrough not working with oecd

Hi,
First, thanks for this very good idea of a library and for making it accessible.
I'm just starting with it and it seems the walkthrough example you provide in the dcs does not work for the data source I am interested in: oecd
In [1]:  import pandasdmx as sdmx
In [2]:  oecd = sdmx.Request('OECD')

When I try to get the data flows definitions (because I don't know them), I get a NotImplementedError:
In [3]:  flow_msg = oecd.dataflow('all')
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-17-59bac2cb21cf> in <module>
----> 1 flow_msg = oecd.dataflow('all')

~/anaconda3/lib/python3.7/site-packages/pandasdmx/api.py in get(self, resource_type, resource_id, tofile, use_cache, dry_run, **kwargs)
    394         else:
    395             kwargs.update(dict(resource_type=resource_type, resource_id=resource_id))
--> 396             req = self._request_from_args(kwargs)
    397
    398         req = self.session.prepare_request(req)

~/anaconda3/lib/python3.7/site-packages/pandasdmx/api.py in _request_from_args(self, kwargs)
    193         if not (force or self.source.supports[resource_type]):
    194             raise NotImplementedError(
--> 195                 f"{self.source.id} does not support the"
    196                 f"{resource_type!r} API endpoint; "
    197                 "override using force=True"

NotImplementedError: OECD does not support the<Resource.dataflow: 'dataflow'> API endpoint; override using force=True

Does it have to do with SMDX-JSON that the oecd may be using ?
Anyway to circumvent this difficulty ? (I don't know the data identifiers yet, I wanted to explore the data from my ipython console)

Hi, you are right. The OECDAPI only supports data requests. I’m afraid you will have to retrieve the data flow IDs manually from the OEC D’s website.

Am 05.10.2020 um 23:36 schrieb Didier<EMAIL_ADDRESS>
Hi,
First, thanks for this very good idea of a library and for making it accessible.
I'm just starting with it and it seems the walkthrough example you provide in the dcs does not work for the data source I am interested in: oecd
In [1]:  import pandasdmx as sdmx
In [2]:  oecd = sdmx.Request('OECD')
When I try to get the data flows definitions (because I don't know them), I get a NotImplementedError:
In [3]:  flow_msg = oecd.dataflow('all')
NotImplementedError                       Traceback (most recent call last)
 in
----> 1 flow_msg = oecd.dataflow('all')
~/anaconda3/lib/python3.7/site-packages/pandasdmx/api.py in get(self, resource_type, resource_id, tofile, use_cache, dry_run, **kwargs)
394         else:
395             kwargs.update(dict(resource_type=resource_type, resource_id=resource_id))
--> 396             req = self._request_from_args(kwargs)
397
398         req = self.session.prepare_request(req)
~/anaconda3/lib/python3.7/site-packages/pandasdmx/api.py in _request_from_args(self, kwargs)
193         if not (force or self.source.supports[resource_type]):
194             raise NotImplementedError(
--> 195                 f"{self.source.id} does not support the"
196                 f"{resource_type!r} API endpoint; "
197                 "override using force=True"
NotImplementedError: OECD does not support the<Resource.dataflow: 'dataflow'> API endpoint; override using force=True
Does it have to do with SMDX-JSON that the oecd may be using ?
Anyway to circumvent this difficulty ? (I don't know the data identifiers yet, I wanted to explore the data from my ipython console)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I am still learning and I when looking up how to retrieve data and metadata from OECD and during this ongoing attempt I have found this web page: https://data.oecd.org/api/sdmx-ml-documentation/
And when trying out while learning I stumbled on this https://stats.oecd.org/restsdmx/sdmx.ashx/GetDataStructure/MEI where I suspect to see code lists.
In the doc of pandasdmx I read: "A key difference is between sources offering SDMX-ML and SDMX-JSON APIs. SDMX-JSON APIs do not support metadata, or structure queries; only data queries" and the above suggests to me that we can use the SDMX-ML protocol with OECD now and hence retrieve metadata?
So my question is whether it is possible to use this instead of the JSON approach? And can this be achieved by changing the entry for OECD in the sources.json in some way? I miss the knowledge to see whether this is possible, and if so to what extend (how much metadata and what kind) and also if so, how.

Hi,
Thank you for getting in touch. It would certainly be great if OECD
supported SDMXML 2.1 metadata queries. However, a quick look add the
OECD documentation at the link you sent suggests that it is about an
ST MX 1.0 compliant API. It might also be outdated. Prove me wrong!
That said, the JSON implementation of SDMX 2.1 has been extended to
cover structure messages. So there is a chance that future versions of
the OECD API will support Json-based structure messages as well, if it
doesn't so alredy on an experimental basis; to be checked. And
hopefully pandaSDMX  will support JSON structure messages as well
someday.
Note that JSON-based data messages do contain a lot of information on
the underlying datastructure, such as code descriptions. I think these
are exposed by pandaSDMX in the DataMessage object as Codelists as
well. That said, there is no way to avoid using the OECD's website to
retrieve dataflows and the complete structural metadata. Once you have
found a dataflow of interest, you can use pandaSDMX to query suitable
datasets.
Sorry for this somewhat unsatisfactory answer. Further comments welcome.
Thanks again for your question and best regards
Leo

Am 19.10.2020 um 17:13 schrieb dannyvw-on-github<EMAIL_ADDRESS>
I am still learning and I when looking up how to retrieve data and metadata from OECD and during this ongoing attempt I have found this web page: https://data.oecd.org/api/sdmx-ml-documentation/
And when trying out while learning I stumbled on this https://stats.oecd.org/restsdmx/sdmx.ashx/GetDataStructure/MEI where I suspect to see code lists.
In the doc of pandasdmx I read: "A key difference is between sources offering SDMX-ML and SDMX-JSON APIs. SDMX-JSON APIs do not support metadata, or structure queries; only data queries" and the above suggests to me that we can use the SDMX-ML protocol with OECD now and hence retrieve metadata?
So my question is whether it is possible to use this instead of the JSON approach? And can this be achieved by changing the entry for OECD in the sources.json in some way? I miss the knowledge to see whether this is possible, and if so to what extend (how much metadata and what kind) and also if so, how.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.[image]


Build Windows FIPS Agent containers

What does this PR do?
Add jobs to build Windows containers with the FIPS Agent installed
Motivation
https://datadoghq.atlassian.net/browse/WINA-1217
use for unit testing in integrations-core
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

modeled on https://github.com/DataDog/datadog-agent/pull/31004

/merge


Demonstrate that hamming MaxSim is a very good alternative to float based MaxSim

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Seems like a very attractive tradeoff! 💯
Would be nice if you could use a recent notebook as basis (without all the CLI-commands and auth-stuff that we now no longer need.) And Colab-badge. :)

See that CI fail due to missing PIL - pip install pillow

Will do! One issue here with having this in CD is that it takes 20 minutes to encode the corpus, but let us see first how long it takes, and then maybe run it once in a while or something.

Looks like we're not able to run this in CI without larger runners.
Crashes in Colab as well with the standard CPU runtime (works with T4 though).
I'll follow up on getting us access to larger runners, but we'll probably need to exclude it for now.

Yeah, as the model is 12GB and it encodes the images + overhead I do imagine we pass the runner memory limits. I would like to keep this notebook though so if you could disable it from test for now that would be great. Thanks!


about selead class

sealed class Test {
    @AutoDsl
    data class TestOne(val route: Route) : Test()

    @AutoDsl
    data class TestTwo(val route: Route) : Test()
}

actual the auto dsl not has support to selead class, there is any plan to add this support?

Hi Uzias! what do you mean by supporting sealed class? right now this code compiles and will generate builders for TestOne and TestTwo. Is there any other feature you are looking for?

Oh my bad, will not compile. I think what you can do for the time being is using it in this way:
`sealed class Test
@AutoDsl
data class TestOne(val route: Route) : Test()
@AutoDsl
data class TestTwo(val route: Route) : Test()`