PyGObject 3.51.0.dev0__tar.gz → 3.52.1__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 (422) hide show
  1. pygobject-3.52.1/.gitlab-ci/build-sdists.sh +20 -0
  2. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci.yml +2 -1
  3. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/NEWS +21 -0
  4. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/PKG-INFO +1 -1
  5. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/conf.py +1 -1
  6. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/devguide/maintguide.rst +0 -3
  7. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/getting_started.rst +1 -1
  8. pygobject-3.52.1/docs/guide/api/flags_enums.rst +82 -0
  9. pygobject-3.52.1/docs/images/pygobject-dark.svg +247 -0
  10. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/index.rst +9 -2
  11. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/index.rst +2 -2
  12. pygobject-3.52.1/gi/_enum.py +54 -0
  13. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_signature.py +13 -6
  14. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/gimodule.c +89 -0
  15. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/meson.build +1 -0
  16. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/Gio.py +4 -32
  17. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygenum.c +136 -36
  18. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygenum.h +3 -0
  19. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygflags.c +127 -36
  20. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygflags.h +2 -0
  21. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-async.c +17 -5
  22. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-cache.c +5 -1
  23. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-foreign-cairo.c +106 -0
  24. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-info.c +42 -32
  25. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-info.h +1 -1
  26. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-repository.c +9 -2
  27. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygobject-object.c +7 -0
  28. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/meson.build +7 -2
  29. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/pyproject.toml +5 -1
  30. pygobject-3.52.1/subprojects/gobject-introspection-tests/.clang-format +12 -0
  31. pygobject-3.52.1/subprojects/gobject-introspection-tests/.editorconfig +14 -0
  32. pygobject-3.52.1/subprojects/gobject-introspection-tests/.gitlab-ci.yml +34 -0
  33. pygobject-3.52.1/subprojects/gobject-introspection-tests/.reuse/dep5 +5 -0
  34. pygobject-3.52.1/subprojects/gobject-introspection-tests/LICENSES/CC0-1.0.txt +121 -0
  35. pygobject-3.52.1/subprojects/gobject-introspection-tests/LICENSES/GPL-2.0-or-later.txt +117 -0
  36. pygobject-3.52.1/subprojects/gobject-introspection-tests/LICENSES/LGPL-2.0-or-later.txt +175 -0
  37. pygobject-3.52.1/subprojects/gobject-introspection-tests/LICENSES/LGPL-2.1-or-later.txt +176 -0
  38. pygobject-3.52.1/subprojects/gobject-introspection-tests/LICENSES/MIT.txt +9 -0
  39. pygobject-3.52.1/subprojects/gobject-introspection-tests/README.md +77 -0
  40. pygobject-3.52.1/subprojects/gobject-introspection-tests/annotation.c +874 -0
  41. pygobject-3.52.1/subprojects/gobject-introspection-tests/annotation.h +320 -0
  42. pygobject-3.52.1/subprojects/gobject-introspection-tests/docs/provenance.txt +103 -0
  43. pygobject-3.52.1/subprojects/gobject-introspection-tests/drawable.c +67 -0
  44. pygobject-3.52.1/subprojects/gobject-introspection-tests/drawable.h +48 -0
  45. pygobject-3.52.1/subprojects/gobject-introspection-tests/foo.c +944 -0
  46. pygobject-3.52.1/subprojects/gobject-introspection-tests/foo.h +572 -0
  47. pygobject-3.52.1/subprojects/gobject-introspection-tests/gimarshallingtests.c +10059 -0
  48. pygobject-3.52.1/subprojects/gobject-introspection-tests/gimarshallingtests.h +2814 -0
  49. pygobject-3.52.1/subprojects/gobject-introspection-tests/gimarshallingtestsextra.c +194 -0
  50. pygobject-3.52.1/subprojects/gobject-introspection-tests/gimarshallingtestsextra.h +70 -0
  51. pygobject-3.52.1/subprojects/gobject-introspection-tests/gitestmacros.h +10 -0
  52. pygobject-3.52.1/subprojects/gobject-introspection-tests/gobject-introspection-tests.doap +111 -0
  53. pygobject-3.52.1/subprojects/gobject-introspection-tests/meson.build +233 -0
  54. pygobject-3.52.1/subprojects/gobject-introspection-tests/meson_options.txt +6 -0
  55. pygobject-3.52.1/subprojects/gobject-introspection-tests/regress-unix.c +40 -0
  56. pygobject-3.52.1/subprojects/gobject-introspection-tests/regress-unix.h +32 -0
  57. pygobject-3.52.1/subprojects/gobject-introspection-tests/regress.c +5183 -0
  58. pygobject-3.52.1/subprojects/gobject-introspection-tests/regress.h +1750 -0
  59. pygobject-3.52.1/subprojects/gobject-introspection-tests/regressextra.c +602 -0
  60. pygobject-3.52.1/subprojects/gobject-introspection-tests/regressextra.h +128 -0
  61. pygobject-3.52.1/subprojects/gobject-introspection-tests/tools/iwyu.imp +9 -0
  62. pygobject-3.52.1/subprojects/gobject-introspection-tests/tools/run_clang_format.sh +9 -0
  63. pygobject-3.52.1/subprojects/gobject-introspection-tests/tools/run_iwyu.sh +10 -0
  64. pygobject-3.52.1/subprojects/gobject-introspection-tests/utility.c +68 -0
  65. pygobject-3.52.1/subprojects/gobject-introspection-tests/utility.h +109 -0
  66. pygobject-3.52.1/subprojects/gobject-introspection-tests/warnlib.c +49 -0
  67. pygobject-3.52.1/subprojects/gobject-introspection-tests/warnlib.h +53 -0
  68. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/subprojects/gobject-introspection-tests.wrap +1 -1
  69. pygobject-3.52.1/subprojects/packagefiles/pythoncapi-compat-dist.py +8 -0
  70. pygobject-3.52.1/subprojects/pythoncapi-compat/.github/workflows/build.yml +100 -0
  71. pygobject-3.52.1/subprojects/pythoncapi-compat/.gitignore +5 -0
  72. pygobject-3.52.1/subprojects/pythoncapi-compat/.meson-subproject-wrap-hash.txt +1 -0
  73. pygobject-3.52.1/subprojects/pythoncapi-compat/.readthedocs.yaml +12 -0
  74. pygobject-3.52.1/subprojects/pythoncapi-compat/CODE_OF_CONDUCT.md +11 -0
  75. pygobject-3.52.1/subprojects/pythoncapi-compat/COPYING +14 -0
  76. pygobject-3.52.1/subprojects/pythoncapi-compat/README.rst +55 -0
  77. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/Makefile +20 -0
  78. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/api.rst +602 -0
  79. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/changelog.rst +123 -0
  80. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/conf.py +53 -0
  81. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/index.rst +29 -0
  82. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/links.rst +29 -0
  83. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/make.bat +35 -0
  84. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/tests.rst +17 -0
  85. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/upgrade.rst +168 -0
  86. pygobject-3.52.1/subprojects/pythoncapi-compat/docs/users.rst +71 -0
  87. pygobject-3.52.1/subprojects/pythoncapi-compat/meson.build +6 -0
  88. pygobject-3.52.1/subprojects/pythoncapi-compat/pythoncapi_compat.h +1520 -0
  89. pygobject-3.52.1/subprojects/pythoncapi-compat/runtests.py +122 -0
  90. pygobject-3.52.1/subprojects/pythoncapi-compat/tests/__init__.py +0 -0
  91. pygobject-3.52.1/subprojects/pythoncapi-compat/tests/setup.py +109 -0
  92. pygobject-3.52.1/subprojects/pythoncapi-compat/tests/test_pythoncapi_compat.py +209 -0
  93. pygobject-3.52.1/subprojects/pythoncapi-compat/tests/test_pythoncapi_compat_cext.c +2025 -0
  94. pygobject-3.52.1/subprojects/pythoncapi-compat/tests/test_pythoncapi_compat_cppext.cpp +4 -0
  95. pygobject-3.52.1/subprojects/pythoncapi-compat/tests/test_upgrade_pythoncapi.py +945 -0
  96. pygobject-3.52.1/subprojects/pythoncapi-compat/tests/utils.py +41 -0
  97. pygobject-3.52.1/subprojects/pythoncapi-compat/upgrade_pythoncapi.py +748 -0
  98. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_cairo.py +14 -0
  99. pygobject-3.52.1/tests/test_enum.py +140 -0
  100. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_gdbus.py +33 -0
  101. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_gi.py +17 -0
  102. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_gobject.py +40 -0
  103. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_signature.py +11 -1
  104. pygobject-3.51.0.dev0/.gitlab-ci/build-sdists.sh +0 -31
  105. pygobject-3.51.0.dev0/docs/guide/api/flags_enums.rst +0 -41
  106. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.clang-format +0 -0
  107. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.coveragerc +0 -0
  108. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.flake8 +0 -0
  109. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitignore +0 -0
  110. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/Dockerfile +0 -0
  111. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/README.rst +0 -0
  112. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/coverage-docker.sh +0 -0
  113. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/fixup-lcov-paths.py +0 -0
  114. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/lcovrc +0 -0
  115. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/run-docker-runtime.sh +0 -0
  116. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/run-docker.sh +0 -0
  117. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/set_env.sh +0 -0
  118. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/test-docker.sh +0 -0
  119. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/test-flatpak.sh +0 -0
  120. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.gitlab-ci/test-msys2.sh +0 -0
  121. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/.pre-commit-config.yaml +0 -0
  122. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/COPYING +0 -0
  123. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/METADATA.in +0 -0
  124. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/README.rst +0 -0
  125. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/Makefile +0 -0
  126. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/bugs_repo.rst +0 -0
  127. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/changelog.rst +0 -0
  128. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/contact.rst +0 -0
  129. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/devguide/dev_environ.rst +0 -0
  130. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/devguide/index.rst +0 -0
  131. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/devguide/override_guidelines.rst +0 -0
  132. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/devguide/overview.rst +0 -0
  133. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/devguide/packagingguide.rst +0 -0
  134. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/devguide/style_guide.rst +0 -0
  135. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/extra.css +0 -0
  136. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/api.rst +0 -0
  137. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/basic_types.rst +0 -0
  138. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/error_handling.rst +0 -0
  139. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/gobject.rst +0 -0
  140. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/index.rst +0 -0
  141. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/properties.rst +0 -0
  142. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/signals.rst +0 -0
  143. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/api/weakrefs.rst +0 -0
  144. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/asynchronous.rst +0 -0
  145. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/cairo_integration.rst +0 -0
  146. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/code/cairo-demo.py +0 -0
  147. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/debug_profile.rst +0 -0
  148. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/deploy.rst +0 -0
  149. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/download_asyncio.py +0 -0
  150. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/download_callback.py +0 -0
  151. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/faq.rst +0 -0
  152. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/flatpaking.rst +0 -0
  153. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/gtk_template.rst +0 -0
  154. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/images/cairo_integration.png +0 -0
  155. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/imports.rst +0 -0
  156. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/index.rst +0 -0
  157. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/porting.rst +0 -0
  158. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/sysdeps.rst +0 -0
  159. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/testing.rst +0 -0
  160. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/guide/threading.rst +0 -0
  161. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/icons.rst +0 -0
  162. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/LICENSE +0 -0
  163. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/favicon.ico +0 -0
  164. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/logo.svg +0 -0
  165. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/overview-dark.svg +0 -0
  166. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/overview.dia +0 -0
  167. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/overview.svg +0 -0
  168. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/pygobject-small.svg +0 -0
  169. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/pygobject.svg +0 -0
  170. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/start_linux.png +0 -0
  171. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/start_macos.png +0 -0
  172. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/images/start_windows.png +0 -0
  173. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/_static/custom.css +0 -0
  174. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gobject/basics.rst +0 -0
  175. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gobject/examples/listmodel.py +0 -0
  176. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gobject/interfaces.rst +0 -0
  177. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gobject/subclassing.rst +0 -0
  178. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gobject.rst +0 -0
  179. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk3.rst +0 -0
  180. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/application.rst +0 -0
  181. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/basics.rst +0 -0
  182. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/clipboard.rst +0 -0
  183. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/buttons.rst +0 -0
  184. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/check-radio-buttons.rst +0 -0
  185. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/dropdown.rst +0 -0
  186. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/entries.rst +0 -0
  187. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/button.py +0 -0
  188. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/check_radio_buttons.py +0 -0
  189. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/dropdown.py +0 -0
  190. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/entries.py +0 -0
  191. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/linkbutton.py +0 -0
  192. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/spinbutton.py +0 -0
  193. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/switch.py +0 -0
  194. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/examples/togglebutton.py +0 -0
  195. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/button.png +0 -0
  196. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/check_radio_buttons.png +0 -0
  197. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/dropdown.png +0 -0
  198. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/entries.png +0 -0
  199. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/linkbutton.png +0 -0
  200. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/spinbutton.png +0 -0
  201. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/switch.png +0 -0
  202. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/images/togglebutton.png +0 -0
  203. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/scale.rst +0 -0
  204. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/spinbutton.rst +0 -0
  205. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls/switch.rst +0 -0
  206. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/controls.rst +0 -0
  207. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/examples/label.py +0 -0
  208. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/examples/picture.py +0 -0
  209. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/examples/progressbar.py +0 -0
  210. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/examples/spinner.py +0 -0
  211. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/examples/spinner_ext.py +0 -0
  212. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/image.rst +0 -0
  213. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/images/label.png +0 -0
  214. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/images/picture.png +0 -0
  215. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/images/progressbar.png +0 -0
  216. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/images/spinner.png +0 -0
  217. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/images/spinner_ext.png +0 -0
  218. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/label.rst +0 -0
  219. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/picture.rst +0 -0
  220. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/progressbar.rst +0 -0
  221. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets/spinner.rst +0 -0
  222. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/display-widgets.rst +0 -0
  223. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/drag-and-drop.rst +0 -0
  224. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/application.py +0 -0
  225. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/clipboard.py +0 -0
  226. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/drag_and_drop.py +0 -0
  227. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/extended_example.py +0 -0
  228. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_box.py +0 -0
  229. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_center.py +0 -0
  230. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_flowbox.py +0 -0
  231. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_grid.py +0 -0
  232. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_headerbar.py +0 -0
  233. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_listbox.py +0 -0
  234. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_notebook.py +0 -0
  235. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/layout_stack.py +0 -0
  236. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/popover.py +0 -0
  237. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/popover_menu.py +0 -0
  238. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/simple_example.py +0 -0
  239. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/examples/textview.py +0 -0
  240. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/application.png +0 -0
  241. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/basic_example.png +0 -0
  242. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/clipboard.png +0 -0
  243. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/drag_and_drop.png +0 -0
  244. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/extended_example.png +0 -0
  245. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_box.png +0 -0
  246. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_center.png +0 -0
  247. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_flowbox.png +0 -0
  248. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_grid.png +0 -0
  249. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_headerbar.png +0 -0
  250. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_listbox.png +0 -0
  251. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_notebook.png +0 -0
  252. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/layout_stack.png +0 -0
  253. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/popover.png +0 -0
  254. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/popover_menu.png +0 -0
  255. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/images/textview.png +0 -0
  256. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/introduction.rst +0 -0
  257. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/layout-widgets.rst +0 -0
  258. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/popovers.rst +0 -0
  259. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4/textview.rst +0 -0
  260. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/gtk4.rst +0 -0
  261. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/libadwaita/application.rst +0 -0
  262. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/docs/tutorials/libadwaita.rst +0 -0
  263. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/__init__.py +0 -0
  264. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_constants.py +0 -0
  265. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_error.py +0 -0
  266. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_gtktemplate.py +0 -0
  267. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_option.py +0 -0
  268. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_ossighelper.py +0 -0
  269. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_propertyhelper.py +0 -0
  270. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/_signalhelper.py +0 -0
  271. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/docstring.py +0 -0
  272. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/events.py +0 -0
  273. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/gimodule.h +0 -0
  274. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/importer.py +0 -0
  275. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/module.py +0 -0
  276. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/GIMarshallingTests.py +0 -0
  277. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/GLib.py +0 -0
  278. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/GObject.py +0 -0
  279. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/Gdk.py +0 -0
  280. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/GdkPixbuf.py +0 -0
  281. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/Gtk.py +0 -0
  282. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/Pango.py +0 -0
  283. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/__init__.py +0 -0
  284. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/overrides/meson.build +0 -0
  285. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygboxed.c +0 -0
  286. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygboxed.h +0 -0
  287. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-argument.c +0 -0
  288. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-argument.h +0 -0
  289. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-array.c +0 -0
  290. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-array.h +0 -0
  291. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-async.h +0 -0
  292. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-basictype.c +0 -0
  293. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-basictype.h +0 -0
  294. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-boxed.c +0 -0
  295. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-boxed.h +0 -0
  296. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-cache.h +0 -0
  297. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-ccallback.c +0 -0
  298. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-ccallback.h +0 -0
  299. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-closure.c +0 -0
  300. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-closure.h +0 -0
  301. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-enum-marshal.c +0 -0
  302. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-enum-marshal.h +0 -0
  303. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-error.c +0 -0
  304. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-error.h +0 -0
  305. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-foreign-api.h +0 -0
  306. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-foreign.c +0 -0
  307. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-foreign.h +0 -0
  308. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-fundamental.c +0 -0
  309. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-fundamental.h +0 -0
  310. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-hashtable.c +0 -0
  311. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-hashtable.h +0 -0
  312. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-invoke-state-struct.h +0 -0
  313. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-invoke.c +0 -0
  314. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-invoke.h +0 -0
  315. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-list.c +0 -0
  316. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-list.h +0 -0
  317. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-marshal-cleanup.c +0 -0
  318. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-marshal-cleanup.h +0 -0
  319. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-object.c +0 -0
  320. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-object.h +0 -0
  321. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-property.c +0 -0
  322. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-property.h +0 -0
  323. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-repository.h +0 -0
  324. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-resulttuple.c +0 -0
  325. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-resulttuple.h +0 -0
  326. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-signal-closure.c +0 -0
  327. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-signal-closure.h +0 -0
  328. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-source.c +0 -0
  329. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-source.h +0 -0
  330. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-struct-marshal.c +0 -0
  331. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-struct-marshal.h +0 -0
  332. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-struct.c +0 -0
  333. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-struct.h +0 -0
  334. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-type.c +0 -0
  335. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-type.h +0 -0
  336. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-util.c +0 -0
  337. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-util.h +0 -0
  338. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-value.c +0 -0
  339. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygi-value.h +0 -0
  340. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pyginterface.c +0 -0
  341. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pyginterface.h +0 -0
  342. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygobject-internal.h +0 -0
  343. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygobject-object.h +0 -0
  344. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygobject.h +0 -0
  345. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygoptioncontext.c +0 -0
  346. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygoptioncontext.h +0 -0
  347. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygoptiongroup.c +0 -0
  348. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygoptiongroup.h +0 -0
  349. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygpointer.c +0 -0
  350. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygpointer.h +0 -0
  351. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygspawn.c +0 -0
  352. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygspawn.h +0 -0
  353. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/pygtkcompat.py +0 -0
  354. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/repository/__init__.py +0 -0
  355. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/repository/meson.build +0 -0
  356. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/gi/types.py +0 -0
  357. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/meson_options.txt +0 -0
  358. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/pygobject-3.0.pc.in +0 -0
  359. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/pygobject.doap +0 -0
  360. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/pygtkcompat/__init__.py +0 -0
  361. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/pygtkcompat/meson.build +0 -0
  362. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/pygtkcompat/pygtkcompat.py +0 -0
  363. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/subprojects/glib.wrap +0 -0
  364. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/subprojects/gobject-introspection.wrap +0 -0
  365. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/subprojects/libffi.wrap +0 -0
  366. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/subprojects/packagefiles/pythoncapi-compat-meson.diff +0 -0
  367. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/subprojects/pycairo.wrap +0 -0
  368. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/subprojects/pythoncapi-compat.wrap +0 -0
  369. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/conftest.py +0 -0
  370. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/gi/overrides/Regress.py +0 -0
  371. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/gi/overrides/__init__.py +0 -0
  372. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/helper.py +0 -0
  373. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/meson.build +0 -0
  374. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/org.gnome.test.gschema.xml +0 -0
  375. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test-floating.c +0 -0
  376. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test-floating.h +0 -0
  377. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test-thread.c +0 -0
  378. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test-thread.h +0 -0
  379. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test-unknown.c +0 -0
  380. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test-unknown.h +0 -0
  381. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_async.py +0 -0
  382. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_atoms.py +0 -0
  383. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_docstring.py +0 -0
  384. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_error.py +0 -0
  385. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_events.py +0 -0
  386. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_everything.py +0 -0
  387. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_fields.py +0 -0
  388. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_fundamental.py +0 -0
  389. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_gio.py +0 -0
  390. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_glib.py +0 -0
  391. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_gtk_template.py +0 -0
  392. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_gtype.py +0 -0
  393. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_import_machinery.py +0 -0
  394. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_interface.py +0 -0
  395. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_internal_api.py +0 -0
  396. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_iochannel.py +0 -0
  397. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_mainloop.py +0 -0
  398. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_object_marshaling.py +0 -0
  399. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_option.py +0 -0
  400. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_ossig.py +0 -0
  401. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_overrides_gdk.py +0 -0
  402. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_overrides_gdkpixbuf.py +0 -0
  403. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_overrides_gio.py +0 -0
  404. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_overrides_glib.py +0 -0
  405. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_overrides_gobject.py +0 -0
  406. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_overrides_gtk.py +0 -0
  407. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_overrides_pango.py +0 -0
  408. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_properties.py +0 -0
  409. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_pycapi.py +0 -0
  410. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_pygtkcompat.py +0 -0
  411. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_repository.py +0 -0
  412. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_resulttuple.py +0 -0
  413. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_signal.py +0 -0
  414. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_source.py +0 -0
  415. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_subprocess.py +0 -0
  416. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_thread.py +0 -0
  417. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_typeclass.py +0 -0
  418. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/test_unknown.py +0 -0
  419. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/testhelpermodule.c +0 -0
  420. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tests/valgrind.supp +0 -0
  421. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tools/mkmetadata.py +0 -0
  422. {pygobject-3.51.0.dev0 → pygobject-3.52.1}/tools/pygi-convert.sh +0 -0
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ python -m pip install --upgrade pdm
6
+ python -m pdm build
7
+
8
+ VERSION=$(grep version meson.build | head -1 | sed "s/^.*'\([0-9\.]*\)'.*$/\1/")
9
+
10
+ if [[ "$VERSION" =~ ^[0-9]\.[0-9]*[13579]\. ]]
11
+ then
12
+ cat << EOF
13
+
14
+ ****************** ATTENTION ******************
15
+ This is an UNstable release.
16
+ Do NOT upload this release to PyPI.
17
+ ****************** ATTENTION ******************
18
+
19
+ EOF
20
+ fi
@@ -11,7 +11,7 @@ stages:
11
11
  - deploy
