Access Objective-C classes from Python
Go to file
Matt Einhorn 586991a2a5
Build wheels for pyobjus ()
* Build wheels.

* No need to check for cython.

* Use setuptools.

* Cython needs to be available.

* Cython needs to be installed for sdist and tests.

* Missing pytest.
2022-03-18 19:52:20 -04:00
.github/workflows Build wheels for pyobjus () 2022-03-18 19:52:20 -04:00
docs docs: Fix a few typos () 2021-12-26 09:44:16 +01:00
examples docs: Fix a few typos () 2021-12-26 09:44:16 +01:00
objc_classes Fixes IMP, similar to PR 2020-07-04 13:00:01 +02:00
pyobjus Fixes universal2 build 2021-11-20 13:25:19 +01:00
tests Merge pull request from Mulugruntz/fix-objcarr-crash-if-empty 2020-10-20 15:19:10 -04:00
tools fix protocol parsing and update protocols 2016-04-10 15:31:24 -05:00
.gitignore enhance setup and Makefile to not force compilation of pyobjus, only use depends changes. 2014-02-06 18:19:35 +01:00
LICENSE Update copyright year 2017-08-11 21:38:21 +02:00
MANIFEST.in Switch to GitHub actions with automatic deployment () 2020-11-04 20:45:58 -05:00
Makefile run tests through github actions () 2020-08-14 15:29:47 +02:00
README.md Update README.md to add opencollective 2019-02-05 11:05:27 +01:00
pyproject.toml Add pyproject.toml () 2020-09-05 16:52:17 -04:00
setup.py Build wheels for pyobjus () 2022-03-18 19:52:20 -04:00

README.md

Pyobjus

Python module for accessing Objective-C classes as Python classes using Objective-C runtime reflection.

Build Status Backers on Open Collective Sponsors on Open Collective

Quick overview


from pyobjus import autoclass, objc_str
from pyobjus.dylib_manager import load_framework, INCLUDE

# load AppKit framework into pyojbus
load_framework(INCLUDE.AppKit)

# get nsalert class
NSAlert = autoclass('NSAlert')

# create an NSAlert object, and show it.
alert = NSAlert.alloc().init()
alert.setMessageText_(objc_str('Hello world!'))
alert.runModal()

Support

If you need assistance, you can ask for help on our mailing list:

We also have an IRC channel:

  • Server : irc.freenode.net
  • Port : 6667, 6697 (SSL only)
  • Channel : #kivy

Contributing

We love pull requests and discussing novel ideas. Check out our contribution guide and feel free to improve Pyobjus.

The following mailing list and IRC channel are used exclusively for discussions about developing the Kivy framework and its sister projects:

Discord channel:

License

Pyobjus is released under the terms of the MIT License. Please refer to the LICENSE file.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]