ANN: PyObjC 6.0

Ronald Oussoren via Pyobjc-dev <[email protected]> Thu, 17 Oct 2019 18:54:32 +0200
Newsgroups gmane.comp.python.pyobjc.devel,gmane.comp.python.apple
Message-ID <[email protected]>
--===============7681424405205785972==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_7C6527F3-28B1-4B3C-BFAD-AAAD2ED6B6BF"


--Apple-Mail=_7C6527F3-28B1-4B3C-BFAD-AAAD2ED6B6BF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

I've uploaded PyObjC 6.0 to PyPI. This is a major feature release, the =
two most important changes are the addition of support for frameworks =
and APIs introduced in macOS 10.15 (Catalina), and the removal of =
support for Python 2.7.

PyPI has wheels for 64-bit builds of Python 3.6, 3.7 and 3.8. The source =
should still work with 32-bit builds  of Python, but those are no longer =
tested.

At the time of writing the source code is still in the branch =
"pyobjc-6-branch".=20

The full list of changes:

* Removed Python 2 support from the C extension in pyobjc-core

* Reformatted code in pyobjc-core:

  - Use "black" for Python code
  - Use "clang-format" for Objective-C code

    As a side-effect of this all usage of "NS_DURING" and =
"PyObjC_DURING"
    has been replaced by the expansion of those macros, mostly because
    "clang-format" doesn't understand these kinds of blocks.

    Replacing PyObjC_DURING  by its expansion also reduces the knowledge
    needed to understand what's going on w.r.t. the Python GIL.

    The macro PyObjC_DURING, and its siblings, have been removed as =
well.

* Updated bindings for macOS 10.15 (Xcode 11.0)

* The userspace driver frameworks introduced in macOS 10.15
  (DriverKit and related frameworks) will not be exposed through
  PyObjC. Please let me know if you have a good
  use case for using these frameworks with Python.

* Add new framework wrappers for all other new frameworks
  in macOS 10.15:

  - AuthenticationServices
  - CoreHaptics
  - CoreMotion
  - DeviceCheck
  - ExecutionPolicy
  - FileProvider
  - FileProviderUI
  - LinkPresentation
  - OSLog
  - PencilKit
  - PushKit
  - QuickLookThumbnailing
  - Speech
  - SoundAnalysis
  - SystemExtensions

* Add new framework wrappers for a number of older
  frameworks:

  - MetalKit (new in macOS 10.11)

* Issue #271: Fix crash when creating NSData objects on macOS 10.15

P.S. This release is later than I'd like for various reasons, but mostly =
because I've spent less time at my computer the last couple of weeks.

=E2=80=94

Twitter: @ronaldoussoren
Blog: https://blog.ronaldoussoren.net/