12
12
 
13
13
  variables:
14
- TARBALL_ARTIFACT_PATH: "dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
14
+ TARBALL_ARTIFACT_PATH: "dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.gz"
15
15
 
16
16
  default:
17
17
  image: registry.gitlab.gnome.org/gnome/pygobject/main:v26
@@ -106,6 +106,7 @@ pages:
106
106
  expire_in: 30 days
107
107
  rules:
108
108
  - if: $CI_COMMIT_BRANCH == "main"
109
+ - if: $CI_COMMIT_TAG
109
110
 
110
111
  sdist:
111
112
  stage: build_and_test
@@ -1,3 +1,24 @@
1
+ 3.52.1 - 2025-03-09
2
+ -------------------
3
+
4
+ Fixed release pipeline
5
+
6
+ 3.52.0 - 2025-03-09
7
+ -------------------
8
+
9
+ From this version onwards girepository-2.0 is used for introspection.
10
+ This means that you'll need GLib >= 2.80.
11
+
12
+ * Fix invocation of async constructors :mr:`414`
13
+ * Use keyword module to find out if function or parameter is a keyword :mr:`412`
14
+ * Revert change that should prevent a memory leak in DBus invocation; this is now solved in GLib :mr:`404`
15
+ * Make sure function/method signature parameters have unique names :mr:`410`
16
+ * Support registering new enum and flags types from Python :mr:`400`
17
+ * Only release a python-compatible tarball :mr:`401` :mr:`411`
18
+ * GObject-based classes can now override the (`do`)`dispose` method :mr:`197`
19
+ * Add mappings to Cairo foreign types `cairo_font_face_t` / `cairo_scaled_font_t` :mr:`236` :mr:`403`
20
+
21
+
1
22
  3.51.0 - 2025-02-01 (pre-release)
