{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":311269257,"defaultBranch":"master","name":"python-sdbus","ownerLogin":"python-sdbus","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-11-09T08:20:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/88226657?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1711194259.0","currentOid":""},"activityList":{"items":[{"before":"ecaadf474c89a929b63a212045c72f4f9a42cb4e","after":"c2b046e44422cbf4d0ecb37af52a5ac9f82691ab","ref":"refs/heads/master","pushedAt":"2024-05-26T17:49:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"docs: Replace D-Feet reference with D-Spy\n\nApparently D-Feet is deprecated and is no longer updated.","shortMessageHtmlLink":"docs: Replace D-Feet reference with D-Spy"}},{"before":"55d2667f0f7550ebee0b572f0200594ef6c3e93e","after":"ecaadf474c89a929b63a212045c72f4f9a42cb4e","ref":"refs/heads/master","pushedAt":"2024-05-10T18:24:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Fix small typo in client code example","shortMessageHtmlLink":"Fix small typo in client code example"}},{"before":"c23e2ea86f848a3dcbb182726c85eff11d43de3a","after":"ca238e6e79cee04d8ecd40529b060117a3dcba39","ref":"refs/heads/dbus-async-method-with-param-spec","pushedAt":"2024-03-23T13:36:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"DRAFT: Experimental async to blocking adapter (only methods)\n\nConverts the async D-Bus interface to a blocking one.\n\nSupports type checking. This is implemented using ParamSpec and\n@overload so it depends on Jedi adding ParamSpec support.\n\nOnly supports the methods at the moment, however, the property\nsupport is also possible.","shortMessageHtmlLink":"DRAFT: Experimental async to blocking adapter (only methods)"}},{"before":"f4910ceeef1daa93ededc970e100942467d962d6","after":"c23e2ea86f848a3dcbb182726c85eff11d43de3a","ref":"refs/heads/dbus-async-method-with-param-spec","pushedAt":"2024-03-23T12:27:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Reapply \"Use ParamSpec for DbusMethodAsync instead of masking it\"\n\nThis reverts commit d6642f7f0d8937806493ed07bc0001a3412019e2.","shortMessageHtmlLink":"Reapply \"Use ParamSpec for DbusMethodAsync instead of masking it\""}},{"before":"6545ea0da56943c970b204b8d5dd23afb0975a7c","after":"55d2667f0f7550ebee0b572f0200594ef6c3e93e","ref":"refs/heads/master","pushedAt":"2024-03-23T11:44:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Version 0.12.0","shortMessageHtmlLink":"Version 0.12.0"}},{"before":"910b8e5cdbf8a92356a0ea24cf27f810dfd4c3aa","after":"6545ea0da56943c970b204b8d5dd23afb0975a7c","ref":"refs/heads/master","pushedAt":"2024-03-23T10:29:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Add unique prefix to temporary dirs created by IsolatedDbusTestCase","shortMessageHtmlLink":"Add unique prefix to temporary dirs created by IsolatedDbusTestCase"}},{"before":"95751a77aaf281e2156e8c9294226fa8426c984a","after":"910b8e5cdbf8a92356a0ea24cf27f810dfd4c3aa","ref":"refs/heads/master","pushedAt":"2024-03-20T05:50:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Merge pull request #59 from notpushkin/patch-1\n\nThank you!","shortMessageHtmlLink":"Merge pull request #59 from notpushkin/patch-1"}},{"before":"2182d26e58b89dfd869c7dde51bc2314089a7e3a","after":"95751a77aaf281e2156e8c9294226fa8426c984a","ref":"refs/heads/master","pushedAt":"2024-03-17T15:37:24.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Version 0.12.RC1","shortMessageHtmlLink":"Version 0.12.RC1"}},{"before":"bc50226e464405fc42bae35e9c7c0055a9a28366","after":"2182d26e58b89dfd869c7dde51bc2314089a7e3a","ref":"refs/heads/master","pushedAt":"2024-03-17T10:11:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"actions: Add ability to specify the version to install from PyPI\n\nBecause RC versions are not installed by default a specifier must\nbe used.","shortMessageHtmlLink":"actions: Add ability to specify the version to install from PyPI"}},{"before":"331b6e91296490a280b3bc5510f263a12b24c39c","after":"bc50226e464405fc42bae35e9c7c0055a9a28366","ref":"refs/heads/master","pushedAt":"2024-03-17T09:52:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"docs: Fix parse_get_managed_objects arguments description\n\nIt was missing `on_unknown_member` description, the second argument\nhad copy pasted name `interfaces_added_data`.\n\nAlso add the link to it in the `DbusObjectManagerInterfaceAsync.get_managed_objects`\ndescription.","shortMessageHtmlLink":"docs: Fix parse_get_managed_objects arguments description"}},{"before":"6f7f035aabae101879b53b53b02c4fe69d50c9b2","after":"331b6e91296490a280b3bc5510f263a12b24c39c","ref":"refs/heads/master","pushedAt":"2024-03-16T18:35:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Added handle return to .export_to_dbus and .export_with_manager\n\nThe handle can be used to remove the object from exports by either\nusing it as a context manager or by calling the `.stop()` method\nof the handle.","shortMessageHtmlLink":"Added handle return to .export_to_dbus and .export_with_manager"}},{"before":"87a56f86ee3aa6c0fb9c897a4f9f0ace5dc939ca","after":"6f7f035aabae101879b53b53b02c4fe69d50c9b2","ref":"refs/heads/master","pushedAt":"2024-03-16T10:46:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"test: Use assertDbusSignalEmits for object manager tests\n\nLess race conditions as assertDbusSignalEmits ensures that all\nmatch rules are setup before the inner loop in entered.","shortMessageHtmlLink":"test: Use assertDbusSignalEmits for object manager tests"}},{"before":"04d14b0233b344638b0e1cb3f649d961fa2e9b83","after":"87a56f86ee3aa6c0fb9c897a4f9f0ace5dc939ca","ref":"refs/heads/master","pushedAt":"2024-03-10T17:00:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Add sdbus.utils.parse_get_managed_objects\n\nParses data from ObjectsManager's `get_managed_objects` calls.\nIt is similar to existing `parse_interfaces_added` function.\n\nAlso reduce code duplication in sdbus.utils using extra functions.","shortMessageHtmlLink":"Add sdbus.utils.parse_get_managed_objects"}},{"before":"8f86747236fe8a1cb6195b98eb1082d19267d0bf","after":"04d14b0233b344638b0e1cb3f649d961fa2e9b83","ref":"refs/heads/master","pushedAt":"2024-03-10T14:07:37.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"test: Use more assertDbusSignalEmits instead of sleep","shortMessageHtmlLink":"test: Use more assertDbusSignalEmits instead of sleep"}},{"before":"a3c8e2e2cac7cf41bad44e9d1418f94ee6163531","after":"8f86747236fe8a1cb6195b98eb1082d19267d0bf","ref":"refs/heads/master","pushedAt":"2024-03-10T12:37:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Rework async interface collision detection to use __mro__\n\nNew algorithm uses __mro__ to track the declared D-Bus interfaces\nand their attributes. This provides several advantages such as\nallowing classes that have two bases with shared parent interface\nas well as less copying of attribute maps.","shortMessageHtmlLink":"Rework async interface collision detection to use __mro__"}},{"before":"d6642f7f0d8937806493ed07bc0001a3412019e2","after":"a3c8e2e2cac7cf41bad44e9d1418f94ee6163531","ref":"refs/heads/master","pushedAt":"2024-03-09T15:24:17.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Enable --pretty mode for mypy\n\nThis will printi entire lines there errors occur.","shortMessageHtmlLink":"Enable --pretty mode for mypy"}},{"before":"24c357f1c007111c4ea2282d12d29f9015c830b9","after":"d6642f7f0d8937806493ed07bc0001a3412019e2","ref":"refs/heads/master","pushedAt":"2024-03-09T09:51:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Revert \"Use ParamSpec for DbusMethodAsync instead of masking it\"\n\nThis reverts commit 72e9d52f91a27e499a9b0c2890d307c13496939e.\n\nThe issue is that jedi does not support the ParamSpec yet. This\nwill have a negative effect on developer experience because the\nD-Bus method arguments will no longer be showed when writing a\nmethod call.\n\nSee: https://github.com/davidhalter/jedi/issues/1812","shortMessageHtmlLink":"Revert \"Use ParamSpec for DbusMethodAsync instead of masking it\""}},{"before":"b4af45b351d424b6b92847c851ab1f08d2b7d407","after":"24c357f1c007111c4ea2282d12d29f9015c830b9","ref":"refs/heads/master","pushedAt":"2024-03-03T21:04:13.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"docs: Fix typos","shortMessageHtmlLink":"docs: Fix typos"}},{"before":"b6a19742033ef4c463a8260b360e3ad072b5c544","after":"b4af45b351d424b6b92847c851ab1f08d2b7d407","ref":"refs/heads/master","pushedAt":"2024-03-03T20:33:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Document how to declare and emit empty signals\n\nAdd a new section called `Asyncio advanced topics` which will have\nexplanations of some advanced features that python-sdbus has.","shortMessageHtmlLink":"Document how to declare and emit empty signals"}},{"before":"72e9d52f91a27e499a9b0c2890d307c13496939e","after":"b6a19742033ef4c463a8260b360e3ad072b5c544","ref":"refs/heads/master","pushedAt":"2024-03-03T19:59:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Document IsolatedDbusTestCase.assertDbusSignalEmits\n\nAlso the recorder object now only has the `.output` property. The\ntests can call the assert methods against it to compare the emitted\ndata.","shortMessageHtmlLink":"Document IsolatedDbusTestCase.assertDbusSignalEmits"}},{"before":"38485ff58666afe5da393ced2e8804b0b951e0e8","after":"72e9d52f91a27e499a9b0c2890d307c13496939e","ref":"refs/heads/master","pushedAt":"2024-02-25T11:07:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Use ParamSpec for DbusMethodAsync instead of masking it\n\nOriginally the DbusMethodAsync was masked under the original\nfunction meaning type checker treated it as it was the original\nfunction and not a DbusMethodAsync.\n\nHowever, it is planned to add new methods to the DbusMethodAsync\nso masking it is no longer an option.\n\nParamSpec is only available since Python 3.10 so use the\n`typing_extensions` import hidden under TYPE_CHECKING if statement.","shortMessageHtmlLink":"Use ParamSpec for DbusMethodAsync instead of masking it"}},{"before":"aaf63a340cca65bad6cdd154ea2a4038391e4f37","after":"38485ff58666afe5da393ced2e8804b0b951e0e8","ref":"refs/heads/master","pushedAt":"2024-02-25T10:39:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"CI: Update checkout action to latest version","shortMessageHtmlLink":"CI: Update checkout action to latest version"}},{"before":null,"after":"f4910ceeef1daa93ededc970e100942467d962d6","ref":"refs/heads/dbus-async-method-with-param-spec","pushedAt":"2024-02-25T10:14:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Use ParamSpec for DbusMethodAsync instead of masking it\n\nOriginally the DbusMethodAsync was masked under the original\nfunction meaning type checker treated it as it was the original\nfunction and not a DbusMethodAsync.\n\nHowever, it is planned to add new methods to the DbusMethodAsync\nso masking it is no longer an option.\n\nParamSpec is only available since Python 3.10 so use the\n`typing_extensions` import hidden under TYPE_CHECKING if statement.","shortMessageHtmlLink":"Use ParamSpec for DbusMethodAsync instead of masking it"}},{"before":"03593a13167a5a0bd6818489d63f99777ab76299","after":"aaf63a340cca65bad6cdd154ea2a4038391e4f37","ref":"refs/heads/master","pushedAt":"2024-02-24T17:16:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Return async D-Bus elements directly when accessed from class\n\nMeaning it will be equivalent to how when function is accessed\nfrom object it becomes method but is still function when accessed\nfrom class.\n\nThis removes the *ClassBind classes and returns the D-Bus element\nitself like DbusPropertyAsync or DbusMethodAsync.","shortMessageHtmlLink":"Return async D-Bus elements directly when accessed from class"}},{"before":"42d4ce9180b785cedeabcf3026527836ced58ecc","after":"03593a13167a5a0bd6818489d63f99777ab76299","ref":"refs/heads/master","pushedAt":"2024-02-24T14:01:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Fix sending extremely large messages getting stuck when using asyncio\n\nApparently the file descriptor returned by `sd_bus_get_fd` must be\nmonitored for both reading and writing depending on `sd_bus_get_events`\nreturn value. This comes in to play when an extremely large message\nneeds to be sent over D-Bus. Such extremely large message will need\nmultiple `sendmsg` calls with file descriptor being monitored to\nwhen the write processing of the message has to be done.\n\nThis commit will add or remove asyncio loop file descriptor watchers\nbased on changes to `sd_bus_get_events` value.","shortMessageHtmlLink":"Fix sending extremely large messages getting stuck when using asyncio"}},{"before":"899a7dbcb92fecaede4f02741fd1a85e44ebbcd1","after":"42d4ce9180b785cedeabcf3026527836ced58ecc","ref":"refs/heads/master","pushedAt":"2024-02-24T13:58:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Fix sending extremely large messages getting stuck when using asyncio\n\nApparently the file descriptor returned by `sd_bus_get_fd` must be\nmonitored for both reading and writing depending on `sd_bus_get_events`\nreturn value. This comes in to play when an extremely large message\nneeds to be sent over D-Bus. Such extremely large message will need\nmultiple `sendmsg` calls with file descriptor being monitored to\nwhen the write processing of the message has to be done.\n\nThis commit will add or remove asyncio loop file descriptor watchers\nbased on changes to `sd_bus_get_events` value.","shortMessageHtmlLink":"Fix sending extremely large messages getting stuck when using asyncio"}},{"before":"f58ace9ef9d57080dd03c47560cf81bb5b502fce","after":"899a7dbcb92fecaede4f02741fd1a85e44ebbcd1","ref":"refs/heads/master","pushedAt":"2024-02-18T15:18:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Fix SdBusSlot_close having too few arguments\n\nThe second argument must be present even if it is not used to be\nable to cast the function to `PyCFunction`.","shortMessageHtmlLink":"Fix SdBusSlot_close having too few arguments"}},{"before":"3535e7dacc4af72f3af3bc11ce95f93fd1fbbb1d","after":"f58ace9ef9d57080dd03c47560cf81bb5b502fce","ref":"refs/heads/master","pushedAt":"2024-02-18T10:52:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Add SdBusMessage.parse_to_tuple() method\n\nParses the message data to a tuple. The main difference is handling\nof no data and a single complete type messages. When message has\nno data returns a zero size tuple. When message has a single complete\ntype return a tuple of one element.\n\nThis makes it simpler to implement the D-Bus -> Python calls\nbecause now all it takes is calling Python function with unpacked\ntuple. Unpacking zero size tuple is equivalent to calling function\nwith no arguments.\n\nThis also fixes methods that take a single struct. Before there was\nambiguity if a method was called with a struct or multiple complete\ntypes. Now a single struct would be a part of one element tuple.","shortMessageHtmlLink":"Add SdBusMessage.parse_to_tuple() method"}},{"before":"21f27a5bdba9563d65444fb866b5ab54eb8f4f45","after":"3535e7dacc4af72f3af3bc11ce95f93fd1fbbb1d","ref":"refs/heads/master","pushedAt":"2024-02-18T10:07:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"test: Add type hints tests\n\nThese new functions are not intended to be called but instead\nthe type checker in CI will verify that the types are properly\nhinted.","shortMessageHtmlLink":"test: Add type hints tests"}},{"before":"c0b2965fc2280019f5e4f3a0e357089e5c6cc7af","after":"21f27a5bdba9563d65444fb866b5ab54eb8f4f45","ref":"refs/heads/master","pushedAt":"2024-02-14T16:36:14.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"igo95862","name":null,"path":"/igo95862","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8576552?s=80&v=4"},"commit":{"message":"Merge pull request #54 from souliane/master\n\nThank you!","shortMessageHtmlLink":"Merge pull request #54 from souliane/master"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVEJEUQA","startCursor":null,"endCursor":null}},"title":"Activity ยท python-sdbus/python-sdbus"}