{ "info": { "author": "4teamwork AG", "author_email": "mailto:info@4teamwork.ch", "bugtrack_url": null, "classifiers": [ "Framework :: Plone", "Framework :: Plone :: 4.3", "Framework :: Plone :: 5.1", "Intended Audience :: Developers", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "ftw.inflator\n============\n\n\nThis packages helps predefining a Plone site setup including content\ncreation (using generic setup), defining multiple bundles and a wizard\nfor installing a new site with a bundle.\n\n\n.. contents:: Table of Contents\n\n\nFeatures\n--------\n\n- A simplified site setup wizard. The wizard can be customized and branded.\n- A bundle system for defining variants in the setup configuration.\n- A generic setup site creation import step which can be used in the bundles\n for creating initial content. It can be used without using the setup wizard\n and bundle system.\n\n\nInstallation\n------------\n\n- Add ``ftw.inflator`` to your buildout configuration:\n\n.. code:: ini\n\n [instance]\n eggs +=\n ftw.inflator\n\n\nDexterity support\n~~~~~~~~~~~~~~~~~\n\nFor beeing able to create dexterity objects (Content Creation), install the `dexterity` extras:\n\n.. code:: ini\n\n [instance]\n eggs +=\n ftw.inflator [dexterity]\n\n\nCompatibility\n-------------\n\n\n- Plone 4.3\n- Plone 5.1\n\n\nSetup wizard\n------------\n\nOn the `manage_main` view of the Zope app there is an additional button\nfor installing your product.\nIt leads to the site setup wizard where an ID and a bundle can be selected.\n\nThe setup wizard allows to select one of a set of predefined bundles.\nSee the bundle section for details on how to define bundles.\n\n.. image:: https://raw.github.com/4teamwork/ftw.inflator/master/docs/inflate.png\n\n\nWizard customizations\n~~~~~~~~~~~~~~~~~~~~~\n\nThe product name and logo can easily be customized through ZCML:\n\n.. code:: xml\n\n \n\n \n\n \n\n \n\n\nBundle system\n-------------\n\nA bundle defines a list of profiles which are automatically applied when\ncreating a new Plone site with this bundle.\n\nIt has a base-profile (defaults to the Plone default base profile without\ndefault content).\n\nDefining bundles\n~~~~~~~~~~~~~~~~\n\nThe bundles are defined in ZCML:\n\n.. code:: xml\n\n \n\n \n\n \n\n \n\nZCML-Attributes\n~~~~~~~~~~~~~~~\n\ntitle\n The (translatable) title of the bundle, shown in the setup wizard.\n\nprofiles\n One or multiple Generic Setup profiles (without ``profile-``-prefix).\n\ndescription (optional)\n The description of the bundle, shown in the setup wizard.\n\nbase (optional)\n The Generic Setup base profile for creating the plone site.\n This defaults to ``Products.CMFPlone:plone``, the default plone base\n profile without content creation.\n Using ``Products.CMFPlone:plone-content`` will generate the default\n example content.\n\nstandard (optional)\n By using the standard flag (``standard=\"True\"``) you can define product bundles.\n When registering custom bundles later without flagging them as standard, they\n will appear above the standard bundles in the setup wizard and top is selected.\n\n\nFull ZCML example:\n\n.. code:: xml\n\n \n\n \n\n \n\n \n\n\nSetting the language\n~~~~~~~~~~~~~~~~~~~~\n\nWhen installing a Plone site with the default add-site view, the language\nis set in the ``Products.CMFPlone:plone-content``, which also creates example content.\nThis makes it hard to setup the language without creating the example content.\n\nTo solve this issue ``ftw.inflator`` provides a ``ftw.inflator:setup-language`` generic\nsetup profile, meant to be used while setting up a bundle.\nYou can add it to the list of bundle profiles. This sets the language of the Plone site\nto the one selected in the setup wizard.\nUsing it as a dependency (in ``metadata.xml``) is not recommended, since it is not meant\nto be used on a existing plone site.\n\nExample usage in bundle definition:\n\n.. code:: xml\n\n \n\n \n\n \n\n \n\n\nContent creation\n----------------\n\nThe content creation allows to define a ``content_creation`` folder in any\ngeneric setup profile folder, containing JSON-files with definitions of the\ncontent to create. The content is created when the generic setup profile is\napplied.\n\nContent creation features\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- JSON based definition\n- support for tree structure\n- internationalization of strings\n- construct instances of any archetypes FTIs\n- add file- and image-fields\n- create topic criterions\n- execute workflow transition on creation\n- create placeful workflow policies\n- set properties\n- set constraint types\n- set per-object provided interfaces\n- reindexing the catalog\n- define and block local roles\n\nStructure\n~~~~~~~~~\n\nAdd a ``content_creation`` folder to your generic setup profile. All content\ncreation configurations are within this folder.\nYou can add as many ``*.json``-files as you want - they will be read\nand executed in order of the sorted filename\n(use integer prefixes for sorting them easily).\n\nFolder creation example\n~~~~~~~~~~~~~~~~~~~~~~~\n\nFor creating content create a JSON file (\ne.g. ``profiles/default/content_creation/01-foo-folder.json``) and insert a\nJSON syntax list of hashes (dicts).\nEach hash creates a new object.\nExample creating a folder with title \"Foo\" at ``/Plone/foo``:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"Folder\",\n \"title\": \"Foo\"\n }\n ]\n\n\nTree structure example\n~~~~~~~~~~~~~~~~~~~~~~\n\nFor nested structures it sometimes useful to define the JSON as tree.\nUsing the tree structure it is not necessary to repeat the path of the parent:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"Folder\",\n \"title\": \"Foo\",\n \"_children\": [\n\n {\n \"_id\": \"bar\",\n \"_type\": \"Folder\",\n \"title\": \"Bar\"\n },\n {\n \"_path\": \"bar/qux\",\n \"_type\": \"Folder\",\n \"title\": \"Bar\"\n }\n\n ]\n }\n ]\n\nBe sure that the root node has a `_path` and all nodes in a `_children` list\nhave either an `_id` or a `_path`. The `_path` of a child node is considered to be relative to the parent node. The paths will then be automatically concatenated.\n\n\nInternationalization\n~~~~~~~~~~~~~~~~~~~~\n\nUsing the `key:translate(domain)` syntax in keys, the respective string value is\ntranslated to the current default language of the Plone site.\nWhen creating content while installing a bundle with inflator, be sure to install\nthe generic setup profile ``ftw.inflator:setup-language`` before creating the\ncontent.\nThis will make sure the language is properly configured.\n\nExample:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"Folder\",\n \"title:translate(my.domain)\": \"Foo\",\n \"_children\": [\n\n {\n \"_id:translate(my.domain)\": \"bar\",\n \"_type\": \"Folder\",\n \"title\": \"Bar\"\n }\n\n ]\n }\n ]\n\n\nMultilingual support\n~~~~~~~~~~~~~~~~~~~~\n\nWhen `plone.app.multilingual `_ is installed\ntranslated content can be generated for each language.\nThe translation is based on the `key:translate(domain)` syntax (see above) and can be translated\nin regular .po-files.\n\nExample:\n\n.. code:: javascript\n\n [\n {\"_multilingual\": [\n \"en\",\n \"de\"],\n\n \"_contents\": [\n\n {\n \"_id\": \"foo\",\n \"_type\": \"Folder\",\n \"title:translate(my.domain)\": \"Foo\"\n }\n\n ]}\n ]\n\nMake sure that each language in the \"_multilingual\" list is configured as supported\nlanguage in the `portal_languages.xml`:\n\n.. code:: xml\n\n \n \n \n \n \n \n \n \n\nThe default setup of `plone.app.multilingual` is used for setting up the language folders.\n\n`plone.app.multilingual` is using a special portal type for the language root folders and for the language independent folders. Sometimes it is useful to have a custom portal type as root and language independent folders. You can choose custom types through the `_folder_type` and `_folder_type_language_independent` properties:\n\n\n.. code:: javascript\n\n [\n {\"_multilingual\": [\n \"en\",\n \"de\"],\n \"_folder_type\": \"my.custom.type\",\n \"_folder_type_language_independent\": \"my.custom.type\",\n \"_contents\": []\n }\n ]\n\n\nCreating / setting properties\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nProperties can easily be created.\nIf there already is a property (because the object exists already), it is\nupdated.\n\nExample:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"Folder\",\n \"title\": \"Foo\",\n \"_properties\": {\n \"layout\": [\"string\", \"folder_listing_view\"]\n }\n }\n ]\n\n\nConfiguring constrain types\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nFor configuring the addable types on a folder, use the ``_constrain_types``\nkeyword:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"Folder\",\n \"title\": \"Foo\",\n \"_constrain_types\": {\n \"locally\": [\"Folder\", \"Document\"],\n \"immediately\": [\"Folder\"]\n }\n }\n ]\n\n\n\nProvide additional interfaces\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nBy passing a list of dottednames as ``_interfaces`` those interfaces will\nautomatically be provided (``alsoProvides``) by the created object:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"Folder\",\n \"title\": \"Foo\",\n \"_interfaces\": [\n \"ftw.inflator.tests.interfaces.IFoo\",\n \"remove:foo.bar.interfaces.IBar\"\n ]\n }\n ]\n\nBy prefixing the dotted name with ``remove:``, directly provided interfaces\ncan be removed (``noLongerProvides``).\n\n\nFiles and images\n~~~~~~~~~~~~~~~~\n\nFile- and image-fields can easily be filled by using the ``:file`` postfix,\nproviding a relative path to the file to \"upload\":\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"files/example-file\",\n \"_type\": \"File\",\n \"title\": \"example file\",\n \"file:file\": \"files/examplefile.txt\"\n }\n ]\n\nThe filename can be changed (although this does not work with multiple files\non the same Dexterity item):\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"files/example-file\",\n \"_type\": \"File\",\n \"title\": \"example file\",\n \"file:file\": \"files/lkdfahjkewrhiu.txt\",\n \"file:filename\": \"important.txt\"\n }\n ]\n\n\nWorkflow transitions\n~~~~~~~~~~~~~~~~~~~~\n\nWith the ``_transitions`` keyword it is possible to execute a workflow\ntransition upon content creation:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"Folder\",\n \"title\": \"Foo\",\n \"_transitions\": \"publish\"\n }\n ]\n\nPlaceful workflow policies\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nWhen placeful workflow policies are installed it is possible to activate them\non a folder using the ``_placefulworkflow`` keyword:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"intranet\",\n \"_type\": \"Folder\",\n \"title\": \"Intranet\",\n \"_placefulworkflow\": [\"intranet\", \"intranet\"]\n }\n ]\n\nYou need to install the Generic Setup profile\n``Products.CMFPlacefulWorkflow:CMFPlacefulWorkflow`` for using placeful workflow policies.\n\n\nAnnotations\n~~~~~~~~~~~\n\nWith the ``_annotations`` it is possible to set simple annotations on the\nobject.\nValues of type ``dict`` are converted to ``PersistentMapping``, those of\ntype ``list`` are converted to ``PersistentList`` recursively.\nExample:\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"intranet\",\n \"_type\": \"Folder\",\n \"title\": \"Intranet\",\n \"_annotations\": {\"foo\": {\"bar\": [1, 2, 3]}}\n }\n ]\n\n\nPortlets\n~~~~~~~~\n\nPortlets can easily be defined by using the ``_portlets`` key, expecting a dict (portlet_manager : configuration).\nIt is possible to define the context portlets assignments (``assignments``) and set the inheritance settings (``blacklist_status``).\n\n.. code:: javascript\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"MyType\",\n \"title\": \"Foo\",\n \"_portlets\": {\n \"plone.leftcolumn\": {\n \"blacklist_status\": {\n \"context\": \"block\",\n \"user\": \"show\",\n \"group\": \"acquire\"\n },\n \"assignments\": [\n {\"id\": \"new_navigation\",\n \"portlet_type\": \"portlets.Navigation\",\n \"name\": \"New Navigation\",\n \"bottomLevel\": 0,\n \"includeTop\": false,\n \"topLevel\": 1}\n ]\n }\n }\n }\n ]\n\n\nUUID Lookup\n~~~~~~~~~~~\n\nSometimes you need to have the UUID of another object.\nSince the UUID is generated randomly when creating the object you cannot\npredict it in a .json-file.\nThe UUID lookup helps you here:\n\n.. code:: javascript\n\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"MyType\",\n \"title\": \"Foo\",\n \"relations\": \"resolveUUID::bar\"\n }\n ]\n\nUsing the ``resolveUUID::path`` syntax the value is replaced with UUID of the\nobject which has the ``path``.\nYou can prefix the value with a `/` for making it relative to the site root,\notherwise it is relative to the item it is defined in (\"Foo\" in the above\nexample).\n\n\nPath Lookup\n~~~~~~~~~~~\n\nSometimes you need to resolve an already created object by its path.\nThe resolve-path section helps you here:\n\n.. code:: javascript\n\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"MyType\",\n \"title\": \"Foo\",\n \"relations\": \"resolvePath::bar\"\n }\n ]\n\nUsing the ``resolvePath::path`` syntax the value is replaced with the resolved object.\nYou can prefix the value with a `/` for making it relative to the site root,\notherwise it is relative to the item it is defined in (\"Foo\" in the above\nexample).\n\n\nLocal roles example\n~~~~~~~~~~~~~~~~~~~\n\nYou can configure local roles and block local as following:\n\n.. code:: javascript\n\n\n [\n {\n \"_path\": \"foo\",\n \"_type\": \"MyType\",\n \"title\": \"Foo\",\n \"_ac_local_roles\": {\n \"admin\": [\n \"Owner\"\n ]\n },\n \"_block-local-roles\": true\n }\n ]\n\nFor details, see: https://github.com/collective/collective.blueprint.jsonmigrator\n\n\nImport single items\n~~~~~~~~~~~~~~~~~~~\n\nThe inflator's transmogrifier config can be used in code for importing\nsingle items by using the ``single_item_content_creation`` configuration:\n\n.. code:: python\n\n item = {'_path': 'foo',\n '_type': 'Folder',\n 'title': 'Foo'}\n\n mogrifier = Transmogrifier(portal)\n mogrifier(u'ftw.inflator.creation.single_item_content_creation',\n jsonsource=dict(item=item))\n\n\nLinks\n-----\n\n- Github: https://github.com/4teamwork/ftw.inflator\n- Issues: https://github.com/4teamwork/ftw.inflator/issues\n- Pypi: http://pypi.python.org/pypi/ftw.inflator\n- Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.inflator\n\n\nCopyright\n---------\n\nThis package is copyright by `4teamwork `_.\n\n``ftw.inflator`` is licensed under GNU General Public License, version 2.\n\nChangelog\n=========\n\n\n1.11.0 (2019-06-13)\n-------------------\n\n- Implement possibility to override the default plone.app.multilingual root and\n language independent folder types. [elioschmutz]\n- Fix Plone 4 support with plone.app.multilingual 2.x which should be the default for new Plone 4 projects. [elioschmutz]\n\n\n1.10.0 (2019-03-19)\n-------------------\n\n- Plone 5.1 compatibility [mathias.leimgruber, jone, busykoala, njohner]\n\n- Drop Plone 4.2 support [busykoala]\n\n\n1.9.0 (2018-05-14)\n------------------\n\n- Add portlets updater section, to allow the creation of portlets. [phgross]\n\n\n1.8.1 (2016-08-12)\n------------------\n\n- Fix multilingual import error in Plone 5. [Guido A.J. Stevens]\n\n\n\n1.8.0 (2016-05-20)\n------------------\n\n- Show install button even when there's already a site installed. [raphael-s]\n\n- Drop Plone 4.1 support. [jone]\n\n- Let \":filename\" key postfix change the filename. [jone]\n\n\n1.7.0 (2016-03-15)\n------------------\n\n- Content creation: log the progress. [jone]\n\n\n1.6.0 (2016-03-04)\n------------------\n\n- Fix multilingual import error.\n [elioschmutz]\n\n- Add transmogrifier config for creating single items.\n [jone]\n\n\n1.5 (2015-04-22)\n----------------\n\n- Use ftw.profilehook instead of custom import steps (setuphandlers).\n [jone]\n\n- Add section to resolve objects by their path.\n [deiferni]\n\n\n1.4 (2014-06-05)\n----------------\n\n- Add local-role definitions and blocking local roles.\n [phgross, deif]\n\n\n1.3.2 (2014-03-10)\n------------------\n\n- Add relative path support to initial content child nodes.\n [deif]\n\n\n1.3.1 (2014-01-27)\n------------------\n\n- Add support for dexterity file creation.\n [deif]\n\n\n1.3.0 (2014-01-21)\n------------------\n\n- Implement support for setting properties on multilingual root folders.\n [deif]\n\n\n1.2.1 (2014-01-16)\n------------------\n\n- Fix unresolved generic setup import step dependencies.\n \"languagetool\" is only available when plone.app.multilingual is installed.\n [jone]\n\n\n1.2 (2013-12-11)\n----------------\n\n- Implement plone.app.multilingual support for content creation.\n [jone]\n\n\n1.1.2 (2013-05-30)\n------------------\n\n- Make sure that the Products.CMFPlone ZMI patches are applied\n prior to our patches.\n [jone]\n\n\n1.1.1 (2013-05-24)\n------------------\n\n- Support UTF-8 encoded strings as value for :translate().\n [treinhard]\n\n\n1.1 (2013-02-27)\n----------------\n\n- Implement UUID lookup.\n [jone]\n\n- Add Dexterity support to content creation. Use the `ftw.inflator[dexterity]` extras.\n [jone]\n\n- Run content creation after type creation.\n [jone]\n\n- Move site creation into bundle class, so that a site with a\n bundle can be created without using the view.\n This is useful for tests or automated setups.\n [jone]\n\n- Support internationalization with `key:translate(domain)`\n key syntax.\n [jone]\n\n- Add support for nested tree structures.\n [jone]\n\n\n1.0.1 (2013-02-13)\n------------------\n\n- Fix bad page template expression.\n [jone]\n\n\n1.0 (2013-02-13)\n----------------\n\n- Initial implementation.\n [jone]", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/4teamwork/ftw.inflator", "keywords": "ftw inflator", "license": "GPL2", "maintainer": "", "maintainer_email": "", "name": "ftw.inflator", "package_url": "https://pypi.org/project/ftw.inflator/", "platform": "", "project_url": "https://pypi.org/project/ftw.inflator/", "project_urls": { "Homepage": "https://github.com/4teamwork/ftw.inflator" }, "release_url": "https://pypi.org/project/ftw.inflator/1.11.0/", "requires_dist": null, "requires_python": "", "summary": "Plone site setup wizard with content creation and bundle system for predefined configurations.", "version": "1.11.0" }, "last_serial": 5823402, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "11a942aaca51ba8d4626fa48c044aa04", "sha256": "9bc51aee280c6713ae67ffd1b42d6cf58d0dccac173410db950563aa986715ee" }, "downloads": -1, "filename": "ftw.inflator-1.0.zip", "has_sig": false, "md5_digest": "11a942aaca51ba8d4626fa48c044aa04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98489, "upload_time": "2013-02-13T09:47:01", "url": "https://files.pythonhosted.org/packages/07/93/2a539f18358d7a2ad3257eed3842a830df6ddf779a0e5904d91c53c49219/ftw.inflator-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "4f75d753dbd7b82c23005f56ea3d8e15", "sha256": "03070123d861dbe6799ab2dbb755266135156125ba5262c5a4e5dde1a187d01e" }, "downloads": -1, "filename": "ftw.inflator-1.0.1.zip", "has_sig": false, "md5_digest": "4f75d753dbd7b82c23005f56ea3d8e15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98888, "upload_time": "2013-02-13T10:19:50", "url": "https://files.pythonhosted.org/packages/09/f7/e88bd9db4a4918b7d9340aa35ff256ecda61541178c8a6023f5693599414/ftw.inflator-1.0.1.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "d9c55a28a5168bfa0d0440fae4c5e757", "sha256": "9fd241a16d4e0249aef4dfeff4ebfe518d42138196d0662940a8e27fe6359a54" }, "downloads": -1, "filename": "ftw.inflator-1.1.zip", "has_sig": false, "md5_digest": "d9c55a28a5168bfa0d0440fae4c5e757", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 113771, "upload_time": "2013-02-27T09:27:26", "url": "https://files.pythonhosted.org/packages/62/88/a3bf1311f102cb9a1237e023109489f51304b4730b37c2be240a49637f0f/ftw.inflator-1.1.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "0fbaa8ebd27cdb32e458f7b9ecfa5402", "sha256": "5f1607299ecd9a02e66f7e9770eed23ed5a3e00202a44a5276be6ac650baca4a" }, "downloads": -1, "filename": "ftw.inflator-1.1.1.zip", "has_sig": false, "md5_digest": "0fbaa8ebd27cdb32e458f7b9ecfa5402", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178340, "upload_time": "2013-05-24T15:12:27", "url": "https://files.pythonhosted.org/packages/50/9c/19c95628e095b2775fc0ee6feb67ea4703cf1bdedd730fdd6ee64537d9ea/ftw.inflator-1.1.1.zip" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "77a00c89dea4fff6d12e28af0c055cb9", "sha256": "23de7f179581d62485accdf49533851a150cc4e6b04194f09315d430f8e19167" }, "downloads": -1, "filename": "ftw.inflator-1.1.2.zip", "has_sig": false, "md5_digest": "77a00c89dea4fff6d12e28af0c055cb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 178983, "upload_time": "2013-05-29T23:44:15", "url": "https://files.pythonhosted.org/packages/74/ac/d01de6951c48c5c0b282fc677ef6728a6e04f30cf13d6c642182e7d9c31a/ftw.inflator-1.1.2.zip" } ], "1.10.0": [ { "comment_text": "", "digests": { "md5": "75511253496f40f7aa9e9dc32e561f8d", "sha256": "08a8b86ac99390e609295b3fa2403dbf5d2d0e084dbea1781d8e0523c34d76cc" }, "downloads": -1, "filename": "ftw.inflator-1.10.0.tar.gz", "has_sig": false, "md5_digest": "75511253496f40f7aa9e9dc32e561f8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 232836, "upload_time": "2019-03-19T15:53:30", "url": "https://files.pythonhosted.org/packages/d7/de/8c52cde9ba24117cbc1867f8fd4300364ab385003e9d80895b8716b24d70/ftw.inflator-1.10.0.tar.gz" } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "5fc20ac058ad47d6112fdeef2c45b493", "sha256": "9220d1ccda9ae3d19ae6097f3e9a9508c1ab27ffd02ae7b844d4d2d467492d8d" }, "downloads": -1, "filename": "ftw.inflator-1.11.0.tar.gz", "has_sig": false, "md5_digest": "5fc20ac058ad47d6112fdeef2c45b493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 235196, "upload_time": "2019-06-13T13:44:05", "url": "https://files.pythonhosted.org/packages/32/d0/8be2f44896ff29326e4424c66618da37ffb9ff9cf6b8501d0814287f447d/ftw.inflator-1.11.0.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "7400c30f7038c6939a281a8f9a8d8c80", "sha256": "846df76058ea8c9ed650e4f69bc9a11bf81f3d24520efb53f5dc23be7caf3dac" }, "downloads": -1, "filename": "ftw.inflator-1.2.zip", "has_sig": false, "md5_digest": "7400c30f7038c6939a281a8f9a8d8c80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 184737, "upload_time": "2013-12-11T07:57:50", "url": "https://files.pythonhosted.org/packages/f3/5e/17138963893ef6f5cc4006309d680db8d1a58b997e3b33cf1731c89ff9e0/ftw.inflator-1.2.zip" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "b428145031b2facafe43b9937978370c", "sha256": "20dc5f1c95d12021f384f22bfc02ee69907d8e4aa98139b3228ed51656b7b1e1" }, "downloads": -1, "filename": "ftw.inflator-1.2.1.zip", "has_sig": false, "md5_digest": "b428145031b2facafe43b9937978370c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 185531, "upload_time": "2014-01-16T16:06:47", "url": "https://files.pythonhosted.org/packages/36/a6/6e3f158cac5c478d485e5953ca39d96fa67cabec4f5bfd962615d5578120/ftw.inflator-1.2.1.zip" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "7e262ae442df18ef102014b10b4c96e7", "sha256": "01ab294e1ea71739ef13ea96e621b0867f5af799fe9c34b11292042f271cad1c" }, "downloads": -1, "filename": "ftw.inflator-1.3.0.zip", "has_sig": false, "md5_digest": "7e262ae442df18ef102014b10b4c96e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 185745, "upload_time": "2014-01-21T07:56:22", "url": "https://files.pythonhosted.org/packages/e5/1f/8101e2f21c032357e274ee249f03a0a952e3b3981345e609cab5e57f5eb4/ftw.inflator-1.3.0.zip" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "e8028565f8c22eb266d9c0bb887eb806", "sha256": "834f202921b1cd0abf9ea2cc7ccf2a20f5be4171350ac1fac3ea47155e86b56d" }, "downloads": -1, "filename": "ftw.inflator-1.3.1.zip", "has_sig": false, "md5_digest": "e8028565f8c22eb266d9c0bb887eb806", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 249262, "upload_time": "2014-01-27T11:20:03", "url": "https://files.pythonhosted.org/packages/08/e3/cf345b27049a5ad9c9fcee275f99229b2857a4fbec1d11505e6877f4e3d0/ftw.inflator-1.3.1.zip" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "56a6a9011e4b8168a48d60d7e7847f31", "sha256": "33df8b59fb27ce259c823ef043bef1957c9f922dd529927b4222af5deefaa6b4" }, "downloads": -1, "filename": "ftw.inflator-1.3.2.zip", "has_sig": false, "md5_digest": "56a6a9011e4b8168a48d60d7e7847f31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 249963, "upload_time": "2014-03-10T08:31:42", "url": "https://files.pythonhosted.org/packages/83/ff/6e30e7f60216a01e391ced7bf09fae2e96b12f645d19ffba5ca40514420f/ftw.inflator-1.3.2.zip" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "6d641c1010f517c17133a19227614913", "sha256": "c767c41a60c7de03d0a83f068218e3e768dda9a27dfaec292745de2e4c4389f6" }, "downloads": -1, "filename": "ftw.inflator-1.4.zip", "has_sig": false, "md5_digest": "6d641c1010f517c17133a19227614913", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 251279, "upload_time": "2014-06-05T16:06:31", "url": "https://files.pythonhosted.org/packages/33/7d/711b2985692c63bff7c1e01ec14ecd4db42ed25524eeb3759fbbcf587f91/ftw.inflator-1.4.zip" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "1b7b86e423ee1e451e809b2f8c7a4013", "sha256": "53d64c9419ffdc7a32d03021b175e53b253ab109ccb8c1b93a8538bfcea31205" }, "downloads": -1, "filename": "ftw.inflator-1.5.zip", "has_sig": false, "md5_digest": "1b7b86e423ee1e451e809b2f8c7a4013", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 252304, "upload_time": "2015-04-22T10:00:27", "url": "https://files.pythonhosted.org/packages/56/3c/837713cc360274653c12849f53040c25416499e0bd5d6ad39246bf853ced/ftw.inflator-1.5.zip" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "1a83ce5ceb1cb4f97c661230ad977265", "sha256": "3fdd5c6a282efdc744512d99e9682fc035891093d981f23f78879b487644ac1b" }, "downloads": -1, "filename": "ftw.inflator-1.6.0.tar.gz", "has_sig": false, "md5_digest": "1a83ce5ceb1cb4f97c661230ad977265", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 217724, "upload_time": "2016-03-04T08:35:36", "url": "https://files.pythonhosted.org/packages/0e/50/809f195740307b862a94ad07b2ecceb82586f0e1176a72171ee9eb4080f8/ftw.inflator-1.6.0.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "fdd3b32d76bd4d225963392eda50f074", "sha256": "71d30a9cfc1f84e18d18ba29bbd70d6f42364553cecf0dde7c10d9c990763c0c" }, "downloads": -1, "filename": "ftw.inflator-1.7.0.tar.gz", "has_sig": false, "md5_digest": "fdd3b32d76bd4d225963392eda50f074", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 219145, "upload_time": "2016-03-15T13:07:57", "url": "https://files.pythonhosted.org/packages/2e/d8/fb9cd430a6f343b4309347f2ad59fbf8982eedd0d49b32d084314a67b3f9/ftw.inflator-1.7.0.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "3fe69b003c9bed0311376a99c7b52ba9", "sha256": "a51a8330620b13a0ae74ad2ed02f5cc2aaa03455b42ec072d4d4fce4d70b5d50" }, "downloads": -1, "filename": "ftw.inflator-1.8.0.tar.gz", "has_sig": false, "md5_digest": "3fe69b003c9bed0311376a99c7b52ba9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 220006, "upload_time": "2016-05-20T09:37:38", "url": "https://files.pythonhosted.org/packages/f9/25/3235e8a8669c78ace5a12fa787c78d7d3948b9b0a06e7ef85a23b6f102db/ftw.inflator-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "d4d64be00fd50b73a32987103da1dbe1", "sha256": "2be6617f1c472dae3f382e7c6dac876edf4183ad7679bd82290d9c44f07c0ede" }, "downloads": -1, "filename": "ftw.inflator-1.8.1.tar.gz", "has_sig": false, "md5_digest": "d4d64be00fd50b73a32987103da1dbe1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 219955, "upload_time": "2016-08-12T11:19:27", "url": "https://files.pythonhosted.org/packages/5a/f6/1f4f8d193cd498fca615efee4a9ab555761e7679a2ade8ffaed5347300ab/ftw.inflator-1.8.1.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "9e78100b83c078ebc48e92585cb5b731", "sha256": "973c109dbd6d05f82b8ed7520db197b1febe47fdc2adaba17c76062a5ea076c2" }, "downloads": -1, "filename": "ftw.inflator-1.9.0.tar.gz", "has_sig": false, "md5_digest": "9e78100b83c078ebc48e92585cb5b731", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 226784, "upload_time": "2018-05-14T07:51:32", "url": "https://files.pythonhosted.org/packages/88/ce/94f2445fdbf811337b8e50b140615efc4aa635301bbdc66b28e8aa8c0035/ftw.inflator-1.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5fc20ac058ad47d6112fdeef2c45b493", "sha256": "9220d1ccda9ae3d19ae6097f3e9a9508c1ab27ffd02ae7b844d4d2d467492d8d" }, "downloads": -1, "filename": "ftw.inflator-1.11.0.tar.gz", "has_sig": false, "md5_digest": "5fc20ac058ad47d6112fdeef2c45b493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 235196, "upload_time": "2019-06-13T13:44:05", "url": "https://files.pythonhosted.org/packages/32/d0/8be2f44896ff29326e4424c66618da37ffb9ff9cf6b8501d0814287f447d/ftw.inflator-1.11.0.tar.gz" } ] }