--Apple-Mail=_7C6527F3-28B1-4B3C-BFAD-AAAD2ED6B6BF
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><div =
class=3D"">I've uploaded PyObjC 6.0 to PyPI. This is a major feature =
release, the two most important changes are the addition of support for =
frameworks and APIs introduced in macOS 10.15 (Catalina), and the =
removal of support for Python 2.7.</div><div class=3D""><br =
class=3D""></div><div class=3D"">PyPI has wheels for 64-bit builds of =
Python 3.6, 3.7 and 3.8. The source should still work with 32-bit builds =
&nbsp;of Python, but those are no longer tested.</div><div class=3D""><br =
class=3D""></div><div class=3D"">At the time of writing the source code =
is still in the branch "pyobjc-6-branch".&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">The full list of changes:</div><div =
class=3D""><br class=3D""></div><div class=3D"">* Removed Python 2 =
support from the C extension in pyobjc-core</div><div class=3D""><br =
class=3D""></div><div class=3D"">* Reformatted code in =
pyobjc-core:</div><div class=3D""><br class=3D""></div><div =
class=3D"">&nbsp; - Use "black" for Python code</div><div =
class=3D"">&nbsp; - Use "clang-format" for Objective-C code</div><div =
class=3D""><br class=3D""></div><div class=3D"">&nbsp; &nbsp; As a =
side-effect of this all usage of "NS_DURING" and =
"PyObjC_DURING"</div><div class=3D"">&nbsp; &nbsp; has been replaced by =
the expansion of those macros, mostly because</div><div class=3D"">&nbsp; =
&nbsp; "clang-format" doesn't understand these kinds of =
blocks.</div><div class=3D""><br class=3D""></div><div class=3D"">&nbsp; =
&nbsp; Replacing PyObjC_DURING &nbsp;by its expansion also reduces the =
knowledge</div><div class=3D"">&nbsp; &nbsp; needed to understand what's =
going on w.r.t. the Python GIL.</div><div class=3D""><br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; The macro PyObjC_DURING, =
and its siblings, have been removed as well.</div><div class=3D""><br =
class=3D""></div><div class=3D"">* Updated bindings for macOS 10.15 =
(Xcode 11.0)</div><div class=3D""><br class=3D""></div><div class=3D"">* =
The userspace driver frameworks introduced in macOS 10.15</div><div =
class=3D"">&nbsp; (DriverKit and related frameworks) will not be exposed =
through</div><div class=3D"">&nbsp; PyObjC. Please let me know if you =
have a good</div><div class=3D"">&nbsp; use case for using these =
frameworks with Python.</div><div class=3D""><br class=3D""></div><div =
class=3D"">* Add new framework wrappers for all other new =
frameworks</div><div class=3D"">&nbsp; in macOS 10.15:</div><div =
class=3D""><br class=3D""></div><div class=3D"">&nbsp; - =
AuthenticationServices</div><div class=3D"">&nbsp; - =
CoreHaptics</div><div class=3D"">&nbsp; - CoreMotion</div><div =
class=3D"">&nbsp; - DeviceCheck</div><div class=3D"">&nbsp; - =
ExecutionPolicy</div><div class=3D"">&nbsp; - FileProvider</div><div =
class=3D"">&nbsp; - FileProviderUI</div><div class=3D"">&nbsp; - =
LinkPresentation</div><div class=3D"">&nbsp; - OSLog</div><div =
class=3D"">&nbsp; - PencilKit</div><div class=3D"">&nbsp; - =
PushKit</div><div class=3D"">&nbsp; - QuickLookThumbnailing</div><div =
class=3D"">&nbsp; - Speech</div><div class=3D"">&nbsp; - =
SoundAnalysis</div><div class=3D"">&nbsp; - SystemExtensions</div><div =
class=3D""><br class=3D""></div><div class=3D"">* Add new framework =
wrappers for a number of older</div><div class=3D"">&nbsp; =
frameworks:</div><div class=3D""><br class=3D""></div><div =
class=3D"">&nbsp; - MetalKit (new in macOS 10.11)</div><div class=3D""><br=
 class=3D""></div><div class=3D"">* Issue #271: Fix crash when creating =
NSData objects on macOS 10.15</div><div class=3D""><br =
class=3D""></div><div class=3D"">P.S. This release is later than I'd =
like for various reasons, but mostly because I've spent less time at my =
computer the last couple of weeks.</div><div class=3D""><br =
class=3D""></div><div class=3D"">
<div style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
text-decoration: none;">=E2=80=94</div><div style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: normal; =
letter-spacing: normal; orphans: auto; text-align: start; text-indent: =
0px; text-transform: none; white-space: normal; widows: auto; =
word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;"><br =
class=3D""></div><div style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: normal; widows: auto; word-spacing: 0px; =
-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
text-decoration: none;">Twitter: @ronaldoussoren</div><div =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;">Blog: <a =
href=3D"https://blog.ronaldoussoren.net/" =
class=3D"">https://blog.ronaldoussoren.net/</a></div>
</div>
<br class=3D""></body></html>=

--Apple-Mail=_7C6527F3-28B1-4B3C-BFAD-AAAD2ED6B6BF--


--===============7681424405205785972==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============7681424405205785972==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Pyobjc-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/pyobjc-dev

--===============7681424405205785972==--