 So I'm a sysadmin and I manage about 500 client Macs at Concordia University in fine arts here in Montreal and I do it almost entirely in Python and a lot of other organizations actually do as well and there's actually a lot of people who were like me and Use an ecosystem of Python based tools and so I want to show a few of these to you today So first one is called monkey. It's a system for managing software installations and removals on Mac clients It's written by a Greg Nagel at Disney Animation Basically, you have your clients you have Package repository and then clients pull that package repo and pull whatever software has been designated for them It can be very specific if you want as an admin or users get to use this self-service application That looks a lot like the Mac app store. That's a native app But it contains whatever we want to provide to the users such as pre-configured printers VPN clients Free software license software Apple's own updates. Users don't have to be at bins to actually use this which is great so under the hood of the business logic is all in Python and The use of the Python Objective C bridge is what makes it actually function like a real Mac app Monkeys used to manage over a hundred thousand Macs around the world a Google Dropbox Facebook Big school districts universities a lot of them use monkey Next up is auto DMG or auto damage by para Olufsen at the University of Gothenburg It takes your OS 10 installer application You run it it runs the installer to a compressed disk image and you wind up with the image You can re-image to machines quickly without ever having to do any manual steps To create an image you can add additional apps and packages as well Again all the application logic stand in Python, but there's an objective C bridge to provide the the GUI native app behavior Lastly there's a project called auto package that I co-maintain Basically Mac admins spend an inordinate amount of time fetching updates and packaging software deploying it when there's an any update for anything whatsoever So there's a command line utility that I that I co-maintain with the previous two people I mentioned All these stupid steps that we that people have to do every time there's a new update for anything People can define these in a recipe in a bit similar ways to homebrew homebrew cask type projects But these are posted on github and they're searchable at the command line And there's over a thousand recipes that people have done for various tasks combinations of these for for desktop GUI applications So what used to be a lot of manual work and take a long time? We've condensed down just to a single set of commands that you can run and it takes out all the guesswork of all these applications That we have to deploy and support. It will automatically find latest versions from update feeds and Scrape web pages and all that And so Python in the Mac IT community has actually been really great because it's been a way to teach admins who would otherwise be trying to do everything in bash how to Use something good higher level and use Python and because there's a lot of great projects that are based on Python There's a lot of great example code if there as well The other reason that we like Python is because Apple ships in OS 10 of Python Objective-C bridge Which lets you access a lot of the native OS 10 APIs directly from scripts without ever any ever compiling anything Or dealing much with memory management. These are just a few of the APIs that people would tend to use either for system routine tasks or for Or for user-facing tasks as well So now I'll quickly show you How you would use location services The API to to get a location of the Mac So this is just in native interpreter Apple system Python We just have to import the core location module no additional steps necessary We then have to do this weird thing where we create a manager and we actually are calling Alec and a knit calls on a Class method, but depending on the API you use there's different ways to actually initialize objects We then have to ask it to start updating the location regret the coordinate from the location latitude and longitude Verify that we actually got something it's a bit off-center and then we can just do something Just to demonstrate that we actually got something useful Open the map at the current location that we got And so That is it. Thanks everyone. That's my Twitter handle. That's my blog GitHub and if you've got any questions afterwards on these projects or this kind of Objective C stuff come find me. Thanks