{ "info": { "author": "Michael Dorman", "author_email": "mjdorma+pyvbox@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Security", "Topic :: Software Development :: Testing", "Topic :: System :: Clustering", "Topic :: System :: Distributed Computing", "Topic :: System :: Emulators" ], "description": "virtualbox-python\n*****************\n\n.. image:: https://img.shields.io/travis/sethmlarson/virtualbox-python/master.svg\n :target: https://travis-ci.org/sethmlarson/virtualbox-python\n\nComplete implementation of VirtualBox's COM API a Pythoninc interface.\n\nInstallation\n============\n\nGo to VirtualBox's downloads page (https://www.virtualbox.org/wiki/Downloads) and download the VirtualBox SDK.\nWithin the extracted ZIP file there is a directory called \"installer\". Open a console within the installer directory\nand run ``python vboxapisetup.py install`` using your system Python. This installs ``vboxapi`` which is the interface\nthat talks to VirtualBox via COM.\n\nNext is to install this library:\n\nTo get the latest released version of virtualbox from PyPI run the following::\n\n $ python -m pip install virtualbox\n \nor to install the latest development version from GitHub::\n\n $ git clone https://github.com/sethmlarson/virtualbox-python\n $ cd virtualbox-python\n $ python setup.py install\n\nGetting Started \n===============\n\nListing Available Machines\n--------------------------\n\n .. code-block::\n\n >>> import virtualbox\n >>> vbox = virtualbox.VirtualBox()\n >>> [m.name for m in vbox.machines]\n [\"windows\"]\n\nLaunching a Machine\n-------------------\n\n .. code-block::\n\n >>> session = virtualbox.Session()\n >>> machine = vbox.find_machine(\"windows\")\n >>> progress = machine.launch_vm_process(session, \"gui\", \"\")\n >>> progress.wait_for_completion()\n\nQuerying the Machine\n--------------------\n\n .. code-block::\n\n >>> session.state\n SessionState(2) # locked\n >>> machine.state\n MachineState(5) # running\n >>> height, width, _, _, _, _ = session.console.display.get_screen_resolution()\n\nInteracting with the Machine\n----------------------------\n\n .. code-block::\n\n >>> session.console.keyboard.put_keys(\"Hello, world!\")\n >>> guest_session = session.console.guest.create_session(\"Seth Larson\", \"password\")\n >>> guest_session.directory_exists(\"C:\\\\Windows\")\n True\n >>> proc, stdout, stderr = guest_session.execute(\"C:\\\\\\\\Windows\\\\System32\\\\cmd.exe\", [\"/C\", \"tasklist\"])\n >>> print(stdout)\n Image Name PID Session Name Session# Mem Usage\n ========================= ====== ================ ======== ============\n System Idle Process 0 Console 0 28 K\n System 4 Console 0 236 K\n smss.exe 532 Console 0 432 K\n csrss.exe 596 Console 0 3,440 K\n winlogon.exe 620 Console 0 2,380 K\n services.exe 664 Console 0 3,780 K\n lsass.exe 676 Console 0 6,276 K\n VBoxService.exe 856 Console 0 3,972 K\n svchost.exe 900 Console 0 4,908 K\n svchost.exe 1016 Console 0 4,264 K\n svchost.exe 1144 Console 0 18,344 K\n svchost.exe 1268 Console 0 2,992 K\n svchost.exe 1372 Console 0 3,948 K\n spoolsv.exe 1468 Console 0 4,712 K\n svchost.exe 2000 Console 0 3,856 K\n wuauclt.exe 400 Console 0 7,176 K\n alg.exe 1092 Console 0 3,656 K\n wscntfy.exe 1532 Console 0 2,396 K\n explorer.exe 1728 Console 0 14,796 K\n wmiprvse.exe 1832 Console 0 7,096 K\n VBoxTray.exe 1940 Console 0 3,196 K\n ctfmon.exe 1948 Console 0 3,292 K\n cmd.exe 1284 Console 0 2,576 K\n tasklist.exe 124 Console 0 4,584 K\n\nRegistering Event Handlers\n--------------------------\n\n .. code-block::\n\n >>> def test(event):\n >>> print(\"scancode received: %r\" % a.scancodes)\n >>>\n >>> session.console.keyboard.set_on_guest_keyboard(test)\n 140448201250560\n scancode received: [35]\n scancode received: [23]\n scancode received: [163]\n scancode received: [151]\n scancode received: [57]\n\nPowering-Down a Machine\n-----------------------\n\n .. code-block::\n\n >>> session.console.power_down()\n\nLicense\n=======\n\nApache-2.0", "description_content_type": "", "docs_url": "https://pythonhosted.org/pyvbox/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sethmlarson/virtualbox-python", "keywords": "", "license": "Apache-2.0", "maintainer": "Seth Michael Larson", "maintainer_email": "sethmichaellarson@gmail.com", "name": "pyvbox", "package_url": "https://pypi.org/project/pyvbox/", "platform": "cygwin", "project_url": "https://pypi.org/project/pyvbox/", "project_urls": { "Homepage": "https://github.com/sethmlarson/virtualbox-python" }, "release_url": "https://pypi.org/project/pyvbox/2.0.0/", "requires_dist": null, "requires_python": "", "summary": "Complete implementation of VirtualBox's COM API with a Pythoninc interface", "version": "2.0.0" }, "last_serial": 5081784, "releases": { "0.0.0": [], "0.0.1": [ { "comment_text": "", "digests": { "md5": "d8203a39f1e85a0acd003891760fdbe3", "sha256": "c7f7655a6cf74d531a962b45a54dc86754265ba19707a424914d9007cbcbd80c" }, "downloads": -1, "filename": "pyvbox-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d8203a39f1e85a0acd003891760fdbe3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 179703, "upload_time": "2013-05-26T00:57:15", "url": "https://files.pythonhosted.org/packages/a0/4b/3d31e2b9b72e63720b2e5b6aed21933ca92e13bd120817a3f0c1e2f52cee/pyvbox-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "83d256ff8b92c82a2aac4e5f48ee27f4", "sha256": "af0efa9498a87eb2b431e7abeb7d3a65fc74fb341073c819f8fd17efb1c81eae" }, "downloads": -1, "filename": "pyvbox-0.0.2.tar.gz", "has_sig": false, "md5_digest": "83d256ff8b92c82a2aac4e5f48ee27f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 188711, "upload_time": "2013-05-28T12:27:58", "url": "https://files.pythonhosted.org/packages/9e/27/814a227c46891a5a8e29566fe01640145fd670814e965555734dff204d64/pyvbox-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "5ae88ea3adaf37a27b42e1fc055c73bd", "sha256": "0702d0c50928edae7833eb21e73fe4b0ca5a83d3c94903052524b2aac18aca0a" }, "downloads": -1, "filename": "pyvbox-0.0.3.tar.gz", "has_sig": false, "md5_digest": "5ae88ea3adaf37a27b42e1fc055c73bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 189775, "upload_time": "2013-05-29T22:26:19", "url": "https://files.pythonhosted.org/packages/45/3b/e002bb32f3aa667d8742cd772258fdd8e94e8f5ee1ab84e403074d9c5407/pyvbox-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "1aea86b6b51edf95df624e62b741214e", "sha256": "7c98441e24d249761f9d70f25500fd4d5837c9ce4544a084876f22d8911bac45" }, "downloads": -1, "filename": "pyvbox-0.0.4.tar.gz", "has_sig": false, "md5_digest": "1aea86b6b51edf95df624e62b741214e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 197440, "upload_time": "2013-06-27T10:21:57", "url": "https://files.pythonhosted.org/packages/ca/b1/eb5c082a81a1bf17654107ab5d2cbabde52b3de21f316716edd7e8f428c4/pyvbox-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "e4a91ceb1980d255b1ea0bc7b546ea28", "sha256": "04e2431a536d0b065afc821f89d3b0fa263d10e1c38c8c8e56cb2b3f6b162821" }, "downloads": -1, "filename": "pyvbox-0.0.5.tar.gz", "has_sig": false, "md5_digest": "e4a91ceb1980d255b1ea0bc7b546ea28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 187983, "upload_time": "2013-07-23T11:10:28", "url": "https://files.pythonhosted.org/packages/ad/8f/3ea8572225bac7f029d840fb5764099bb01e463f8fbe6ce57d4819743e81/pyvbox-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "39410a1fdcf5f514318436021058b53e", "sha256": "cf609bbbd743cae1e932aab25daba041995279f1d6ffd00bd0f1967ab8154fb7" }, "downloads": -1, "filename": "pyvbox-0.0.6.tar.gz", "has_sig": false, "md5_digest": "39410a1fdcf5f514318436021058b53e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 190397, "upload_time": "2013-07-25T07:11:23", "url": "https://files.pythonhosted.org/packages/01/66/2710119446896237b8c4199c57e50dca4f2e88c789a912b7d5fca9d4327d/pyvbox-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "7ec82bab882a4c94867e42c0964cea44", "sha256": "6ff786dce0db56f1107f047503c505adcf7539eb6c2c9393eb5eedc4331233c6" }, "downloads": -1, "filename": "pyvbox-0.0.7.tar.gz", "has_sig": false, "md5_digest": "7ec82bab882a4c94867e42c0964cea44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 196513, "upload_time": "2013-10-09T09:14:37", "url": "https://files.pythonhosted.org/packages/07/23/246c4a48a8f5b257e13ea6d3c77137fbf04e2cd7267886b500fb04a4c32d/pyvbox-0.0.7.tar.gz" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "60e3eed552ff020ece3fb966201c610a", "sha256": "debe65f4f9713e8380f1e99ef520634b0ac23eb261bd3369c1070802a271b9bd" }, "downloads": -1, "filename": "pyvbox-0.1.tar.gz", "has_sig": false, "md5_digest": "60e3eed552ff020ece3fb966201c610a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 198524, "upload_time": "2014-01-03T23:55:52", "url": "https://files.pythonhosted.org/packages/4c/df/c881bf60b05d69e0f3d1dc24434a6b208f30d07f826db27b1d6dab83fab0/pyvbox-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "52c9d8c956106b65c530418c1556e9fc", "sha256": "0881953111f183ca1d36a794f9fa6b7ddb16856c3414e6369e2fe94c67b17a37" }, "downloads": -1, "filename": "pyvbox-0.1.1.zip", "has_sig": false, "md5_digest": "52c9d8c956106b65c530418c1556e9fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 208776, "upload_time": "2014-02-17T04:29:10", "url": "https://files.pythonhosted.org/packages/8e/d1/8e8a1643140fd631259b4a62cb8de4bcc3ca766425fb72d5f15c56a1ac94/pyvbox-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2481791b2093c74f267a26206e665637", "sha256": "0068ee51034d9927ae8a3cca2a8da0dada7c9576f5e7ba55862bd461b4f251ef" }, "downloads": -1, "filename": "pyvbox-0.1.2.zip", "has_sig": false, "md5_digest": "2481791b2093c74f267a26206e665637", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 212039, "upload_time": "2014-02-28T01:40:32", "url": "https://files.pythonhosted.org/packages/83/99/1f9e684dd2770987d0538b7b763f97bbc505ddd89ae1614f851f201c714a/pyvbox-0.1.2.zip" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "28dc36d900b0a90dbfb9cd59d8eb3584", "sha256": "247c547abd2aa24e4ebbfe7e8c9076ee7cdfaa9d397d40d10f2dcaa6aabadd99" }, "downloads": -1, "filename": "pyvbox-0.1.3.zip", "has_sig": false, "md5_digest": "28dc36d900b0a90dbfb9cd59d8eb3584", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220183, "upload_time": "2014-04-02T20:48:43", "url": "https://files.pythonhosted.org/packages/3c/1f/fe7b05b2e7ec7bfb0093b11e92adf427aaf6288020b71c867fa21ee744b3/pyvbox-0.1.3.zip" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4609473193cc95d82a9514c7bb8b68fd", "sha256": "53fee9c61fbd934856bcb38d927e4d48a28c25cc65213f1677fdec994d2e46c2" }, "downloads": -1, "filename": "pyvbox-0.1.4.zip", "has_sig": false, "md5_digest": "4609473193cc95d82a9514c7bb8b68fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220200, "upload_time": "2014-04-09T05:42:54", "url": "https://files.pythonhosted.org/packages/b8/4d/242393aa54f5209081be0aa0e369bed451dc6ac71e25555c391bb8c3e624/pyvbox-0.1.4.zip" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "bc2f5d1d9c069006dec1faa3f2db4b5a", "sha256": "2afaf1df528f093c89eebe67f499630c555d314bf72268a263409929632112b0" }, "downloads": -1, "filename": "pyvbox-0.1.5.tar.gz", "has_sig": false, "md5_digest": "bc2f5d1d9c069006dec1faa3f2db4b5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 207928, "upload_time": "2014-05-11T21:20:11", "url": "https://files.pythonhosted.org/packages/69/f4/5f89dfe7fe28e7f15b2b228a310d8a588a06981686a48dd6e7cfd38b8f83/pyvbox-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "703d7dba3f4e84d0c37f1c21e98c4dd4", "sha256": "314ce460606624e585e6eb4cd5d233b3272405b59af368d5405c283dbab8b71c" }, "downloads": -1, "filename": "pyvbox-0.1.6.tar.gz", "has_sig": false, "md5_digest": "703d7dba3f4e84d0c37f1c21e98c4dd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 208004, "upload_time": "2014-08-01T12:06:34", "url": "https://files.pythonhosted.org/packages/ac/8b/db98fa3554528afc52a1199f4baf66f7081c4ef88750e3d73227e170e892/pyvbox-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "78273958ea1eb4ed8e4b843de0a44702", "sha256": "cb630b66d7730343fa951311147b3cc55743e1db0495edd85f9e037ea5ca5674" }, "downloads": -1, "filename": "pyvbox-0.2.0.tar.gz", "has_sig": false, "md5_digest": "78273958ea1eb4ed8e4b843de0a44702", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 207422, "upload_time": "2014-08-25T09:43:47", "url": "https://files.pythonhosted.org/packages/15/68/b4a0a8ace80efae273093a6c4a5ba118fa26488a9679d77ef93b27908365/pyvbox-0.2.0.tar.gz" } ], "0.2.1": [], "0.2.2": [ { "comment_text": "", "digests": { "md5": "41de7ae862f3ec439e310a7c03078cfe", "sha256": "6e722bed534f03a9ab8710601792f0d954511c668269f95157c0e9e89fe405de" }, "downloads": -1, "filename": "pyvbox-0.2.2.tar.gz", "has_sig": false, "md5_digest": "41de7ae862f3ec439e310a7c03078cfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 207115, "upload_time": "2015-05-19T01:31:20", "url": "https://files.pythonhosted.org/packages/f2/4c/64aebb2f58c062e35b41aa8259e0aa155f9e5254a8345a236c97c2fb74d4/pyvbox-0.2.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "71f382fc1da120f27cf7968d3e709eb8", "sha256": "98f6dfdbae8f7804c28b9c234f9aef37550d03843a2c911c3b71b14ec66baaac" }, "downloads": -1, "filename": "pyvbox-1.0.0.tar.gz", "has_sig": false, "md5_digest": "71f382fc1da120f27cf7968d3e709eb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 219808, "upload_time": "2016-01-18T09:21:16", "url": "https://files.pythonhosted.org/packages/89/9f/f4b9548756a33d262c5919d72c6eebeac44f9c18f7c774c1b0015ed0fb63/pyvbox-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "62cf3a4cdf1029306ee40a101a8d88ba", "sha256": "199ee23122021d108d280bde2cb3589665fd02b0c715b0aacdccb7fe0b386e94" }, "downloads": -1, "filename": "pyvbox-1.1.0.tar.gz", "has_sig": false, "md5_digest": "62cf3a4cdf1029306ee40a101a8d88ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 227937, "upload_time": "2017-06-02T21:51:36", "url": "https://files.pythonhosted.org/packages/92/55/b47e4efccafe9c57323c08df0b70c643ad90ab41d13d4773e8524bd23463/pyvbox-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "e345fc7659400fc3409fe728e5a1cf76", "sha256": "3fa5478c9afab0fffc20395a8a05ccc9f10036998fbd01216aa9aa7ff9282646" }, "downloads": -1, "filename": "pyvbox-1.2.0.tar.gz", "has_sig": false, "md5_digest": "e345fc7659400fc3409fe728e5a1cf76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 250888, "upload_time": "2017-07-07T02:49:50", "url": "https://files.pythonhosted.org/packages/b7/be/ab0e11cf65b2d3f1270f226dd89a4818b65928d86be3d75ca55549bc4a29/pyvbox-1.2.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "d61acadfb6347726accd2483cfddd180", "sha256": "4cca1c42db2349e151fa4f3272ae988e30938f6e80466a63b6be94089153948c" }, "downloads": -1, "filename": "pyvbox-1.3.1.tar.gz", "has_sig": false, "md5_digest": "d61acadfb6347726accd2483cfddd180", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 255965, "upload_time": "2018-02-21T01:39:17", "url": "https://files.pythonhosted.org/packages/98/02/d5859cbf7dad59f15db8325461bdb404042e858e5c2fe90d974705ab0143/pyvbox-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "c05218b7658de61f48fba4afeb400b46", "sha256": "6d410f4b6112c380b063a65cefd93a081ece6f9c9eeed31364bed5ec67ce7a8b" }, "downloads": -1, "filename": "pyvbox-1.3.2.tar.gz", "has_sig": false, "md5_digest": "c05218b7658de61f48fba4afeb400b46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 257026, "upload_time": "2018-02-21T17:11:17", "url": "https://files.pythonhosted.org/packages/5f/f7/4388859e1581e2177567ae451d1c3dd049c33c67b745607a87ddcf985ae1/pyvbox-1.3.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "93e49651d43ff2625fe72f270b0c04dd", "sha256": "40baa18ddb2d3d5204ba737c45766d0464824beb2f51794bcb6238b258a3a8e7" }, "downloads": -1, "filename": "pyvbox-2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "93e49651d43ff2625fe72f270b0c04dd", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 250232, "upload_time": "2019-04-03T02:02:21", "url": "https://files.pythonhosted.org/packages/d3/6b/90972ce69a005599b19c73b2c21e55665149741cb5e83c88c6f73299165a/pyvbox-2.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6f190ff5646200879398bbc884bd803", "sha256": "fea783f33be7b3a66571e6b85a71aeb94c643ec93b8c5c7ff921e593d874aa04" }, "downloads": -1, "filename": "pyvbox-2.0.0.tar.gz", "has_sig": false, "md5_digest": "d6f190ff5646200879398bbc884bd803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 257820, "upload_time": "2019-04-03T02:02:08", "url": "https://files.pythonhosted.org/packages/44/d8/4be149c62f156929520533ac5c9ebc8ddd1f7247ae62e39c015bb512e726/pyvbox-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "93e49651d43ff2625fe72f270b0c04dd", "sha256": "40baa18ddb2d3d5204ba737c45766d0464824beb2f51794bcb6238b258a3a8e7" }, "downloads": -1, "filename": "pyvbox-2.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "93e49651d43ff2625fe72f270b0c04dd", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 250232, "upload_time": "2019-04-03T02:02:21", "url": "https://files.pythonhosted.org/packages/d3/6b/90972ce69a005599b19c73b2c21e55665149741cb5e83c88c6f73299165a/pyvbox-2.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6f190ff5646200879398bbc884bd803", "sha256": "fea783f33be7b3a66571e6b85a71aeb94c643ec93b8c5c7ff921e593d874aa04" }, "downloads": -1, "filename": "pyvbox-2.0.0.tar.gz", "has_sig": false, "md5_digest": "d6f190ff5646200879398bbc884bd803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 257820, "upload_time": "2019-04-03T02:02:08", "url": "https://files.pythonhosted.org/packages/44/d8/4be149c62f156929520533ac5c9ebc8ddd1f7247ae62e39c015bb512e726/pyvbox-2.0.0.tar.gz" } ] }