{
"info": {
"author": "Miro Hron\u010dok, Ji\u0159\u00ed Makarius, Douglas Brion",
"author_email": "miro@hroncok.cz, meadowfrey@gmail.com, me@douglasbrion.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Intended Audience :: Manufacturing",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Printing",
"Topic :: Software Development :: Libraries",
"Topic :: System :: Networking :: Monitoring"
],
"description": "===========================\nOctoRest\n===========================\n\nPython client library for OctoPrint REST API\n\nThis is continued work after the great start by Miro Hron\u010dok of covering the\nOctoPrint REST API. Nearly all current functionality in the API has been covered (up to OctoPrint 1.3.11),\nbut as of yet I have not had time to add extensive testing for all aspects of the API.\n\nInstallation\n------------\n\nThe easiest way to install the package is via ``pip``::\n\n $ pip install octorest\n\n\nExamples\n--------\n\nYou may want a function which returns an instance of the OctoRest object connected to your printer.\n\n.. code-block:: python\n\n def make_client(url, apikey):\n \"\"\"Creates and returns an instance of the OctoRest client.\n\n Args:\n url - the url to the OctoPrint server\n apikey - the apikey from the OctoPrint server found in settings\n \"\"\"\n try:\n client = OctoRest(url=url, apikey=apikey)\n return client\n except ConnectionError as ex:\n # Handle exception as you wish\n print(ex)\n\nOnce we have a client we can do many a cool thing with it!\nFor example the following retrieves all the G-code file names on your OctoPrint server and adds them to a string which is printed out.\n\n.. code-block:: python\n\n def file_names(client):\n \"\"\"Retrieves the G-code file names from the\n OctoPrint server and returns a string message listing the\n file names.\n\n Args:\n client - the OctoRest client\n \"\"\"\n message = \"The GCODE files currently on the printer are:\\n\\n\"\n for k in client.files()['files']:\n message += k['name'] + \"\\n\"\n print(message)\n\nMaybe you want to stop your print and then subsequently home the printer. This is very simple to do using OctoRest!\n\n.. code-block:: python\n\n def toggle_home(client):\n \"\"\"Toggles the current print (if printing it pauses and\n if paused it starts printing) and then homes all of\n the printers axes.\n\n Args:\n client - the OctoRest client \n \"\"\"\n print(\"Pausing the print!\")\n client.pause()\n print(\"Homing your 3d printer...\")\n client.home()\n\nImplemented features of OctoPrint REST API\n------------------------------------------\n\nA check list of the features currently implemented can be seen below.\n\n* General information\n - [ ] Authorization\n - [ ] Login\n - [ ] Logout\n* Version information\n - [X] Version information\n* Apps\n - [ ] Session Keys (Deprecated since version 1.3.11: This functionality will be removed in 1.4.0. Use the Application Keys Plugin workflow instead.)\n\n - [ ] Obtaining a temporary session key\n - [ ] Verifying a temporary session key\n* Connection handling\n - [X] Get connection settings\n - [X] Issue a connection command\n\n - [X] Connect\n - [X] Disconnect\n - [X] Fake_ack\n* File operations\n - [X] Retrieve all files\n - [X] Retrieve files from specific location\n - [X] Upload file or create folder\n - [X] Retrieve a specific file\u2019s or folder\u2019s information\n - [X] Issue a file command\n\n - [X] Select\n - [X] Slice\n - [X] Copy\n - [X] Move\n - [X] Delete file\n* Job operations\n - [X] Issue a job command\n\n - [X] Start\n - [X] Cancel\n - [X] Restart\n - [X] Pause\n\n - [X] Pause\n - [X] Resume\n - [X] Toggle\n - [X] Retrieve information about the current job\n* Languages\n - [X] Retrieve installed language packs\n - [X] Upload a language pack\n - [X] Delete a language pack\n* Log file management\n - [X] Retrieve a list of available log files\n - [X] Delete a specific logfile\n* Printer operations\n - [X] Retrieve the current printer state\n - [X] Issue a print head command\n\n - [X] Jog\n - [X] Home\n - [X] Feedrate\n - [X] Issue a tool command\n\n - [X] Target\n - [X] Offset\n - [X] Select\n - [X] Extrude\n - [X] Flowrate\n - [X] Retrieve the current tool state\n - [X] Issue a bed command\n\n - [X] Target\n - [X] Offset\n - [X] Retrieve the current bed state\n - [X] Issue a chamber command\n\n - [X] Target\n - [X] Offset\n - [X] Retrieve the current chamber state\n - [X] Issue an SD command\n\n - [X] Init\n - [X] Refresh\n - [X] Release\n - [X] Retrieve the current SD state\n - [X] Send an arbitrary command to the printer\n* Printer profile operations\n - [X] Retrieve all printer profiles\n - [ ] Add a new printer profile\n - [ ] Update an existing printer profile\n - [X] Remove an existing printer profile\n* Settings\n - [X] Retrieve current settings\n - [X] Save settings\n - [ ] Regenerate the system wide API key\n - [ ] Fetch template data (in beta)\n* Slicing\n - [X] List All Slicers and Slicing Profiles\n - [X] List Slicing Profiles of a Specific Slicer\n - [X] Retrieve Specific Profile\n - [ ] Add Slicing Profile\n - [X] Delete Slicing Profile\n* System\n - [X] List all registered system commands\n - [X] List all registered system commands for a source\n - [X] Execute a registered system command\n* Timelapse\n - [X] Retrieve a list of timelapses and the current config\n - [X] Delete a timelapse\n - [X] Issue a command for an unrendered timelapse\n\n - [X] Render\n - [X] Delete an unrendered timelapse\n - [X] Change current timelapse config\n* User\n - [X] Retrieve a list of users\n - [X] Retrieve a user\n - [X] Add a user\n - [X] Update a user\n - [X] Delete a user\n - [X] Reset a user\u2019s password\n - [X] Retrieve a user\u2019s settings\n - [ ] Update a user\u2019s settings\n - [X] Regenerate a user\u2019s personal API key\n - [X] Delete a user\u2019s personal API key\n* Util\n - [X] Test paths or URLs\n\n - [X] Path\n - [X] URL\n - [X] Server\n* Wizard\n - [X] Retrieve additional data about registered wizards\n - [X] Finish wizards\n\nCopyright & License\n-------------------\n\nCopyright (c) 2016-2017 `Miro Hron\u010dok `_. MIT License.\n\nCopyright (c) 2017 `Ji\u0159\u00ed Makarius `_. MIT License.\n\nCopyright (c) 2018-2019, `Douglas Brion `_. MIT License.\n\n\n",
"description_content_type": "text/x-rst",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/dougbrion/OctoRest",
"keywords": "octoprint,3d printing",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "octorest",
"package_url": "https://pypi.org/project/octorest/",
"platform": "",
"project_url": "https://pypi.org/project/octorest/",
"project_urls": {
"Homepage": "https://github.com/dougbrion/OctoRest"
},
"release_url": "https://pypi.org/project/octorest/0.3/",
"requires_dist": [
"requests",
"websocket-client"
],
"requires_python": "",
"summary": "Client library for OctoPrint REST API",
"version": "0.3"
},
"last_serial": 5491598,
"releases": {
"0.2.dev2": [
{
"comment_text": "",
"digests": {
"md5": "c5f48483cf697f802db1996d6e8f64e9",
"sha256": "92be85729b70fff252d1beaedd8cbacd5e84d0afd7454dace6b8ac962efbd57f"
},
"downloads": -1,
"filename": "octorest-0.2.dev2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c5f48483cf697f802db1996d6e8f64e9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17242,
"upload_time": "2018-06-13T13:28:31",
"url": "https://files.pythonhosted.org/packages/40/17/8593f40a8d1cb883d2f9fc2cda7707a6854848d007e4cf090532c972907e/octorest-0.2.dev2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6e35249034a263d4ee4dcc5b8c68fda2",
"sha256": "1dcea4649bdcf8a76a82f5382fb93146c9ba6fddfadbb424355b1dde7b6f926e"
},
"downloads": -1,
"filename": "octorest-0.2.dev2.tar.gz",
"has_sig": false,
"md5_digest": "6e35249034a263d4ee4dcc5b8c68fda2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 68045,
"upload_time": "2018-06-13T13:28:32",
"url": "https://files.pythonhosted.org/packages/40/89/27fb92ad71d352550ab8b0f49665c24fc15651308d5ece66e5bc03a79b20/octorest-0.2.dev2.tar.gz"
}
],
"0.2.dev3": [
{
"comment_text": "",
"digests": {
"md5": "394a84a03245647b782990e9fee71d13",
"sha256": "2be1e864d239c7d5fd71d3e75a14fc98fc949dbf9e2d037b64d096dd771ef9b3"
},
"downloads": -1,
"filename": "octorest-0.2.dev3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "394a84a03245647b782990e9fee71d13",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17241,
"upload_time": "2018-06-20T17:22:19",
"url": "https://files.pythonhosted.org/packages/58/81/d2da4f3139152c1e771190487235c3395c5ac3f5e62a721dfe1dc6487097/octorest-0.2.dev3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "edada377fa4e7c4e9a930339c46c12cc",
"sha256": "2f54cdb8748b50f37b21d597dadc9cd0725c4a2c7f38ac539d45a23f2bdec79e"
},
"downloads": -1,
"filename": "octorest-0.2.dev3.tar.gz",
"has_sig": false,
"md5_digest": "edada377fa4e7c4e9a930339c46c12cc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 68051,
"upload_time": "2018-06-20T17:22:20",
"url": "https://files.pythonhosted.org/packages/69/4c/43c680a019f1eef58f48cc3b58e819c8dafb94b6fdcc3a0c17557a9ceef4/octorest-0.2.dev3.tar.gz"
}
],
"0.2.dev4": [
{
"comment_text": "",
"digests": {
"md5": "35198f7c4d6c4181010ee61668087a88",
"sha256": "89cffbdd45fab4cff327db6e6578e20c37771e5971b8fea9af78add0949c3aa4"
},
"downloads": -1,
"filename": "octorest-0.2.dev4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "35198f7c4d6c4181010ee61668087a88",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17477,
"upload_time": "2018-06-20T17:24:11",
"url": "https://files.pythonhosted.org/packages/6d/2f/c786d8d6e7845f1b2a1ba526145adc504cdaebce67b5cae8306511cc15b3/octorest-0.2.dev4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "fa7aa128be2dbecda670a72cdacb5fbb",
"sha256": "df8436768b3d187b372617b1f4f92455534411a9c572e01e1fdf7f5efccf7738"
},
"downloads": -1,
"filename": "octorest-0.2.dev4.tar.gz",
"has_sig": false,
"md5_digest": "fa7aa128be2dbecda670a72cdacb5fbb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 68268,
"upload_time": "2018-06-20T17:24:13",
"url": "https://files.pythonhosted.org/packages/02/6c/ce30a4d9d0947e6eaf1d05fc83f18dfb69b7705943b5170f8c50c3d596d6/octorest-0.2.dev4.tar.gz"
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "22bfecd694358613978247b463edfb02",
"sha256": "bd4344c137dc68912ee856706bbc89511f88b499caf965bf7746bdfa16fc0953"
},
"downloads": -1,
"filename": "octorest-0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22bfecd694358613978247b463edfb02",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 19495,
"upload_time": "2019-07-05T13:53:20",
"url": "https://files.pythonhosted.org/packages/81/59/08285eec8f5eeb10cea3905c4c39351843d0a1bfe88b530743900abaa4c5/octorest-0.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "872e1b0cd88cd3bd80bca6403ec52915",
"sha256": "0818c1827608b1cac38d95ff2fe37c35187b07dd25d4f1b5f8c7873a17bc55bd"
},
"downloads": -1,
"filename": "octorest-0.3.tar.gz",
"has_sig": false,
"md5_digest": "872e1b0cd88cd3bd80bca6403ec52915",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1170300,
"upload_time": "2019-07-05T13:53:45",
"url": "https://files.pythonhosted.org/packages/04/da/62dc0d5a41ac3ed7eded6d45f76d1d62b062067cc54e7c6bff91fbaa97eb/octorest-0.3.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "22bfecd694358613978247b463edfb02",
"sha256": "bd4344c137dc68912ee856706bbc89511f88b499caf965bf7746bdfa16fc0953"
},
"downloads": -1,
"filename": "octorest-0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22bfecd694358613978247b463edfb02",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 19495,
"upload_time": "2019-07-05T13:53:20",
"url": "https://files.pythonhosted.org/packages/81/59/08285eec8f5eeb10cea3905c4c39351843d0a1bfe88b530743900abaa4c5/octorest-0.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "872e1b0cd88cd3bd80bca6403ec52915",
"sha256": "0818c1827608b1cac38d95ff2fe37c35187b07dd25d4f1b5f8c7873a17bc55bd"
},
"downloads": -1,
"filename": "octorest-0.3.tar.gz",
"has_sig": false,
"md5_digest": "872e1b0cd88cd3bd80bca6403ec52915",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1170300,
"upload_time": "2019-07-05T13:53:45",
"url": "https://files.pythonhosted.org/packages/04/da/62dc0d5a41ac3ed7eded6d45f76d1d62b062067cc54e7c6bff91fbaa97eb/octorest-0.3.tar.gz"
}
]
}