2
23
  ---------------------------------
3
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyGObject
3
- Version: 3.51.0.dev0
3
+ Version: 3.52.1
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>
@@ -9,7 +9,7 @@ intersphinx_mapping = {
9
9
  'python': ('https://docs.python.org/3', None),
10
10
  'cairo': ('https://pycairo.readthedocs.io/en/latest', None),
11
11
  'apidocs': (
12
- 'https://amolenaar.pages.gitlab.gnome.org/pygobject-docs',
12
+ 'https://api.pygobject.gnome.org/',
13
13
  None,
14
14
  ),
15
15
  }
@@ -14,9 +14,6 @@ Making a Release
14
14
  #. In case of a stable release, upload to PyPI:
15
15
  ``twine upload dist/pygobject-3.X.Y.tar.gz``
16
16
  #. Commit post-release version bump to pyproject.toml
17
- #. Upload tarball: ``scp dist/pygobject-3.X.Y.tar.gz user@master.gnome.org:``
18
- #. Install tarball:
19
- ``ssh user@master.gnome.org 'ftpadmin install pygobject-3.X.Y.tar.xz'``
20
17
  #. In case the release happens on a stable branch copy the NEWS changes to
21
18
  the main branch
22
19
 
@@ -44,7 +44,7 @@ and their dependencies. Follow the instructions for your platform below.
44
44
  ======================================================= ==================================================== ==========================================================
