{ "info": { "author": "Paul Kremer", "author_email": "paul@spurious.biz", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: MacOS X", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: DFSG approved", "License :: OSI Approved", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: https://badge.fury.io/py/launchd.png\n :target: http://badge.fury.io/py/launchd\n\n.. image:: https://pypip.in/d/launchd/badge.png\n :target: https://crate.io/packages/launchd/\n\n\nlaunchd is a pythonic interface to interact with OS X's `launchd `_.\nIt provides access to basic querying and interaction with launchd. It is\nimplemented using the Objective C \n`ServiceManagement framework `_\nas well as the `launchd` command line utility. Therefore, this python package\ncan only be used on `OS X `_\n\nThe python objective C bridge contains some special types. This package strips\noff all non built-in type information and returns pure python data.\n\nExamples\n========\n\nThe relevant import statement is:\n\n.. code-block:: python\n\n import launchd\n\n\nListing all launchd jobs:\n\n.. code-block:: python\n\n for job in launchd.jobs():\n print(job.label, job.pid, job.status, job.properties, job.plistfilename)\n\n\nFind the pid and laststatus of a job:\n\n.. code-block:: python\n\n >>> launchd.LaunchdJob(\"com.apple.Finder\").pid\n 278\n\n >>> launchd.LaunchdJob(\"com.apple.Finder\").laststatus\n 0\n\n >>> launchd.LaunchdJob(\"com.example.fubar\").pid\n Traceback (most recent call last):\n File \"launchd/launchctl.py\", line 78, in refresh\n raise ValueError(\"job '%s' does not exist\" % self.label)\n ValueError: job 'com.example.fubar' does not exist\n\nDetect if a job exists:\n\n.. code-block:: python\n\n >>> launchd.LaunchdJob(\"com.example.fubar\").exists()\n False\n\nlaunchd job properties (these come directly from launchd and NOT the .plist files):\n\n.. code-block:: python\n\n >>> launchd.LaunchdJob(\"com.apple.Finder\").properties\n {'OnDemand': 1, 'PID': 278, 'PerJobMachServices': {'com.apple.coredrag': 0,\n 'com.apple.axserver': 0, 'com.apple.CFPasteboardClient': 0,\n 'com.apple.tsm.portname': 0}, 'LimitLoadToSessionType': 'Aqua',\n 'Program': '/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder',\n 'TimeOut': 30, 'LastExitStatus': 0, 'Label': 'com.apple.Finder',\n 'MachServices': {'com.apple.finder.ServiceProvider': 10}}\n\n >>> launchd.LaunchdJob(\"com.apple.Finder\").properties[\"OnDemand\"]\n 1\n\n\nFind all plist filenames of currently running jobs:\n\n.. code-block:: python\n\n for job in launchd.jobs():\n if job.pid is None or job.plistfilename is None:\n continue\n print(job.plistfilename)\n\nJob properties of a given job (this uses the actual .plist file):\n\n.. code-block:: python\n\n >>> launchd.plist.read(\"com.apple.kextd\")\n {'ProgramArguments': ['/usr/libexec/kextd'], 'KeepAlive': {'SuccessfulExit': False},\n 'POSIXSpawnType': 'Interactive', 'MachServices': {'com.apple.KernelExtensionServer':\n {'HostSpecialPort': 15}}, 'Label': 'com.apple.kextd'}\n\n\n\nInstallation\n============\n\n.. code-block:: bash\n\n $ pip install launchd\n\nor, if you want to work using the source tarball:\n\n.. code-block:: bash\n\n $ python setup.py install\n \n\nRequirements\n============\n* OS X >= 10.6\n* Python 2.7, 3.2 or 3.3", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/infothrill/python-launchd", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "launchd", "package_url": "https://pypi.org/project/launchd/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/launchd/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/infothrill/python-launchd" }, "release_url": "https://pypi.org/project/launchd/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "pythonic interface for OS X launchd", "version": "0.1.1" }, "last_serial": 1130561, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f62b853ff019a593c8e0c2d5a0b12713", "sha256": "19b15b6ba4c8acef0c4ee017279fde1b6252c7030c29b77797811c902fa6d689" }, "downloads": -1, "filename": "launchd-0.1.tar.gz", "has_sig": false, "md5_digest": "f62b853ff019a593c8e0c2d5a0b12713", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8291, "upload_time": "2013-11-06T08:27:05", "url": "https://files.pythonhosted.org/packages/ac/48/79bf175c7f03b976e9509e129ba13d5e0a7e6c07ec5c9205f2e3f98c9437/launchd-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c1d42b910bb1afbdcddd17a640ac35cd", "sha256": "673d5692558472ef07d535d9d8d4256eddc944fbf9b6d0e0bfff6dcd5fe946bc" }, "downloads": -1, "filename": "launchd-0.1.1-py27-none-any.whl", "has_sig": false, "md5_digest": "c1d42b910bb1afbdcddd17a640ac35cd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11469, "upload_time": "2014-06-19T13:12:01", "url": "https://files.pythonhosted.org/packages/cf/f3/e4ec2205b4450fa1fa15628d7c72f1048e5415f299b872a4fb4c7a357487/launchd-0.1.1-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7c531150200024c5c3783781d1b9acf", "sha256": "ffc4bd0ee5070fa4c37cb4941c37be7fd1697bf1faec1497913a14cd9d2848eb" }, "downloads": -1, "filename": "launchd-0.1.1-py32-none-any.whl", "has_sig": false, "md5_digest": "a7c531150200024c5c3783781d1b9acf", "packagetype": "bdist_wheel", "python_version": "3.2", "requires_python": null, "size": 12185, "upload_time": "2014-06-19T13:13:26", "url": "https://files.pythonhosted.org/packages/98/e8/90765fee912d1af1d7b12571835ee7704c9bfeef5be2f11afd6e89b9b5f9/launchd-0.1.1-py32-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35c3c1f04eaceefc18cac2f5b9c35e4b", "sha256": "2e7e45dc386e0b3f7763275fdc6f4178b3c80d407ad9878ec03620e731405cd1" }, "downloads": -1, "filename": "launchd-0.1.1-py33-none-any.whl", "has_sig": false, "md5_digest": "35c3c1f04eaceefc18cac2f5b9c35e4b", "packagetype": "bdist_wheel", "python_version": "3.3", "requires_python": null, "size": 11465, "upload_time": "2014-06-19T13:12:33", "url": "https://files.pythonhosted.org/packages/19/f5/8277628c0d288108d8977f6f405eab4b662dd97e8925fad756f837a464e0/launchd-0.1.1-py33-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f489e8b9cf3ce9e011cdcfe6033dfca", "sha256": "96bb25962b06a92c7e718c1db1485b5ff5c99384ed73764757ae8d63f7e78cc3" }, "downloads": -1, "filename": "launchd-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7f489e8b9cf3ce9e011cdcfe6033dfca", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11466, "upload_time": "2014-06-19T13:12:59", "url": "https://files.pythonhosted.org/packages/05/5f/a793e4434beb5ee3c08cb436aaa0377e06ddde4bc2e218d4dfac58c3bb19/launchd-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc3b413525f2450f1706204fc430a6ed", "sha256": "8adf0f8598ba41561578bc7f9333e74eff181ef7527dd27d0b7a2979215bc23e" }, "downloads": -1, "filename": "launchd-0.1.1.tar.gz", "has_sig": false, "md5_digest": "cc3b413525f2450f1706204fc430a6ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8336, "upload_time": "2013-11-07T11:03:05", "url": "https://files.pythonhosted.org/packages/13/1c/95621590729211927d715552950f13f225c5a93a07bdc720c1b0fa6ac3cd/launchd-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c1d42b910bb1afbdcddd17a640ac35cd", "sha256": "673d5692558472ef07d535d9d8d4256eddc944fbf9b6d0e0bfff6dcd5fe946bc" }, "downloads": -1, "filename": "launchd-0.1.1-py27-none-any.whl", "has_sig": false, "md5_digest": "c1d42b910bb1afbdcddd17a640ac35cd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11469, "upload_time": "2014-06-19T13:12:01", "url": "https://files.pythonhosted.org/packages/cf/f3/e4ec2205b4450fa1fa15628d7c72f1048e5415f299b872a4fb4c7a357487/launchd-0.1.1-py27-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7c531150200024c5c3783781d1b9acf", "sha256": "ffc4bd0ee5070fa4c37cb4941c37be7fd1697bf1faec1497913a14cd9d2848eb" }, "downloads": -1, "filename": "launchd-0.1.1-py32-none-any.whl", "has_sig": false, "md5_digest": "a7c531150200024c5c3783781d1b9acf", "packagetype": "bdist_wheel", "python_version": "3.2", "requires_python": null, "size": 12185, "upload_time": "2014-06-19T13:13:26", "url": "https://files.pythonhosted.org/packages/98/e8/90765fee912d1af1d7b12571835ee7704c9bfeef5be2f11afd6e89b9b5f9/launchd-0.1.1-py32-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35c3c1f04eaceefc18cac2f5b9c35e4b", "sha256": "2e7e45dc386e0b3f7763275fdc6f4178b3c80d407ad9878ec03620e731405cd1" }, "downloads": -1, "filename": "launchd-0.1.1-py33-none-any.whl", "has_sig": false, "md5_digest": "35c3c1f04eaceefc18cac2f5b9c35e4b", "packagetype": "bdist_wheel", "python_version": "3.3", "requires_python": null, "size": 11465, "upload_time": "2014-06-19T13:12:33", "url": "https://files.pythonhosted.org/packages/19/f5/8277628c0d288108d8977f6f405eab4b662dd97e8925fad756f837a464e0/launchd-0.1.1-py33-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f489e8b9cf3ce9e011cdcfe6033dfca", "sha256": "96bb25962b06a92c7e718c1db1485b5ff5c99384ed73764757ae8d63f7e78cc3" }, "downloads": -1, "filename": "launchd-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7f489e8b9cf3ce9e011cdcfe6033dfca", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 11466, "upload_time": "2014-06-19T13:12:59", "url": "https://files.pythonhosted.org/packages/05/5f/a793e4434beb5ee3c08cb436aaa0377e06ddde4bc2e218d4dfac58c3bb19/launchd-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc3b413525f2450f1706204fc430a6ed", "sha256": "8adf0f8598ba41561578bc7f9333e74eff181ef7527dd27d0b7a2979215bc23e" }, "downloads": -1, "filename": "launchd-0.1.1.tar.gz", "has_sig": false, "md5_digest": "cc3b413525f2450f1706204fc430a6ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8336, "upload_time": "2013-11-07T11:03:05", "url": "https://files.pythonhosted.org/packages/13/1c/95621590729211927d715552950f13f225c5a93a07bdc720c1b0fa6ac3cd/launchd-0.1.1.tar.gz" } ] }