{ "info": { "author": "Jonathan Hsu", "author_email": "jhsu@zerionsoftware.com", "bugtrack_url": null, "classifiers": [], "description": "# IFB-Wrapper\nThe IFB-Wrapper is an open-source project to simplify and standardize integrations with the iFormBuilder software. Written in Python, IFB-Wrapper allows you to rapidly begin creating integrations without the headache of learning the ins and outs of API authentication and structure.\n\n## Installation\nTo install the ifb-wrapper ensure you have Python3+ installed. Download using `pip install ifb-wrapper`.\n\n## Getting Started\nTo start a new project, begin by importing the library:\n\n```\nfrom ifb import IFB\n```\n\nTo create an API object, pass the server name, client id, and client secret to `IFB()`\n\n```\nfrom ifb import IFB\n\napi = IFB(\"app.iformbuilder.com\",\"**********\",\"**********\")\n```\n\nThat's it! The IFB object requires the credentials necessary to request an access token. For more information on creating an iFormBuilder API App please visit: https://iformbuilder.zendesk.com/hc/en-us/articles/201702900-What-are-the-API-Apps-Start-Here-\n\n## How to Contribute\nThis library is a work in progress and any help is appreciated. There are several ways to contribute to this project outlined below:\n- Use the library and share your experience\n- Reporting [Bugs](https://github.com/jhsu98/ifb-wrapper/issues)\n- Requesting [Features](https://github.com/jhsu98/ifb-wrapper/issues)\n- Submitting [Pull Requests](https://github.com/jhsu98/ifb-wrapper/pulls) linked to an Bug or Feature\n\n## iFormBuilder Resource Reference\n\n### Extra Functions\n| Function | Description |\n|:--------:|:------------|\n| genPassword(n) | Return a password `n` characters long that includes a minimum of 1 special character, uppercase letter, and digit |\n| sortOptionList(profile_id,option_list_id,reverse) | Sort a given option list by key value. Reverse sort order if `reverse` True |\n| replaceRecords(profile_id,page_id,data) | Delete all records in a table and create records from `data` |\n| deletePersonalData(profile_id,page_id) | Delete data in elements with 'Personal Data' checkbox |\n\n### Token Resource\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Token | requestAccessToken() |\n\n### Profile\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Profile | createProfile |\n| GET | Profile | readProfile |\n| GET | Profiles | readProfiles |\n| GET | * | readAllProfiles |\n| PUT | Profile | updateProfile |\n| DELETE | Profile | deleteProfile |\n| DELETE | Profiles | deleteProfiles |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| GET | Company Info | readCompanyInfo |\n\n### User\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Users | createUsers |\n| GET | User | readUser |\n| GET | Users | readUsers |\n| GET | * | readAllUsers |\n| PUT | User | updateUser |\n| PUT | Users | updateUsers |\n| DELETE | User | deleteUser |\n| DELETE | Users | deleteUsers |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | User Group | createUserGroups |\n| GET | User | readUserGroup |\n| GET | User Groups | readUserGroups |\n| PUT | User Group | updateUserGroup |\n| PUT | User Groups | updateUserGroups |\n| DELETE | User Group | deleteUserGroup |\n| DELETE | User Groups | deleteUserGroups |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | User Page Assignments | createUserPageAssignments |\n| GET | User Page Assignment | readUserPageAssignment |\n| GET | User Page Assignments | readUserPageAssignments |\n| GET | * | readAllUserPageAssignments |\n| PUT | User Page Assignment | updateUserPageAssignment |\n| PUT | User Page Assignments | updateUserPageAssignments |\n| DELETE | User Page Assignment | deleteUserPageAssignment |\n| DELETE | User Page Assignments | deleteUserPageAssignments |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | User Record Assignments | createUserRecordAssignments |\n| GET | User Record Assignment | readUserRecordAssignment |\n| GET | User Record Assignments | readUserRecordAssignments |\n| PUT | User Record Assignment | updateUserRecordAssignment |\n| PUT | User Record Assignments | updateUserRecordAssignments |\n| DELETE | User Record Assignment | deleteUserRecordAssignment |\n| DELETE | User Record Assignments | deleteUserRecordAssignments |\n\n### Page\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Page | createPage |\n| GET | Page | readPage |\n| GET | Pages | readPages |\n| GET | * | readAllPages |\n| PUT | Page | updatePage |\n| PUT | Pages | updatePages |\n| DELETE | Page | deletePage |\n| DELETE | Pages | deletePages |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Page Group | createPageGroup |\n| GET | Page Group | readPageGroup |\n| GET | Page Groups | readPageGroups |\n| PUT | Page Group | updatePageGroup |\n| PUT | Page Groups | updatePageGroups |\n| DELETE | Page Group | deletePageGroup |\n| DELETE | Page Groups | deletePageGroups |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Page Assignments | createPageAssignments |\n| GET | Page Assignment | readPageAssignment |\n| GET | Page Assignments | readPageAssignments |\n| GET | * | readAllPageAssignments |\n| PUT | Page Assignment | updatePageAssignment |\n| PUT | Page Assignments | updatePageAssignments |\n| DELETE | Page Assignment | deletePageAssignment |\n| DELETE | Page Assignments | deletePageAssignments |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Page Record Assignments | createPageRecordAssignments |\n| GET | Page Record Assignment | readPageRecordAssignment |\n| GET | Page Record Assignments | readPageRecordAssignments |\n| PUT | Page Record Assignment | updatePageRecordAssignment |\n| PUT | Page Record Assignments | updatePageRecordAssignments |\n| DELETE | Page Record Assignment | deletePageRecordAssignment |\n| DELETE | Page Record Assignments | deletePageRecordAssignments |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Shared Page Entries | createPageShares |\n| GET | Shared Page Entries | readPageShares |\n| PUT | Shared Page Entries | updatePageShares |\n| DELETE | Shared Page Entries | deletePageShares |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| GET | Page Dependencies | readPageDependencies |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Page Dynamic Attributes | createPageDynamicAttributes |\n| GET | Page Dynamic Attribute | readPageDynamicAttribute |\n| GET | Page Dynamic Attributes | readPageDynamicAttributes |\n| PUT | Page Dynamic Attribute | updatePageDynamicAttribute |\n| PUT | Page Dynamic Attributes | updatePageDynamicAttributes |\n| DELETE | Page Dynamic Attribute | deletePageDynamicAttribute |\n| DELETE | Page Dynamic Attributes | deletePageDynamicAttributes |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Page Localizations | createPageLocalizations |\n| GET | Page Localization | readPageLocalization |\n| GET | Page Localizations | readPageLocalizations |\n| PUT | Page Localization | updatePageLocalization |\n| PUT | Page Localizations | updatePageLocalizations |\n| DELETE | Page Localization | deletePageLocalization |\n| DELETE | Page Localizations | deletePageLocalizations |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | HTTP Callback | createPageEndpoints |\n| GET | HTTP Callback | readPageEndpoint |\n| GET | HTTP Callbacks | readPageEndpoints |\n| PUT | HTTP Callback | updatePageEndpoint |\n| PUT | HTTP Callbacks | updatePageEndpoints |\n| DELETE | HTTP Callback | deletePageEndpoint |\n| DELETE | HTTP Callbacks | deletePageEndpoints |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Email Alert | createPageEmailAlert |\n| GET | Email Alert | readPageEmailAlerts |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| GET | Private Media | readPrivateMedia |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Trigger POST Action | createPageTriggerPost |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| GET | Page Feed | readPageFeed |\n\n### Element\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Elements | createElements |\n| GET | Element | readElement |\n| GET | Elements | readElements |\n| GET | * | readAllElements |\n| PUT | Element | updateElement |\n| PUT | Elements | updateElements |\n| DELETE | Element | deleteElement |\n| DELETE | Elements | deleteElements |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Element Dynamic Attributes | createElementDynamicAttributes |\n| GET | Element Dynamic Attribute | readElementDynamicAttribute |\n| GET | Element Dynamic Attributes | readElementDynamicAttributes |\n| PUT | Element Dynamic Attribute | updateElementDynamicAttribute |\n| PUT | Element Dynamic Attributes | updateElementDynamicAttributes |\n| DELETE | Element Dynamic Attribute | deleteElementDynamicAttribute |\n| DELETE | Element Dynamic Attributes | deleteElementDynamicAttributes |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Element Localizations | createElementLocalizations |\n| GET | Element Localization | readElementLocalization |\n| GET | Element Localizations | readElementLocalizations |\n| PUT | Element Localization | updateElementLocalization |\n| PUT | Element Localizations | updateElementLocalizations |\n| DELETE | Element Localization | deleteElementLocalization |\n| DELETE | Element Localizations | deleteElementLocalizations |\n\n### Option List\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Option List | createOptionList |\n| GET | Option List | readOptionList |\n| GET | Option Lists | readOptionLists |\n| GET | | readAllOptionLists |\n| PUT | Option List | updateOptionList |\n| PUT | Option Lists | updateOptionLists |\n| DELETE | Option List | deleteOptionList |\n| DELETE | Option Lists | deleteOptionLists |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| GET | Option List Dependencies | readOptionListDependencies |\n\n### Option\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Options | createOptions |\n| GET | Option | readOption |\n| GET | Options | readOptions |\n| GET | * | readAllOptions |\n| PUT | Option | updateOption |\n| PUT | Options | updateOptions |\n| DELETE | Option | deleteOption |\n| DELETE | Options | deleteOptions |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Option Localizations | createOptionLocalizations |\n| GET | Option Localization | readOptionLocalization |\n| GET | Option Localizations | readOptionLocalizations |\n| PUT | Option Localization | updateOptionLocalization |\n| PUT | Option Localizations | updateOptionLocalizations |\n| DELETE | Option Localization | deleteOptionLocalization |\n| DELETE | Option Localizations | deleteOptionLocalizations |\n\n### Record\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Records | createRecords |\n| GET | Record | readRecord |\n| GET | Records | readRecords |\n| GET | * | readAllRecords |\n| PUT | Record | updateRecord |\n| PUT | Records | updateRecords |\n| DELETE | Record | deleteRecord |\n| DELETE | Records | deleteRecords |\n| DELETE | * | deleteAllRecords |\n\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Record Assignments | createRecordAssignments |\n| GET | Record Assignment | readRecordAssignment |\n| GET | Record Assignments | readRecordAssignments |\n| PUT | Record Assignment | updateRecordAssignment |\n| PUT | Record Assignments | updateRecordAssignments |\n| DELETE | Record Assignment | deleteRecordAssignment |\n| DELETE | Record Assignments | deleteRecordAssignments |\n\n### Notification\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| POST | Notification | createNotification |\n\n### Device License\n| Method | Resource | Function |\n|:------:|:--------:|:--------:|\n| GET | Device License | readDeviceLicense |\n| GET | Device Licenses | readDeviceLicenses |\n| GET | * | readAllDeviceLicenses |\n\n## Change Log\n- 1.5.5: Reverted updateAllRecords and fixed bug in readAllDeviceLicenses\n- 1.5.4: Separated misc. functions to new utilities path. Fixed bug in updateAllRecords. Added readAllDeviceLicenses function. Added preliminary regression tests.\n- 1.5.3: Added logging `app.log`, access token check before refresh, and execution time `IFB.getExecutionTime()`\n- 1.5.2: Added api_calls property to IFB Class for counting API calls in a script\n- 1.5.1: Added readPageDependencies()\n- 1.5.0: Access token will refresh if there are less than 5 minutes remaining on the current access token\n- 1.4.3: Added Shared Page resource, Email Alerts resource, Page Feed resource, Private Media resource\n- 1.4.2: Added Device License resource\n- 1.4.1: Removed 'csv' from setup.py install_requires\n- 1.4.0: Added replaceRecords(), deletePersonalData() and createNotification()\n- 1.3.0: Added deleteAllRecords()\n- 1.2.0: Added createPageTriggerPost() and sortOptionList()\n- 1.1.2: Removed secrets and string from dependencies list\n- 1.1.1: Removed random from dependencies list\n- 1.1.0: Added new method genPassword(n) to create a password n-characters long\n- 1.0.1: Fixed typo in createUserGroup() function and modified getting started example\n- 1.0.0: Version 1.0 hooray!", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jhsu98/ifb-wrapper", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ifb-wrapper", "package_url": "https://pypi.org/project/ifb-wrapper/", "platform": "", "project_url": "https://pypi.org/project/ifb-wrapper/", "project_urls": { "Homepage": "https://github.com/jhsu98/ifb-wrapper" }, "release_url": "https://pypi.org/project/ifb-wrapper/1.5.5/", "requires_dist": null, "requires_python": ">=3.0", "summary": "iFormBuilder API Wrapper", "version": "1.5.5" }, "last_serial": 5821233, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "1907b94dab2e78aa12c3b9e7a85f9b29", "sha256": "a7cbc91d4d545f8260225a53e47ba70dc7ff26a6b37613bec489f24230149c9c" }, "downloads": -1, "filename": "ifb_wrapper-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1907b94dab2e78aa12c3b9e7a85f9b29", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 7386, "upload_time": "2019-04-09T20:21:48", "url": "https://files.pythonhosted.org/packages/7b/95/133c87fe39eeff9dc057aca02d1f5a2cf245ad8e495d55a9fceced180f50/ifb_wrapper-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b62fea34607243df30a7b8c3540e0b0", "sha256": "80e90dd935e0ce00d8e8e191497e9920a84d5240149f9cee939410d01e9fbab4" }, "downloads": -1, "filename": "ifb-wrapper-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8b62fea34607243df30a7b8c3540e0b0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 9061, "upload_time": "2019-04-09T20:21:50", "url": "https://files.pythonhosted.org/packages/86/48/8161ed2bb83065f67d7bf7d4f7980e266b1d47124a65e9d36fc1a56511a1/ifb-wrapper-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "41f1e56e7dbf0058a03ae584240219d7", "sha256": "7399c9fb3c11ef9e4a79707ae23108e2a102e2c3b6e5e43f68df40d348d9efb4" }, "downloads": -1, "filename": "ifb-wrapper-1.0.1.tar.gz", "has_sig": false, "md5_digest": "41f1e56e7dbf0058a03ae584240219d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 9218, "upload_time": "2019-04-10T16:12:21", "url": "https://files.pythonhosted.org/packages/c1/f2/72206f4a3038bbfc3cb7a3f4ade4e3b4c61a2f4b6928db7910c25f36741d/ifb-wrapper-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "9d34389e63c22d95b2b5c223638ee99d", "sha256": "77cc177487e9e4122a5d5ec23a34a8f00fd337280ea6cca12a505b4ef5d47698" }, "downloads": -1, "filename": "ifb-wrapper-1.1.0.tar.gz", "has_sig": false, "md5_digest": "9d34389e63c22d95b2b5c223638ee99d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 9789, "upload_time": "2019-04-11T18:31:26", "url": "https://files.pythonhosted.org/packages/80/af/d4ce12ed68ec79cfc3083e1a5147ae3e5156857e7a14f8db02b917478565/ifb-wrapper-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "ec8457ddaaa305fdaa75b73668d3d281", "sha256": "12b630e8d9efee2a666102b7659022060d0dbb1f7399a6f84360c4bb3f531724" }, "downloads": -1, "filename": "ifb-wrapper-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ec8457ddaaa305fdaa75b73668d3d281", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 9816, "upload_time": "2019-04-11T19:05:47", "url": "https://files.pythonhosted.org/packages/66/41/ef2a77bab9444e0c9d3605b47e6cd30308d35cc8ddb16c24a4942a4850e4/ifb-wrapper-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "8575673ca72069981ea9ca6b37376da3", "sha256": "8e0f16ff3a5ea7f1a03a22e42a5d9ac20a76b44220a51c2dcea6948bfc6a51f3" }, "downloads": -1, "filename": "ifb-wrapper-1.1.2.tar.gz", "has_sig": false, "md5_digest": "8575673ca72069981ea9ca6b37376da3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 9830, "upload_time": "2019-04-11T19:15:13", "url": "https://files.pythonhosted.org/packages/98/05/1869b3908ee55861f001d35105405a1f0cd2ab321eab837d8f7fb366e269/ifb-wrapper-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "6e4ca30d2cf8df1d90264dc832a127d2", "sha256": "509c80906f9bc09cdd3761b1f8bf47741c73151c585c1c0ca6312c27e67e7a7f" }, "downloads": -1, "filename": "ifb-wrapper-1.2.0.tar.gz", "has_sig": false, "md5_digest": "6e4ca30d2cf8df1d90264dc832a127d2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 10145, "upload_time": "2019-04-18T14:01:45", "url": "https://files.pythonhosted.org/packages/9d/db/cfe916b071cf4c3b0a772a9cc8c44cd5831505c65f42ed8c7fda61f6c585/ifb-wrapper-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "632c31f6d4b82010a54d8b860bdfc628", "sha256": "c90728bc90285bee429cc76724831642fdbaee4613fac280614a351ebb3ffe92" }, "downloads": -1, "filename": "ifb-wrapper-1.3.0.tar.gz", "has_sig": false, "md5_digest": "632c31f6d4b82010a54d8b860bdfc628", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 10252, "upload_time": "2019-04-24T16:39:18", "url": "https://files.pythonhosted.org/packages/bf/ef/679b3166dd8b52092596163bd5d5c09c45b730aa549f174d9c13efa5bddf/ifb-wrapper-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "064716da7a2ab99bc478896f995de3a1", "sha256": "0f6f38f51f0583383282425dd12844dda3c573f6e2a5fbefb5e1baea981b7bd5" }, "downloads": -1, "filename": "ifb-wrapper-1.4.0.tar.gz", "has_sig": false, "md5_digest": "064716da7a2ab99bc478896f995de3a1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 11116, "upload_time": "2019-04-30T18:57:02", "url": "https://files.pythonhosted.org/packages/11/5b/c98840a08dd41d4867181203b4e00a64ad63ce96eedb98782c4b5ba1264c/ifb-wrapper-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "c0ee5c360fa224f967836e8e057d9ab3", "sha256": "f322650cc3fbd4741b3c681015d50fb2771f871b212fe31e216bb3f0ca5929f6" }, "downloads": -1, "filename": "ifb-wrapper-1.4.1.tar.gz", "has_sig": false, "md5_digest": "c0ee5c360fa224f967836e8e057d9ab3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 11151, "upload_time": "2019-04-30T19:00:07", "url": "https://files.pythonhosted.org/packages/55/bf/06b52841c829d816b5ec56ca02fd62d1b7c9339ffdb7ea5d54f3cd21cc77/ifb-wrapper-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "c4a892ea44f27584a19ce9e26977ea75", "sha256": "c310c93a34622faaef450eef0fb96368a01048ebaef8d8deaf241e3815625d15" }, "downloads": -1, "filename": "ifb-wrapper-1.4.2.tar.gz", "has_sig": false, "md5_digest": "c4a892ea44f27584a19ce9e26977ea75", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 11258, "upload_time": "2019-05-01T11:36:03", "url": "https://files.pythonhosted.org/packages/06/1a/b80a4f5402ef90584a812c7e73fc89953657be93c28b2f8e89aa3e6bbf70/ifb-wrapper-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "86138214ee3ee2446fc5906251a101ff", "sha256": "e3610a6a899942ec864bfa926cc63396ef02b872014a768c3c54fc578f686596" }, "downloads": -1, "filename": "ifb-wrapper-1.4.3.tar.gz", "has_sig": false, "md5_digest": "86138214ee3ee2446fc5906251a101ff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 11640, "upload_time": "2019-05-02T13:59:28", "url": "https://files.pythonhosted.org/packages/8a/7e/fe8d8ec9b1a08dfb63d6b423dcc2d51c0831eaa0c3edff63f99df0cb8ad4/ifb-wrapper-1.4.3.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "716c643f5f2ec9ecc3998fcc40ab6c98", "sha256": "b0092117c907a4a9858e37bc47a0c99035b77b572db9528a8362dde69f6e0e61" }, "downloads": -1, "filename": "ifb-wrapper-1.5.0.tar.gz", "has_sig": false, "md5_digest": "716c643f5f2ec9ecc3998fcc40ab6c98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 11922, "upload_time": "2019-05-15T13:26:00", "url": "https://files.pythonhosted.org/packages/70/51/dc00854d9ec68a0c0d5378db2c8b7f00be7eb3c6c0b0f55668f3780b2f29/ifb-wrapper-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "ba86dbc9a1bca895fc5f3ab0641c4bae", "sha256": "8cd1a1ebb3a6805a3ced92bd96fc9b29d8407fa328ba4dd7475ddb711348596e" }, "downloads": -1, "filename": "ifb-wrapper-1.5.1.tar.gz", "has_sig": false, "md5_digest": "ba86dbc9a1bca895fc5f3ab0641c4bae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 11966, "upload_time": "2019-06-11T11:34:35", "url": "https://files.pythonhosted.org/packages/4e/5c/051c31bed40f27d5b1f00110cf0cbd1086b3e7b23d4fa2ab7b7c0d1f8b8f/ifb-wrapper-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "ca31ca75fae95afac1d769de1e0d798e", "sha256": "3e323349e63818ccf54eb3eb06097392beefba0e7a2e8780b30041351afafd8d" }, "downloads": -1, "filename": "ifb-wrapper-1.5.2.tar.gz", "has_sig": false, "md5_digest": "ca31ca75fae95afac1d769de1e0d798e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 12123, "upload_time": "2019-07-23T14:54:17", "url": "https://files.pythonhosted.org/packages/74/31/ce8c332ad64cee9d6d444aa1724a992e5cb84477cc3ba4562204837bc09d/ifb-wrapper-1.5.2.tar.gz" } ], "1.5.3": [ { "comment_text": "", "digests": { "md5": "e7a438b2c7874c1616db28b9484a98c3", "sha256": "b29c56f2c6f953d554e7bf0f072d7bcab1e101cdf595245f5a210897df64779a" }, "downloads": -1, "filename": "ifb-wrapper-1.5.3.tar.gz", "has_sig": false, "md5_digest": "e7a438b2c7874c1616db28b9484a98c3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 12380, "upload_time": "2019-08-01T14:54:20", "url": "https://files.pythonhosted.org/packages/26/c8/fe4fad58555239d1184deeeceac048c53cf0d2c5e00ad86fee4f88665ac4/ifb-wrapper-1.5.3.tar.gz" } ], "1.5.4": [ { "comment_text": "", "digests": { "md5": "861213e151d26e2d06695ab46ea407cf", "sha256": "96702077af0a20f54132949d97c9cecb03659a5642333db88f2b9c533c771c58" }, "downloads": -1, "filename": "ifb-wrapper-1.5.4.tar.gz", "has_sig": false, "md5_digest": "861213e151d26e2d06695ab46ea407cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 13873, "upload_time": "2019-09-12T15:19:23", "url": "https://files.pythonhosted.org/packages/01/75/1ae259ee37f00fe50db709212104184600c10d09a0c398932654810acf38/ifb-wrapper-1.5.4.tar.gz" } ], "1.5.5": [ { "comment_text": "", "digests": { "md5": "66763dfa2911ea4067886694401a4703", "sha256": "eab42591a5268dec0703f09c484b6267d06d5431930bf6820a5974f4b562298b" }, "downloads": -1, "filename": "ifb-wrapper-1.5.5.tar.gz", "has_sig": false, "md5_digest": "66763dfa2911ea4067886694401a4703", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 13910, "upload_time": "2019-09-12T15:48:37", "url": "https://files.pythonhosted.org/packages/c3/6f/6fe9b4f40039d136b6a3d794b1477d7d93ab6ee2bf30823442e1565b58b7/ifb-wrapper-1.5.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "66763dfa2911ea4067886694401a4703", "sha256": "eab42591a5268dec0703f09c484b6267d06d5431930bf6820a5974f4b562298b" }, "downloads": -1, "filename": "ifb-wrapper-1.5.5.tar.gz", "has_sig": false, "md5_digest": "66763dfa2911ea4067886694401a4703", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 13910, "upload_time": "2019-09-12T15:48:37", "url": "https://files.pythonhosted.org/packages/c3/6f/6fe9b4f40039d136b6a3d794b1477d7d93ab6ee2bf30823442e1565b58b7/ifb-wrapper-1.5.5.tar.gz" } ] }