45
45
 
46
46
  After running the example application have a look at the :doc:`/tutorials/index` for an overview of how to create GTK apps and the `GNOME Python API docs
47
- <https://amolenaar.pages.gitlab.gnome.org/pygobject-docs>`__ for API documentation for all supported
47
+ <https://api.pygobject.gnome.org/>`__ for API documentation for all supported
48
48
  libraries.
49
49
 
50
50
  For full IDE support (incl. autocomplete) you will also need typing stubs available here `PyGObject-stubs <https://pypi.org/project/PyGObject-stubs/>`_.
@@ -0,0 +1,82 @@
1
+ .. currentmodule:: gi.repository
2
+
3
+ =============
4
+ Flags & Enums
5
+ =============
6
+
7
+ Flags are subclasses of :class:`GObject.GFlags`, which in turn is a
8
+ subclass of the standard library :class:`enum.IntFlag`. They represent
9
+ bit fields where some bits also have names:
10
+
11
+ .. code:: pycon
12
+
13
+ >>> Gtk.DialogFlags.MODAL
14
+ <DialogFlags.MODAL: 1>
15
+ >>> Gtk.DialogFlags.MODAL | Gtk.DialogFlags.DESTROY_WITH_PARENT
16
+ <DialogFlags.MODAL|DESTROY_WITH_PARENT: 3>
17
+ >>> int(_)
18
+ 3
19
+ >>> Gtk.DialogFlags(3)
20
+ <DialogFlags.MODAL|DESTROY_WITH_PARENT: 3>
21
+ >>> isinstance(Gtk.DialogFlags.MODAL, Gtk.DialogFlags)
22
+ True
23
+ >>>
24
+
25
+ Bitwise operations on them will produce a value of the same type.
26
+
27
+
28
+ Enums are subclasses of :class:`GObject.GEnum`, which in turn is a
29
+ subclass of the standard library :class:`enum.IntEnum`. They represent
30
+ a list of named constants:
31
+
32
+ .. code:: pycon
33
+
34
+ >>> Gtk.Align.CENTER
35
+ <Align.CENTER: 3>
36
+ >>> int(Gtk.Align.CENTER)
37
+ 3
38
+ >>> int(Gtk.Align.END)
39
+ 2
40
+ >>> Gtk.Align(1)
41
+ <Align.START: 1>
42
+ >>> isinstance(Gtk.Align.CENTER, Gtk.Align)
43
+ True
44
+
45
+ Creating New Enums and Flags
46
+ ----------------------------
47
+
48
+ New enumerations and flags types can be defined by subclassing
49
+ :class:`GObject.GEnum` or :class:`GObject.GFlags` in the same way as
50
+ standard library enumerations. A new GType is registered
51
+ automatically.
52
+
53
+ .. code:: pycon
54
+
55
+ >>> from gi.repository import GObject
56
+ >>> class E(GObject.GEnum):
57
+ ... ONE = 1
58
+ ... TWO = 2
59
+ ...
60
+ >>> E.ONE
61
+ <E.ONE: 1>
62
+ >>> E.ONE.value_name
63
+ 'ONE'
64
+ >>> E.ONE.value_nick
65
+ 'one'
66
+ >>> E.__gtype__
67
+ <GType __main__+E (1014834640)>
68
+ >>> E.__gtype__.name
69
+ '__main__+E'
70
+
71
+ The GType name can be set explicitly by providing a ``__gtype_name__``
72
+ attribute:
73
+
74
+ .. code:: pycon
75
+
76
+ >>> from gi.repository import GObject
77
+ >>> class MyEnum(GObject.GEnum):
78
+ ... __gtype_name__ = "MyEnum"
79
+ ... ONE = 1
80
+ ...
81
+ >>> MyEnum.__gtype__
82
+ <GType MyEnum (767309744)>
@@ -0,0 +1,247 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ version="1.0"
6
+ width="392.86777"
7
+ height="96.050858"
8
+ id="svg6843"
9
+ sodipodi:docname="pygobject-dark.svg"
10
+ inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
13
+ xmlns:xlink="http://www.w3.org/1999/xlink"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg"
16
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
17
+ xmlns:cc="http://creativecommons.org/ns#"
18
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
19
+ <metadata
20
+ id="metadata12">
21
+ <rdf:RDF>
22
+ <cc:Work
23
+ rdf:about="">
24
+ <dc:format>image/svg+xml</dc:format>
25
+ <dc:type
26
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
27
+ <dc:title />
28
+ </cc:Work>
29
+ </rdf:RDF>
30
+ </metadata>
31
+ <sodipodi:namedview
32
+ pagecolor="#000000"
33
+ bordercolor="#666666"
34
+ borderopacity="1"
35
+ objecttolerance="10"
36
+ gridtolerance="10"
37
+ guidetolerance="10"
38
+ inkscape:pageopacity="0"
39
+ inkscape:pageshadow="2"
40
+ inkscape:window-width="2256"
41
+ inkscape:window-height="1435"
42
+ id="namedview10"
43
+ showgrid="false"
44
+ inkscape:zoom="1.2285173"
45
+ inkscape:cx="135.93622"
46
+ inkscape:cy="-1.6279787"
47
+ inkscape:window-x="0"
48
+ inkscape:window-y="0"
49
+ inkscape:window-maximized="1"
50
+ inkscape:current-layer="text4518"
51
+ inkscape:showpageshadow="2"
52
+ inkscape:pagecheckerboard="0"
53
+ inkscape:deskcolor="#d1d1d1" />
54
+ <defs
55
+ id="defs6845">
56
+ <linearGradient
57
+ inkscape:collect="always"
58
+ id="linearGradient4534">
59
+ <stop
60
+ style="stop-color:#ffffff;stop-opacity:1;"
61
+ offset="0"
62
+ id="stop4530" />
63
+ <stop
64
+ style="stop-color:#ffffff;stop-opacity:0;"
65
+ offset="1"
66
+ id="stop4532" />
67
+ </linearGradient>
68
+ <linearGradient
69
+ inkscape:collect="always"
70
+ id="linearGradient4522">
71
+ <stop
72
+ style="stop-color:#ffffff;stop-opacity:1;"
73
+ offset="0"
74
+ id="stop4518" />
75
+ <stop
76
+ style="stop-color:#ffffff;stop-opacity:0;"
77
+ offset="1"
78
+ id="stop4520" />
79
+ </linearGradient>
80
+ <linearGradient
81
+ inkscape:collect="always"
82
+ id="linearGradient4660">
83
+ <stop
84
+ style="stop-color:#646464;stop-opacity:1;"
85
+ offset="0"
86
+ id="stop4656" />
87
+ <stop
88
+ style="stop-color:#ffffff;stop-opacity:1"
89
+ offset="1"
90
+ id="stop4658" />
91
+ </linearGradient>
92
+ <linearGradient
93
+ inkscape:collect="always"
94
+ id="linearGradient4652">
95
+ <stop
96
+ style="stop-color:#5a9fd4;stop-opacity:1;"
97
+ offset="0"
98
+ id="stop4648" />
99
+ <stop
100
+ style="stop-color:#ffffff;stop-opacity:0.94650203"
101
+ offset="1"
102
+ id="stop4650" />
103
+ </linearGradient>
104
+ <linearGradient
105
+ inkscape:collect="always"
106
+ id="linearGradient4644">
107
+ <stop
108
+ style="stop-color:#edd400;stop-opacity:1;"
109
+ offset="0"
110
+ id="stop4640" />
111
+ <stop
112
+ style="stop-color:#ffffff;stop-opacity:1"
113
+ offset="1"
114
+ id="stop4642" />
115
+ </linearGradient>
116
+ <linearGradient
117
+ inkscape:collect="always"
118
+ xlink:href="#linearGradient4644"
119
+ id="linearGradient4646"
120
+ x1="53.816978"
121
+ y1="111.10486"
122
+ x2="20.88413"
123
+ y2="30.82696"
124
+ gradientUnits="userSpaceOnUse" />
125
+ <linearGradient
126
+ inkscape:collect="always"
127
+ xlink:href="#linearGradient4652"
128
+ id="linearGradient4654"
129
+ x1="70.43454"
130
+ y1="17.875593"
131
+ x2="53.816978"
132
+ y2="111.10486"
133
+ gradientUnits="userSpaceOnUse"
134
+ spreadMethod="pad" />
135
+ <linearGradient
136
+ inkscape:collect="always"
137
+ xlink:href="#linearGradient4660"
138
+ id="linearGradient4662"
139
+ x1="23.216625"
140
+ y1="81.319481"
141
+ x2="107.33282"
142
+ y2="39.060543"
143
+ gradientUnits="userSpaceOnUse" />
144
+ <linearGradient
145
+ inkscape:collect="always"
146
+ xlink:href="#linearGradient4522"
147
+ id="linearGradient4524"
148
+ x1="70.587303"
149
+ y1="17.177763"
150
+ x2="70.485733"
151
+ y2="67.361443"
152
+ gradientUnits="userSpaceOnUse" />
153
+ <linearGradient
154
+ inkscape:collect="always"
155
+ xlink:href="#linearGradient4534"
156
+ id="linearGradient4536"
157
+ x1="69.029457"
158
+ y1="87.363297"
159
+ x2="70.373047"
160
+ y2="68.046875"
161
+ gradientUnits="userSpaceOnUse" />
162
+ </defs>
163
+ <g
164
+ transform="translate(-19.822261,-15.90723)"
165
+ id="layer1">
166
+ <g
167
+ id="g4527"
168
+ transform="translate(0,-0.20854102)">
169
+ <path
170
+ inkscape:connector-curvature="0"
171
+ style="display:inline;opacity:1;fill:url(#linearGradient4654);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12400007;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
172
+ id="path6976"
173
+ d="M 20.88413,30.82696 53.816977,55.527708 107.33282,39.060543 70.587303,17.177763 Z" />
174
+ <path
175
+ inkscape:connector-curvature="0"
176
+ style="display:inline;fill:url(#linearGradient4662);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
177
+ id="path6978"
178
+ d="M 22.94243,82.287118 20.88413,30.82696 53.816977,55.527708 v 55.577152 z" />
179
+ <path
180
+ inkscape:connector-curvature="0"
181
+ style="display:inline;opacity:1;fill:url(#linearGradient4646);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
182
+ id="path6980"
183
+ d="M 53.816977,111.10486 103.21619,90.5207 107.33282,39.060543 53.816977,55.527708 Z" />
184
+ <path
185
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient4536);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
186
+ d="m 70.597656,66.675781 -47.558594,14.044922 0.355469,1.197266 46.978516,-13.871094 32.652343,22.910156 0.71875,-1.023437 z"
187
+ id="path6982"
188
+ inkscape:connector-curvature="0" />
189
+ <path
190
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient4524);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
191
+ d="m 69.808594,17.875 v 49.109375 h 1.25 V 17.875 Z"
192
+ id="path6984"
193
+ inkscape:connector-curvature="0" />
194
+ </g>
195
+ <g
196
+ aria-label="PyGObject"
197
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:25px;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:-2px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
198
+ id="text4518"
199
+ transform="matrix(0.73060434,0,0,0.73060434,39.415227,17.281548)">
200
+ <path
201
+ d="m 134.29489,66.572751 c 14.8,0 26.88,-2.96 26.88,-17.44 0,-10.96 -7.68,-16.4 -22.96,-16.4 h -18.32 v 55.36 h 9.84 v -21.52 z m 16.8,-17.04 c 0,7.44 -7.76,8 -16.4,8 h -4.96 v -15.76 h 7.44 c 7.36,0 13.92,0.96 13.92,7.76 z"
202
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
203
+ id="path4529"
204
+ inkscape:connector-curvature="0" />
205
+ <path
206
+ d="m 164.91864,49.612751 17.44,38.8 -8.8,20.399999 h 10.8 l 23.6,-59.199999 h -10.16 l -10.4,29.52 -11.44,-29.52 z"
207
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
208
+ id="path4531"
209
+ inkscape:connector-curvature="0" />
210
+ <path
211
+ d="m 211.70114,60.092751 c 0,18.64 11.12,28.8 27.68,28.8 9.68,0 17.04,-2.4 22.4,-6.64 v -25.44 h -24.4 v 9.04 h 14.56 v 11.68 c -3.28,1.6 -5.84,2.32 -10.96,2.32 -11.28,0 -19.44,-6.48 -19.44,-20.16 0,-12.96 6.08,-19.04 19.68,-19.04 6.4,0 12,2.24 16.24,4.4 l 2.72,-8.72 c -5.28,-3.2 -12.48,-4.72 -19.2,-4.72 -19.52,0 -29.28,11.36 -29.28,28.48 z"
212
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
213
+ id="path4533"
214
+ inkscape:connector-curvature="0" />
215
+ <path
216
+ d="m 297.97114,31.612751 c -16.48,0 -27.52,11.92 -27.52,28.64 0,16.8 10.88,28.64 27.2,28.64 16.8,0 27.84,-12.24 27.84,-29.2 0,-16.64 -11.04,-28.08 -27.52,-28.08 z m -0.4,9.04 c 11.12,0 18.08,8.08 18.08,19.6 0,11.52 -6.24,19.6 -17.36,19.6 -11.2,0 -18,-8.72 -18,-20.24 0,-11.28 6.32,-18.96 17.28,-18.96 z"
217
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
218
+ id="path4535"
219
+ inkscape:connector-curvature="0" />
220
+ <path
221
+ d="m 340.09739,88.092751 1.92,-2.48 c 3.84,2.24 7.68,3.28 11.6,3.28 11.52,0 18.32,-8.56 18.32,-20.24 0,-11.68 -4.72,-19.92 -16.56,-19.92 -4.56,0 -8.32,1.12 -11.6,2.8 v -20.88 h -9.84 v 57.44 z m 3.68,-29.2 c 1.92,-0.8 5.68,-2.16 9.2,-2.16 6.88,0 9.12,4.96 9.12,12.48 0,7.52 -3.52,11.92 -10.08,11.92 -3.2,0 -5.92,-0.8 -8.24,-2.64 z"
222
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
223
+ id="path4537"
224
+ inkscape:connector-curvature="0" />
225
+ <path
226
+ d="m 385.06739,44.972751 c 3.12,0 5.92,-2.8 5.92,-5.92 0,-3.12 -2.8,-5.92 -5.92,-5.92 -3.12,0 -5.92,2.8 -5.92,5.92 0,3.12 2.8,5.92 5.92,5.92 z m -8.48,56.319999 c -1.2,0 -2.24,-0.24 -2.24,-0.24 l -1.92,7.36 c 0,0 2.64,0.8 5.44,0.8 10.16,0 12.24,-6.96 12.24,-13.999999 v -45.6 h -9.84 v 43.6 c 0,4.96 -0.56,8.079999 -3.68,8.079999 z"
227
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
228
+ id="path4539"
229
+ inkscape:connector-curvature="0" />
230
+ <path
231
+ d="m 420.17989,81.132751 c -9.44,0 -11.6,-4.08 -12,-9.04 h 26.4 v -3.76 c 0,-12.56 -5.92,-19.6 -17.44,-19.6 -11.44,0 -18.88,8.96 -18.88,20.08 0,12.48 7.68,20.08 20.64,20.08 5.12,0 10.08,-0.88 14.8,-2.4 l -1.92,-7.36 c -3.52,1.36 -7.36,2 -11.6,2 z m -11.92,-15.84 c 0.48,-4.64 2.48,-8.96 9.04,-8.96 4.8,0 7.44,2.8 7.44,8.96 z"
232
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
233
+ id="path4541"
234
+ inkscape:connector-curvature="0" />
235
+ <path
236
+ d="m 450.44364,68.812751 c 0,-7.44 4.4,-12.4 12.8,-12.4 5.04,0 7.84,1.2 9.6,2.16 l 1.92,-7.36 c -1.92,-1.2 -5.44,-2.48 -12.56,-2.48 -13.2,0 -21.6,7.76 -21.6,20.08 0,12 8.72,20.08 21.92,20.08 6.08,0 11.04,-1.76 12.4,-2.4 l -1.92,-7.36 c -1.68,0.8 -4.72,2.08 -9.76,2.08 -7.92,0 -12.8,-5.12 -12.8,-12.4 z"
237
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
238
+ id="path4543"
239
+ inkscape:connector-curvature="0" />
240
+ <path
241
+ d="m 510.91239,86.732751 -1.44,-6.8 c -1.44,0.4 -4.4,1.12 -7.12,1.12 -5.28,0 -6.48,-2.64 -6.48,-5.6 v -18.16 h 13.28 v -7.68 h -13.28 v -12.08 h -9.84 v 12.08 h -6.4 v 7.68 h 6.4 v 18.4 c 0,6.8 1.68,13.2 13.92,13.2 3.68,0 8.24,-1.12 10.96,-2.16 z"
242
+ style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:80px;font-family:Cantarell;-inkscape-font-specification:'Cantarell Bold';letter-spacing:0px;word-spacing:0px;fill:#d0d0d0;fill-opacity:1"
243
+ id="path4545"
244
+ inkscape:connector-curvature="0" />
245
+ </g>
246
+ </g>
247
+ </svg>
@@ -17,6 +17,13 @@
17
17
  :align: center
