pyobjc-dev Mailing List for PyObjC (Page 4)
Brought to you by:
ronaldoussoren
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(1) |
Feb
(2) |
Mar
(3) |
Apr
(30) |
May
(18) |
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2002 |
Jan
(7) |
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
(3) |
Jul
(13) |
Aug
|
Sep
(23) |
Oct
(180) |
Nov
(291) |
Dec
(95) |
2003 |
Jan
(338) |
Feb
(352) |
Mar
(97) |
Apr
(46) |
May
(226) |
Jun
(184) |
Jul
(145) |
Aug
(141) |
Sep
(69) |
Oct
(161) |
Nov
(96) |
Dec
(90) |
2004 |
Jan
(66) |
Feb
(87) |
Mar
(98) |
Apr
(132) |
May
(115) |
Jun
(68) |
Jul
(150) |
Aug
(92) |
Sep
(59) |
Oct
(52) |
Nov
(17) |
Dec
(75) |
2005 |
Jan
(84) |
Feb
(191) |
Mar
(133) |
Apr
(114) |
May
(158) |
Jun
(185) |
Jul
(62) |
Aug
(28) |
Sep
(36) |
Oct
(88) |
Nov
(65) |
Dec
(43) |
2006 |
Jan
(85) |
Feb
(62) |
Mar
(92) |
Apr
(75) |
May
(68) |
Jun
(101) |
Jul
(73) |
Aug
(37) |
Sep
(91) |
Oct
(65) |
Nov
(30) |
Dec
(39) |
2007 |
Jan
(24) |
Feb
(28) |
Mar
(10) |
Apr
(2) |
May
(18) |
Jun
(16) |
Jul
(21) |
Aug
(6) |
Sep
(30) |
Oct
(31) |
Nov
(153) |
Dec
(31) |
2008 |
Jan
(63) |
Feb
(70) |
Mar
(47) |
Apr
(24) |
May
(59) |
Jun
(22) |
Jul
(12) |
Aug
(7) |
Sep
(14) |
Oct
(26) |
Nov
(5) |
Dec
(5) |
2009 |
Jan
(10) |
Feb
(41) |
Mar
(70) |
Apr
(88) |
May
(49) |
Jun
(62) |
Jul
(34) |
Aug
(15) |
Sep
(55) |
Oct
(40) |
Nov
(67) |
Dec
(21) |
2010 |
Jan
(60) |
Feb
(17) |
Mar
(26) |
Apr
(26) |
May
(29) |
Jun
(4) |
Jul
(21) |
Aug
(21) |
Sep
(10) |
Oct
(12) |
Nov
(3) |
Dec
(19) |
2011 |
Jan
(3) |
Feb
(13) |
Mar
(8) |
Apr
(8) |
May
(17) |
Jun
(20) |
Jul
(21) |
Aug
(7) |
Sep
|
Oct
|
Nov
(9) |
Dec
(11) |
2012 |
Jan
(3) |
Feb
|
Mar
|
Apr
(5) |
May
(4) |
Jun
(14) |
Jul
(5) |
Aug
(2) |
Sep
(15) |
Oct
(2) |
Nov
(23) |
Dec
(1) |
2013 |
Jan
(8) |
Feb
(1) |
Mar
|
Apr
|
May
(5) |
Jun
(1) |
Jul
(5) |
Aug
(4) |
Sep
|
Oct
(12) |
Nov
(10) |
Dec
(3) |
2014 |
Jan
(7) |
Feb
(14) |
Mar
(2) |
Apr
|
May
(2) |
Jun
(11) |
Jul
(10) |
Aug
(4) |
Sep
|
Oct
(8) |
Nov
(1) |
Dec
(2) |
2015 |
Jan
(9) |
Feb
(7) |
Mar
(1) |
Apr
|
May
(7) |
Jun
|
Jul
(5) |
Aug
(6) |
Sep
|
Oct
(1) |
Nov
(4) |
Dec
|
2016 |
Jan
(1) |
Feb
(1) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
|
Jul
(6) |
Aug
(8) |
Sep
(21) |
Oct
(17) |
Nov
|
Dec
(36) |
2017 |
Jan
(6) |
Feb
(2) |
Mar
(4) |
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(6) |
2018 |
Jan
(2) |
Feb
(3) |
Mar
(3) |
Apr
(14) |
May
(2) |
Jun
(2) |
Jul
(4) |
Aug
(3) |
Sep
(6) |
Oct
(16) |
Nov
(1) |
Dec
(6) |
2019 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
(6) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(1) |
Jul
(7) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(2) |
Dec
(1) |
2021 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(5) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2025 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Ronald O. <ron...@ma...> - 2018-07-27 18:20:26
|
Hi, I just pushed py2app 0.15 to PyPI. This has basically one change from the previous release: This release supports Python 3.7. There are also updates to altgraph, modulegraph and macholib that should get automatically installed as well. Ronald |
From: Shyamal C. <shy...@gm...> - 2018-07-16 13:19:07
|
Hi, Does anyone have pointers to in-depth pyobjc tutorials, blogs, and StackOverflow answers? I feel there needs to be more work to make the pyobjc documentation more linear. Any feedback? Thanks, Shyamal Chandra shy...@gm... |
From: John F. <joh...@ma...> - 2018-07-10 14:18:14
|
Thank you, Ronald! This is good news. -- John Finch On July 10, 2018 at 1:00:34 PM, pyo...@li... (pyo...@li...(mailto:pyo...@li...)) wrote: > Send Pyobjc-dev mailing list submissions to > pyo...@li... > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > or, via email, send a message with subject or body 'help' to > pyo...@li... > > You can reach the person managing the list at > pyo...@li... > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Pyobjc-dev digest..." > > > Today's Topics: > > 1. Towards PyObjC 5.0 (Ronald Oussoren) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 10 Jul 2018 09:46:54 +0200 > From: Ronald Oussoren <ron...@ma...> > To: pyobjc-dev list <pyo...@li...>, Pythonmac-Sig > <pyt...@py...> > Subject: [Pyobjc-dev] Towards PyObjC 5.0 > Message-ID: <6D0...@ma...> > Content-Type: text/plain; charset=utf-8 > > Hi, > > Just a quick message about development on PyObjC 5.0. The process of updating PyObjC for macOS 10.14 is going faster than expected, although it has helped that I took time of from work during WWDC to work on this. > > I expect to push out a first beta release of PyObjC 5 during the EuroPython 2018 sprints. This release should be feature complete (barring surprises in future SDK betas). > > This is turning out to be a major milestone for PyObjC: with some luck PyObjC 5.0 will support almost all public frameworks in macOS, with the exception of deprecated frameworks that aren?t already wrapped and the Metal frameworks (Metal and MetalPerformanceShaders). > > Major items on my TODO list until then: > - Finish a number of bindings that require manual wrappers due to APIs that are too complex to expres correctly in metadata files > - Work on support for APIs that have SIMD types as arguments or return values (such as vector_float3 in ObjC) > - Work on providing DeprecationWarnings for APIs that are deprecated in macOS. The basic framework for this is present, I ?just? have add correct metadata for this. > > Beyond 5: My current plan is that PyObjC 5 will be the last version of PyObjC that supports Python 2.7 and PowerPC. > > I have not yet decided on 32-bit x86 support, that might be dropped as well (at least in the released binaries). Dropping support for 32-bit x86 would primarily make it easier to provide wheels, as the compiler tools in Xcode 10 no longer support that architecture. > > Ronald > > > ------------------------------ > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > > > ------------------------------ > > End of Pyobjc-dev Digest, Vol 106, Issue 1 > ****************************************** |
From: Ronald O. <ron...@ma...> - 2018-07-10 07:47:31
|
Hi, Just a quick message about development on PyObjC 5.0. The process of updating PyObjC for macOS 10.14 is going faster than expected, although it has helped that I took time of from work during WWDC to work on this. I expect to push out a first beta release of PyObjC 5 during the EuroPython 2018 sprints. This release should be feature complete (barring surprises in future SDK betas). This is turning out to be a major milestone for PyObjC: with some luck PyObjC 5.0 will support almost all public frameworks in macOS, with the exception of deprecated frameworks that aren’t already wrapped and the Metal frameworks (Metal and MetalPerformanceShaders). Major items on my TODO list until then: - Finish a number of bindings that require manual wrappers due to APIs that are too complex to expres correctly in metadata files - Work on support for APIs that have SIMD types as arguments or return values (such as vector_float3 in ObjC) - Work on providing DeprecationWarnings for APIs that are deprecated in macOS. The basic framework for this is present, I “just” have add correct metadata for this. Beyond 5: My current plan is that PyObjC 5 will be the last version of PyObjC that supports Python 2.7 and PowerPC. I have not yet decided on 32-bit x86 support, that might be dropped as well (at least in the released binaries). Dropping support for 32-bit x86 would primarily make it easier to provide wheels, as the compiler tools in Xcode 10 no longer support that architecture. Ronald |
From: Ronald O. <ron...@ma...> - 2018-06-05 08:06:45
|
Hi, The PyObjC repository has grown a new branch: macos-10.14-support I’ll use this branch to work on updating PyObjC for full support for macOS 10.14 and expect to spend most time on updating the exiting framework wrappers and adding new ones. A textual diff between the SDK headers for macOS 10.13 and 10.14 is about 200K lines long, processing all that information will take quite some time. Ronald P.S. I have a VM running, and the system Python is still only Python 2.7.10 :-( |
From: Ronald O. <ron...@ma...> - 2018-06-04 15:03:37
|
Hi, I’ve pushed PyObjC 4.2.2 to PyPI. This is a very minor bug fix release that I’ve pushed out to clear the queue before WWDC. There is one new feature with this release: There are now two variants of the binary wheels for Python 3.6 and 3.7, both now have variants for the universal build for macOS 10.6 or later (i386 and x86_64) as well as the 64-bit build for macOS 10.9 or later. Next up is support for the macOS release beyond High Sierra. I expect that this will take quite some time, especially w.r.t. updating the framework wrappers. Ronald |
From: Ronald O. <ron...@ma...> - 2018-05-10 13:25:46
|
Hi, I’ve started two new repositories: 1) nibless: https://bitbucket.org/ronaldoussoren/nibless/src/default/ <https://bitbucket.org/ronaldoussoren/nibless/src/default/> This is currently a minimal application with only a menubar. This will grow into a full application that does not use Xcode. I have three goals with this repository: create a substantial application that is a good example of how to use PyObjC, create Cocoa GUIs without relying on Xcode and finally develop convenience APIs on top of Apple’s Cocoa APIs to make developing easier. 2) py2app-rewrite: https://bitbucket.org/ronaldoussoren/py2app-rewrite/src/default/ <https://bitbucket.org/ronaldoussoren/py2app-rewrite/src/default/> This is currently mostly empty apart from some documentation. My goal for this repository is to redesign and rewrite py2app to end up with a modern and maintainable tool for building application bundles. My current plan is to build a tool that is not setuptools command but a standalone tool with structured configuration file (the repo says that this file will use TOML, but I’ll probably switch to YAML as a nicer to edit format). There currently is no code in the repository. The reason I’m starting from scratch is that py2app’s current code base is a mess that’s hard to change due to a lack of tests and a code structure that makes adding tests unnecessarily hard. Both projects are Python 3 only (currently targeting 3.6, that might change in the future). I have no intention of supporting Python 2 for these projects. Ronald P.S. I expect progress on both projects to be slow because I’m working on these in my free time and there’s not a lot of that due to other hobbies. I also expect to have a lot of work to do after WWDC to prepare PyObjC’s framework wrappers for the next release of macOS. |
From: Ronald O. <ron...@ma...> - 2018-05-03 07:08:04
|
> On 17 Apr 2018, at 15:26, Zachery Bir <zb...@za...> wrote: > > Also, it seems the #macpython channel is a bit underused. Is there a better place where folks congregate synchronously? A Slack or the like? I don’t know. I’m pretty much e-mail only at the moment, although I am trying to at least follow conversations in the new Zulip instance for Python. Ronald |
From: Marc V. O. <ma...@ac...> - 2018-04-17 16:11:20
|
Diez, I just downloaded your sample project. And that raises a question: I see view = IBOutlet("view") but how do I make Xcode 9.x recognize a new outlet or a new action I want to add. In the past I was able to do that in old Interface Builder because you manually type the outlets and actions in the Library tool but I haven't found a way to do that in in Xcode. For that reason I have not converted my older .nib files to the new format. thanks Marc. On Tue, Apr 17, 2018 at 11:00 AM, Diez B. Roggisch <de...@we...> wrote: > Maybe this helps you: > > https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions > > It’s a small example project I created for a talk. It worked until quite > recently for me after Xcode transitioned to the built-in IB, and XIBs. > Haven’t checked it in a while, but maybe it gives you a headstart. > > Cheers, > > Diez > > On 17. Apr 2018, at 15:10, Zachery Bir <zb...@za...> wrote: > > Hey, all > > I’m resurrecting an app I wrote years ago. In addition to updating it to > Python 3, I’m also trying to get it happy with modern Xcode. I’ve removed > the NibClassBuilder references, but I’m not entirely sure the best way to > make it IB-able. The docs seems to be pinned to much older versions of > Xcode, and the File -> Read Class Files has long gone. Anyone have any > updated pointers for using modern Xcode (9+) with PyObjC? I’m happy to > contribute updated docs once I’ve made the transition myself. > > Thanks, > > Zac > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > > |
From: Diez B. R. <de...@we...> - 2018-04-17 15:53:57
|
Hi Marc, disclaimer: I last checket with xcode 8.x, so this might have broken. What happens for me is that these outlets (and actions) just appear in IB after I add them to the classes. There seems to be some at least basic parsing of the class declarations happening. Cheers, Diez > On 17. Apr 2018, at 17:49, Marc Van Olmen <ma...@ac...> wrote: > > Diez, > > I just downloaded your sample project. And that raises a question: I see > > view = IBOutlet("view") > > but how do I make Xcode 9.x recognize a new outlet or a new action I want to add. > In the past I was able to do that in old Interface Builder because you manually type the outlets and actions in the Library tool but I haven't found a way to do that in in Xcode. For that reason I have not converted my older .nib files to the new format. > > thanks > > Marc. > > > On Tue, Apr 17, 2018 at 11:00 AM, Diez B. Roggisch <de...@we... <mailto:de...@we...>> wrote: > Maybe this helps you: > > https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions <https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions> > > It’s a small example project I created for a talk. It worked until quite recently for me after Xcode transitioned to the built-in IB, and XIBs. Haven’t checked it in a while, but maybe it gives you a headstart. > > Cheers, > > Diez > >> On 17. Apr 2018, at 15:10, Zachery Bir <zb...@za... <mailto:zb...@za...>> wrote: >> >> Hey, all >> >> I’m resurrecting an app I wrote years ago. In addition to updating it to Python 3, I’m also trying to get it happy with modern Xcode. I’ve removed the NibClassBuilder references, but I’m not entirely sure the best way to make it IB-able. The docs seems to be pinned to much older versions of Xcode, and the File -> Read Class Files has long gone. Anyone have any updated pointers for using modern Xcode (9+) with PyObjC? I’m happy to contribute updated docs once I’ve made the transition myself. >> >> Thanks, >> >> Zac >> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org <http://slashdot.org/>! http://sdm.link/slashdot <http://sdm.link/slashdot> >> _______________________________________________ >> Pyobjc-dev mailing list >> Pyo...@li... <mailto:Pyo...@li...> >> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev <https://lists.sourceforge.net/lists/listinfo/pyobjc-dev> > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot <http://sdm.link/slashdot> > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... <mailto:Pyo...@li...> > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev <https://lists.sourceforge.net/lists/listinfo/pyobjc-dev> > > |
From: Diez B. R. <de...@we...> - 2018-04-17 15:48:23
|
Don’t forget to check out the various branches - I did this to switch seamlessly during the talk. Cheers, Diez > On 17. Apr 2018, at 17:01, Zachery Bir <zb...@za...> wrote: > > Fantastic, thanks! > > Zac > >> On Apr 17, 2018, at 11:00 AM, Diez B. Roggisch <de...@we... <mailto:de...@we...>> wrote: >> >> Maybe this helps you: >> >> https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions <https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions> >> >> It’s a small example project I created for a talk. It worked until quite recently for me after Xcode transitioned to the built-in IB, and XIBs. Haven’t checked it in a while, but maybe it gives you a headstart. >> >> Cheers, >> >> Diez >> >>> On 17. Apr 2018, at 15:10, Zachery Bir <zb...@za... <mailto:zb...@za...>> wrote: >>> >>> Hey, all >>> >>> I’m resurrecting an app I wrote years ago. In addition to updating it to Python 3, I’m also trying to get it happy with modern Xcode. I’ve removed the NibClassBuilder references, but I’m not entirely sure the best way to make it IB-able. The docs seems to be pinned to much older versions of Xcode, and the File -> Read Class Files has long gone. Anyone have any updated pointers for using modern Xcode (9+) with PyObjC? I’m happy to contribute updated docs once I’ve made the transition myself. >>> >>> Thanks, >>> >>> Zac >>> >>> >>> ------------------------------------------------------------------------------ >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, Slashdot.org <http://slashdot.org/>! http://sdm.link/slashdot <http://sdm.link/slashdot> >>> _______________________________________________ >>> Pyobjc-dev mailing list >>> Pyo...@li... <mailto:Pyo...@li...> >>> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev <https://lists.sourceforge.net/lists/listinfo/pyobjc-dev> >> > |
From: Zachery B. <zb...@za...> - 2018-04-17 15:02:08
|
Fantastic, thanks! Zac > On Apr 17, 2018, at 11:00 AM, Diez B. Roggisch <de...@we...> wrote: > > Maybe this helps you: > > https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions <https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions> > > It’s a small example project I created for a talk. It worked until quite recently for me after Xcode transitioned to the built-in IB, and XIBs. Haven’t checked it in a while, but maybe it gives you a headstart. > > Cheers, > > Diez > >> On 17. Apr 2018, at 15:10, Zachery Bir <zb...@za... <mailto:zb...@za...>> wrote: >> >> Hey, all >> >> I’m resurrecting an app I wrote years ago. In addition to updating it to Python 3, I’m also trying to get it happy with modern Xcode. I’ve removed the NibClassBuilder references, but I’m not entirely sure the best way to make it IB-able. The docs seems to be pinned to much older versions of Xcode, and the File -> Read Class Files has long gone. Anyone have any updated pointers for using modern Xcode (9+) with PyObjC? I’m happy to contribute updated docs once I’ve made the transition myself. >> >> Thanks, >> >> Zac >> >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org <http://slashdot.org/>! http://sdm.link/slashdot <http://sdm.link/slashdot> >> _______________________________________________ >> Pyobjc-dev mailing list >> Pyo...@li... <mailto:Pyo...@li...> >> https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > |
From: Diez B. R. <de...@we...> - 2018-04-17 15:00:41
|
Maybe this helps you: https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions <https://github.com/deets/minimal-pyobjc/tree/outlets-and-actions> It’s a small example project I created for a talk. It worked until quite recently for me after Xcode transitioned to the built-in IB, and XIBs. Haven’t checked it in a while, but maybe it gives you a headstart. Cheers, Diez > On 17. Apr 2018, at 15:10, Zachery Bir <zb...@za...> wrote: > > Hey, all > > I’m resurrecting an app I wrote years ago. In addition to updating it to Python 3, I’m also trying to get it happy with modern Xcode. I’ve removed the NibClassBuilder references, but I’m not entirely sure the best way to make it IB-able. The docs seems to be pinned to much older versions of Xcode, and the File -> Read Class Files has long gone. Anyone have any updated pointers for using modern Xcode (9+) with PyObjC? I’m happy to contribute updated docs once I’ve made the transition myself. > > Thanks, > > Zac > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev |
From: Zachery B. <zb...@za...> - 2018-04-17 13:33:59
|
Also, it seems the #macpython channel is a bit underused. Is there a better place where folks congregate synchronously? A Slack or the like? Zac |
From: Zachery B. <zb...@za...> - 2018-04-17 13:28:45
|
Hey, all I’m resurrecting an app I wrote years ago. In addition to updating it to Python 3, I’m also trying to get it happy with modern Xcode. I’ve removed the NibClassBuilder references, but I’m not entirely sure the best way to make it IB-able. The docs seems to be pinned to much older versions of Xcode, and the File -> Read Class Files has long gone. Anyone have any updated pointers for using modern Xcode (9+) with PyObjC? I’m happy to contribute updated docs once I’ve made the transition myself. Thanks, Zac |
From: Ronald O. <ron...@ma...> - 2018-04-05 18:16:52
|
That is correct. There is another reason for that: the lazy loader I mentioned. Apple’s frameworks expose a lot of names and * imports force PyObjC to create Python versions of all of them which uses memory and more importantly takes significant time. Ronald -- On the road, hence brief. Op 5 apr. 2018 om 18:43 heeft Just van Rossum <jus...@gm...> het volgende geschreven: > >> On 05 Apr 2018, at 18:12, Ronald Oussoren <ron...@ma...> wrote: >> >> >> >>> On 5 Apr 2018, at 17:39, Just van Rossum <jus...@gm...> wrote: >>> >>> Hi, >>> >>> I am wondering, is the following intended behavior? >>> >>> ------------- >>> import Foundation >>> >>> class TestMyCustomObject(Foundation.NSObject): >>> pass >>> >>> import AppKit >>> # it's suddenly available via AppKit: >>> print(AppKit.TestMyCustomObject) >>> # even via import *: >>> from AppKit import * >>> print(TestMyCustomObject) >>> ------------- >>> >>> Thanks, >> >> That is expected behavior and is a side effect of lazy loading of frameworks. >> >> In the past I have attempted to expose only the classes that belong in a framework (by exposing only those classes located in the correct framework bundle), but that code turned out to be too slow (because the Cocoa method I used for that is slow), so that got dropped a long time ago. When I started on the lazy loader I didn’t even try to make it guess whether or not a class should be loadable through the current framework wrapper. This is not ideal, but good enough. > > Thanks for the clarification. That does mean that one should pretty much never ever do > > from SomeFramework import * > > Despite the fact that most frameworks have decent prefixes for their sybols. > > Just > |
From: Just v. R. <jus...@gm...> - 2018-04-05 16:43:11
|
> On 05 Apr 2018, at 18:12, Ronald Oussoren <ron...@ma...> wrote: > > > >> On 5 Apr 2018, at 17:39, Just van Rossum <jus...@gm...> wrote: >> >> Hi, >> >> I am wondering, is the following intended behavior? >> >> ------------- >> import Foundation >> >> class TestMyCustomObject(Foundation.NSObject): >> pass >> >> import AppKit >> # it's suddenly available via AppKit: >> print(AppKit.TestMyCustomObject) >> # even via import *: >> from AppKit import * >> print(TestMyCustomObject) >> ------------- >> >> Thanks, > > That is expected behavior and is a side effect of lazy loading of frameworks. > > In the past I have attempted to expose only the classes that belong in a framework (by exposing only those classes located in the correct framework bundle), but that code turned out to be too slow (because the Cocoa method I used for that is slow), so that got dropped a long time ago. When I started on the lazy loader I didn’t even try to make it guess whether or not a class should be loadable through the current framework wrapper. This is not ideal, but good enough. Thanks for the clarification. That does mean that one should pretty much never ever do from SomeFramework import * Despite the fact that most frameworks have decent prefixes for their sybols. Just |
From: Ronald O. <ron...@ma...> - 2018-04-05 16:13:07
|
> On 5 Apr 2018, at 17:39, Just van Rossum <jus...@gm...> wrote: > > Hi, > > I am wondering, is the following intended behavior? > > ------------- > import Foundation > > class TestMyCustomObject(Foundation.NSObject): > pass > > import AppKit > # it's suddenly available via AppKit: > print(AppKit.TestMyCustomObject) > # even via import *: > from AppKit import * > print(TestMyCustomObject) > ------------- > > Thanks, That is expected behavior and is a side effect of lazy loading of frameworks. In the past I have attempted to expose only the classes that belong in a framework (by exposing only those classes located in the correct framework bundle), but that code turned out to be too slow (because the Cocoa method I used for that is slow), so that got dropped a long time ago. When I started on the lazy loader I didn’t even try to make it guess whether or not a class should be loadable through the current framework wrapper. This is not ideal, but good enough. Ronald |
From: Just v. R. <jus...@gm...> - 2018-04-05 15:39:31
|
Hi, I am wondering, is the following intended behavior? ------------- import Foundation class TestMyCustomObject(Foundation.NSObject): pass import AppKit # it's suddenly available via AppKit: print(AppKit.TestMyCustomObject) # even via import *: from AppKit import * print(TestMyCustomObject) ------------- Thanks, Just |
From: Ronald O. <ron...@ma...> - 2018-04-03 19:59:21
|
Hi, I just pushed PyObjC 4.2.1 to PyPI. This is a very minor bug fix release and most people don’t have to upgrade. There’s only a single fix for some people from source: the automatic detection of the use of “—with-system-ffi” works again (it was disabled in 4.2 because that feature didn’t work with /usr/bin/python). The fix doesn’t affect users of binary wheels. Ronald |
From: John F. <joh...@ma...> - 2018-04-02 13:05:08
|
Thank you Ronald et. al., very much appreciated! > On Apr 2, 2018, at 8:00 AM, pyo...@li... wrote: > > Send Pyobjc-dev mailing list submissions to > pyo...@li... > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > or, via email, send a message with subject or body 'help' to > pyo...@li... > > You can reach the person managing the list at > pyo...@li... > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Pyobjc-dev digest..." > > > Today's Topics: > > 1. ANN: PyObjC 4.2 (Ronald Oussoren) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sun, 01 Apr 2018 13:52:11 +0200 > From: Ronald Oussoren <ron...@ma...> > To: pyobjc-dev list <pyo...@li...>, Pythonmac-Sig > <pyt...@py...> > Subject: [Pyobjc-dev] ANN: PyObjC 4.2 > Message-ID: <B7A...@ma...> > Content-Type: text/plain; charset="utf-8" > > I?ve just published PyObjC 4.2 on PyPI. This is primarily a bug fix release, but also introduces bindings to the BusinessChat framework introduced in macOS 10.13.4. Those bindings are probably totally uninteresting for most users as the framework can only be used by a small subset of macOS developers. > > The full list of changes for this release: > > * Add bindings to the BusinessChat framework introduced in macOS 10.13.4 > > * Update metadata for Xcode 9.3 > > * Issue #233 Fix crash in Security.AuthorizationCopyRights() wrapper > > * Issue #234 Fix crash in AuthorizationExecuteWithPrivileges() wrapper > > Reported by Vangelis Koukis > > * Ensure doctest can work with modules containing subclasses of NSObject > > Reported by Just van Rossum > > * Issue #236 : Importing can sometimes fail in multi-threaded scenarios > > Fix by Max B?langer > > * Undeprecate treating struct wrappers as sequences. Removing this feature would > break too much existing code, hence deprecating is not really an option. Furthermore, > this would also break some nice idioms. > > > * Pull request #17: Fix python 3 issues in PyObjCTools.AppHelper and PyObjCTools.Conversion > > Fix by Max B?langer > > > Regards, > > Ronald > -------------- next part -------------- > An HTML attachment was scrubbed... > > ------------------------------ > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev > > > ------------------------------ > > End of Pyobjc-dev Digest, Vol 103, Issue 1 > ****************************************** |
From: Ronald O. <ron...@ma...> - 2018-04-01 12:52:58
|
I’ve just published PyObjC 4.2 on PyPI. This is primarily a bug fix release, but also introduces bindings to the BusinessChat framework introduced in macOS 10.13.4. Those bindings are probably totally uninteresting for most users as the framework can only be used by a small subset of macOS developers. The full list of changes for this release: * Add bindings to the BusinessChat framework introduced in macOS 10.13.4 * Update metadata for Xcode 9.3 * Issue #233 Fix crash in Security.AuthorizationCopyRights() wrapper * Issue #234 Fix crash in AuthorizationExecuteWithPrivileges() wrapper Reported by Vangelis Koukis * Ensure doctest can work with modules containing subclasses of NSObject Reported by Just van Rossum * Issue #236 : Importing can sometimes fail in multi-threaded scenarios Fix by Max Bélanger * Undeprecate treating struct wrappers as sequences. Removing this feature would break too much existing code, hence deprecating is not really an option. Furthermore, this would also break some nice idioms. * Pull request #17: Fix python 3 issues in PyObjCTools.AppHelper and PyObjCTools.Conversion Fix by Max Bélanger Regards, Ronald |
From: Ronald O. <ron...@ma...> - 2018-03-15 17:58:32
|
The change is intentional and makes it possible to to write nicer code without running into vague issues. I fixed a number of bugs in my code when I made PyObjC more strict and started requiring the use of @python_method when writing (basically) PEP8-style method names. In hindsight it would have been better to have required explicit marking of methods that need to be called from Objective-C, but that’s not something I can change at this point. Ronald > On 11 Mar 2018, at 08:42, Just van Rossum <jus...@gm...> wrote: > > Hi, > > I’m curious about the rationale of the @python_method decorator from the objc module. > > In current PyObjC versions any method in an NSObject subclass that does not conform to the ObjC conventions need to be decorated with @python_method. I understand this means such methods can’t be called from ObjC. > > The thing is, when I’m writing Python code, I am well aware of what will be a valid ObjC method and what won’t be. I write lots of methods that I know will never be accessed from the ObjC side, and I’m fine with that. I want to write Pythonic code, so I have no interest in using ObjC selector naming conventions for such methods. Yet my code is now necessarily littered with @python_method decorators, which feels clumsy and ugly, and goes against the point of wanting to write clean Python code that does _not_ use the ObjC naming conventions. I’m currently looking at a page of code containing seven methods, _all_ of which have the decorator, which makes me sad :) > > I long for the “old” days when these things “just worked”, and there was simple and clean code on the Python side. > > If I omit the decorator, an exception is raised: objc.BadPrototypeError. So PyObjC already knows that that method is not conforming. > > I feel this is a case of “explicit is better than implicit” going too far. > > Maybe I’m missing something, but how is the @python_method decorator actually solving problems? So far it’s only gettin in my way. > > Thanks for any insights, > > Just > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev |
From: Marc V. O. <ma...@ac...> - 2018-03-11 14:27:58
|
Just, My thoughts on this: I have been doing PyOBJC for about 8 years because the previous team started the project like this and they created like 600 files/classes… So this exception was introduced about a year ago, so it took me 1 day to upgrade the source code, but with this I found like a dozen of mistakes of misnamed methods. 1. So personally I prefer this approach, because it finds errors early, just as the editor with integrated PEP 8 linter finds typos early… I would regret if this functionality would go away. 2. Usually when I have a lot of python methods, this usually goes in a separate python class, with python naming conventions, and the PyObJC class is more like an interface that hides this python class. Just as Model-View-Controller… where the View in this case is the PyObjc class. Maybe for you there should be a kind of "class decorator/flag" that you don’t care about it for this class. best Marc > On Mar 11, 2018, at 3:42 AM, Just van Rossum <jus...@gm...> wrote: > > Hi, > > I’m curious about the rationale of the @python_method decorator from the objc module. > > In current PyObjC versions any method in an NSObject subclass that does not conform to the ObjC conventions need to be decorated with @python_method. I understand this means such methods can’t be called from ObjC. > > The thing is, when I’m writing Python code, I am well aware of what will be a valid ObjC method and what won’t be. I write lots of methods that I know will never be accessed from the ObjC side, and I’m fine with that. I want to write Pythonic code, so I have no interest in using ObjC selector naming conventions for such methods. Yet my code is now necessarily littered with @python_method decorators, which feels clumsy and ugly, and goes against the point of wanting to write clean Python code that does _not_ use the ObjC naming conventions. I’m currently looking at a page of code containing seven methods, _all_ of which have the decorator, which makes me sad :) > > I long for the “old” days when these things “just worked”, and there was simple and clean code on the Python side. > > If I omit the decorator, an exception is raised: objc.BadPrototypeError. So PyObjC already knows that that method is not conforming. > > I feel this is a case of “explicit is better than implicit” going too far. > > Maybe I’m missing something, but how is the @python_method decorator actually solving problems? So far it’s only gettin in my way. > > Thanks for any insights, > > Just > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Pyobjc-dev mailing list > Pyo...@li... > https://lists.sourceforge.net/lists/listinfo/pyobjc-dev |
From: Just v. R. <jus...@gm...> - 2018-03-11 07:42:44
|
Hi, I’m curious about the rationale of the @python_method decorator from the objc module. In current PyObjC versions any method in an NSObject subclass that does not conform to the ObjC conventions need to be decorated with @python_method. I understand this means such methods can’t be called from ObjC. The thing is, when I’m writing Python code, I am well aware of what will be a valid ObjC method and what won’t be. I write lots of methods that I know will never be accessed from the ObjC side, and I’m fine with that. I want to write Pythonic code, so I have no interest in using ObjC selector naming conventions for such methods. Yet my code is now necessarily littered with @python_method decorators, which feels clumsy and ugly, and goes against the point of wanting to write clean Python code that does _not_ use the ObjC naming conventions. I’m currently looking at a page of code containing seven methods, _all_ of which have the decorator, which makes me sad :) I long for the “old” days when these things “just worked”, and there was simple and clean code on the Python side. If I omit the decorator, an exception is raised: objc.BadPrototypeError. So PyObjC already knows that that method is not conforming. I feel this is a case of “explicit is better than implicit” going too far. Maybe I’m missing something, but how is the @python_method decorator actually solving problems? So far it’s only gettin in my way. Thanks for any insights, Just |