PyGObject 3.50.1__tar.gz → 3.50.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. pygobject-3.50.2/.gitlab-ci/org.gnome.PyGObject.Devel.yaml +37 -0
  2. pygobject-3.50.2/.gitlab-ci/test-flatpak.sh +9 -0
  3. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci.yml +2 -2
  4. pygobject-3.50.2/.pre-commit-config.yaml +9 -0
  5. {pygobject-3.50.1 → pygobject-3.50.2}/NEWS +11 -4
  6. {pygobject-3.50.1 → pygobject-3.50.2}/PKG-INFO +1 -1
  7. {pygobject-3.50.1 → pygobject-3.50.2}/gi/importer.py +1 -1
  8. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Gio.py +73 -33
  9. pygobject-3.50.2/gi/overrides/GioUnix.py +170 -0
  10. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/meson.build +1 -0
  11. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-async.h +1 -1
  12. {pygobject-3.50.1 → pygobject-3.50.2}/meson.build +1 -1
  13. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gdbus.py +2 -0
  14. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gio.py +286 -3
  15. pygobject-3.50.1/.gitlab-ci/test-flatpak.sh +0 -24
  16. {pygobject-3.50.1 → pygobject-3.50.2}/.coveragerc +0 -0
  17. {pygobject-3.50.1 → pygobject-3.50.2}/.flake8 +0 -0
  18. {pygobject-3.50.1 → pygobject-3.50.2}/.gitignore +0 -0
  19. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/Dockerfile +0 -0
  20. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/Dockerfile.old +0 -0
  21. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/README.rst +0 -0
  22. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/build-sdists.sh +0 -0
  23. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/coverage-docker.sh +0 -0
  24. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/fixup-lcov-paths.py +0 -0
  25. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/lcovrc +0 -0
  26. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/run-docker-old.sh +0 -0
  27. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/run-docker-runtime.sh +0 -0
  28. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/run-docker.sh +0 -0
  29. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/set_env.sh +0 -0
  30. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/test-docker-old.sh +0 -0
  31. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/test-docker.sh +0 -0
  32. {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/test-msys2.sh +0 -0
  33. {pygobject-3.50.1 → pygobject-3.50.2}/COPYING +0 -0
  34. {pygobject-3.50.1 → pygobject-3.50.2}/METADATA.in +0 -0
  35. {pygobject-3.50.1 → pygobject-3.50.2}/README.rst +0 -0
  36. {pygobject-3.50.1 → pygobject-3.50.2}/docs/Makefile +0 -0
  37. {pygobject-3.50.1 → pygobject-3.50.2}/docs/bugs_repo.rst +0 -0
  38. {pygobject-3.50.1 → pygobject-3.50.2}/docs/changelog.rst +0 -0
  39. {pygobject-3.50.1 → pygobject-3.50.2}/docs/conf.py +0 -0
  40. {pygobject-3.50.1 → pygobject-3.50.2}/docs/contact.rst +0 -0
  41. {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/dev_environ.rst +0 -0
  42. {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/index.rst +0 -0
  43. {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/override_guidelines.rst +0 -0
  44. {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/overview.rst +0 -0
  45. {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/style_guide.rst +0 -0
  46. {pygobject-3.50.1 → pygobject-3.50.2}/docs/extra.css +0 -0
  47. {pygobject-3.50.1 → pygobject-3.50.2}/docs/further.rst +0 -0
  48. {pygobject-3.50.1 → pygobject-3.50.2}/docs/getting_started.rst +0 -0
  49. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/api.rst +0 -0
  50. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/basic_types.rst +0 -0
  51. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/error_handling.rst +0 -0
  52. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/flags_enums.rst +0 -0
  53. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/gobject.rst +0 -0
  54. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/index.rst +0 -0
  55. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/properties.rst +0 -0
  56. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/signals.rst +0 -0
  57. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/weakrefs.rst +0 -0
  58. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/cairo_integration.rst +0 -0
  59. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/code/cairo-demo.py +0 -0
  60. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/debug_profile.rst +0 -0
  61. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/deploy.rst +0 -0
  62. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/faq.rst +0 -0
  63. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/flatpaking.rst +0 -0
  64. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/gtk_template.rst +0 -0
  65. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/images/cairo_integration.png +0 -0
  66. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/imports.rst +0 -0
  67. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/index.rst +0 -0
  68. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/porting.rst +0 -0
  69. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/sysdeps.rst +0 -0
  70. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/testing.rst +0 -0
  71. {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/threading.rst +0 -0
  72. {pygobject-3.50.1 → pygobject-3.50.2}/docs/icons.rst +0 -0
  73. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/LICENSE +0 -0
  74. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/favicon.ico +0 -0
  75. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/logo.svg +0 -0
  76. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/overview-dark.svg +0 -0
  77. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/overview.dia +0 -0
  78. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/overview.svg +0 -0
  79. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/pygobject-small.svg +0 -0
  80. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/pygobject.svg +0 -0
  81. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/start_linux.png +0 -0
  82. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/start_macos.png +0 -0
  83. {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/start_windows.png +0 -0
  84. {pygobject-3.50.1 → pygobject-3.50.2}/docs/index.rst +0 -0
  85. {pygobject-3.50.1 → pygobject-3.50.2}/docs/maintguide.rst +0 -0
  86. {pygobject-3.50.1 → pygobject-3.50.2}/docs/packagingguide.rst +0 -0
  87. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/_static/custom.css +0 -0
  88. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/basics.rst +0 -0
  89. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/examples/listmodel.py +0 -0
  90. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/interfaces.rst +0 -0
  91. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/subclassing.rst +0 -0
  92. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject.rst +0 -0
  93. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk3.rst +0 -0
  94. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/application.rst +0 -0
  95. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/basics.rst +0 -0
  96. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/clipboard.rst +0 -0
  97. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/buttons.rst +0 -0
  98. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/check-radio-buttons.rst +0 -0
  99. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/dropdown.rst +0 -0
  100. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/entries.rst +0 -0
  101. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/button.py +0 -0
  102. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/check_radio_buttons.py +0 -0
  103. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/dropdown.py +0 -0
  104. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/entries.py +0 -0
  105. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/linkbutton.py +0 -0
  106. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/spinbutton.py +0 -0
  107. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/switch.py +0 -0
  108. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/togglebutton.py +0 -0
  109. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/button.png +0 -0
  110. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/check_radio_buttons.png +0 -0
  111. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/dropdown.png +0 -0
  112. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/entries.png +0 -0
  113. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/linkbutton.png +0 -0
  114. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/spinbutton.png +0 -0
  115. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/switch.png +0 -0
  116. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/togglebutton.png +0 -0
  117. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/scale.rst +0 -0
  118. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/spinbutton.rst +0 -0
  119. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/switch.rst +0 -0
  120. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls.rst +0 -0
  121. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/label.py +0 -0
  122. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/picture.py +0 -0
  123. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/progressbar.py +0 -0
  124. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/spinner.py +0 -0
  125. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/spinner_ext.py +0 -0
  126. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/image.rst +0 -0
  127. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/label.png +0 -0
  128. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/picture.png +0 -0
  129. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/progressbar.png +0 -0
  130. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/spinner.png +0 -0
  131. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/spinner_ext.png +0 -0
  132. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/label.rst +0 -0
  133. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/picture.rst +0 -0
  134. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/progressbar.rst +0 -0
  135. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/spinner.rst +0 -0
  136. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets.rst +0 -0
  137. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/drag-and-drop.rst +0 -0
  138. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/application.py +0 -0
  139. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/clipboard.py +0 -0
  140. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/drag_and_drop.py +0 -0
  141. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/extended_example.py +0 -0
  142. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_box.py +0 -0
  143. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_center.py +0 -0
  144. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_flowbox.py +0 -0
  145. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_grid.py +0 -0
  146. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_headerbar.py +0 -0
  147. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_listbox.py +0 -0
  148. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_notebook.py +0 -0
  149. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_stack.py +0 -0
  150. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/popover.py +0 -0
  151. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/popover_menu.py +0 -0
  152. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/simple_example.py +0 -0
  153. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/textview.py +0 -0
  154. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/application.png +0 -0
  155. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/basic_example.png +0 -0
  156. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/clipboard.png +0 -0
  157. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/drag_and_drop.png +0 -0
  158. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/extended_example.png +0 -0
  159. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_box.png +0 -0
  160. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_center.png +0 -0
  161. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_flowbox.png +0 -0
  162. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_grid.png +0 -0
  163. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_headerbar.png +0 -0
  164. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_listbox.png +0 -0
  165. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_notebook.png +0 -0
  166. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_stack.png +0 -0
  167. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/popover.png +0 -0
  168. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/popover_menu.png +0 -0
  169. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/textview.png +0 -0
  170. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/introduction.rst +0 -0
  171. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/layout-widgets.rst +0 -0
  172. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/popovers.rst +0 -0
  173. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/textview.rst +0 -0
  174. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4.rst +0 -0
  175. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/index.rst +0 -0
  176. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/libadwaita/application.rst +0 -0
  177. {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/libadwaita.rst +0 -0
  178. {pygobject-3.50.1 → pygobject-3.50.2}/gi/__init__.py +0 -0
  179. {pygobject-3.50.1 → pygobject-3.50.2}/gi/_constants.py +0 -0
  180. {pygobject-3.50.1 → pygobject-3.50.2}/gi/_error.py +0 -0
  181. {pygobject-3.50.1 → pygobject-3.50.2}/gi/_gtktemplate.py +0 -0
  182. {pygobject-3.50.1 → pygobject-3.50.2}/gi/_option.py +0 -0
  183. {pygobject-3.50.1 → pygobject-3.50.2}/gi/_ossighelper.py +0 -0
  184. {pygobject-3.50.1 → pygobject-3.50.2}/gi/_propertyhelper.py +0 -0
  185. {pygobject-3.50.1 → pygobject-3.50.2}/gi/_signalhelper.py +0 -0
  186. {pygobject-3.50.1 → pygobject-3.50.2}/gi/docstring.py +0 -0
  187. {pygobject-3.50.1 → pygobject-3.50.2}/gi/events.py +0 -0
  188. {pygobject-3.50.1 → pygobject-3.50.2}/gi/gimodule.c +0 -0
  189. {pygobject-3.50.1 → pygobject-3.50.2}/gi/gimodule.h +0 -0
  190. {pygobject-3.50.1 → pygobject-3.50.2}/gi/meson.build +0 -0
  191. {pygobject-3.50.1 → pygobject-3.50.2}/gi/module.py +0 -0
  192. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GIMarshallingTests.py +0 -0
  193. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GLib.py +0 -0
  194. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GObject.py +0 -0
  195. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Gdk.py +0 -0
  196. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GdkPixbuf.py +0 -0
  197. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Gtk.py +0 -0
  198. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Pango.py +0 -0
  199. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/__init__.py +0 -0
  200. {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/keysyms.py +0 -0
  201. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygboxed.c +0 -0
  202. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygboxed.h +0 -0
  203. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygenum.c +0 -0
  204. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygenum.h +0 -0
  205. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygflags.c +0 -0
  206. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygflags.h +0 -0
  207. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-argument.c +0 -0
  208. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-argument.h +0 -0
  209. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-array.c +0 -0
  210. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-array.h +0 -0
  211. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-async.c +0 -0
  212. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-basictype.c +0 -0
  213. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-basictype.h +0 -0
  214. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-boxed.c +0 -0
  215. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-boxed.h +0 -0
  216. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-cache.c +0 -0
  217. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-cache.h +0 -0
  218. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-ccallback.c +0 -0
  219. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-ccallback.h +0 -0
  220. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-closure.c +0 -0
  221. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-closure.h +0 -0
  222. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-enum-marshal.c +0 -0
  223. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-enum-marshal.h +0 -0
  224. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-error.c +0 -0
  225. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-error.h +0 -0
  226. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign-api.h +0 -0
  227. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign-cairo.c +0 -0
  228. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign.c +0 -0
  229. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign.h +0 -0
  230. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-fundamental.c +0 -0
  231. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-fundamental.h +0 -0
  232. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-hashtable.c +0 -0
  233. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-hashtable.h +0 -0
  234. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-info.c +0 -0
  235. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-info.h +0 -0
  236. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-invoke-state-struct.h +0 -0
  237. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-invoke.c +0 -0
  238. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-invoke.h +0 -0
  239. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-list.c +0 -0
  240. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-list.h +0 -0
  241. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-marshal-cleanup.c +0 -0
  242. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-marshal-cleanup.h +0 -0
  243. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-object.c +0 -0
  244. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-object.h +0 -0
  245. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-property.c +0 -0
  246. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-property.h +0 -0
  247. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-repository.c +0 -0
  248. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-repository.h +0 -0
  249. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-resulttuple.c +0 -0
  250. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-resulttuple.h +0 -0
  251. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-signal-closure.c +0 -0
  252. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-signal-closure.h +0 -0
  253. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-source.c +0 -0
  254. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-source.h +0 -0
  255. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct-marshal.c +0 -0
  256. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct-marshal.h +0 -0
  257. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct.c +0 -0
  258. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct.h +0 -0
  259. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-type.c +0 -0
  260. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-type.h +0 -0
  261. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-util.c +0 -0
  262. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-util.h +0 -0
  263. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-value.c +0 -0
  264. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-value.h +0 -0
  265. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pyginterface.c +0 -0
  266. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pyginterface.h +0 -0
  267. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject-internal.h +0 -0
  268. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject-object.c +0 -0
  269. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject-object.h +0 -0
  270. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject.h +0 -0
  271. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptioncontext.c +0 -0
  272. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptioncontext.h +0 -0
  273. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptiongroup.c +0 -0
  274. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptiongroup.h +0 -0
  275. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygpointer.c +0 -0
  276. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygpointer.h +0 -0
  277. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygspawn.c +0 -0
  278. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygspawn.h +0 -0
  279. {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygtkcompat.py +0 -0
  280. {pygobject-3.50.1 → pygobject-3.50.2}/gi/repository/__init__.py +0 -0
  281. {pygobject-3.50.1 → pygobject-3.50.2}/gi/repository/meson.build +0 -0
  282. {pygobject-3.50.1 → pygobject-3.50.2}/gi/types.py +0 -0
  283. {pygobject-3.50.1 → pygobject-3.50.2}/meson_options.txt +0 -0
  284. {pygobject-3.50.1 → pygobject-3.50.2}/pygobject-3.0.pc.in +0 -0
  285. {pygobject-3.50.1 → pygobject-3.50.2}/pygobject.doap +0 -0
  286. {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/__init__.py +0 -0
  287. {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/generictreemodel.py +0 -0
  288. {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/meson.build +0 -0
  289. {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/pygtkcompat.py +0 -0
  290. {pygobject-3.50.1 → pygobject-3.50.2}/pyproject.toml +0 -0
  291. {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/.gitignore +0 -0
  292. {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/glib.wrap +0 -0
  293. {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/gobject-introspection.wrap +0 -0
  294. {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/libffi.wrap +0 -0
  295. {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/pycairo.wrap +0 -0
  296. {pygobject-3.50.1 → pygobject-3.50.2}/tests/conftest.py +0 -0
  297. {pygobject-3.50.1 → pygobject-3.50.2}/tests/gi/overrides/Regress.py +0 -0
  298. {pygobject-3.50.1 → pygobject-3.50.2}/tests/gi/overrides/__init__.py +0 -0
  299. {pygobject-3.50.1 → pygobject-3.50.2}/tests/gimarshallingtestsextra.c +0 -0
  300. {pygobject-3.50.1 → pygobject-3.50.2}/tests/gimarshallingtestsextra.h +0 -0
  301. {pygobject-3.50.1 → pygobject-3.50.2}/tests/helper.py +0 -0
  302. {pygobject-3.50.1 → pygobject-3.50.2}/tests/meson.build +0 -0
  303. {pygobject-3.50.1 → pygobject-3.50.2}/tests/org.gnome.test.gschema.xml +0 -0
  304. {pygobject-3.50.1 → pygobject-3.50.2}/tests/regressextra.c +0 -0
  305. {pygobject-3.50.1 → pygobject-3.50.2}/tests/regressextra.h +0 -0
  306. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-floating.c +0 -0
  307. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-floating.h +0 -0
  308. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-thread.c +0 -0
  309. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-thread.h +0 -0
  310. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-unknown.c +0 -0
  311. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-unknown.h +0 -0
  312. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_async.py +0 -0
  313. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_atoms.py +0 -0
  314. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_cairo.py +0 -0
  315. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_docstring.py +0 -0
  316. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_error.py +0 -0
  317. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_events.py +0 -0
  318. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_everything.py +0 -0
  319. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_fields.py +0 -0
  320. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_fundamental.py +0 -0
  321. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_generictreemodel.py +0 -0
  322. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gi.py +0 -0
  323. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_glib.py +0 -0
  324. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gobject.py +0 -0
  325. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gtk_template.py +0 -0
  326. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gtype.py +0 -0
  327. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_import_machinery.py +0 -0
  328. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_interface.py +0 -0
  329. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_internal_api.py +0 -0
  330. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_iochannel.py +0 -0
  331. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_mainloop.py +0 -0
  332. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_object_marshaling.py +0 -0
  333. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_option.py +0 -0
  334. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_ossig.py +0 -0
  335. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gdk.py +0 -0
  336. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gdkpixbuf.py +0 -0
  337. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gio.py +0 -0
  338. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_glib.py +0 -0
  339. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gobject.py +0 -0
  340. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gtk.py +0 -0
  341. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_pango.py +0 -0
  342. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_properties.py +0 -0
  343. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_pycapi.py +0 -0
  344. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_pygtkcompat.py +0 -0
  345. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_repository.py +0 -0
  346. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_resulttuple.py +0 -0
  347. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_signal.py +0 -0
  348. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_source.py +0 -0
  349. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_subprocess.py +0 -0
  350. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_thread.py +0 -0
  351. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_typeclass.py +0 -0
  352. {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_unknown.py +0 -0
  353. {pygobject-3.50.1 → pygobject-3.50.2}/tests/testhelpermodule.c +0 -0
  354. {pygobject-3.50.1 → pygobject-3.50.2}/tests/valgrind.supp +0 -0
  355. {pygobject-3.50.1 → pygobject-3.50.2}/tools/pygi-convert.sh +0 -0
@@ -0,0 +1,37 @@
1
+ app-id: org.gnome.PyGObject.Devel
2
+ runtime: org.gnome.Sdk
3
+ runtime-version: '48'
4
+ sdk: org.gnome.Sdk
5
+ build-options:
6
+ build-args:
7
+ - '--share=network'
8
+ test-args:
9
+ - '--socket=x11'
10
+ - '--share=network'
11
+ env:
12
+ PYTEST_ADDOPTS: '-vs --cov'
13
+ TEST_GTK_VERSION: '3.0'
14
+ modules:
15
+ - name: dependencies
16
+ buildsystem: simple
17
+ build-commands:
18
+ - python3 --version
19
+ - glib-compile-schemas --version
20
+ - echo "GTK VERSION ${TEST_GTK_VERSION}"
21
+ - pip3 install --prefix=${FLATPAK_DEST} pycairo pytest pytest-cov
22
+ - name: pygobject
23
+ buildsystem: meson
24
+ builddir: true
25
+ config-opts:
26
+ - '-Dtests=true'
27
+ sources:
28
+ - type: dir
29
+ path: ..
30
+ run-tests: true
31
+ test-rule: ''
32
+ test-commands:
33
+ # Remove vala-nightly, since it contains an incompatible version of libdbus
34
+ - >-
35
+ LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | sed s/vala-nightly/foobar/)
36
+ meson test -v
37
+ - cd .. && python3 -m coverage lcov -o "coverage/flatpak-${TEST_GTK_VERSION}.py.lcov"
@@ -0,0 +1,9 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ sed -i "/TEST_GTK_VERSION:/s/'.*'/'${TEST_GTK_VERSION:-3.0}'/" .gitlab-ci/org.gnome.PyGObject.Devel.yaml
6
+ xvfb-run -a flatpak-builder --user --keep-build-dirs --verbose --disable-rofiles-fuse flatpak_ci .gitlab-ci/org.gnome.PyGObject.Devel.yaml
7
+
8
+ mv .flatpak-builder/build/pygobject/coverage .
9
+ chmod -R 777 coverage
@@ -101,9 +101,9 @@ sdist:
101
101
  - git config --global --add safe.directory "$CI_PROJECT_DIR"
102
102
  - bash -x ./.gitlab-ci/build-sdists.sh
103
103
 
104
- gnome-master:
104
+ gnome-48:
105
105
  stage: build_and_test
106
- image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master
106
+ image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-48
107
107
  tags:
108
108
  - flatpak
109
109
  parallel:
@@ -0,0 +1,9 @@
1
+ # This is a configuration file for the pre-commit tool.
2
+ # Documentation is available at https://pre-commit.com/#plugins
3
+
4
+ repos:
5
+ - repo: https://github.com/PyCQA/flake8
6
+ rev: 7.1.1
7
+ hooks:
8
+ - id: flake8
9
+
@@ -1,3 +1,10 @@
1
+ 3.50.2 - 2025-10-18
2
+ -------------------
3
+
4
+ * Backport: GLib 2.86/GioUnix compatibility :mr:`458`
5
+ * Backport: async: Use correct T_BOOL type for _asyncio_future_blocking :mr:`367`
6
+ * Backport: Revert "override connection.register_object to prevent an invocation object from leaking" :mr:`404`
7
+
1
8
  3.50.1 - 2025-05-25
2
9
  -------------------
3
10
 
@@ -3356,7 +3363,7 @@ Documentation:
3356
3363
  registered (Paul, :bzbug:`551056`)
3357
3364
  * Fix typos breaking compilation (Frederic Peters :bzbug:`551212`)
3358
3365
  * GFile load_contents methods chop data at first \0
3359
- (Jonathan Matthew, :bzbug:`551059`)
3366
+ (Jonathan Matthew, :bzbug:`551059`)
3360
3367
 
3361
3368
  2.15.4 - 2008-09-03
3362
3369
  -------------------
@@ -3435,7 +3442,7 @@ Documentation:
3435
3442
 
3436
3443
  * Add GIO bindings (Johan, Mario Tagliaretti, Thomas Leonard)
3437
3444
  * Move codegen from PyGTK (Johan, Paul Pogonyshev, :bzbug:`542821`)
3438
- * Add more variables to the .pc files (Damien Carbery, Paul,
3445
+ * Add more variables to the .pc files (Damien Carbery, Paul,
3439
3446
  Dan Winship, :bzbug:`486876`)
3440
3447
  * Add pyg_option_group_new to the public API (Johan)
3441
3448
  * Add g_get_application_anme and g_get_progname (Sebastian Rittau)
@@ -3525,10 +3532,10 @@ Documentation:
3525
3532
 
3526
3533
  * distutils build fixes (Cedric)
3527
3534
  * documentation updates (John)
3528
- * gobject.handler_block_by_func and friends now accept methods
3535
+ * gobject.handler_block_by_func and friends now accept methods
3529
3536
  (Johan, Dima, :bzbug:`375589`)
3530
3537
  * avoid truncating of gparamspec (Yevgen Muntyan, :bzbug:`353943`)
3531
- * set __module__ on gobject derived types (Johan,
3538
+ * set __module__ on gobject derived types (Johan,
3532
3539
  Osmo Salomaa, :bzbug:`376099`)
3533
3540
  * Ensure exceptions are raised on errors in gobject.OptionGroup
3534
3541
  (Johan, Laszlo Pandy, :bzbug:`364576`
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyGObject
3
- Version: 3.50.1
3
+ Version: 3.50.2
4
4
  Summary: Python bindings for GObject Introspection
5
5
  Author-Email: James Henstridge <james@daa.com.au>
6
6
  Maintainer-Email: Christoph Reiter <creiter@src.gnome.org>, Arjan Molenaar <amolenaar@gnome.org>, Dan Yeaw <danyeaw@gnome.org>, Ignacio Casal Quinteiro <icq@gnome.org>
@@ -61,7 +61,7 @@ def _check_require_version(namespace, stacklevel):
61
61
  # namespace or by C code like libpeas
62
62
  return
63
63
 
64
- if namespace in ("GLib", "GObject", "Gio"):
64
+ if namespace in ("GLib", "GObject", "Gio", "GioUnix", "GioWin32"):
65
65
  # part of glib (we have bigger problems if versions change there)
66
66
  return
67
67
 
@@ -19,9 +19,17 @@
19
19
  # USA
20
20
 
21
21
  import warnings
22
+ from contextlib import suppress
22
23
 
23
24
  from .._ossighelper import register_sigint_fallback, get_event_loop
24
- from ..overrides import override, deprecated_init, wrap_list_store_equal_func, wrap_list_store_sort_func
25
+ from ..overrides import (
26
+ override,
27
+ deprecated_attr,
28
+ deprecated_init,
29
+ wrap_list_store_equal_func,
30
+ wrap_list_store_sort_func,
31
+ )
32
+ from .._gi import CallableInfo
25
33
  from ..module import get_introspection_module
26
34
  from gi import PyGIWarning
27
35
 
@@ -89,37 +97,6 @@ class DBusArgInfo(Gio.DBusArgInfo):
89
97
  __all__.append('DBusArgInfo')
90
98
 
91
99
 
92
- @override
93
- class DBusConnection(Gio.DBusConnection):
94
- __init__ = _warn_init(Gio.DBusConnection)
95
-
96
- def register_object(self,
97
- object_path,
98
- interface_info,
99
- method_call_closure=None,
100
- get_property_closure=None,
101
- set_property_closure=None):
102
- if method_call_closure is not None:
103
- def wrapped_method_call_closure(connection, sender, object_path,
104
- interface_name, method_name, parameters,
105
- invocation):
106
- method_call_closure(connection, sender, object_path,
107
- interface_name, method_name, parameters,
108
- invocation)
109
- invocation._unref()
110
- else:
111
- wrapped_method_call_closure = None
112
-
113
- return super().register_object(object_path,
114
- interface_info,
115
- wrapped_method_call_closure,
116
- get_property_closure,
117
- set_property_closure)
118
-
119
-
120
- __all__.append('DBusConnection')
121
-
122
-
123
100
  @override
124
101
  class DBusMethodInfo(Gio.DBusMethodInfo):
125
102
  __init__ = _warn_init(Gio.DBusMethodInfo)
@@ -612,4 +589,67 @@ class File(Gio.File):
612
589
 
613
590
 
614
591
  File = override(File)
615
- __all__.append('File')
592
+ __all__.append("File")
593
+
594
+
595
+ GioPlatform = None
596
+
597
+ with suppress(ImportError):
598
+ from gi.repository import GioUnix as GioPlatform
599
+
600
+ if not GioPlatform:
601
+ with suppress(ImportError):
602
+ from gi.repository import GioWin32 as GioPlatform
603
+
604
+ if GioPlatform:
605
+ # Add support for using platform-specific Gio symbols.
606
+ gio_globals = globals()
607
+
608
+ platform_name = f"{GioPlatform._namespace[len(Gio._namespace):]}"
609
+ platform_name_lower = platform_name.lower()
610
+
611
+ for attr in dir(GioPlatform):
612
+ if attr.startswith("_"):
613
+ continue
614
+
615
+ original_attr = getattr(GioPlatform, attr)
616
+ wrapper_attr = attr
617
+
618
+ if isinstance(
619
+ original_attr, CallableInfo
620
+ ) and original_attr.get_symbol().startswith(f"g_{platform_name_lower}_"):
621
+ wrapper_attr = f"{platform_name_lower}_{attr}"
622
+ else:
623
+ try:
624
+ gtype = getattr(original_attr, "__gtype__")
625
+ if gtype.name.startswith(f"G{platform_name}"):
626
+ wrapper_attr = f"{platform_name}{attr}"
627
+ except AttributeError:
628
+ pass
629
+
630
+ if wrapper_attr == attr and hasattr(Gio, wrapper_attr):
631
+ try:
632
+ name = original_attr.__name__[0]
633
+ except (AttributeError, IndexError):
634
+ name = original_attr
635
+
636
+ # Fallback if we don't have the original name.
637
+ if name.islower():
638
+ wrapper_attr = f"{platform_name_lower}_{attr}"
639
+ elif "_" in name:
640
+ wrapper_attr = f"{platform_name.upper()}_{attr}"
641
+ elif name:
642
+ wrapper_attr = f"{platform_name}{attr}"
643
+
644
+ if (
645
+ wrapper_attr in __all__ or
646
+ wrapper_attr in gio_globals or
647
+ hasattr(Gio, wrapper_attr)
648
+ ):
649
+ continue
650
+
651
+ gio_globals[wrapper_attr] = original_attr
652
+ deprecated_attr(
653
+ Gio._namespace, wrapper_attr, f"{GioPlatform._namespace}.{attr}"
654
+ )
655
+ __all__.append(wrapper_attr)
@@ -0,0 +1,170 @@
1
+ # Copyright 2025 Simon McVittie
2
+ # SPDX-License-Identifier: LGPL-2.1-or-later
3
+
4
+ from ..module import get_introspection_module
5
+ from ..overrides import override
6
+
7
+ from gi.repository import GLib
8
+
9
+ GioUnix = get_introspection_module("GioUnix")
10
+
11
+ __all__ = []
12
+
13
+ if (GLib.MAJOR_VERSION, GLib.MINOR_VERSION) < (2, 86):
14
+ # In older versions of GLib there was some confusion between the
15
+ # platform-specific classes in GioUnix and their equivalents in Gio,
16
+ # resulting in functions like g_desktop_app_info_get_action_name()
17
+ # being assumed to be a global function that happened to take a
18
+ # Gio.DesktopAppInfo first parameter, instead of being a method on a
19
+ # GioUnix.DesktopAppInfo instance. There are not very many classes and
20
+ # methods in GioUnix, so we can wrap them and provide the intended API.
21
+
22
+ @override
23
+ class DesktopAppInfo(GioUnix.DesktopAppInfo):
24
+ def get_action_name(self, action_name):
25
+ return GioUnix.DesktopAppInfo.get_action_name(self, action_name)
26
+
27
+ def get_boolean(self, key):
28
+ return GioUnix.DesktopAppInfo.get_boolean(self, key)
29
+
30
+ def get_categories(self):
31
+ return GioUnix.DesktopAppInfo.get_categories(self)
32
+
33
+ def get_filename(self):
34
+ return GioUnix.DesktopAppInfo.get_filename(self)
35
+
36
+ def get_generic_name(self):
37
+ return GioUnix.DesktopAppInfo.get_generic_name(self)
38
+
39
+ def get_is_hidden(self):
40
+ return GioUnix.DesktopAppInfo.get_is_hidden(self)
41
+
42
+ def get_keywords(self):
43
+ return GioUnix.DesktopAppInfo.get_keywords(self)
44
+
45
+ def get_locale_string(self, key):
46
+ return GioUnix.DesktopAppInfo.get_locale_string(self, key)
47
+
48
+ def get_nodisplay(self):
49
+ return GioUnix.DesktopAppInfo.get_nodisplay(self)
50
+
51
+ def get_show_in(self, desktop_env=None):
52
+ return GioUnix.DesktopAppInfo.get_show_in(self, desktop_env)
53
+
54
+ def get_startup_wm_class(self):
55
+ return GioUnix.DesktopAppInfo.get_startup_wm_class(self)
56
+
57
+ def get_string(self, key):
58
+ return GioUnix.DesktopAppInfo.get_string(self, key)
59
+
60
+ def get_string_list(self, key):
61
+ return GioUnix.DesktopAppInfo.get_string_list(self, key)
62
+
63
+ def has_key(self, key):
64
+ return GioUnix.DesktopAppInfo.has_key(self, key)
65
+
66
+ def launch_action(self, action_name, launch_context=None):
67
+ GioUnix.DesktopAppInfo.launch_action(
68
+ self,
69
+ action_name,
70
+ launch_context,
71
+ )
72
+
73
+ def launch_uris_as_manager(
74
+ self,
75
+ uris,
76
+ launch_context,
77
+ spawn_flags,
78
+ user_setup=None,
79
+ user_setup_data=None,
80
+ pid_callback=None,
81
+ pid_callback_data=None,
82
+ ):
83
+ return GioUnix.DesktopAppInfo.launch_uris_as_manager(
84
+ self,
85
+ uris,
86
+ launch_context,
87
+ spawn_flags,
88
+ user_setup,
89
+ user_setup_data,
90
+ pid_callback,
91
+ pid_callback_data,
92
+ )
93
+
94
+ def launch_uris_as_manager_with_fds(
95
+ self,
96
+ uris,
97
+ launch_context,
98
+ spawn_flags,
99
+ user_setup,
100
+ user_setup_data,
101
+ pid_callback,
102
+ pid_callback_data,
103
+ stdin_fd,
104
+ stdout_fd,
105
+ stderr_fd,
106
+ ):
107
+ return GioUnix.DesktopAppInfo.launch_uris_as_manager_with_fds(
108
+ self,
109
+ uris,
110
+ launch_context,
111
+ spawn_flags,
112
+ user_setup,
113
+ user_setup_data,
114
+ pid_callback,
115
+ pid_callback_data,
116
+ stdin_fd,
117
+ stdout_fd,
118
+ stderr_fd,
119
+ )
120
+
121
+ def list_actions(self):
122
+ return GioUnix.DesktopAppInfo.list_actions(self)
123
+
124
+ __all__.append("DesktopAppInfo")
125
+
126
+ @override
127
+ class FDMessage(GioUnix.FDMessage):
128
+ def append_fd(self, fd):
129
+ return GioUnix.FDMessage.append_fd(self, fd)
130
+
131
+ def get_fd_list(self):
132
+ return GioUnix.FDMessage.get_fd_list(self)
133
+
134
+ def steal_fds(self):
135
+ return GioUnix.FDMessage.steal_fds(self)
136
+
137
+ __all__.append("FDMessage")
138
+
139
+ @override
140
+ class InputStream(GioUnix.InputStream):
141
+ def get_close_fd(self):
142
+ return GioUnix.InputStream.get_close_fd(self)
143
+
144
+ def get_fd(self):
145
+ return GioUnix.InputStream.get_fd(self)
146
+
147
+ def set_close_fd(self, close_fd):
148
+ GioUnix.InputStream.set_close_fd(self, close_fd)
149
+
150
+ __all__.append("InputStream")
151
+
152
+ @override
153
+ class MountMonitor(GioUnix.MountMonitor):
154
+ def set_rate_limit(self, limit_msec):
155
+ GioUnix.MountMonitor.set_rate_limit(limit_msec)
156
+
157
+ __all__.append("MountMonitor")
158
+
159
+ @override
160
+ class OutputStream(GioUnix.OutputStream):
161
+ def get_close_fd(self):
162
+ return GioUnix.OutputStream.get_close_fd(self)
163
+
164
+ def get_fd(self):
165
+ return GioUnix.OutputStream.get_fd(self)
166
+
167
+ def set_close_fd(self, close_fd):
168
+ GioUnix.OutputStream.set_close_fd(self, close_fd)
169
+
170
+ __all__.append("OutputStream")
@@ -5,6 +5,7 @@ python_sources = [
5
5
  'GdkPixbuf.py',
6
6
  'GObject.py',
7
7
  'Gio.py',
8
+ 'GioUnix.py',
8
9
  'GIMarshallingTests.py',
9
10
  'Pango.py',
10
11
  'keysyms.py',
@@ -37,7 +37,7 @@ typedef struct {
37
37
  PyGICallableInfo *finish_func;
38
38
  PyObject *loop;
39
39
  PyObject *cancellable;
40
- int _asyncio_future_blocking;
40
+ char _asyncio_future_blocking;
41
41
  PyObject *result;
42
42
  PyObject *exception;
43
43
 
@@ -1,7 +1,7 @@
1
1
  project(
2
2
  'pygobject',
3
3
  'c',
4
- version : '3.50.1',
4
+ version : '3.50.2',
5
5
  meson_version : '>= 0.64.0',
6
6
  default_options : ['warning_level=1', 'buildtype=debugoptimized']
7
7
  )
@@ -3,6 +3,7 @@
3
3
 
4
4
  import unittest
5
5
 
6
+ import pytest
6
7
  from gi.repository import GLib
7
8
  from gi.repository import Gio
8
9
 
@@ -286,6 +287,7 @@ class TestDBusConnection:
286
287
  bus.unregister_object(reg_id)
287
288
 
288
289
  @unittest.skipUnless(has_dbus, "no dbus running")
290
+ @pytest.mark.xfail()
289
291
  def test_connection_invocation_ref_count(self):
290
292
  """Invocation object should not leak a reference."""
291
293
  invocation, errors = self.run_server(self.client_call)