{ "info": { "author": "Incuna Ltd", "author_email": "admin@incuna.com", "bugtrack_url": null, "classifiers": [], "description": "# `incuna-groups` [![Build Status](https://magnum.travis-ci.com/incuna/incuna-groups.svg?token=9QKsFUYHUxekS7Q4cLHs&branch=master)](https://travis-ci.org/incuna/incuna-groups)\n\nAn extensible Django app that provides forum functionality.\n- Administrators can create discussion groups.\n- Users can create discussions on groups, and comment on those discussions.\n- Users can also subscribe to groups and/or discussions to receive notifications from them, and post responses by replying to the notification emails.\n\n## Installation\n\n`incuna-groups` is on PyPI, so you can install it with `pip install incuna-groups`. Add both `groups` and `pagination` (for `incuna-pagination`, a dependency) to your `INSTALLED_APPS`.\n\nThis project contains migrations, so run `python manage.py migrate` before using it.\n\n## Usage\n\n`incuna-groups` is self-contained - it provides models, views, and templates. At the moment, it doesn't provide styling or a REST API.\n\nSome straightforward customisation is exposed through the `AppConfig` (which by default is `groups.apps.GroupsConfig`) and the templates can all be overridden easily.\n\nEach page template has a `base` version that the page template itself directly `extends`, meaning you can replace the page template but still make use of all of the blocks and other HTML in the original. For instance, `discussion_thread.html` does nothing other than extend `discussion_thread_base.html`. You can override `discussion_thread.html`, extend `discussion_thread_base.html` in the same way, and change the content of, say, a single block, rather than having to copy and paste the entirety of the discussion thread template in and modify from there.\n\n### Models\n\nThere are three main models that everything revolves around, one of which is polymorphic for easy extension.\n\n- `Group`: A group that contains any number of discussions, like a forum board. Created in the Django admin, and holds discussion threads added by users. A group can be denoted as private, in which case a user has to request to join it before they can read or post any comments. A group can also have moderators who have the ability to delete or edit other users' comments. Users can subscribe to a group, which will send them notifications for any discussions created on the group or comments posted to discussions in the group.\n- `Discussion`: A single discussion thread, with at least one comment on it (the initial one). Created by a user. Users can comment on and subscribe to discussions. If a user is already subscribed to a discussion's parent group, they can \"unsubscribe\" from the discussion, which will (internally) cause the discussion to be 'ignored' for that user, and they won't get any notifications for it.\n- `BaseComment`: A `django-polymorphic` base class for `Comment`s. Doesn't do anything by itself, but is used for testing and to refer to arbitrary different kinds of comment. Subclasses of `BaseComment` are picked up by the discussion-related views. It comes with some subclasses:\n * `TextComment`: A comment with a text body - an entirely ordinary message.\n * `FileComment`: A comment containing an uploaded file.\n\nEach of the three main models also has a custom queryset (which is then used by its manager) with several additional methods. Most of them allow fetching of recently active items or accessing groups/discussions/comments related to any instance of any of the three. These querysets and methods can be found in `managers.py`.\n\n### Views and admin pages\n\nThere are a lot of different views that come together to make the forums work.\n\n- `Group`\n * Created by `admin.GroupAdmin` - in the Django admin\n * Listed by `views.groups.GroupList`\n * Detailed by `views.groups.GroupDetail` - implemented as a `ListView` for `Discussion`s, to display the group's contents.\n * Subscribed to by `views.subscriptions.GroupSubscribe`\n- `Discussion`\n * Created by `admin.DiscussionAdmin` - in the Django admin\n * Created by `views.discussions.DiscussionCreate` - this one also creates the `Discussion`'s first comment, currently a `TextComment`.\n * Listed by `views.groups.GroupDetail`\n * Detailed by `views.discussions.DiscussionThread` - implemented as a `CommentPostView` from `views._helpers`, to allow people to reply via the discussion page itself.\n * Subscribed to by `views.subscriptions.DiscussionSubscribe`\n- `Comment`\n * Created by `views._helpers.CommentPostView` - a base class that both creates comments and sends email notifications to relevant people.\n * Created by `views.discussions.DiscussionThread` - the discussion thread page provides an inline reply form that submits `TextComment`s.\n * Created by `views.comments.CommentUploadFile` - a separate page for the uploading of `FileComment`s.\n * Created by `views.comments.CommentPostByEmail` - an endpoint suitable for receiving email replies via Mailgun.\n * Listed by `views.discussions.DiscussionThread`\n * Deleted by `views.comments.CommentDelete` - a comment provides a 'delete' button which will archive it and hide its contents from view.\n\n## Notes on features\n\n### `AppConfig`\n\n`incuna-groups` has an `AppConfig`, located in `apps.py`, which allows for easy customisation of some of its behaviour. The documentation on `AppConfig`s (and their use) is here: https://docs.djangoproject.com/en/1.8/ref/applications/#for-application-users\n\nThe `AppConfig` exposes:\n- `default_within_days` - a default parameter for the `within_days` methods on some of the model managers, which return items that were posted or posted to within that time period.\n- `new_comment_subject` and `new_discussion_subject` - subjects for notification emails. Each one will be formatted with the `{discussion}` a comment is on or the `{group}` a discussion belongs to, respectively.\n- `group_admin_class_path` and `discussion_admin_class_path` - these allow you to override the admin behaviour of `incuna-groups` by slotting in alternate `ModelAdmin` classes. These may or may not be based on the existing admin classes in `admin.py`.\n\n### Email notifications\n\nWhenever a discussion is created in a group, users subscribed to that group get an email notification. Whenever a comment is posted to a discussion, users subscribed to that discussion or its parent group also receive email notifications.\n\nThe email templates are in `templates/groups/emails`. Discussion notifications are sent by `views.discussions.DiscussionCreate`; comment notifications are sent by subclasses of `CommentEmailMixin` (`CommentPostView`, `DiscussionThread` and `CommentUploadFile`).\n\n### Email replies\n\nUsers can reply to discussions or comments by replying to the notification emails. Email replies are implemented by an endpoint (`/groups/reply/`, serving up the `CommentPostByEmail` view) that accepts POST requests containing JSON content representing the email. The library is set up to work with [Mailgun](https://www.mailgun.com/) routes.\n\nThe user and discussion are identified by a crafted `Reply-To` header, which contains a reply address of `reply-{uuid}@{domain}`. The UUID is generated by securely signing a dictionary of the user and discussion PKs, and unpacked by the endpoint when it receives Mailgun's JSON message. Mailgun provides a `stripped-text` field that removes quotes and signatures from the content of the email, so there's no need for users to reply in a specific way or for us to do any of that processing ourselves.\n\nA rough API description for Mailgun can be [found here](http://blog.mailgun.com/handle-incoming-emails-like-a-pro-mailgun-api-2-0/). The POST and files data will be in `request.POST` and `request.FILES` respectively.\n\nThere are a couple of gotchas:\n\n- The `/groups/reply/` endpoint _has a trailing slash_. Ensure that this slash is included in any Mailgun route destination otherwise you'll get a stream of HTTP301s.\n- If you're using [`incuna_auth.LoginRequiredMiddleware`](https://github.com/incuna/incuna-auth/blob/master/incuna_auth/middleware/login_required.py#L28), make sure to add `/groups/reply/` to `LOGIN_EXEMPT_URLS` to avoid more 301s.\n- The `CommentPostByEmail` view has a `@csrf_exempt` decorator on the `dispatch()` method to avoid CSRF-related HTTP403 errors. If you extend the class, make sure to add the CSRF exemption.\n\n### Overriding admin classes\n\n`Group` and `Discussion` both have custom admin classes, defined in `admin.py`. Both of these can be easily replaced by way of the `AppConfig` (see above). The `AppConfig` registers these admin classes for you, so don't call `admin.site.register` yourself.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/incuna/incuna-groups", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "incuna-groups", "package_url": "https://pypi.org/project/incuna-groups/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/incuna-groups/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/incuna/incuna-groups" }, "release_url": "https://pypi.org/project/incuna-groups/4.1.0/", "requires_dist": null, "requires_python": null, "summary": "Generic group/forum framework.", "version": "4.1.0" }, "last_serial": 2946300, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "61c502ef387b0d85be27b8af63f28085", "sha256": "00e77e8a4f545d16725c1642a43ef9199367b66890cafd9deca3ef9018ef1129" }, "downloads": -1, "filename": "incuna_groups-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "61c502ef387b0d85be27b8af63f28085", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 16764, "upload_time": "2015-03-26T17:26:36", "url": "https://files.pythonhosted.org/packages/6f/1c/290305ee0bb5e724f56d77177507129c2bc6380bccbccbb9403ca14ac981/incuna_groups-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6dc85e3212dc6d411ee71ef910a0af3b", "sha256": "c41a8ad6a591b46d47748dd62bf062a67d747c456e6080831b2d120ca657e0cd" }, "downloads": -1, "filename": "incuna-groups-0.1.tar.gz", "has_sig": false, "md5_digest": "6dc85e3212dc6d411ee71ef910a0af3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8601, "upload_time": "2015-03-26T17:26:33", "url": "https://files.pythonhosted.org/packages/01/e8/3b24f53930ef25c48f584c9c8603cc710e4cf915e74c9b8e82711a59889c/incuna-groups-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "252cbfb81cffec7768c2822a07d35765", "sha256": "af7265d8d02e7ca8ba5ade8be0e544585b81df582967dd5f84ae13eab0db8c6d" }, "downloads": -1, "filename": "incuna_groups-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "252cbfb81cffec7768c2822a07d35765", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 20803, "upload_time": "2015-03-27T15:52:49", "url": "https://files.pythonhosted.org/packages/7b/d3/5c9fc73123a48b03d23963be1dd3a8cc739974b9b371a4e1b2f7f6dc7727/incuna_groups-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7bffcb0c026171249cce838470cb0eb", "sha256": "403f2e71d821c89997a0a51032e72cef036c4f0694f2de72473b66d33932e74b" }, "downloads": -1, "filename": "incuna-groups-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a7bffcb0c026171249cce838470cb0eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9872, "upload_time": "2015-03-27T15:52:46", "url": "https://files.pythonhosted.org/packages/47/d8/e471c3daaa4e3869ad66834ff1269e4c58d458d262084f857205ed4914bb/incuna-groups-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "eab5954e019276923acf804ed4482cda", "sha256": "169e55bddf260723f3273189261f1a3caeb7486311c426107a879b69d635b7ae" }, "downloads": -1, "filename": "incuna_groups-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eab5954e019276923acf804ed4482cda", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 21017, "upload_time": "2015-03-30T11:50:37", "url": "https://files.pythonhosted.org/packages/d9/d8/0221b3c469c85097f659f10f4c019181f126f0bf29f0c4577604f4cff7a6/incuna_groups-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db5c5b52085512143391352aa4a905e8", "sha256": "9b0b472f095051d332a87fe0b443798d04c8656f35f3f08252b7af134f79ddf7" }, "downloads": -1, "filename": "incuna-groups-0.2.0.tar.gz", "has_sig": false, "md5_digest": "db5c5b52085512143391352aa4a905e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9928, "upload_time": "2015-03-30T11:50:33", "url": "https://files.pythonhosted.org/packages/2e/57/b56dc3770575c0da769b0f43d0354a086a682e184eab3c65e3ee4e921d28/incuna-groups-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9c84f301f660359b8e7e702648b7cdfa", "sha256": "fbb85c6fccfa5f8fc79b401362e98ce261c0f9a664b2580aa8bee00d68232ced" }, "downloads": -1, "filename": "incuna_groups-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9c84f301f660359b8e7e702648b7cdfa", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 28730, "upload_time": "2015-04-10T09:15:33", "url": "https://files.pythonhosted.org/packages/42/5a/8235de54d495054477d5f1c13a5cf0194a3c0c3c8c81090f187e3263dbff/incuna_groups-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c9695bc4f6c3ab5efc5662855256124", "sha256": "ca7e3d242e36993906459cf4672cd01da7666aa2072c7f689ff62fbb2d50a79c" }, "downloads": -1, "filename": "incuna-groups-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9c9695bc4f6c3ab5efc5662855256124", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14087, "upload_time": "2015-04-10T09:15:29", "url": "https://files.pythonhosted.org/packages/2f/5c/456121f76ddcd721c3e12035130fdcfc4d5adb805742262a1e716b5614ad/incuna-groups-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "cd7876d67461f0a58a29af91514193a4", "sha256": "103699fbdbc57302d87a92d5c71389bdd6292be72ce0cb669da8537a16ada043" }, "downloads": -1, "filename": "incuna_groups-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd7876d67461f0a58a29af91514193a4", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 30315, "upload_time": "2015-04-14T16:36:39", "url": "https://files.pythonhosted.org/packages/62/b0/4d5c48a66f972b87e39302a67d158ed39d189e258fe66f3ea8a9162cad24/incuna_groups-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3500c78886c8afa9f7e029e2a2187fff", "sha256": "916ffbc261dd1967eb7f013303f4cc743e60ba9216f1d070f797d54b1c852d8c" }, "downloads": -1, "filename": "incuna-groups-0.3.1.tar.gz", "has_sig": false, "md5_digest": "3500c78886c8afa9f7e029e2a2187fff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14447, "upload_time": "2015-04-14T16:36:36", "url": "https://files.pythonhosted.org/packages/38/00/86fad51f6ddf161fce838435496da21eaec80df984c97a08cc810d776f77/incuna-groups-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "a9a07d5d725d3a1ee98e4d2e1982cda2", "sha256": "5c254364d551a7596a3fbf81018d0273538d80d0f5fba6394c7734f6b23d83a1" }, "downloads": -1, "filename": "incuna_groups-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a9a07d5d725d3a1ee98e4d2e1982cda2", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 34063, "upload_time": "2015-04-20T10:25:03", "url": "https://files.pythonhosted.org/packages/c8/72/adb1b71f117b0c14b8154d013b7a1579604940fa27e188b4fe76c2eb1f32/incuna_groups-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdc47ecddf84ddd017e041070bcf6130", "sha256": "068aa8cefef7618c114c5032fdbc3081aefd8cfc0145e3fd609b22a15064476b" }, "downloads": -1, "filename": "incuna-groups-0.4.0.tar.gz", "has_sig": false, "md5_digest": "bdc47ecddf84ddd017e041070bcf6130", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17023, "upload_time": "2015-04-20T10:25:00", "url": "https://files.pythonhosted.org/packages/09/98/b5e2e330b1ae4ca4cf207c1bb0e0f84839a5760b1e716951ed1f41398aeb/incuna-groups-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "4370a7327ff6b692e4e37ab19fa4cbed", "sha256": "504429ccadd931297d5bafc2e1fe00fec9cf352c7b837153897b9355609f1afe" }, "downloads": -1, "filename": "incuna_groups-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4370a7327ff6b692e4e37ab19fa4cbed", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 34033, "upload_time": "2015-10-16T14:11:24", "url": "https://files.pythonhosted.org/packages/bf/a1/2527fe457c83fade911493a46c03b548240aa72f4a5b0f75564f614e04f0/incuna_groups-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2ac62932737abb21cf71d12968868cc", "sha256": "04e048e8c0723194a983b8ffb8af0554502c8424b28d99644acc963fe9c472b0" }, "downloads": -1, "filename": "incuna-groups-0.5.0.tar.gz", "has_sig": false, "md5_digest": "f2ac62932737abb21cf71d12968868cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17005, "upload_time": "2015-10-16T14:11:20", "url": "https://files.pythonhosted.org/packages/2a/53/74fc80151b8507aaf3064b059c3214ee386def6ef35bc303c9855cc9708b/incuna-groups-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "a394126a45f9d21403692d2f495a829f", "sha256": "52ae4fc51068398d26847ed4e3fd36e1520de8b5b3e632e019a1993d3d6b236a" }, "downloads": -1, "filename": "incuna_groups-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a394126a45f9d21403692d2f495a829f", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 34652, "upload_time": "2015-10-16T14:53:20", "url": "https://files.pythonhosted.org/packages/c7/d3/f1bf1efb70df2c6ed0b919ddac9fff8c6578b850a30fcfe9813a8a9cb500/incuna_groups-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3b8cd263eb8fbea9e1588f2301fa6b83", "sha256": "4ff3b1e731529ee588c47f9714ae53e0d629bdc3e3ed61fd85e13375523acd08" }, "downloads": -1, "filename": "incuna-groups-0.5.1.tar.gz", "has_sig": false, "md5_digest": "3b8cd263eb8fbea9e1588f2301fa6b83", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17247, "upload_time": "2015-10-16T14:53:17", "url": "https://files.pythonhosted.org/packages/6d/e2/f5bff49f4c4d02ef27b7da65ecb77049e9a1504de8fb383aa8fa160cf09e/incuna-groups-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "057eee5e77b5700c829ea620184af980", "sha256": "df3fa726e725044d4355d4447bb7b61ca3df1a5a01851d63c58e449bb96c500a" }, "downloads": -1, "filename": "incuna_groups-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "057eee5e77b5700c829ea620184af980", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 35599, "upload_time": "2015-10-23T09:53:44", "url": "https://files.pythonhosted.org/packages/ee/50/8e596d616fa918024ebef042d0b5ae42d050ff867d55bb376c5f9c8e5c62/incuna_groups-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3bae4ab1b9344a21a4e52cf4ba3cff16", "sha256": "2ce6c42538de40fbe89128acf880e5d1dc19389b85b51cc419b6193d9bbbdf12" }, "downloads": -1, "filename": "incuna-groups-0.6.0.tar.gz", "has_sig": false, "md5_digest": "3bae4ab1b9344a21a4e52cf4ba3cff16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17870, "upload_time": "2015-10-23T09:53:39", "url": "https://files.pythonhosted.org/packages/38/52/8dacc7817272d5e908dd4cb2affc1c4a8378dab51636d06acefbd622ce3f/incuna-groups-0.6.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "56d3ef5ff560ef33a43f635ce8b9b502", "sha256": "ff943fd58c28a8cc9d408c9a6bcf0e2b1ccec00e0593ab31c62cb246de5200e2" }, "downloads": -1, "filename": "incuna_groups-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "56d3ef5ff560ef33a43f635ce8b9b502", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 37496, "upload_time": "2015-10-26T10:10:57", "url": "https://files.pythonhosted.org/packages/9d/1d/a8f21647ddf108da89bdd05303a4ad4c50f36bef5bf662c656514ee59464/incuna_groups-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c61770d1bb92b00bf257e4f03b24f53", "sha256": "0aabb8dd4b7fa7e1eeb9f3a1ffc01be5c66e317efc97c935032edfa8949601af" }, "downloads": -1, "filename": "incuna-groups-1.0.0.tar.gz", "has_sig": false, "md5_digest": "4c61770d1bb92b00bf257e4f03b24f53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19174, "upload_time": "2015-10-26T10:10:49", "url": "https://files.pythonhosted.org/packages/61/64/80281efe87d96359eab742331da22a81ce4b96f0df74aecdea09a052ecc8/incuna-groups-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e948961770566b12ff923adb75ce39d3", "sha256": "11df7ce26f7ea6939c17d286e170f921139d431e203704ced35e28408913c18b" }, "downloads": -1, "filename": "incuna_groups-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e948961770566b12ff923adb75ce39d3", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 37617, "upload_time": "2015-10-27T10:38:50", "url": "https://files.pythonhosted.org/packages/20/5c/46d97455b245ff0462520f2d64b6151a28cf468331149ca0292caf5438f6/incuna_groups-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb567533b7caf055063da76ce901e04e", "sha256": "754a8098b4fc755667383be86be760033933249cbc8c563c5c1eb07ce6eff2d9" }, "downloads": -1, "filename": "incuna-groups-1.0.1.tar.gz", "has_sig": false, "md5_digest": "eb567533b7caf055063da76ce901e04e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19306, "upload_time": "2015-10-27T10:38:45", "url": "https://files.pythonhosted.org/packages/f8/0c/51ef7a1299ac5545dfb8360d130f81182b823ec920efd5477c7bd13e230a/incuna-groups-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "5c0fd1afb8c1dcab87ccab60175f7b92", "sha256": "2f66fe81c1976f94cef97d563fe5110fa50c6182af3fa856e4ea931bde806726" }, "downloads": -1, "filename": "incuna_groups-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5c0fd1afb8c1dcab87ccab60175f7b92", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 37723, "upload_time": "2015-10-27T12:10:43", "url": "https://files.pythonhosted.org/packages/db/d0/db523d37871c2c0b6538e308a8588d0aa3ef8794ede73d14bba72472f0b0/incuna_groups-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01481ba72a4816144e23caf3e397b161", "sha256": "c7056247c38d11d7fc40c3fab0286cade38214870bd6fe027361e5b49005c2c9" }, "downloads": -1, "filename": "incuna-groups-1.0.2.tar.gz", "has_sig": false, "md5_digest": "01481ba72a4816144e23caf3e397b161", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19371, "upload_time": "2015-10-27T12:10:38", "url": "https://files.pythonhosted.org/packages/d0/b6/4cc14358d04ceb4de62b6ed9dbf4176a9812710b21ecc3ea593f3bd9051e/incuna-groups-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "70108c456fdc7d1ee604ac162e4e3f9e", "sha256": "33180992421af86961237f9ab83f2b56a2960749780292289b7b6e5153d2e869" }, "downloads": -1, "filename": "incuna_groups-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "70108c456fdc7d1ee604ac162e4e3f9e", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 39308, "upload_time": "2015-10-27T17:33:55", "url": "https://files.pythonhosted.org/packages/97/8e/202a4bca99a528597692444dfdfe8476ee1e21826d929158687254bc4fa7/incuna_groups-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d41b0b11ffe45e802a0effae4d31b0a", "sha256": "c166ec1ebf8b5b5ae1067ce723e4f7f1d7800e2552d0332f39c7665836b4bdc5" }, "downloads": -1, "filename": "incuna-groups-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4d41b0b11ffe45e802a0effae4d31b0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19822, "upload_time": "2015-10-27T17:33:51", "url": "https://files.pythonhosted.org/packages/5a/3e/b080826a517f779dfc6a22b38b57a9ed048087bd092799875e811956900a/incuna-groups-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "4fb25b88852ee6f3cd5fc7c9f69c26e3", "sha256": "7bbe228ab8d7453a2dff611980637fc54f99b0233017954eac6bdc3b91530853" }, "downloads": -1, "filename": "incuna_groups-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4fb25b88852ee6f3cd5fc7c9f69c26e3", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 41269, "upload_time": "2015-11-03T12:17:20", "url": "https://files.pythonhosted.org/packages/51/8d/af02dfc3963036c9a00877e1edb7c898ec0bd4d419909d1fecd2d498c9b2/incuna_groups-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c051ad7931a0bf53efb5257d474e30eb", "sha256": "d00d3409ef973e2fd9b7794c75a6cd9635f71eff596c6c7feb6affd6bc786c4f" }, "downloads": -1, "filename": "incuna-groups-1.1.0.tar.gz", "has_sig": false, "md5_digest": "c051ad7931a0bf53efb5257d474e30eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21733, "upload_time": "2015-11-03T12:17:13", "url": "https://files.pythonhosted.org/packages/c8/40/772d3c6a2d41406f022a6b21203a57f7029f7f3b27a75ec6e264d967fa07/incuna-groups-1.1.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "f747c9000ae1c34cb68d68016b3cb95a", "sha256": "57c35985669d40d85792852de83c0d87a15e89392d91149e81416ad034527a46" }, "downloads": -1, "filename": "incuna_groups-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f747c9000ae1c34cb68d68016b3cb95a", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 41554, "upload_time": "2015-11-03T12:10:07", "url": "https://files.pythonhosted.org/packages/52/9a/e69a14b219ad876a1d35a5ef15cfe8db86733b9946d26d07c03e3f9cb372/incuna_groups-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d291c1941ba66b27dacd907800514a4d", "sha256": "bf1c03052448988ee20eb741a962a2d6b05155b5d2130b929e98e9802d310c76" }, "downloads": -1, "filename": "incuna-groups-2.0.0.tar.gz", "has_sig": false, "md5_digest": "d291c1941ba66b27dacd907800514a4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21949, "upload_time": "2015-11-03T12:09:47", "url": "https://files.pythonhosted.org/packages/8e/6d/3e720d5ad366084ebc7ffa5ccce15a2478e8bd04b25a89a1fc93f4f5283d/incuna-groups-2.0.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "3e342780228750c4435216a52676e6bc", "sha256": "ccc522fce44f929d17e5fdc50b5800ddd78e7ebc7fa04be9d22c6ce7b1ff6868" }, "downloads": -1, "filename": "incuna_groups-3.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e342780228750c4435216a52676e6bc", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 46827, "upload_time": "2015-11-04T10:00:45", "url": "https://files.pythonhosted.org/packages/57/f7/11119c311680acbe13b8406a852796172ae6f0f449f3233dbdfc077d3a3a/incuna_groups-3.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5886081847dfbe36a873ae75bbe1175", "sha256": "dfebe438ddf63977b95ae9c8232e83eec323ae4d62d5d7007a6f028141360540" }, "downloads": -1, "filename": "incuna-groups-3.0.0.tar.gz", "has_sig": false, "md5_digest": "a5886081847dfbe36a873ae75bbe1175", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22966, "upload_time": "2015-11-04T10:00:36", "url": "https://files.pythonhosted.org/packages/cc/5e/9e3e3a7278cc281d4a8801e15d3a33a24a42fff3aa94c0604b066b626b9c/incuna-groups-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "0368cc198e996588de4620440c07c240", "sha256": "89fd78404bf456c97cedbdf53e64884bb7070854e0ce546e1e2aedeebff54ecb" }, "downloads": -1, "filename": "incuna_groups-3.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0368cc198e996588de4620440c07c240", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 46844, "upload_time": "2015-11-04T10:06:40", "url": "https://files.pythonhosted.org/packages/16/25/d88a238fbf513e04744221f28a9280cef007ce1d99c86fc6f77df5dbcd7e/incuna_groups-3.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9c6d38e0157b270ad98c7fef4c476c7", "sha256": "0342a33bd41d7f17817ac724217ee366856c02517414702328261f1b711bcfa4" }, "downloads": -1, "filename": "incuna-groups-3.0.1.tar.gz", "has_sig": false, "md5_digest": "c9c6d38e0157b270ad98c7fef4c476c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22976, "upload_time": "2015-11-04T10:06:36", "url": "https://files.pythonhosted.org/packages/7d/7d/83ead3517b8ee15e559537143a905647e9a84efde638bc199470634b543c/incuna-groups-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "87607879fa9e609f7120854740ceed1a", "sha256": "0c0ffb70174c2132dc600f0491195377e3f5299166735291b1b609e846e97a2c" }, "downloads": -1, "filename": "incuna_groups-3.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "87607879fa9e609f7120854740ceed1a", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 47766, "upload_time": "2015-11-04T16:35:48", "url": "https://files.pythonhosted.org/packages/91/cb/284a290d110f097f4750c2aa7b4ed9e3128d268edda31d94c4833562c8d0/incuna_groups-3.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4256acd53147f13eb402637419c65ab", "sha256": "ca6587e2cc43b7980b5874c468a1ed8bc0c42034ac0d6888a04ecec9501da6bc" }, "downloads": -1, "filename": "incuna-groups-3.0.2.tar.gz", "has_sig": false, "md5_digest": "a4256acd53147f13eb402637419c65ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23276, "upload_time": "2015-11-04T16:35:40", "url": "https://files.pythonhosted.org/packages/d0/3b/322135f6891e971663c5d252f32f713b60c0064e8281f0e28aaf8e649a30/incuna-groups-3.0.2.tar.gz" } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "a3df8a49429bb37e5d89ae9bf3a0b69f", "sha256": "50ad6f3dd07776103db64b6db5bee1a0e59b1d92443cfc8092098787ce9196f9" }, "downloads": -1, "filename": "incuna_groups-3.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3df8a49429bb37e5d89ae9bf3a0b69f", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 48278, "upload_time": "2015-11-05T17:22:48", "url": "https://files.pythonhosted.org/packages/fd/fe/c5fdf0f93d278f98de5a59e16035b43686edf19309880a2b0f9012b0c96c/incuna_groups-3.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c53e1a9467464118b9b594c01167e1a", "sha256": "688fb5714857f3f537f351d80c76a57fd5bbd3fc4ffb5dcc0a2fb224ec23ac4a" }, "downloads": -1, "filename": "incuna-groups-3.0.3.tar.gz", "has_sig": false, "md5_digest": "6c53e1a9467464118b9b594c01167e1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23872, "upload_time": "2015-11-05T17:22:43", "url": "https://files.pythonhosted.org/packages/86/e2/bd97076fa7793d2d8054580219964ed4efaf1275599cd1668c3aca23694e/incuna-groups-3.0.3.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "2bd48ddbe00b47cfa02d91834e011291", "sha256": "a42916df8d8bb1d83b64f06bcc0c75cca136a863be5a30a8d3d5d633d2695efb" }, "downloads": -1, "filename": "incuna-groups-3.1.0.tar.gz", "has_sig": false, "md5_digest": "2bd48ddbe00b47cfa02d91834e011291", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26760, "upload_time": "2015-11-06T15:18:35", "url": "https://files.pythonhosted.org/packages/1d/3d/7a4630c96c000a81033b541b9e98e63c5a72c2d2fd2e8064778a6b8a93cf/incuna-groups-3.1.0.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "0d477a65b0db7d1c7a9d73d1d2bd494c", "sha256": "3fe57adcf92c755b9a2bdc75bbe41e5746ac5e648b41bbed845516ee820beeee" }, "downloads": -1, "filename": "incuna_groups-3.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d477a65b0db7d1c7a9d73d1d2bd494c", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 49116, "upload_time": "2015-11-16T15:18:21", "url": "https://files.pythonhosted.org/packages/b3/3a/bdc88bac9761add794fb8f3a8f029948a8643c6905cfc2906a9b58310ad8/incuna_groups-3.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae23fd6ee0f0637664232208b4905e46", "sha256": "6bcdd4c3e2b94ec72b12f787cc3c3e7ecb5e086fd753232587c65e43ff17f37f" }, "downloads": -1, "filename": "incuna-groups-3.1.1.tar.gz", "has_sig": false, "md5_digest": "ae23fd6ee0f0637664232208b4905e46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27158, "upload_time": "2015-11-16T15:18:16", "url": "https://files.pythonhosted.org/packages/03/33/ef47f31cf7c8a1665f1de8934bd780a409c0a80797eab800559fa8216f2a/incuna-groups-3.1.1.tar.gz" } ], "3.1.2": [ { "comment_text": "", "digests": { "md5": "a8cb6b4a278a346e94182b8a430ecc6d", "sha256": "70a66911b1e046c858f9daab25be0283cc08a1fae8c84ed80b72ad72d6f853ef" }, "downloads": -1, "filename": "incuna-groups-3.1.2.tar.gz", "has_sig": false, "md5_digest": "a8cb6b4a278a346e94182b8a430ecc6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27078, "upload_time": "2015-11-17T09:43:49", "url": "https://files.pythonhosted.org/packages/a7/30/55fd69b24413b82cc6c1f8f6b20f9a1aea5da17027183e30b6c7eb13778f/incuna-groups-3.1.2.tar.gz" } ], "3.1.3": [ { "comment_text": "", "digests": { "md5": "a1b4ba09df29fdd514c974fbc0f7c789", "sha256": "e004a92e5b58e9e1ce136c5fb6ad4a09d507f385fe094ac7d37ec97fd27689db" }, "downloads": -1, "filename": "incuna_groups-3.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1b4ba09df29fdd514c974fbc0f7c789", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 49664, "upload_time": "2015-11-18T15:13:30", "url": "https://files.pythonhosted.org/packages/0a/c9/b9d369b80ab029983257babcdaf3394a624b8272e112c39e3dd0472571fa/incuna_groups-3.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f791d9ccbc420f60389b5f3a8f03ace3", "sha256": "e4bd225dd1ed44dbcd8b69c1ebc6bf2a4fddc4410a2e7ee83860040bee9b87f4" }, "downloads": -1, "filename": "incuna-groups-3.1.3.tar.gz", "has_sig": false, "md5_digest": "f791d9ccbc420f60389b5f3a8f03ace3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27186, "upload_time": "2015-11-18T15:13:25", "url": "https://files.pythonhosted.org/packages/87/d8/b4a36fc77c75286f9582e80778b23468ab8c652b6564d89c6a1e640f34a5/incuna-groups-3.1.3.tar.gz" } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "8d20395ebfcb9ca64224988c6e71d5aa", "sha256": "3fab5e857508c021cd139affc268726e9d5caeb899104d2bf0e5c6fb82983c05" }, "downloads": -1, "filename": "incuna_groups-3.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8d20395ebfcb9ca64224988c6e71d5aa", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 52098, "upload_time": "2015-11-24T10:49:13", "url": "https://files.pythonhosted.org/packages/f5/51/1b809f7b9442bba7b701449449eb3f542d9287ca072a2ecf842bfeb22f58/incuna_groups-3.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddddec2951bbad4863438d49613b0617", "sha256": "a279c6f38194a0e705556a229b6d084daf84802326d810b62a3232e5779b84e6" }, "downloads": -1, "filename": "incuna-groups-3.2.0.tar.gz", "has_sig": false, "md5_digest": "ddddec2951bbad4863438d49613b0617", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29651, "upload_time": "2015-11-24T10:49:02", "url": "https://files.pythonhosted.org/packages/09/b6/548f840e1b7058df7651a14175df1d1c8be4bac3a6c799c5902e01ae58d1/incuna-groups-3.2.0.tar.gz" } ], "3.2.1": [ { "comment_text": "", "digests": { "md5": "f6fa516ad60db51bbb1b6a35961fa070", "sha256": "e3617492d3cd4ea749f5cb33277a4227bed04a27511c77b33fcbae1e81b08d27" }, "downloads": -1, "filename": "incuna_groups-3.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6fa516ad60db51bbb1b6a35961fa070", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 52982, "upload_time": "2015-12-29T17:28:39", "url": "https://files.pythonhosted.org/packages/ee/f7/479736a3406050e999df967a7a30946e1a287874b682f79129dac0ed0050/incuna_groups-3.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1c0a7d9e282f24ccce2e141eccae7131", "sha256": "70fddc6967be963f52893d12b45038e8d1e636b4d2a00ece870b3d371daedd07" }, "downloads": -1, "filename": "incuna-groups-3.2.1.tar.gz", "has_sig": false, "md5_digest": "1c0a7d9e282f24ccce2e141eccae7131", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30478, "upload_time": "2015-12-29T17:28:34", "url": "https://files.pythonhosted.org/packages/76/35/f520ec7c53382740c10dbf90e2d09c623670f15765d4876a943654b2daf3/incuna-groups-3.2.1.tar.gz" } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "e8f292e18ae471e42e7332f9a3cd663f", "sha256": "5b94fedc8dc78bb08336af4b78245d92612aad58996c7b2414cd20a09b48085e" }, "downloads": -1, "filename": "incuna_groups-3.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8f292e18ae471e42e7332f9a3cd663f", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 53535, "upload_time": "2015-12-30T11:32:15", "url": "https://files.pythonhosted.org/packages/90/84/88f820a01268379751e7c70bd989596b69461f200e6aa8a4c29a893c7eab/incuna_groups-3.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bbb28f5ea6fd6777dc944d445d515a96", "sha256": "bd53cc72f5896be58d57d0abfe7871ca619405eb60c7a054fc8dd5a39e46cc71" }, "downloads": -1, "filename": "incuna-groups-3.3.0.tar.gz", "has_sig": false, "md5_digest": "bbb28f5ea6fd6777dc944d445d515a96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31034, "upload_time": "2015-12-30T11:32:09", "url": "https://files.pythonhosted.org/packages/39/c8/090f9531045fc4a1c6d868f52538e0c6f86f91f798fe1bc259a6910f0d6f/incuna-groups-3.3.0.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "f3ab0273638c506a5a05c3a89c2911a5", "sha256": "c2fbaa5392ff8c39827b93ab2cfe498f190358bc441302fdaccbf8d9d0767dc7" }, "downloads": -1, "filename": "incuna_groups-4.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f3ab0273638c506a5a05c3a89c2911a5", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 53859, "upload_time": "2015-12-31T11:15:42", "url": "https://files.pythonhosted.org/packages/73/2e/c1d3ad862043ed5802bd745bf496d2b1fc7a2c574d86ba506330c93f1930/incuna_groups-4.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15337a84d78fc34cc97c1c7a2028e13b", "sha256": "5bddc2f26dd40b0e6409d80445c02f98a6283d9579fbdc7fba3367a778dd1c47" }, "downloads": -1, "filename": "incuna-groups-4.0.0.tar.gz", "has_sig": false, "md5_digest": "15337a84d78fc34cc97c1c7a2028e13b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31134, "upload_time": "2015-12-31T11:15:33", "url": "https://files.pythonhosted.org/packages/69/75/20b38448569d5186d30d3e672e6b2b9ae59d6e949e9f937ae736841a632d/incuna-groups-4.0.0.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "5a17d22646dd912e9abfd98cbb390526", "sha256": "8743ac00ded09c9caa101e5a0439599ac2a8875be7c4babd9214ad822ff86bfc" }, "downloads": -1, "filename": "incuna_groups-4.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5a17d22646dd912e9abfd98cbb390526", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 54297, "upload_time": "2015-12-31T11:36:35", "url": "https://files.pythonhosted.org/packages/4d/92/4f0e2d7062b759bd50c2995634256ac966ecb924b957847508c9dd9ac194/incuna_groups-4.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ec83c93ac784d251a84c52fbca8332d", "sha256": "bc0b2017a99bb94b43f5de1d2643e10be1872a0de282cdcb151b5f29b2892b62" }, "downloads": -1, "filename": "incuna-groups-4.0.1.tar.gz", "has_sig": false, "md5_digest": "5ec83c93ac784d251a84c52fbca8332d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31210, "upload_time": "2015-12-31T11:36:29", "url": "https://files.pythonhosted.org/packages/55/c7/3434e54197bb9fa812765e7e8763f0f77873a4b6bfc83a608e2cfadc1539/incuna-groups-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "bd72fd7c43914610a2cb1e988520afc6", "sha256": "a95a4db3b2abef8533d26335823d3045368dc8388a67a0d5499e7ed615e6863e" }, "downloads": -1, "filename": "incuna_groups-4.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bd72fd7c43914610a2cb1e988520afc6", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 54311, "upload_time": "2015-12-31T12:22:07", "url": "https://files.pythonhosted.org/packages/e1/00/9e8d5127e0fab5967c732e25204dddcef49457aa7a0fa7a150372084cba1/incuna_groups-4.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd3b4a75df84db124f28ae6d22214a3d", "sha256": "c4644ae5f49b3f96bd8f0576ec5a3e7ad844577b21647c4d29a6397724a3eec3" }, "downloads": -1, "filename": "incuna-groups-4.0.2.tar.gz", "has_sig": false, "md5_digest": "fd3b4a75df84db124f28ae6d22214a3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31220, "upload_time": "2015-12-31T12:21:59", "url": "https://files.pythonhosted.org/packages/2a/ec/a03ab0f25f5a15ed18b73183584e4a3975aa1255c03d33620299f5b4f7bd/incuna-groups-4.0.2.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "d4a5225bd2771894e9d1cd6402708570", "sha256": "a0c80919d63b4ffca92b07a987f8a86357173f4b158d6bfa64e0cbc9ce55f09c" }, "downloads": -1, "filename": "incuna_groups-4.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d4a5225bd2771894e9d1cd6402708570", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 54828, "upload_time": "2017-06-13T08:59:32", "url": "https://files.pythonhosted.org/packages/b7/e3/c2356cad6142c5406734cae28e8448ed9c6b62f7e58369d3f384b48a8356/incuna_groups-4.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e9234437c7209a546e43e2fe828f7e3", "sha256": "be8317aed0568bd64840cd6815d8173c8c1d962823de40b9cd637dc8137eb623" }, "downloads": -1, "filename": "incuna-groups-4.1.0.tar.gz", "has_sig": false, "md5_digest": "2e9234437c7209a546e43e2fe828f7e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30871, "upload_time": "2017-06-13T08:59:29", "url": "https://files.pythonhosted.org/packages/89/5f/f754b2fd322b45fdf221f1428cea3a4ea62bec37b43d067a2b9e25b531e5/incuna-groups-4.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d4a5225bd2771894e9d1cd6402708570", "sha256": "a0c80919d63b4ffca92b07a987f8a86357173f4b158d6bfa64e0cbc9ce55f09c" }, "downloads": -1, "filename": "incuna_groups-4.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d4a5225bd2771894e9d1cd6402708570", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 54828, "upload_time": "2017-06-13T08:59:32", "url": "https://files.pythonhosted.org/packages/b7/e3/c2356cad6142c5406734cae28e8448ed9c6b62f7e58369d3f384b48a8356/incuna_groups-4.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e9234437c7209a546e43e2fe828f7e3", "sha256": "be8317aed0568bd64840cd6815d8173c8c1d962823de40b9cd637dc8137eb623" }, "downloads": -1, "filename": "incuna-groups-4.1.0.tar.gz", "has_sig": false, "md5_digest": "2e9234437c7209a546e43e2fe828f7e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30871, "upload_time": "2017-06-13T08:59:29", "url": "https://files.pythonhosted.org/packages/89/5f/f754b2fd322b45fdf221f1428cea3a4ea62bec37b43d067a2b9e25b531e5/incuna-groups-4.1.0.tar.gz" } ] }