18
18
  :width: 400px
19
19
  :height: 98px
20
+ :class: only-light
21
+
22
+ .. image:: images/pygobject-dark.svg
23
+ :align: center
24
+ :width: 400px
25
+ :height: 98px
26
+ :class: only-dark
20
27
 
21
28
  |
22
29
 
@@ -29,7 +36,7 @@ If you want to write a Python application for `GNOME
29
36
  PyGObject is the way to go. To get started, check out the "`GNOME Developer Documentation
30
37
  <https://developer.gnome.org/documentation/tutorials/beginners.html>`__". For more
31
38
  information on specific libraries, check out the
32
- `GNOME Python API documentation <https://amolenaar.pages.gitlab.gnome.org/pygobject-docs/>`__.
39
+ `GNOME Python API documentation <https://api.pygobject.gnome.org/>`__.
33
40
 
34
41
  .. code:: python
35
42
 
@@ -136,6 +143,6 @@ Further Resources
136
143
  `GNOME Developer Documentation <https://developer.gnome.org/documentation/tutorials/beginners.html>`__
137
144
  Tutorials for creating a GNOME application using PyGObject, GTK 4, and Libadwaita.
138
145
 
139
- `GNOME Python API documentation <https://amolenaar.pages.gitlab.gnome.org/pygobject-docs/>`__
146
+ `GNOME Python API documentation <https://api.pygobject.gnome.org/>`__
140
147
  Auto generated API documentation for many libraries accessible through
141
148
  PyGObject.
@@ -16,7 +16,7 @@ Although here we try to describe the most important classes and methods from
16
16
  GObject based libraries like GTK, it is not supposed to serve as an API
17
17
  reference. Please refer to the :ref:`api-references` list where you will
18
18
  find a detailed description of the API for each library. Also there's a
19
- `Python-specific reference <https://amolenaar.pages.gitlab.gnome.org/pygobject-docs/>`_
19
+ `Python-specific reference <https://api.pygobject.gnome.org/>`_
20
20
  available.
21
21
 
22
22
  .. note::
@@ -38,7 +38,7 @@ API References
38
38
  * `Gio <https://docs.gtk.org/gio/>`_
39
39
  * `GLib <https://docs.gtk.org/glib/>`_
40
40
  * `Adwaita <https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/>`_
41
- * `Python-specific references <https://amolenaar.pages.gitlab.gnome.org/pygobject-docs/>`_
41
+ * `Python-specific references <https://api.pygobject.gnome.org/>`_
42
42
 
43
43
  Other Resources
44
44
  ---------------
@@ -0,0 +1,54 @@
1
+ # -*- Mode: Python; py-indent-offset: 4 -*-
2
+ # vim: tabstop=4 shiftwidth=4 expandtab
3
+ #
4
+ # Copyright (C) 2025 James Henstridge <james@jamesh.id.au>
5
+ #
6
+ # _enum.py: base classes for enumeration and flags types.
7
+ #
8
+ # This library is free software; you can redistribute it and/or
9
+ # modify it under the terms of the GNU Lesser General Public
10
+ # License as published by the Free Software Foundation; either
11
+ # version 2.1 of the License, or (at your option) any later version.
12
+ #
13
+ # This library is distributed in the hope that it will be useful,
14
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ # Lesser General Public License for more details.
17
+ #
18
+ # You should have received a copy of the GNU Lesser General Public
19
+ # License along with this library; if not, write to the Free Software
20
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
21
+ # USA
22
+
23
+ import enum
24
+
25
+ from . import _gi
26
+
27
+
28
+ class GEnumMeta(enum.EnumMeta):
29
+
30
+ def __new__(metacls, name, bases, classdict, /, **kwargs):
31
+ enum_class = super().__new__(metacls, name, bases, classdict, **kwargs)
32
+
33
+ # If __gtype__ is not set, this is a new enum or flags defined
34
+ # from Python. Register a new GType for it.
35
+ if '__gtype__' not in enum_class.__dict__:
36
+ type_name = enum_class.__dict__.get('__gtype_name__')
37
+ if issubclass(enum_class, GFlags):
38
+ _gi.flags_register(enum_class, type_name)
39
+ elif issubclass(enum_class, GEnum):
40
+ _gi.enum_register(enum_class, type_name)
41
+ else:
42
+ raise AssertionError(f"unexpected class {enum_class}")
43
+
44
+ return enum_class
45
+
46
+
47
+ class GEnum(enum.IntEnum, metaclass=GEnumMeta):
48
+ __module__ = _gi.__name__
49
+ __gtype__ = None
50
+
51
+
52
+ class GFlags(enum.IntFlag, metaclass=GEnumMeta):
53
+ __module__ = _gi.__name__
54
+ __gtype__ = None
@@ -103,17 +103,24 @@ def get_pytype(gi_type: TypeInfo) -> object:
103
103
 
