{ "info": { "author": "Anders Hovm\u00f6ller", "author_email": "anders.hovmoller@trioptima.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": ".. image:: https://travis-ci.org/TriOptima/tri.form.svg?branch=master\n :target: https://travis-ci.org/TriOptima/tri.form\n\n.. image:: http://codecov.io/github/TriOptima/tri.form/coverage.svg?branch=master\n :target: http://codecov.io/github/TriOptima/tri.form?branch=master\n\n\n.. warning::\n tri.form is end of life. It has been merged into `iommi `_.\n\n iommi is backwards incompatible but the porting effort should be fairly mild,\n the biggest changes are that `show` is now called `include` and plural is used\n consistently for containers (so `field__foo` is `fields__foo` in iommi).\n\ntri.form\n==========\n\ntri.form is alternative forms library for Django and Flask. It is inspired by, and comes from a frustration with, the standard Django forms.\n\nMajor features compared to Django forms:\n\n- Supports :code:`__` syntax for going across table/object boundaries, similar to how Django does with QuerySets.\n- Send in a callable that is late evaluated to determine if a field should be displayed (:code:`show`). This is very handy for showing a slightly different form to administrators for example.\n- Easy configuration without writing entire classes that are only used in one place anyway.\n\n\nExample\n-------\n\nYou can either create a subclass of :code:`Form`...\n\n.. code:: python\n\n class UserForm(Form):\n name = Field.text()\n username = Field.text(is_valid=lambda form, field, parsed_data: parsed_data.startswith('demo_'))\n is_admin = Field.boolean(\n show=lambda form, field: form.request.user.is_staff, # show only for staff\n label_template='tweak_label_tag.html')\n\n def edit_user_view(request, username):\n form = UserForm(request=request)\n\n user = User.objects.get(username=username)\n if form.is_valid() and request.method == 'POST':\n form.apply(user)\n user.save()\n return HttpRedirect('..')\n\n return render(\n template_name='edit_user.html',\n context_instance=RequestContext(request, {'form': form}))\n\n.. code:: html\n\n \n
{% csrf_token %}\n
\n \n {{ form }}\n
\n
\n \n
\n\nor just instantiate a :code:`Form` with a :code:`Field` list and use it directly:\n\n.. code:: python\n\n def edit_user_view(request, username):\n form = Form(fields=[\n Field.text(\n name='name',\n is_valid=lambda form, field, parsed_data: parsed_data.startswith('demo_')),\n Field.text(name='username'),\n Field.boolean(\n name='is_admin',\n show=lambda form, field: form.request.user.is_staff, # show only for staff\n label_template='tweak_label_tag.html',)])\n\n # rest of view function...\n\n\nYou can also generate forms from Django models automatically (but still change the behavior!). The above example\nis equivalent to:\n\n.. code:: python\n\n def edit_user_view(request, username):\n form = Form.from_model(\n request.POST,\n User,\n # the field 'name' is generated automatically and we are fine with the defaults\n username__is_valid=lambda form, field, parsed_data: parsed_data.startswith('demo_'),\n is_admin__label_template='tweak_label_tag.html',\n is_admin__show=lambda form, field: form.request.user.is_staff) # show only for staff\n\n # rest of view function...\n\nor even better: use :code:`tri.form.views.create_or_edit_object`:\n\n.. code:: python\n\n def edit_user_view(request, username):\n return create_or_edit_object(\n request,\n model=User,\n is_create=False,\n instance=User.objects.get(username=username),\n\n form__username__is_valid=lambda form, field, parsed_data: parsed_data.startswith('demo_'),\n form__is_admin__label_template='tweak_label_tag.html',\n form__is_admin__show=lambda form, field: form.request.user.is_staff) # show only for staff\n # no html template! tri.form has a nice default for you :P\n\ntri.form pre-packages sets of defaults for common field types as 'shortcuts'. Some examples include :code:`Field.boolean`,\n:code:`Field.integer` and :code:`Field.choice`. The full list of shortcuts can be found in the `API documentation for Field `_.\n\n\nRunning tests\n-------------\n\nYou need tox installed then just `make test`.\n\n\nLicense\n-------\n\nBSD\n\n\nDocumentation\n-------------\n\nhttp://triform.readthedocs.org.\n\n\nChangelog\n---------\n\n\n7.5.0 (2020-04-24)\n~~~~~~~~~~~~~~~~~~\n\n* Upped dependency tri.declarative to 5.x\n\n\n\n7.4.0 (2020-01-30)\n~~~~~~~~~~~~~~~~~~\n\n* Fix name attribute on submit action on edit_or_create forms to work with form.is_target() when the form has a name\n\n\n7.3.1 (2019-12-18)\n~~~~~~~~~~~~~~~~~~\n\n* You can now customize the ajax dispatch page size by setting `extra__endpoint_page_size` on a field\n\n* Removed validation on `endpoint_dispatch_prefix` because in some cases we do want them to be out of sync (tri.table does this for example)\n\n\n7.3.0 (2019-12-06)\n~~~~~~~~~~~~~~~~~~\n\n* `Field` was missing the `@with_meta` decorator\n\n* `newforms` class on `Form` removed. It was turned on by mistake due to some heritage from the code base tri.form was extracted from.\n\n* Fixed an issue where overriding a Field didn't work when creating a form from a model\n\n* Use select2 by default for `choice_queryset`\n\n* Missing `UUIDField` factory\n\n* You can now override field properties like this: `MyForm(field__foo__query__show=True)`\n\n* Fix ajax dispatch, and namespacing when multiple forms are present on the page\n\n\n7.2.4 (2019-10-23)\n~~~~~~~~~~~~~~~~~~\n\n* Treat actions dicts as Namespaces\n\n\n7.2.3 (2019-10-15)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed deprecation warnings\n\n\n7.2.2 (2019-10-11)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed a bug where `Action` was functionally bound to `Form`, but it should be generally useful (e.g. for tri.table).\n\n* Fixed a bug with `Field.icon` where there was a missing space when using the `icon_classes` argument, causing garbled css classes.\n\n\n7.2.1 (2019-10-10)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed a bug where non-named forms did not perform validation because they didn't find the `/` POST key. They shouldn't need that!\n\n\n7.2.0 (2019-10-10)\n~~~~~~~~~~~~~~~~~~\n\n* Add support for setting name on forms to be able to reuse field names between two forms in the same view\n\n* Removed deprecated `render_css_classes`, `render_container_css_classes`, `render_label_container_css_classes` and `render_input_container_css_classes`\n\n* Fixed various issues with the namespacing necessary to have multiple forms on one page.\n\n* Introduced `actions`/`Action` that will replace `links`/`Link`.\n\n* Deprecated `links`/`Link`.\n\n* `create_or_edit_object` now has an overridable parameter `on_valid_post`.\n\n\n7.1.0 (2019-09-20)\n~~~~~~~~~~~~~~~~~~\n\n* Added declared_fields to `Form`.\n\n\n7.0.0 (2019-06-10)\n~~~~~~~~~~~~~~~~~~\n\n* Renamed package from `tri.form` to `tri_form`. This is a breaking change\n\n* Dropped python2 support\n\n* Dropped Django < 2.0 support\n\n\n6.0.2 (2019-06-03)\n~~~~~~~~~~~~~~~~~~\n\n* Changed the default value for `parse_emtpy_string_as_none` to be based on the model fields `null` property.\n\n* `from_model` should not overwrite defaults too early\n\n* `Field.choice` now has a sane default parser using `choice_to_option`\n\n* Changed render_attrs to stop you from making some common mistakes\n\n* Fixed `time_render_value()`\n\n* Fixes and improved tests for from_model_expand\n\n* Fixed `from_model` for Django `TextField`. Should be `Field.textarea`, not `Field.text`\n\n\n6.0.1 (2019-05-06)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed cases where from_model lost the type when inheriting\n\n\n6.0.0 (2019-04-12)\n~~~~~~~~~~~~~~~~~~\n\n* Make `Field` shortcuts compatible with subclassing. Previous fix didn't work all the way.\n\n* Use the new major tri.declarative, and update to follow the new style of class member shortcuts\n\n* Major fixes to how `from_model` works. Subclassing `Form` and `Field` now works like you'd expect. This is a breaking change.\n\n* Removed `Field.comma_separated` shortcut. This was never used, and poorly tested.\n\n5.4.0 (2019-04-01)\n~~~~~~~~~~~~~~~~~~\n\n* Make `Field` shortcuts compatible with subclassing\n\n\n5.3.1 (2019-03-20)\n~~~~~~~~~~~~~~~~~~\n\n* Fix that Django's DoesNotExist events don't leak out of the field-validation code\n\n\n5.3.0 (2019-02-18)\n~~~~~~~~~~~~~~~~~~\n\n* If you subclass Form this custom class is now used properly in the `from_model` code paths\n\n* `Form` now has a refinable attribute `field_class` which you should use to point to your `Field` subclass if you have one. This is best accomplished in the `Meta` class on the class inheriting from `Form`.\n\n* Added `Form.create_or_edit_object` that will respect your subclass if you have one.\n\n\n5.2.2 (2019-01-28)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed escaping bug introduced in 5.2.0: You could get a KeyError crash if you had `{` and `}` in attributes.\n\n\n5.2.1 (2019-01-16)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed coverage build (this also broke the travis build and as a consequence the pypi release process)\n\n\n5.2.0 (2019-01-16)\n~~~~~~~~~~~~~~~~~~\n\n* Rendering of submit button is now a `Link` and you can now supply your own buttons and links here.\n\n* Fixed crash in rendering fields in some cases. This was due to an incorrect use of `format_html`.\n\n* Flask and Jinja2 support\n\n* Updated examples for modern django, and added an example\n\n* Modernize attrs rendering on Field (this introduces a few deprecations)\n\n* render_attrs support for style attributes. This means you can now do `Link(attrs__style__display='none')` for example.\n\n\n5.1.1 (2018-10-23)\n~~~~~~~~~~~~~~~~~~\n\n* File field tried to render the binary contents on form validation errors. This is a crash in Django 2.1\n\n* `from_model` was broken when traversing a foreign key relation with `__`\n\n\n5.1.0 (2018-10-09)\n~~~~~~~~~~~~~~~~~~\n\n* Dropped Django 1.8 support\n\n* Fixed deprecation warnings for Django 2.0\n\n\n5.0.12 (2018-10-03)\n~~~~~~~~~~~~~~~~~~~\n\n* Added `Field.boolean_tristate` for editing boolean fields with null value allowed\n\n\n5.0.11 (2018-09-21)\n~~~~~~~~~~~~~~~~~~~\n\n* Simplified `MISSING` definition\n\n\n5.0.10 (2018-06-29)\n~~~~~~~~~~~~~~~~~~~\n\n* Fix evaluation of Link attributes\n\n\n5.0.9 (2018-06-19)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed python3 compability for release check.\n* Fixed release check on shallow git clone\n\n5.0.8 (2018-06-19)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed release functionality\n\n5.0.7 (2018-06-18)\n~~~~~~~~~~~~~~~~~~\n\n* Stepped tri.declarative dependency.\n\n\n5.0.6 (2018-06-15)\n~~~~~~~~~~~~~~~~~~\n\n* Fix non-editable mode on multi_choice fields.\n\n* member_from_model support for __ paths.\n\n* Made `Link` attributes lazy on form parameter.\n\n\n5.0.5 (2018-04-11)\n~~~~~~~~~~~~~~~~~~\n\n* Fix form submit link rendering.\n\n\n5.0.4 (2017-10-16)\n~~~~~~~~~~~~~~~~~~\n\n* Revert new default parser on `Field.choice`.\n\n\n5.0.3 (2017-10-16)\n~~~~~~~~~~~~~~~~~~\n\n* Improve default parser implementation on `Field.choice`. A reasonable implementation of `__str__` is enough for objects in `choices`.\n\n* Fix evaluation order so that `Field.initial`/`Field.initial_list` is available when fields are evaluated. (`Field.show` is still invoked early)\n\n\n5.0.2 (2017-10-06)\n~~~~~~~~~~~~~~~~~~\n\n* `Field.from_model` produced incorrect parser for foreign keys.\n\n\n5.0.1 (2017-09-15)\n~~~~~~~~~~~~~~~~~~\n\n* Correctly check unique constraints when editing object\n\n* Bug where `form.instance` was set too late in `Form` constructor, resulting in `AttributeError` in certain lambdas\n\n\n5.0.0 (2017-08-22)\n~~~~~~~~~~~~~~~~~~\n\n* Refactored to use new tri.declarative: using `RefinableObject`, `Shortcut`, and the new `call_target` parameter of `Namespace`\n\n* Changed dispatch separator from `__` to `/`\n\n* Changed `label` on `Field` to `display_name`. This is in line with tri.query and tri.table.\n\n* `Field.choice` incorrectly handles post_validation (fixes github issue #9)\n\n* `Form` now doesn't try to read initial data and form data from Fields that are show=False\n\n* `create_or_edit_object` doesn't take a parameter `render_context` anymore, use `render__context`\n\n* You no longer need to specify the `model` parameter to `choice_queryset` or `multi_choice_queryset` if you give it a `QuerySet` as `choices` (as opposed to giving a callable)\n\n* `Field.choice_queryset` and `Field.multi_choice_queryset` now reevaluates the QuerySet on each usage (fixes tri.table github issue 16)\n\n\n4.10.1 (2017-06-20)\n~~~~~~~~~~~~~~~~~~~\n\n* Bugfix: `on_save` callback for `create_or_edit_object` was missing `form` parameter\n\n\n4.10.0 (2017-06-12)\n~~~~~~~~~~~~~~~~~~~\n\n* Fixed bug where namespaced form was not rendered when the other namespaced form had an error\n\n\n4.9.0 (2017-05-31)\n~~~~~~~~~~~~~~~~~~\n\n* Added attribute 'name' to Form in order to namespace POSTs in cases where there are more than one form\n\n\n4.8.0 (2017-05-23)\n~~~~~~~~~~~~~~~~~~\n\n* Added useful return value on `Form.apply(...)`\n\n* Improve repr on `Field`\n\n* Added `Form.editable` settings for setting all fields at once\n\n\n4.7.1 (2017-04-24)\n~~~~~~~~~~~~~~~~~~\n\n* Bugfix for endpoint dispatch: we must allow a result to be an empty list/dict\n\n\n4.7.0 (2017-04-24)\n~~~~~~~~~~~~~~~~~~\n\n* Added `Link` class, and redefined the submit button on the form in terms of a `Link`\n\n* Fixed incorrect handling of template rendering and `RequestContext` between django before and after 1.10\n\n* Dropped official support of django 1.7\n\n* Added `attrs` member on `Form`, and added method `render_attrs` that you use to render the attributes into html\n\n* Added six as a dependency\n\n\n4.6.2 (2017-04-18)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed `render_attrs` to escape quotation marks\n\n\n4.6.1 (2017-04-11)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed non-editable fields so that you can override the rendering\n\n* Fixed bug where raw_data was sent to render_value when there was an error on the field\n\n\n4.6.0 (2017-03-15)\n~~~~~~~~~~~~~~~~~~\n\n* `Field` class now inherits from `object`, making the implementation more pythonic.\n (Attributes still possible to override in constructor call, see `NamespaceAwareObject`)\n\n* Added `Form.extra` namespace for custom data.\n\n\n4.5.0 (2016-12-19)\n~~~~~~~~~~~~~~~~~~\n\n* Add `raw_data` and `raw_data_list` attributes to `Field` definition to enable custom handling on django file download\n\n\n4.4.0 (2016-12-13)\n~~~~~~~~~~~~~~~~~~\n\n* Set instance on form just after save to be able to use newly created pk in a redirect\n\n\n4.3.1 (2016-12-08)\n~~~~~~~~~~~~~~~~~~\n\n* Prevent code from running on import\n\n\n4.3.0 (2016-10-20)\n~~~~~~~~~~~~~~~~~~\n\n* Lazy evaluation of select choices.\n\n\n4.2.0 (2016-10-06)\n~~~~~~~~~~~~~~~~~~\n\n* Add `endpoint` namespace to `Form` and `Field` constructor to add custom endpoint callbacks.\n\n* Add `config` and `validate` endpoint implementations\n\n\n4.1.0 (2016-09-20)\n~~~~~~~~~~~~~~~~~~\n\n* Fix formatting of form field error output when there are multiple field errors\n\n* Fix bug in form validation signaling required field missing on choices where the value is falsy, e.g. 0\n\n* Implement djangos uniqueness validation on save in forms/views.py\n\n* Fixed input type on url field\n\n\n4.0.0 (2016-09-14)\n~~~~~~~~~~~~~~~~~~\n\n* Improved handling of `from_model`. You can now do the following without issues:\n\n.. code:: python\n\n form = Form.from_model(field__foo__class=Form.integer)\n\n* The incorrectly named parameter `db_field` to `Form.fields_from_model` has been renamed to the correct `field`.\n\n* The parameter `db_field` to `create_members_from_model` has been renamed to `member_params_by_member_name`.\n\n* Better logic for figuring out which mode we're in when POST-ing\n\n* Allow `None` as `endpoint_dispatch_prefix`.\n\n\n3.8.0 (2016-09-12)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed namespace dispatch bugs in `create_or_edit_object`\n\n\n3.7.0 (2016-08-17)\n~~~~~~~~~~~~~~~~~~\n\n* Compatible with Django 1.9 & 1.10\n\n\n3.6.0 (2016-08-16)\n~~~~~~~~~~~~~~~~~~\n\n* Field.datetime is more forgiving in the formats it receives: it will not accept ISO8601 formats but missing seconds or seconds+minutes\n\n* Field.boolean field didn't respect specified input_template\n\n* Inputs that were parsed to lists where the field was a list now works properly: None is not passed to the validation function.\n\n* Fixed pypi rendering of documentation\n\n* More honest coverage numbers\n\n\n3.5.0 (2016-06-16)\n~~~~~~~~~~~~~~~~~~\n\n* Added `is_full_form` parameter to form to optionally control the rendering of the \"-\"=\"-\" marker form field\n\n\n3.4.0 (2016-06-15)\n~~~~~~~~~~~~~~~~~~\n\n* Added better error messages when missing django model mappings\n\n* Fix population of read-only fields from initial value\n\n\n3.3.0 (2016-06-02)\n~~~~~~~~~~~~~~~~~~\n\n* bugfixes\n\n\n3.2.0 (2016-05-26)\n~~~~~~~~~~~~~~~~~~\n\n* default_help_text should not blow up on invalid references\n\n* Removed some dead code\n\n\n3.1.0 (2016-05-26)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed confusing naming of Field.text to Field.textarea\n\n* Support for ajax backend. New parameters to Field: endpoint_path and endpoint_dispatch. For now only implemented for Field.choice_queryset and tailored for select2. To use it: specify template_name='tri_form/choice_select2.html'.\n\n\n3.0.0 (2016-05-26)\n~~~~~~~~~~~~~~~~~~\n\n* Parse modes introduced. This fixes validation of partially submitted forms, using tri.form for filters and other problems.\n\n* Refactored to use tri.declarative @dispatch\n\n* Added __field__ endpoint handling. This is useful for e.g. loading choices with ajax instead of up front.\n\n* Form.errors is now a set\n\n* views.create_object/edit_object/create_or_edit_object now default parameter `render` to render_to_response instead of render_to_string. This is a potential braking change.\n\n\n2.2.0 (2016-04-25)\n~~~~~~~~~~~~~~~~~~\n\n* Minor bugfix for fields-from-model handling of auto fields\n\n\n2.1.0 (2016-04-20)\n~~~~~~~~~~~~~~~~~~\n\n* Fix broken blank field value on fields from django model when django model\n blank setting is True.\n\n\n2.0.0 (2016-04-18)\n~~~~~~~~~~~~~~~~~~\n\n* Changed Form.from_model method to require database field kwargs under `field__` namespace. This is a breaking change.\n\n* Fixed saving of foreign keys in django create view\n\n* Enable mixing column definitions in both declared fields and class meta.\n\n\n1.16.0 (2016-04-15)\n~~~~~~~~~~~~~~~~~~~\n\n* Fix table mode render in python 2\n\n\n1.15.0 (2016-04-08)\n~~~~~~~~~~~~~~~~~~~\n\n* Fixed radio button render\n\n\n1.14.0 (2016-04-01)\n~~~~~~~~~~~~~~~~~~~\n\n* Added python 3 support\n\n* Added render helper functions for reuse by tri.table et al\n\n\n1.13.0 (2016-03-10)\n~~~~~~~~~~~~~~~~~~~\n\n* Fixed many_to_one field\n\n\n1.12.0 (2016-03-03)\n~~~~~~~~~~~~~~~~~~~\n\n* Add support for Django 1.8\n\n\n1.11.0 (2016-02-29)\n~~~~~~~~~~~~~~~~~~~\n\n* Datetime fields used to not roundtrip cleanly via the form (they output\n milliseconds then failed on parsing them) Field.file didn't exist.\n\n* Changed syntax for specifying html attributes and classes. They are now use\n the same way of addressing as other things, e.g.:\n Field.choice(attrs__foo=\"bar\", attrs__class__baz=True) will yield something\n like ``\n\n\n1.10.0 (2016-02-08)\n~~~~~~~~~~~~~~~~~~~\n\n* Made sure form validation is only run once\n\n* Fixed input form class and render context to create_or_edit_object view\n\n\n1.9.0 (2016-01-15)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed default value initialization on Field attributes to not reuse containers.\n\n* Added support for ManyToManyField when generating forms for model objects.\n\n* Added 'read_from_instance' and 'write_to_instance' callbacks for customized instance marshalling.\n\n\n1.8.0 (2016-01-13)\n~~~~~~~~~~~~~~~~~~\n\nBugfix release.\n\n* Added missing 'after' attribute on Field prohibiting form order customization\n\n* Fixed default value handling of 'attr' to make None a valid value when no attribute should be read.\n\n* Fixed CSS handling on required fields.\n\n\n1.7.0 (2016-01-13)\n~~~~~~~~~~~~~~~~~~\n\n* Made evaluation of choices lazy even when there is a None alternative.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/TriOptima/tri.form", "keywords": "tri.form", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "tri.form", "package_url": "https://pypi.org/project/tri.form/", "platform": "", "project_url": "https://pypi.org/project/tri.form/", "project_urls": { "Homepage": "https://github.com/TriOptima/tri.form" }, "release_url": "https://pypi.org/project/tri.form/7.5.0/", "requires_dist": null, "requires_python": "", "summary": "tri.form is a form library", "version": "7.5.0", "yanked": false, "yanked_reason": null }, "last_serial": 7091289, "releases": { "1.10.0": [ { "comment_text": "", "digests": { "md5": "b6a52d6dd52ec9e52f9e5b24685cdd21", "sha256": "1465755d4668f55af1170fb2c1ff6d74764d167649ab903f4d0b388d1d972292" }, "downloads": -1, "filename": "tri.form-1.10.0.tar.gz", "has_sig": false, "md5_digest": "b6a52d6dd52ec9e52f9e5b24685cdd21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15651, "upload_time": "2016-02-25T08:06:34", "upload_time_iso_8601": "2016-02-25T08:06:34.410688Z", "url": "https://files.pythonhosted.org/packages/7b/ab/6785a35e517dc1873a16d59f45b3a244523bc4c712c00dddb06e0c1c736c/tri.form-1.10.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "534d08a3a2de32baa80d4ded26f9c54e", "sha256": "1160b73d3000c54fbe82bac8159e8682d620244d8bd7f7f185f77f80ae44c484" }, "downloads": -1, "filename": "tri.form-1.11.0.tar.gz", "has_sig": false, "md5_digest": "534d08a3a2de32baa80d4ded26f9c54e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16779, "upload_time": "2016-02-29T21:00:08", "upload_time_iso_8601": "2016-02-29T21:00:08.294004Z", "url": "https://files.pythonhosted.org/packages/35/f9/503ef946dc622039284f87cebc5ce0ed5b966736cf237f7e3f132a4e2d07/tri.form-1.11.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.12.0": [ { "comment_text": "", "digests": { "md5": "2ef258a7566dcc0249b88ed788854765", "sha256": "7d93ecb3d787a0543875f443886cc44cbb406f61619ca74e526007e2029e2275" }, "downloads": -1, "filename": "tri.form-1.12.0.tar.gz", "has_sig": false, "md5_digest": "2ef258a7566dcc0249b88ed788854765", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16945, "upload_time": "2016-03-02T15:31:52", "upload_time_iso_8601": "2016-03-02T15:31:52.072318Z", "url": "https://files.pythonhosted.org/packages/d5/5b/5f968db79056200935c3ff73c167dd5e2b87af4f4cddc8986b2063fe4900/tri.form-1.12.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.13.0": [ { "comment_text": "", "digests": { "md5": "e43bdf5a853fbc22dc7c4598185cbeaa", "sha256": "c9a6080801165f7cbd2ab2a2b4f45c50aba84f00c8bd2ab0b02ffc7b2334dedd" }, "downloads": -1, "filename": "tri.form-1.13.0.tar.gz", "has_sig": false, "md5_digest": "e43bdf5a853fbc22dc7c4598185cbeaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16982, "upload_time": "2016-04-01T08:11:21", "upload_time_iso_8601": "2016-04-01T08:11:21.573656Z", "url": "https://files.pythonhosted.org/packages/f0/08/8b6d771946439299d998879e107904d69849d007297556b1911f51fd5cb0/tri.form-1.13.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.13.1": [ { "comment_text": "", "digests": { "md5": "478b753daffecc34a10b0af2ed6d374d", "sha256": "3db0877520135384255b76f4d717bda623385627c58d2d0310085bdbb2dc47b3" }, "downloads": -1, "filename": "tri.form-1.13.1.tar.gz", "has_sig": false, "md5_digest": "478b753daffecc34a10b0af2ed6d374d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17111, "upload_time": "2017-05-23T11:11:38", "upload_time_iso_8601": "2017-05-23T11:11:38.292298Z", "url": "https://files.pythonhosted.org/packages/24/c6/e552e543851557588042ea8fe930ec0792d6aaef72decd2dcbaa6d48b985/tri.form-1.13.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.14.0": [ { "comment_text": "", "digests": { "md5": "a16f0ab4db28f6450c3391557c9471f1", "sha256": "bda6a974cb4084fd7e8d6d4ca21f26c33a893886d35f0e825622120fb31bef8b" }, "downloads": -1, "filename": "tri.form-1.14.0.tar.gz", "has_sig": false, "md5_digest": "a16f0ab4db28f6450c3391557c9471f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17220, "upload_time": "2016-04-01T08:11:22", "upload_time_iso_8601": "2016-04-01T08:11:22.086167Z", "url": "https://files.pythonhosted.org/packages/99/db/5efdba272e388a87c3b7589c224e6ee4ba41a0e9ba61689476e2d60060dd/tri.form-1.14.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.15.0": [ { "comment_text": "", "digests": { "md5": "ca1d1a85f93c57853d3692133449c64c", "sha256": "1e4740072bb5642ebaf87aee9dd900ce66f7ea55039ed128daeac6a5bf977a10" }, "downloads": -1, "filename": "tri.form-1.15.0.tar.gz", "has_sig": false, "md5_digest": "ca1d1a85f93c57853d3692133449c64c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17225, "upload_time": "2016-04-08T10:50:19", "upload_time_iso_8601": "2016-04-08T10:50:19.107057Z", "url": "https://files.pythonhosted.org/packages/36/82/51b3989413a209f45c858bc2cfc9285f67a9824ae62c96c3e3bca66e3a0d/tri.form-1.15.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.16.0": [ { "comment_text": "", "digests": { "md5": "3e8b8b4dd1fdc04f0544603ebeb58afc", "sha256": "bf8a52ba5b4f7538a70c857e121e9f9741dc0c49adf950c1685030c6228ffd20" }, "downloads": -1, "filename": "tri.form-1.16.0.tar.gz", "has_sig": false, "md5_digest": "3e8b8b4dd1fdc04f0544603ebeb58afc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17274, "upload_time": "2016-04-18T14:04:07", "upload_time_iso_8601": "2016-04-18T14:04:07.480116Z", "url": "https://files.pythonhosted.org/packages/00/6f/530d15b188afa324e0b6720144f1e2bbe2dd9b0b2052d83d84831a3f9e7f/tri.form-1.16.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "f5555cf04d2fb0126136ff035c90eb52", "sha256": "a70cb9a2b6056f3f0e9b90850c3d07d08e5b0e662217349ed00a422f8966e35d" }, "downloads": -1, "filename": "tri.form-1.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5555cf04d2fb0126136ff035c90eb52", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19216, "upload_time": "2015-12-14T13:04:00", "upload_time_iso_8601": "2015-12-14T13:04:00.134532Z", "url": "https://files.pythonhosted.org/packages/14/33/d9a7398787cc5f9585760e74c4e85c19c1331e634024f42c141dc3853912/tri.form-1.6.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "513a8c40ee092dc9f63c09f719af02ca", "sha256": "9221be022084cb18c6ab260d97b413536bd094175938debce54ac2becff18d0f" }, "downloads": -1, "filename": "tri.form-1.6.1.tar.gz", "has_sig": false, "md5_digest": "513a8c40ee092dc9f63c09f719af02ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15137, "upload_time": "2015-12-14T13:04:29", "upload_time_iso_8601": "2015-12-14T13:04:29.407903Z", "url": "https://files.pythonhosted.org/packages/02/89/b42f312a30863fc94a6f37eb224fff889b496db3ca97b58d064521a23c8a/tri.form-1.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "e33edad935ed82733b4a27e2cf8852e1", "sha256": "9c19ac6dca8fb4fb8034332987f5e66788f8a785dddef3555abccb317daaf966" }, "downloads": -1, "filename": "tri.form-1.7.0.tar.gz", "has_sig": false, "md5_digest": "e33edad935ed82733b4a27e2cf8852e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15059, "upload_time": "2016-01-15T15:06:53", "upload_time_iso_8601": "2016-01-15T15:06:53.065684Z", "url": "https://files.pythonhosted.org/packages/c2/30/f49023e828f135fb5ee85a40ddd3df91db3f415a025c77706fb76bf48f8d/tri.form-1.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "3569896af36726b4eea5b1f598fd21d8", "sha256": "eee65b63cdca34e1cad853ab9f9833caa94e6d0e1fe080023c34be9ec8c4685e" }, "downloads": -1, "filename": "tri.form-1.8.0.tar.gz", "has_sig": false, "md5_digest": "3569896af36726b4eea5b1f598fd21d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15217, "upload_time": "2016-01-15T15:07:25", "upload_time_iso_8601": "2016-01-15T15:07:25.446625Z", "url": "https://files.pythonhosted.org/packages/93/e7/66f4fdcf0e1799d350cb06f1f36598cbb0c7fe12d52407f9a7c0aebfdf20/tri.form-1.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "06149b8465c5f6f217792c506b9ac46e", "sha256": "b56a8cdb9c545c273d4063824647cf2cbbf938e3e5c27ade4fc48d9d2f61d48a" }, "downloads": -1, "filename": "tri.form-1.9.0.tar.gz", "has_sig": false, "md5_digest": "06149b8465c5f6f217792c506b9ac46e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15564, "upload_time": "2016-02-25T08:06:19", "upload_time_iso_8601": "2016-02-25T08:06:19.547469Z", "url": "https://files.pythonhosted.org/packages/da/b3/dd3191b5c5b96983a6cba72486d5cb3a12837ed5e2a4febb27c8d85448cd/tri.form-1.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "ade147c298cf18a9675c8ef92699a1b2", "sha256": "0df94ce88aeff8f0d2f3b8fca7de31d679c3fa1701f0cb2a4397488ea23535f2" }, "downloads": -1, "filename": "tri.form-2.0.0.tar.gz", "has_sig": false, "md5_digest": "ade147c298cf18a9675c8ef92699a1b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18035, "upload_time": "2016-04-18T14:03:58", "upload_time_iso_8601": "2016-04-18T14:03:58.985837Z", "url": "https://files.pythonhosted.org/packages/7e/99/7ccc42a55cdea599550310704be7468b82fccf7080b6d7b402d8af53a574/tri.form-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "086b422cdbce5f63f97b53c5e5f29c95", "sha256": "66a7c3459d0d55d5a6d0dca5928e6476a2f4011937b498bc56bb4b858708c9c3" }, "downloads": -1, "filename": "tri.form-2.2.0.tar.gz", "has_sig": false, "md5_digest": "086b422cdbce5f63f97b53c5e5f29c95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18194, "upload_time": "2016-04-25T12:13:39", "upload_time_iso_8601": "2016-04-25T12:13:39.857630Z", "url": "https://files.pythonhosted.org/packages/50/fe/4e86688dd9a843c557897bd13528d63b42b70f2d947da6735786748b7c97/tri.form-2.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "c301ce21e575f0e2f110e127b7e68b24", "sha256": "e0543e604861449f5bf67f628cea17b618cacbef5df5e17894d84743b8cb26df" }, "downloads": -1, "filename": "tri.form-3.0.0.tar.gz", "has_sig": false, "md5_digest": "c301ce21e575f0e2f110e127b7e68b24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18805, "upload_time": "2016-05-26T10:49:55", "upload_time_iso_8601": "2016-05-26T10:49:55.494085Z", "url": "https://files.pythonhosted.org/packages/e6/5d/7f815756a379112fa49e5a42778a862b518e5d377bf1209b7ef5859416ea/tri.form-3.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "ae3cee990f5bb60135c77e620d195f0e", "sha256": "4b7ca29ed08e181f0d4cf5d8102ccf6761930e4291e208d15e0bb95bb1662ce5" }, "downloads": -1, "filename": "tri.form-3.1.0.tar.gz", "has_sig": false, "md5_digest": "ae3cee990f5bb60135c77e620d195f0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19609, "upload_time": "2016-05-26T12:44:39", "upload_time_iso_8601": "2016-05-26T12:44:39.613992Z", "url": "https://files.pythonhosted.org/packages/ff/94/49c94dafca4f93ac7e8014c0db63d605c7b264efe93d0f4b2a413a9bf29b/tri.form-3.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "04a8f8ebb08d648e434a9827167d997c", "sha256": "b23ec6171d1ba261a8655bda2da6fd04e21406bc19fc0251f91365c936f87841" }, "downloads": -1, "filename": "tri.form-3.2.0.tar.gz", "has_sig": false, "md5_digest": "04a8f8ebb08d648e434a9827167d997c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19673, "upload_time": "2016-05-26T14:01:43", "upload_time_iso_8601": "2016-05-26T14:01:43.006380Z", "url": "https://files.pythonhosted.org/packages/2f/21/f3bf66267697841a754f7cb477d270fda99c9a63f88f9f8e7bc61af38ac3/tri.form-3.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "ab2891d0d2c6b940d224e3c007051326", "sha256": "4cbe4fe5c91871111ff08437b4871323b4f02039696854264ddeed97405d0696" }, "downloads": -1, "filename": "tri.form-3.3.0.tar.gz", "has_sig": false, "md5_digest": "ab2891d0d2c6b940d224e3c007051326", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19741, "upload_time": "2016-06-02T10:48:55", "upload_time_iso_8601": "2016-06-02T10:48:55.592194Z", "url": "https://files.pythonhosted.org/packages/f0/03/b013eb8b51406951bb57e29b7136467d7016e8dac70bcfe5e1bce5c75ed7/tri.form-3.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.4.0": [ { "comment_text": "", "digests": { "md5": "ee2912b09357065e7808145aacc13c77", "sha256": "25d1741b8593260e3bb6106a5ec14db743d09c4ae9b4ab6a7b2931b810db9323" }, "downloads": -1, "filename": "tri.form-3.4.0.tar.gz", "has_sig": false, "md5_digest": "ee2912b09357065e7808145aacc13c77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20036, "upload_time": "2016-06-15T14:14:00", "upload_time_iso_8601": "2016-06-15T14:14:00.900847Z", "url": "https://files.pythonhosted.org/packages/b1/2e/d9ebd8c10b13c14f339e2d5226a44fe045602c4e7cc21cf2f3b6b969c0ff/tri.form-3.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.5.0": [ { "comment_text": "", "digests": { "md5": "c6a0954bfc60c07fb6f0cf4f5ddabddc", "sha256": "f8416fe60094f636ae46eb093fab1152d634f8c0c021902e4e532d16e02c5623" }, "downloads": -1, "filename": "tri.form-3.5.0.tar.gz", "has_sig": false, "md5_digest": "c6a0954bfc60c07fb6f0cf4f5ddabddc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20133, "upload_time": "2016-06-16T11:30:22", "upload_time_iso_8601": "2016-06-16T11:30:22.960553Z", "url": "https://files.pythonhosted.org/packages/1a/69/e4f45054f7b45a33ecfb55ef61fc378ffb16ddbd8cba4ca916d1d8c90ab4/tri.form-3.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.6.0": [ { "comment_text": "", "digests": { "md5": "22a5ce40703da696cab0e007c6048a83", "sha256": "5dd661eb0760c4e9c9ca4de55fd4ed213d1cded36e7e52dd3314acb3ba63c17d" }, "downloads": -1, "filename": "tri.form-3.6.0.tar.gz", "has_sig": false, "md5_digest": "22a5ce40703da696cab0e007c6048a83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20685, "upload_time": "2016-08-16T11:59:42", "upload_time_iso_8601": "2016-08-16T11:59:42.066880Z", "url": "https://files.pythonhosted.org/packages/c7/11/503769caff77e941009ef60f1ff3bc2f80cf0e844dcc9ebc4b45ac8e857e/tri.form-3.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.7.0": [ { "comment_text": "", "digests": { "md5": "5464cef73cabdb7c6cdeea9b242fc3fd", "sha256": "fcfad49bb5e68597ca9e1942956aef74721bcf0cae129a57e24b681a4a08f161" }, "downloads": -1, "filename": "tri.form-3.7.0.tar.gz", "has_sig": false, "md5_digest": "5464cef73cabdb7c6cdeea9b242fc3fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20773, "upload_time": "2016-08-17T13:35:57", "upload_time_iso_8601": "2016-08-17T13:35:57.311240Z", "url": "https://files.pythonhosted.org/packages/dc/25/4ba18c7223f4d335f9d8cf8423c6c1fbeb9ae3c47902f2f4d9ecf4e653bc/tri.form-3.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.8.0": [ { "comment_text": "", "digests": { "md5": "f771988c6b606ba4b843500885b5cc2e", "sha256": "9ffd48200865859c01059e39286576752a7b176be337b1e149d1d4aa065dd4db" }, "downloads": -1, "filename": "tri.form-3.8.0.tar.gz", "has_sig": false, "md5_digest": "f771988c6b606ba4b843500885b5cc2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20981, "upload_time": "2016-09-14T14:18:55", "upload_time_iso_8601": "2016-09-14T14:18:55.349811Z", "url": "https://files.pythonhosted.org/packages/ec/77/e9e855cb5642f75f54331a09a5938281ee682bea103bb29b7403f8b8a7cb/tri.form-3.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "896c347de1c0e11bc1fccd2e7028b199", "sha256": "97e62b6c3a33d9b3ba14796cf0b185ed510dc4083c55383298b20e6c86a97e6b" }, "downloads": -1, "filename": "tri.form-4.0.0.tar.gz", "has_sig": false, "md5_digest": "896c347de1c0e11bc1fccd2e7028b199", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21278, "upload_time": "2016-09-14T14:17:43", "upload_time_iso_8601": "2016-09-14T14:17:43.393907Z", "url": "https://files.pythonhosted.org/packages/1b/85/e391282b63126a0622c7558f4e54761a366282e235409ac9aa9720d989e6/tri.form-4.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "4.10.0": [ { "comment_text": "", "digests": { "md5": "6d70b5bedadf488fa72077ffcde80c8a", "sha256": "7c6c023e90ae9876f0e4a94496cb10a0d08a14f4b86a804ff039fccdeb43c099" }, "downloads": -1, "filename": "tri.form-4.10.0.tar.gz", "has_sig": false, "md5_digest": "6d70b5bedadf488fa72077ffcde80c8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25466, "upload_time": "2017-08-22T09:24:24", "upload_time_iso_8601": "2017-08-22T09:24:24.441789Z", "url": "https://files.pythonhosted.org/packages/2e/47/73232b38f67f14d408b1dc9c3d08645cd2cdd1638af8624df09f93b95dbb/tri.form-4.10.0.tar.gz", "yanked": false, "yanked_reason": null } ], "4.6.1": [ { "comment_text": "", "digests": { "md5": "092ec88eacf104fee5801f16eaa1bd7a", "sha256": "73d057d1d6ba90fc89237e5e5db88bd520a17430f7629efc172fd05dfc41f46e" }, "downloads": -1, "filename": "tri.form-4.6.1.tar.gz", "has_sig": false, "md5_digest": "092ec88eacf104fee5801f16eaa1bd7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23297, "upload_time": "2017-04-25T07:22:57", "upload_time_iso_8601": "2017-04-25T07:22:57.620401Z", "url": "https://files.pythonhosted.org/packages/9a/4b/8867bf9447684897d640ab614154417bb01501b90388ff6c7ce35e5bcb91/tri.form-4.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "4.7.0": [ { "comment_text": "", "digests": { "md5": "82fd19c08c701dfcf420d73c14cfc1e7", "sha256": "98d459e2304a63e107bcf3593aaae9e510d69e0e31927c2dcb89e8b8717cea9b" }, "downloads": -1, "filename": "tri.form-4.7.0.tar.gz", "has_sig": false, "md5_digest": "82fd19c08c701dfcf420d73c14cfc1e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25006, "upload_time": "2017-04-25T07:23:54", "upload_time_iso_8601": "2017-04-25T07:23:54.496039Z", "url": "https://files.pythonhosted.org/packages/ed/30/0ba21849a57808f56dad2bf346391c3a567621e25098c174aadefe78c08a/tri.form-4.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "4.7.1": [ { "comment_text": "", "digests": { "md5": "75f10bd8893f16561749245a7171c31b", "sha256": "b58c557a4508af12b897ed45d76b02f3f743aea1be3f119421977e3bd0ad38d6" }, "downloads": -1, "filename": "tri.form-4.7.1.tar.gz", "has_sig": false, "md5_digest": "75f10bd8893f16561749245a7171c31b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25059, "upload_time": "2017-04-25T08:17:53", "upload_time_iso_8601": "2017-04-25T08:17:53.034335Z", "url": "https://files.pythonhosted.org/packages/a0/3e/a472ce31f282cec0b80a98055e1277a231c9cc4aeeb6035a6d8022cad5dd/tri.form-4.7.1.tar.gz", "yanked": false, "yanked_reason": null } ], "4.8.0": [ { "comment_text": "", "digests": { "md5": "afd527c55d0cbbba8a4fea036b5f661c", "sha256": "ddcffabbcd6e5a5640c8749bc3a77e25dfd293a02e5f7356d262ff9992a60684" }, "downloads": -1, "filename": "tri.form-4.8.0.tar.gz", "has_sig": false, "md5_digest": "afd527c55d0cbbba8a4fea036b5f661c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25223, "upload_time": "2017-05-23T11:11:33", "upload_time_iso_8601": "2017-05-23T11:11:33.465128Z", "url": "https://files.pythonhosted.org/packages/35/26/e32044a1a936b4d8d8c35f14b2ac37b71ee0174bc989c3ea99d42727c675/tri.form-4.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "4.9.0": [ { "comment_text": "", "digests": { "md5": "377d37f6df4535311f2c7754dc73dc1a", "sha256": "9e071401956ed83ca059f7ca79e9becbcaf4107f89078497d5e4815884f90930" }, "downloads": -1, "filename": "tri.form-4.9.0.tar.gz", "has_sig": false, "md5_digest": "377d37f6df4535311f2c7754dc73dc1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25389, "upload_time": "2017-05-31T11:55:56", "upload_time_iso_8601": "2017-05-31T11:55:56.719851Z", "url": "https://files.pythonhosted.org/packages/06/f6/b46f94cf44742fd3cfc0d4849a347da5488d871e0706a426c28e3b02588b/tri.form-4.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.0": [ { "comment_text": "", "digests": { "md5": "3f8b3b1ab2dd58c0a4ee7fa415c2802e", "sha256": "5d9ded989a32589aa23693e1f4d0199039c0736f3b66005c075953bb144b73eb" }, "downloads": -1, "filename": "tri.form-5.0.0.tar.gz", "has_sig": false, "md5_digest": "3f8b3b1ab2dd58c0a4ee7fa415c2802e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26329, "upload_time": "2017-08-22T09:34:28", "upload_time_iso_8601": "2017-08-22T09:34:28.633032Z", "url": "https://files.pythonhosted.org/packages/1a/d6/c3bb759c07915374e47788460b5b6fca96ea0e017f2192ef04afbe5672d5/tri.form-5.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.1": [ { "comment_text": "", "digests": { "md5": "a40e43d056ec8919d7c651d0210f55b0", "sha256": "13987666a0fc0e9469764694657838a06abee49233e0b9c8db29e994904eb152" }, "downloads": -1, "filename": "tri.form-5.0.1.tar.gz", "has_sig": false, "md5_digest": "a40e43d056ec8919d7c651d0210f55b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26446, "upload_time": "2017-09-15T12:52:13", "upload_time_iso_8601": "2017-09-15T12:52:13.444469Z", "url": "https://files.pythonhosted.org/packages/b9/7d/ddb98b98cfaaad34c8933e560f475cced4c9e5302495ea672d556c3d9ee1/tri.form-5.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.10": [ { "comment_text": "", "digests": { "md5": "e7d83cc4380d0aa028678b79cab988ac", "sha256": "17ecdca4208e6aab31198f6346a9bdb563d8d896fd3c8d64c741ed6008857a44" }, "downloads": -1, "filename": "tri.form-5.0.10.tar.gz", "has_sig": false, "md5_digest": "e7d83cc4380d0aa028678b79cab988ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28406, "upload_time": "2018-06-29T07:56:27", "upload_time_iso_8601": "2018-06-29T07:56:27.505846Z", "url": "https://files.pythonhosted.org/packages/57/71/3fa1d6100e2abb6988259e82913b9be094e44e31835868238ee79080e486/tri.form-5.0.10.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.11": [ { "comment_text": "", "digests": { "md5": "7832206cd1284cf6463deb60cba39ffc", "sha256": "ddaf0f9b2baef44f8da70d6c7c4cb7bed91d8cc7b6b5509f4f0262a123b27729" }, "downloads": -1, "filename": "tri.form-5.0.11.tar.gz", "has_sig": false, "md5_digest": "7832206cd1284cf6463deb60cba39ffc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28935, "upload_time": "2018-09-21T10:54:20", "upload_time_iso_8601": "2018-09-21T10:54:20.533791Z", "url": "https://files.pythonhosted.org/packages/b9/f4/a72e1f65c10f497e90211a60d4922dd542132d3d5828fe68796eddf14233/tri.form-5.0.11.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.12": [ { "comment_text": "", "digests": { "md5": "d40c9e48e7b67613f75f5c17f85d8bca", "sha256": "3d49f97a9d1cc8eb8fcda39518e613d78a55063d2bcd8c4603cc0bbe795010c1" }, "downloads": -1, "filename": "tri.form-5.0.12.tar.gz", "has_sig": false, "md5_digest": "d40c9e48e7b67613f75f5c17f85d8bca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29196, "upload_time": "2018-10-03T13:17:51", "upload_time_iso_8601": "2018-10-03T13:17:51.080271Z", "url": "https://files.pythonhosted.org/packages/89/d7/b1c37337b5e736e45a78581c60a19ae2d2a0cb90a15f79446e0ffd8a1d83/tri.form-5.0.12.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.2": [ { "comment_text": "", "digests": { "md5": "3f865b2cb3f79d685e4c9eb1e57812a5", "sha256": "36f7bed3be8f7ad6d5e91b32fb132541e3cb1498debadfc27bddbdd129c5a0fb" }, "downloads": -1, "filename": "tri.form-5.0.2.tar.gz", "has_sig": false, "md5_digest": "3f865b2cb3f79d685e4c9eb1e57812a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26521, "upload_time": "2017-10-06T12:32:56", "upload_time_iso_8601": "2017-10-06T12:32:56.946312Z", "url": "https://files.pythonhosted.org/packages/cd/ec/9ebc1aa4530e1c18c56f03b22126603190fc23cd18d7ae615a47fa1d46bf/tri.form-5.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.3": [ { "comment_text": "", "digests": { "md5": "49e3607ac02374b26421047fb30c275a", "sha256": "d41c906682ff242adfbcae76c87c06c5b5559121c5c67e16b44582a02cf4c4f2" }, "downloads": -1, "filename": "tri.form-5.0.3.tar.gz", "has_sig": false, "md5_digest": "49e3607ac02374b26421047fb30c275a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27026, "upload_time": "2018-05-23T07:29:19", "upload_time_iso_8601": "2018-05-23T07:29:19.435696Z", "url": "https://files.pythonhosted.org/packages/94/0d/fa78ca43e3a66bfc60c0229a9dcf5b71b254d1ef763311a76bc22ab2c7cd/tri.form-5.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.4": [ { "comment_text": "", "digests": { "md5": "1b6137c17540cf46111d75bce778a374", "sha256": "0952480b809afda3b09a08016fd16a08ad67eda8a37c08087edf07ae89d98ba9" }, "downloads": -1, "filename": "tri.form-5.0.4.tar.gz", "has_sig": false, "md5_digest": "1b6137c17540cf46111d75bce778a374", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27174, "upload_time": "2018-05-23T07:30:12", "upload_time_iso_8601": "2018-05-23T07:30:12.291246Z", "url": "https://files.pythonhosted.org/packages/b4/ba/0a39256650c5069732f3a2ae2ff0928754d6e46a232c489b0efac9ce9844/tri.form-5.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.5": [ { "comment_text": "", "digests": { "md5": "02223a4608d6ce91f500033307d3ab39", "sha256": "6df34ff0523b08824330c4b2408a6b3088c2238bc49f6fe77573acec4970813d" }, "downloads": -1, "filename": "tri.form-5.0.5.tar.gz", "has_sig": false, "md5_digest": "02223a4608d6ce91f500033307d3ab39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27214, "upload_time": "2018-05-23T07:31:39", "upload_time_iso_8601": "2018-05-23T07:31:39.753168Z", "url": "https://files.pythonhosted.org/packages/1a/50/49acd79d1d6ebe246535aa6318054679f272da4f1ee2ee8fb2128a377b51/tri.form-5.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.6": [ { "comment_text": "", "digests": { "md5": "e972fbc48f452f9d17b32822f3d70806", "sha256": "3aab0949a66ed018fcf954dd77f3e27571fb86e6f04c4789b00b023bcf35945b" }, "downloads": -1, "filename": "tri.form-5.0.6.tar.gz", "has_sig": false, "md5_digest": "e972fbc48f452f9d17b32822f3d70806", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27974, "upload_time": "2018-06-15T10:40:09", "upload_time_iso_8601": "2018-06-15T10:40:09.316404Z", "url": "https://files.pythonhosted.org/packages/44/29/0c05e3f8c960b4685bbfc541a67fb6e6a7ed4326ceb2c172f8125feb12e1/tri.form-5.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.7": [ { "comment_text": "", "digests": { "md5": "c917187c7a4d6630c2fac3d8bf25de63", "sha256": "b8246f4ddd5f49b2d1dc30345686f17bf923528774892badbe28c34756535c73" }, "downloads": -1, "filename": "tri.form-5.0.7.tar.gz", "has_sig": false, "md5_digest": "c917187c7a4d6630c2fac3d8bf25de63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28054, "upload_time": "2018-06-18T14:06:05", "upload_time_iso_8601": "2018-06-18T14:06:05.904659Z", "url": "https://files.pythonhosted.org/packages/40/bd/c7a816082ebd0b104d0829083852ae188bb5d65325dc3a55551e698bd843/tri.form-5.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.8": [ { "comment_text": "", "digests": { "md5": "295b2abaff5c72ead5ba9eebbf8868ab", "sha256": "7155c4e501861b8fa448712d96964a8c3e80ad645a36780936d6af83dfd1d19e" }, "downloads": -1, "filename": "tri.form-5.0.8.tar.gz", "has_sig": false, "md5_digest": "295b2abaff5c72ead5ba9eebbf8868ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28088, "upload_time": "2018-06-29T07:56:36", "upload_time_iso_8601": "2018-06-29T07:56:36.787070Z", "url": "https://files.pythonhosted.org/packages/dd/ea/621bbc350b6254ac1a8b29559e5b77c648a5d7d096fc125937eb10438403/tri.form-5.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "5.0.9": [ { "comment_text": "", "digests": { "md5": "b5557c65648156734a29056a7078c49b", "sha256": "22420936cb44fd28f8033c93ebd694894fd94d3ad409893d97ed4849a797b7b9" }, "downloads": -1, "filename": "tri.form-5.0.9.tar.gz", "has_sig": false, "md5_digest": "b5557c65648156734a29056a7078c49b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28254, "upload_time": "2018-06-29T08:00:31", "upload_time_iso_8601": "2018-06-29T08:00:31.919434Z", "url": "https://files.pythonhosted.org/packages/bf/df/81ab04425ff547080a910dc460d8b9e9a77105a5c34f79c3296946d1d544/tri.form-5.0.9.tar.gz", "yanked": false, "yanked_reason": null } ], "5.1.0": [ { "comment_text": "", "digests": { "md5": "2863bc4f9a507cb74f3a11831572adf6", "sha256": "9dbd24cf570b7bb273eaff6ecedf0cac4df874f852ac7ad417235d3126cf2b9c" }, "downloads": -1, "filename": "tri.form-5.1.0.tar.gz", "has_sig": false, "md5_digest": "2863bc4f9a507cb74f3a11831572adf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30871, "upload_time": "2018-10-09T12:01:11", "upload_time_iso_8601": "2018-10-09T12:01:11.136236Z", "url": "https://files.pythonhosted.org/packages/2f/07/78ad30c3f74c6775692dbc5be635f153024bcb3e976ef90b9b4630a81cd0/tri.form-5.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "5.1.1": [ { "comment_text": "", "digests": { "md5": "fb23dbbe7f9a5d945202d165a2821e3c", "sha256": "573f62a85cc275127845e8e2bf6aef4c798577381226520e89a971ec63db02ef" }, "downloads": -1, "filename": "tri.form-5.1.1.tar.gz", "has_sig": false, "md5_digest": "fb23dbbe7f9a5d945202d165a2821e3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31037, "upload_time": "2018-10-23T13:13:02", "upload_time_iso_8601": "2018-10-23T13:13:02.427749Z", "url": "https://files.pythonhosted.org/packages/c4/d4/62f5f5e3ca74ba366d410de07ca52b218bf807571743f995289e9cf5a930/tri.form-5.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "5.2.1": [ { "comment_text": "", "digests": { "md5": "cba34a7ff3b3d35f42bdb1620c1566fb", "sha256": "a3f700df732de6320443d0ab529eba6023fc5a1c2346bfc58c3e287ee721583c" }, "downloads": -1, "filename": "tri.form-5.2.1.tar.gz", "has_sig": false, "md5_digest": "cba34a7ff3b3d35f42bdb1620c1566fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32884, "upload_time": "2019-01-22T09:36:41", "upload_time_iso_8601": "2019-01-22T09:36:41.734928Z", "url": "https://files.pythonhosted.org/packages/a2/2b/b9e78c0f68c99f3e9faa22200da79a46293e23b661dcbfc5004574e48b99/tri.form-5.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "5.2.2": [ { "comment_text": "", "digests": { "md5": "24c5d25837515befef11394756408a8b", "sha256": "2aca9f2343c62ea4cde6393465b634974c0e87860b5f953f67c07112152accf6" }, "downloads": -1, "filename": "tri.form-5.2.2.tar.gz", "has_sig": false, "md5_digest": "24c5d25837515befef11394756408a8b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33020, "upload_time": "2019-01-28T12:17:54", "upload_time_iso_8601": "2019-01-28T12:17:54.836983Z", "url": "https://files.pythonhosted.org/packages/22/3e/b4bced9499c32b0f1e384cc5f48650951e33fc58660688195040a37505e7/tri.form-5.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "5.3.1": [ { "comment_text": "", "digests": { "md5": "9ed28dc7587a98e0348cd8897a12547e", "sha256": "01c4ca495b693eea5eebeeeef95d4714be4d2587683cff4486fd21d1ada9f9eb" }, "downloads": -1, "filename": "tri.form-5.3.1.tar.gz", "has_sig": false, "md5_digest": "9ed28dc7587a98e0348cd8897a12547e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33542, "upload_time": "2019-04-01T07:25:27", "upload_time_iso_8601": "2019-04-01T07:25:27.245063Z", "url": "https://files.pythonhosted.org/packages/c4/41/e42e0fc999f9f5e86274e9883de50da1335af18a975106a3804cfea08aca/tri.form-5.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "5.4.0": [ { "comment_text": "", "digests": { "md5": "c8728da27d32a813d82fc7d7ca46c5c0", "sha256": "048b80302bc30478b145892c38dc3b01e1ad680661bdefddaf11d1c9769382a5" }, "downloads": -1, "filename": "tri.form-5.4.0.tar.gz", "has_sig": false, "md5_digest": "c8728da27d32a813d82fc7d7ca46c5c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33622, "upload_time": "2019-04-01T07:24:20", "upload_time_iso_8601": "2019-04-01T07:24:20.441786Z", "url": "https://files.pythonhosted.org/packages/89/1a/a693e1aea380f73a724b6c7b7e2f52dc9230acafc6060a1b0e3ee23165f2/tri.form-5.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "6.0.0": [ { "comment_text": "", "digests": { "md5": "90c7dd451280e68a5d52c5aead106f5d", "sha256": "8946fa8e83b544fdc0790832d95bef6542907dadbeff8c6deb6345efc62d3363" }, "downloads": -1, "filename": "tri.form-6.0.0.tar.gz", "has_sig": false, "md5_digest": "90c7dd451280e68a5d52c5aead106f5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33679, "upload_time": "2019-04-12T13:56:09", "upload_time_iso_8601": "2019-04-12T13:56:09.130391Z", "url": "https://files.pythonhosted.org/packages/e8/02/42cceab7f49a5b1490a0651c3287a4c979b0da00105c5d9e442b851965a0/tri.form-6.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "6.0.1": [ { "comment_text": "", "digests": { "md5": "cc59a4c172c54a21ceaa06b1cbfd6ec0", "sha256": "555219789375dc1eff675cd68df9e16505ba532cfdea440279fd7308f42882c9" }, "downloads": -1, "filename": "tri.form-6.0.1.tar.gz", "has_sig": false, "md5_digest": "cc59a4c172c54a21ceaa06b1cbfd6ec0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33788, "upload_time": "2019-05-06T09:09:14", "upload_time_iso_8601": "2019-05-06T09:09:14.803258Z", "url": "https://files.pythonhosted.org/packages/5a/e7/1b5bdfc88c2aedbe57efa0bb2638ee6e2f9b3458d77001e7711fe16259b1/tri.form-6.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "6.0.2": [ { "comment_text": "", "digests": { "md5": "b495aeb453e5678f8ef269f0586bae66", "sha256": "cc3ec4f057778eacc0dba3d208184aeb1e945203f34b9eab40dac3414fe536a4" }, "downloads": -1, "filename": "tri.form-6.0.2.tar.gz", "has_sig": false, "md5_digest": "b495aeb453e5678f8ef269f0586bae66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34448, "upload_time": "2019-06-03T10:40:44", "upload_time_iso_8601": "2019-06-03T10:40:44.204600Z", "url": "https://files.pythonhosted.org/packages/98/1a/2e9ee72628646c407597b665022576f07bb2e6a5008c554f060d5c270474/tri.form-6.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "7.0.0": [ { "comment_text": "", "digests": { "md5": "e3797839d056f1109407dedd60274704", "sha256": "69d0f347bca78879acda8f913802f0c4117fff1e936ec79cdbf1eceaad37c216" }, "downloads": -1, "filename": "tri.form-7.0.0.tar.gz", "has_sig": false, "md5_digest": "e3797839d056f1109407dedd60274704", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34456, "upload_time": "2019-06-12T13:13:15", "upload_time_iso_8601": "2019-06-12T13:13:15.696798Z", "url": "https://files.pythonhosted.org/packages/4c/af/955c1db9a3332657dd1511c08356163d5f9e4f8e6ec48197d6a8dc9e4057/tri.form-7.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "7.1.0": [ { "comment_text": "", "digests": { "md5": "32a6d8c5d506dfbcdcb3b1a52901a73c", "sha256": "378fd1e8d85811b243cc0dfcb25e8ae0a447030c28ec79376f5222ba962b1b2b" }, "downloads": -1, "filename": "tri.form-7.1.0.tar.gz", "has_sig": false, "md5_digest": "32a6d8c5d506dfbcdcb3b1a52901a73c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35527, "upload_time": "2019-09-20T13:00:37", "upload_time_iso_8601": "2019-09-20T13:00:37.803370Z", "url": "https://files.pythonhosted.org/packages/bc/27/8f1bfde92bae7047c324228b833a3c7421427893eed9e4d8dde0471810ea/tri.form-7.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "7.2.0": [ { "comment_text": "", "digests": { "md5": "1eb79b588f065b0df8ebdd3684839da3", "sha256": "8a88ef0f986997deb17fe3fba61ec5acffaaa4e6381bdebfaeda50de7ac87232" }, "downloads": -1, "filename": "tri.form-7.2.0.tar.gz", "has_sig": false, "md5_digest": "1eb79b588f065b0df8ebdd3684839da3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37076, "upload_time": "2019-10-10T11:09:08", "upload_time_iso_8601": "2019-10-10T11:09:08.628429Z", "url": "https://files.pythonhosted.org/packages/2f/a6/6963b6b5db222619161274ae5ff243e6a63f31701250aac767c0ddd8e10e/tri.form-7.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "7.2.1": [ { "comment_text": "", "digests": { "md5": "3b3bedc3c1ea1c465108689456b1cd09", "sha256": "24c8c3ca76a6af60ffc2b08b13f5b63f0dd30889e7f4cf1f2d34aba884766a8f" }, "downloads": -1, "filename": "tri.form-7.2.1.tar.gz", "has_sig": false, "md5_digest": "3b3bedc3c1ea1c465108689456b1cd09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30525, "upload_time": "2019-10-10T14:23:48", "upload_time_iso_8601": "2019-10-10T14:23:48.774786Z", "url": "https://files.pythonhosted.org/packages/54/f8/1fbdba9677ca8190493ca15867a6bef3a7b1e8fd783c5b17aa5d3693218f/tri.form-7.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "7.2.2": [ { "comment_text": "", "digests": { "md5": "ff67f6cee9a587f2242249e21459afc3", "sha256": "dc5b71cf2850f2a6a3765494c026bf8e761c2fd4e7148b2155f62304322e4a63" }, "downloads": -1, "filename": "tri.form-7.2.2.tar.gz", "has_sig": false, "md5_digest": "ff67f6cee9a587f2242249e21459afc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37533, "upload_time": "2019-10-14T11:37:34", "upload_time_iso_8601": "2019-10-14T11:37:34.570783Z", "url": "https://files.pythonhosted.org/packages/22/ef/0d73b12f47462660661245662092b90ef2649aaf61f06ae78d0c39d31017/tri.form-7.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "7.2.3": [ { "comment_text": "", "digests": { "md5": "ed371277fac77e090f5a84d6bea06c3d", "sha256": "816119e7e2184955903b064dcb7e65e818ed50cab0f1b92461addaea29f253a3" }, "downloads": -1, "filename": "tri.form-7.2.3.tar.gz", "has_sig": false, "md5_digest": "ed371277fac77e090f5a84d6bea06c3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37563, "upload_time": "2019-10-15T09:31:15", "upload_time_iso_8601": "2019-10-15T09:31:15.962782Z", "url": "https://files.pythonhosted.org/packages/14/09/e46e9f64f16c7901c354c444d7afee3cba7bff2382159991fb1d51f37d05/tri.form-7.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "7.2.4": [ { "comment_text": "", "digests": { "md5": "dd5deceac8884fbfaeda6e73a798227e", "sha256": "fcf7aedd99ad08b1e0d25763393ca492d9774abe7fdbca26e7a5bfaacc34cbe3" }, "downloads": -1, "filename": "tri.form-7.2.4.tar.gz", "has_sig": false, "md5_digest": "dd5deceac8884fbfaeda6e73a798227e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37723, "upload_time": "2019-10-23T13:42:24", "upload_time_iso_8601": "2019-10-23T13:42:24.822023Z", "url": "https://files.pythonhosted.org/packages/49/cc/f1c34ece386d15e2868788123405abde589d32f66c78641e4481c67dc684/tri.form-7.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "7.3.1": [ { "comment_text": "", "digests": { "md5": "4cff37ae806c9970bb0de3b486f06493", "sha256": "788d0922a17c7c4504abd169bef3b08aba2e12e080550676b6ff8a716506b8be" }, "downloads": -1, "filename": "tri.form-7.3.1.tar.gz", "has_sig": false, "md5_digest": "4cff37ae806c9970bb0de3b486f06493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39324, "upload_time": "2020-01-08T11:42:14", "upload_time_iso_8601": "2020-01-08T11:42:14.915215Z", "url": "https://files.pythonhosted.org/packages/be/61/c19cdd0f2f9fc86bc4a67f9ae666fffa989ef8ac25204481cb3d45beaaed/tri.form-7.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "7.4.0": [ { "comment_text": "", "digests": { "md5": "8a1837b34bd6cede572af536409c92f8", "sha256": "0a724c66e2fd8918e160414f043e5c1a033d639fb3ee3637d228ae63fff5175e" }, "downloads": -1, "filename": "tri.form-7.4.0.tar.gz", "has_sig": false, "md5_digest": "8a1837b34bd6cede572af536409c92f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39468, "upload_time": "2020-01-30T12:33:20", "upload_time_iso_8601": "2020-01-30T12:33:20.618776Z", "url": "https://files.pythonhosted.org/packages/59/9e/054559925f4442872f42fc2f5e7d803bab8e65ef0f9d55ad65cedfd366cb/tri.form-7.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "7.5.0": [ { "comment_text": "", "digests": { "md5": "c21af2d19a746b1df79922f90a7e5a77", "sha256": "6db9e431fa59303d645387cfafd06e9a781b4e6bfdebbd4d10fffc1f3b7f2b15" }, "downloads": -1, "filename": "tri.form-7.5.0.tar.gz", "has_sig": false, "md5_digest": "c21af2d19a746b1df79922f90a7e5a77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39978, "upload_time": "2020-04-24T09:27:29", "upload_time_iso_8601": "2020-04-24T09:27:29.732918Z", "url": "https://files.pythonhosted.org/packages/cf/09/fa79ec3d8d2f2ed050f1d6e93209cafbc331a473d02aff674a8f155b9ac0/tri.form-7.5.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c21af2d19a746b1df79922f90a7e5a77", "sha256": "6db9e431fa59303d645387cfafd06e9a781b4e6bfdebbd4d10fffc1f3b7f2b15" }, "downloads": -1, "filename": "tri.form-7.5.0.tar.gz", "has_sig": false, "md5_digest": "c21af2d19a746b1df79922f90a7e5a77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39978, "upload_time": "2020-04-24T09:27:29", "upload_time_iso_8601": "2020-04-24T09:27:29.732918Z", "url": "https://files.pythonhosted.org/packages/cf/09/fa79ec3d8d2f2ed050f1d6e93209cafbc331a473d02aff674a8f155b9ac0/tri.form-7.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }