Pyobjc

Latest version: v11.0

Safety actively analyzes 701302 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 17 of 18

0.41

----------------------------

- Revised error messages: for arguments type mismatch they show the ObjC type
expected.

- When a method returns a pointer to something, it gets translated as an
ObjCPointer object, not the pythonified pointed value. When a method
expects a pointer argument, it accepts such an object as well.

- New demo: Fred. To halt it, suspend the Python process with ^Z then kill
it ;-).

- Setup.in directives changed. See the new file Modules/Setup.PyObjC.in

- Distributed as a standalone package. Special thanks to Bill Bumgarner.

0.31

-------------------------------

- It's now possible to use a different strategy to map ObjC method names to
Python ones. Sooner or later we should decide the one to go, and drop the
other. For details, see comments on PYTHONIFY_WITH_DOUBLE_UNDERSCORE in
objc_support.h.
- Manual section.
- ObjC.runtime.__dict__ added.
- ObjC.runtime.kind added.

0.9

-------------------------

- This version includes numerous bugfixes and improvements.

- The module AppKit.NibClassBuilder has been moved to the package
PyObjCTools.

- Usage of libFFI (https://sourceware.org/libffi/) is now mandatory. The
setup.py gives the impression that it isn't, but we do *not* support
non-FFI builds.

- We actually have some documentation, more will be added in future releases.

- There are more Project Builder templates (see 'Project Templates').

- The InterfaceBuilder, PreferencePanes and ScreenSaver frameworks have been
wrapped.

- Management of reference counts is now completely automatic, it is no longer
necessary to manually compensate for the higher reference count of objects
returned by the alloc, copy and copyWithZone: class methods.

- Various function and keyword arguments have been renamed for a better
integration with Cocoa. A partial list is of the changed names is::

objc.lookup_class -> objc.lookUpClass
objc.selector arguments/attributes:
is_initializer -> isInitializer
is_allocator -> isAlloc
donates_ref -> doesDonateReference
is_required -> isRequired
class_method -> isClassMethod
defining_class -> definingClass
returns_self -> returnsSelf
argument_types -> argumentTypes
return_type -> returnType
objc.get_class_list -> objc.getClassList

- On Python 2.2, objc.YES and objc.NO are instances of a private boolean type,
on Python 2.3 these are instances of the builtin type bool.

- Because we now use libFFI a large amount of code could be disabled. The
binaries are therefore much smaller, while we can now forward messages with
arbitrary signatures (not limited to those we thought of while generating
the static proxies that were used in 0.8)

- Better support for APIs that use byte arrays are arguments or return values.
Specifically, the developer can now manipulate bitmaps directly via the
NSBitmapImageRep class, work with binary data through the NSData class, and
very quickly draw points and rects via NSRectFillList()

- We added a subclass of unicode that is used to proxy NSString values. This
makes it easily possible to use NSString values with Python APIs, while at
the same time allowing access to the full power of NSString.

0.8

-------------------------

- GNUStep support has been removed for lack of support. Volunteers
needed.

- Subclassing Objective-C classes from Python, including the addition
of instance variables (like 'IBOutlet's)

- Generic support for pass-by-reference arguments

- More complete Cocoa package, including wrappers for a number of
C functions, enumerated types, and globals.

- More example code

- Objective-C mappings and sequences can be accessed using the normal
python methods for accessing mappings and sequences (e.g. subscripting
works as expected)

- Documentation: See the directory 'docs'

- Can build standalone Cocoa applications based entirely on Python
without requiring that user installs anything extra (requires 10.2).

- Better packaging and wrapper construction tools (borrowed from
MacPython).

- An installer package.

- Support for Project Builder based Cocoa-Python projects.

- Unit tests.

Version 2002-01-30 (January 30, 2002)
-------------------------------------

- Version bumped to 0.6.1 ( __version__ is now a PyString )

- Will now build for Python 2.2

- added Cocoa package with Foundation.py and AppKit.py wrappers.

- HelloWorld.py in Examples

- builds with -g flag for debugging. -v option will dump log
of message sends to /tmp file.

- Fixed one major runtime bug: added ISCLASS test before isKindOfClass -
without check, it crashes on sends to abstract classes like NSProxy.

- There are still problems with Delegates and Notifications.

Version 2001-03-17 (March 17, 2001)
-----------------------------------

- moved to using distutils setup.py (requires small patch to distutils
that has been submitted against python 2.1b1)

Version 2000-11-14 (November 14, 2000)
--------------------------------------

- GNU_RUNTIME is likely completely broken

- Compiles on macOS Server (python 2.0)

- Compiles on macOS (python 2.0)

- Works as either a dynamically loadable module or statically built
into a python executable

- Requires a modified makesetup to work [patches have been sent to
SourceForge.net's Python project].

- Supports NSAutoReleasepool.

- Some pre-OSX stuff removed; references to old APIs, etc... (but
nowhere near clean)

0.4

------------------------------

- Now handles methods returning doubles or floats.

- ObjCRuntime responds to .sel_is_mapped().

0.3

------------------------------

- No user visible changes, just a little effort towards GNU_RUNTIME support.

Page 17 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.