104
104
 
105
105
  def generate_signature(info: CallableInfo) -> Signature:
106
+ args = info.get_arguments()
107
+ arg_names = {arg.get_name() for arg in args}
108
+
109
+ def unique(name):
110
+ while name in arg_names:
111
+ name += '_'
112
+ arg_names.add(name)
113
+ return name
114
+
106
115
  params = []
107
116
  if isinstance(info, FunctionInfo):
108
117
  if info.is_constructor():
109
- params.append(Parameter("cls", Parameter.POSITIONAL_OR_KEYWORD))
118
+ params.append(Parameter(unique("cls"), Parameter.POSITIONAL_OR_KEYWORD))
110
119
  elif info.is_method():
111
- params.append(Parameter("self", Parameter.POSITIONAL_OR_KEYWORD))
120
+ params.append(Parameter(unique("self"), Parameter.POSITIONAL_OR_KEYWORD))
112
121
  elif isinstance(info, VFuncInfo):
113
- params.append(Parameter("type", Parameter.POSITIONAL_OR_KEYWORD))
114
- params.append(Parameter("self", Parameter.POSITIONAL_OR_KEYWORD))
115
-
116
- args = info.get_arguments()
122
+ params.append(Parameter(unique("type"), Parameter.POSITIONAL_OR_KEYWORD))
123
+ params.append(Parameter(unique("self"), Parameter.POSITIONAL_OR_KEYWORD))
117
124
 
118
125
  # Build lists of indices prior to adding the docs because it is possible
119
126
  # the index retrieved comes before input arguments being used.