{ "info": { "author": "Ralph Bean", "author_email": "rbean@redhat.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "`fmn `_ is a family of systems to manage\nend-user notifications triggered by\n`fedmsg, the Fedora FEDerated MESsage bus `_.\n\nThis module contains the backend worker daemon for Fedora Notifications.\n\nThere is a parental placeholder repo with some useful information you might\nwant to read through, like an `overview\n`_, a little\n`architecture diagram `_.\n\n\nHACKING\n-------\n\nFind development instructions here: https://github.com/fedora-infra/fmn/#hacking\n\nRUNNING\n-------\n\nThere are three components to run in section of the project:\n\n* the fedmsg consumer\n* one or more workers\n* the backend\n\nThe consumer is the part of the application that receives the messages from\nfedmsg, it then sends them to the worker(s) who will see whose preferences\nthe message match (ie: to whom to send the notification and on which channel).\nThe worker(s) then send its results to the backend that receives them and\njust do the IO: sending the email, posting to IRC and so on.\n\n\nTo run these parts, simply, start ``rabbitmq-server`` and ``redis`` and call,\nin three different terminals (all running the same virtual-environment):\n\n::\n\n $ fedmsg-hub\n $ python fmn/consumer/worker.py\n $ python fmn/consumer/backend.py\n\n\nHandy Script\n------------\n\nThere's a handy script in the ``scripts/`` dir for debugging why some user did\nor did not receive a message. It takes a username and a fedmsg msg_id and\ntries to see if the two match up or not based on the production preferences for\nthat user.\n\n\nArchitecture\n------------\n\n::\n\n +-------------+\n Read | | Write\n +------+ prefs DB +<------+\n | | | |\n + | +-------------+ |\n | | | +------------------+ +--------+\n | | | | |fmn.lib| | | |\n | v | | +-------+ |<--+ User |\n | +----------+ +---+ | | |\n | | fmn.lib| | Central WebApp | +--------+\n | | | +------------------+\n | +----->| Worker +--------+\n | | | | |\n fedmsg | +----------+ |\n | | |\n | | +----------+ |\n | +------------------+ | | fmn.lib| | +--------------------+\n | | fedmsg consumer | | | | | | Backend |\n +-->| +------------>| Worker +--------------->| |\n | | | | | | | +-----+ +---+ +---+\n | +------------------+ | +----------+ | |email| |IRC| |SSE|\n | | | +--+--+---+-+-+--+-+-+\n | | +----------+ | | | |\n | | | fmn.lib| | | | |\n | | | | | | | |\n | +----->| Worker +--------+ | | |\n | RabbitMQ | | RabbitMQ | | |\n | +----------+ | | |\n | v v v\n |\n |\n |\n v\n\n\nFAQ\n------------\n\nQ: If the worker and backend complain about ::\n\n self.db[key] = value\n TypeError: String or Integer object expected for key, unicode found\n\nA: Modify the config for `fedmsg.d/fmn.py` to use redis ::\n\n # Some configuration for the rule processors\n \"fmn.rules.utils.use_pkgdb2\": False,\n \"fmn.rules.utils.pkgdb2_api_url\": \"http://209.132.184.188/api/\",\n \"fmn.rules.cache\": {\n 'backend': 'dogpile.cache.redis',\n 'arguments': {\n 'host': 'localhost',\n 'port': 6379,\n 'db': 0,\n 'redis_expiration_time': 60*60*2, # 2 hours\n 'distributed_lock': True\n },\n # \"backend\": \"dogpile.cache.dbm\",\n # \"expiration_time\": 300,\n # \"arguments\": {\n # \"filename\": \"/var/tmp/fmn-cache.dbm\",\n # },\n },\n\nQ: When I run the worker and backend it constantly quits right away\n\nA: Do you have `rabbitmq-server` and `redis` running? ::\n\n systemctl status rabbitmq-server redis\n\nif not run ::\n\n systemctl start rabbitmq-server redis\n\nQ: When running `fedmsg-hub` it shows that stuff are not initialized in the output\n\nA: Have you updated the repo and ran the setup again? ::\n\n git pull\n workon fmn\n python setup.py develop\n\nQ: I have `fedmsg-hub`, `worker.py` and `backend` running now what?\n\nA: Load up the web interface and enable IRC and add your nick. Checkout `fmn.web `_ and `fmn `_ for more info.\n\nQ: It's saying my nick is invalid\n\nA: Is your nick registered? If not run this with the correct information ::\n\n /msg NickServ REGISTER password youremail@example.com\n\nsrc: `freenode `_\n\nQ: How do I know if it's working?\n\nA: In IRC you should get contacted by `threebot` ::\n\n .id.fedoraproject.org has requested that notifications be sent to this nick\n * To accept, visit this address:\n\nQ: How do I stress test?\n\nA: To be continued. Scripts are in process of being created", "description_content_type": null, "docs_url": null, "download_url": "https://pypi.python.org/pypi/fmn.consumer/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fedora-infra/fmn.consumer/", "keywords": null, "license": "LGPLv2+", "maintainer": null, "maintainer_email": null, "name": "fmn.consumer", "package_url": "https://pypi.org/project/fmn.consumer/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fmn.consumer/", "project_urls": { "Download": "https://pypi.python.org/pypi/fmn.consumer/", "Homepage": "https://github.com/fedora-infra/fmn.consumer/" }, "release_url": "https://pypi.org/project/fmn.consumer/1.0.3/", "requires_dist": null, "requires_python": null, "summary": "Backend worker daemon for Fedora Notifications", "version": "1.0.3" }, "last_serial": 2246339, "releases": { "0.0.1": [], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e59d2d3d022d775943e33697a9af3605", "sha256": "63db59a7e1ab32969a84c1afc71dcb5d95d45c1801cd164114396f76181673c2" }, "downloads": -1, "filename": "fmn.consumer-0.1.0.tar.gz", "has_sig": true, "md5_digest": "e59d2d3d022d775943e33697a9af3605", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3646, "upload_time": "2013-12-03T19:57:25", "url": "https://files.pythonhosted.org/packages/55/51/a4331dadac51c81535f3503c58c76571cdfdc9904cdbc5717a217a609336/fmn.consumer-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "70e08d1a5ea25eb87c9783f14dd9d07c", "sha256": "c284408af0956d1996e9f20c28e6a17308656d2fdebbd9b2cc008edda9b3a0a3" }, "downloads": -1, "filename": "fmn.consumer-0.1.1.tar.gz", "has_sig": true, "md5_digest": "70e08d1a5ea25eb87c9783f14dd9d07c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3644, "upload_time": "2013-12-03T20:02:58", "url": "https://files.pythonhosted.org/packages/79/6a/e62c80d30fbae973e221719a3d9ce90617205520a6d74699fca70f3c0544/fmn.consumer-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "fa52de46e1e1c6c1ed2b1bff4b79e543", "sha256": "5317aad3bd40f372f81cd64950a7f8d03e277cf0a4f8f3eeb4db2ffd15e52fe7" }, "downloads": -1, "filename": "fmn.consumer-0.1.2.tar.gz", "has_sig": true, "md5_digest": "fa52de46e1e1c6c1ed2b1bff4b79e543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16243, "upload_time": "2013-12-03T20:45:01", "url": "https://files.pythonhosted.org/packages/1b/f1/001c398cfb9f2f6e646af5e10267012b115a6e0cdbb080d954ba45aa4c7f/fmn.consumer-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "edf4bfa8a6612b4ca3dd3798d82f3d3d", "sha256": "f8d59f89e47a558d807d94b5f036d6d24fae4c914f4f3073c42711fac2cb4095" }, "downloads": -1, "filename": "fmn.consumer-0.1.3.tar.gz", "has_sig": true, "md5_digest": "edf4bfa8a6612b4ca3dd3798d82f3d3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19765, "upload_time": "2013-12-03T21:58:07", "url": "https://files.pythonhosted.org/packages/a3/3d/1e4e297405bedf1500439d4c79862265829e9f07847f8224033e176c73b5/fmn.consumer-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "afd39faba2ea183d38c67be6355de08d", "sha256": "3697342bf7c9c1ea70264b808ab7ca105da3aae7bc88ebd17508d761f6c001c1" }, "downloads": -1, "filename": "fmn.consumer-0.2.0.tar.gz", "has_sig": true, "md5_digest": "afd39faba2ea183d38c67be6355de08d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20130, "upload_time": "2014-01-22T14:38:28", "url": "https://files.pythonhosted.org/packages/c9/b3/69081b1f0bfe36e0aacbce24e231d4938aae3b714165024668340a7c7d09/fmn.consumer-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b29cb83af57cbdaa58655a1673537b20", "sha256": "ff0b9cf673a20794d9529fc79da7c7b971d9f8492c87df416e8c5be165cab58a" }, "downloads": -1, "filename": "fmn.consumer-0.2.1.tar.gz", "has_sig": true, "md5_digest": "b29cb83af57cbdaa58655a1673537b20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20177, "upload_time": "2014-01-23T19:51:48", "url": "https://files.pythonhosted.org/packages/a7/fd/93a052dbcc926f95cb57b78404fbbde3515112dee5215ba816437a175650/fmn.consumer-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "a352b162ce71f03ceea89951e451ed12", "sha256": "93b64a8a347728d67d08374ba972d0035e6756c6b94f90293d4d3c6a6fe0b4ea" }, "downloads": -1, "filename": "fmn.consumer-0.2.2.tar.gz", "has_sig": true, "md5_digest": "a352b162ce71f03ceea89951e451ed12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20802, "upload_time": "2014-01-27T18:39:53", "url": "https://files.pythonhosted.org/packages/23/b5/5c3776ea55b9e3ffb9019ef3f62f574b2e435c4a3bd776805bbd6142da27/fmn.consumer-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "b3c88925f70996c3f97def8dae5c5aaa", "sha256": "d9bdcf7a72b23c8f14dd0af33d3be33b47bc855f88deaff85a2842f9d8a5cbb9" }, "downloads": -1, "filename": "fmn.consumer-0.2.3.tar.gz", "has_sig": true, "md5_digest": "b3c88925f70996c3f97def8dae5c5aaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22730, "upload_time": "2014-03-27T19:13:14", "url": "https://files.pythonhosted.org/packages/92/c0/a4735357cee672ba80b476290febd7775017e33ef9596f9ec00ce59b50b8/fmn.consumer-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "0113e3df36f187780614c441eed9799c", "sha256": "05cd4202e1cab8f0e641d331869a6bf90154bf939680aae2ce5a7b694d35f7a8" }, "downloads": -1, "filename": "fmn.consumer-0.2.4.tar.gz", "has_sig": true, "md5_digest": "0113e3df36f187780614c441eed9799c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24789, "upload_time": "2014-06-10T16:32:45", "url": "https://files.pythonhosted.org/packages/66/41/4345f0cd1475f5a6cc45ece005d68960d1a8ddf08f8dd2abecdb56c5bbd3/fmn.consumer-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "b4ba95f08248ba19487e7d052f4e1420", "sha256": "ce76972f8a195f5d5881128b1bcc6aa9e24947df1be352e4a49239e925434319" }, "downloads": -1, "filename": "fmn.consumer-0.2.5.tar.gz", "has_sig": true, "md5_digest": "b4ba95f08248ba19487e7d052f4e1420", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25470, "upload_time": "2014-06-11T18:20:08", "url": "https://files.pythonhosted.org/packages/35/f4/9eb3f486b18d498b22de1fa58811555551c8aaef05dfcb3c39c99f38800d/fmn.consumer-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "61ce02f01c042e726a26977d8e009a65", "sha256": "9b7d1893d7d712b31fac81f307089e7a6644972dfa3308fe6b7db06bcbf43dc9" }, "downloads": -1, "filename": "fmn.consumer-0.2.6.tar.gz", "has_sig": true, "md5_digest": "61ce02f01c042e726a26977d8e009a65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25932, "upload_time": "2014-07-23T14:56:56", "url": "https://files.pythonhosted.org/packages/e7/e0/ec22776c36455672fc9a6f88a280fd576cacef4232a11a471b90bfa47394/fmn.consumer-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "eba3d39a9fefa547828548090a170262", "sha256": "8b9c9d4e3a08d4eccabc40f3be3d4b48bb37242834b0f28e2356622db31a9f14" }, "downloads": -1, "filename": "fmn.consumer-0.2.7.tar.gz", "has_sig": true, "md5_digest": "eba3d39a9fefa547828548090a170262", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25966, "upload_time": "2014-07-23T15:17:24", "url": "https://files.pythonhosted.org/packages/c1/cf/ce2363542b4d2aec062c03421b72ad07c8a7d1854a591cb21067bca37a43/fmn.consumer-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "517f16403c3bb319af1657cae372b1c1", "sha256": "79c7673509f66273ffb31a64fc31cd7c3020f668dac1fddf869ab32c2e265e12" }, "downloads": -1, "filename": "fmn.consumer-0.3.0.tar.gz", "has_sig": true, "md5_digest": "517f16403c3bb319af1657cae372b1c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27410, "upload_time": "2014-09-15T19:07:11", "url": "https://files.pythonhosted.org/packages/74/72/cfff0db1e6ad1101de43f390c38f86e6f8f799b2e5eb98f648f6fb66cc29/fmn.consumer-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "1900e43dc37822c8e862b36263a13648", "sha256": "62bf20d5adfa73478af847f3d45643f907aeb022012a0fb1284821d97c25e55d" }, "downloads": -1, "filename": "fmn.consumer-0.3.1.tar.gz", "has_sig": true, "md5_digest": "1900e43dc37822c8e862b36263a13648", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27922, "upload_time": "2014-10-02T13:21:37", "url": "https://files.pythonhosted.org/packages/9a/18/91cd67104e3933eb7bdedfb9ffaedf46cfc814b8c5ff1140d22eec85b884/fmn.consumer-0.3.1.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "b1b8553135caba0ba5c82ad4633935c2", "sha256": "138558634fa91bd375a16cca2bb628f357aae3b5de2b0809cfafece36f631f7c" }, "downloads": -1, "filename": "fmn.consumer-0.4.1.tar.gz", "has_sig": true, "md5_digest": "b1b8553135caba0ba5c82ad4633935c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32267, "upload_time": "2015-01-12T14:31:48", "url": "https://files.pythonhosted.org/packages/0e/e0/fc3d54de7d1c2703aead0cae522356d38a12ecb4364ebbcbd43ab0f24db0/fmn.consumer-0.4.1.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "313399fab56173fa96ec99e050f7a6b3", "sha256": "ddb8f56350f84bad7e9251fdc3150b2a3f98ae055b2d80a26806d2eab5defeec" }, "downloads": -1, "filename": "fmn.consumer-0.4.3.tar.gz", "has_sig": true, "md5_digest": "313399fab56173fa96ec99e050f7a6b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32633, "upload_time": "2015-01-14T15:59:28", "url": "https://files.pythonhosted.org/packages/4f/a3/45990761fc6df454b22e5f9035ed8a7c5876bee4a4f629350495aceb896e/fmn.consumer-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "aa90fa423270845968fac934973d95be", "sha256": "41979349b5afc4fd413d39409eac018d791cc323be9744668223cbb467ed8c3f" }, "downloads": -1, "filename": "fmn.consumer-0.4.4.tar.gz", "has_sig": true, "md5_digest": "aa90fa423270845968fac934973d95be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32924, "upload_time": "2015-01-16T18:03:54", "url": "https://files.pythonhosted.org/packages/62/bc/137d7cbd7a834c352d8847fa2e09bc4ea339ea59308b23d878a449c0f46d/fmn.consumer-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "813e88319db78bc8ad1e08bef33201ef", "sha256": "f8f8c0be110b302b82e60b1f7305dd864ef7646e5bc6c8ff2554e92569fc8cc9" }, "downloads": -1, "filename": "fmn.consumer-0.4.5.tar.gz", "has_sig": true, "md5_digest": "813e88319db78bc8ad1e08bef33201ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33819, "upload_time": "2015-02-12T14:54:04", "url": "https://files.pythonhosted.org/packages/e7/fc/f1bb39a507cbb6294d8831b37b6fc739f6db04ef476ddfc246452fb439ab/fmn.consumer-0.4.5.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "1911a71f5114dbda5d44af59b585e2aa", "sha256": "849f4b2ebf6b0ea262b6258ac80db18ebc23507d1618d4bc0940242a739498be" }, "downloads": -1, "filename": "fmn.consumer-0.5.0.tar.gz", "has_sig": true, "md5_digest": "1911a71f5114dbda5d44af59b585e2aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35742, "upload_time": "2015-03-24T18:38:23", "url": "https://files.pythonhosted.org/packages/06/29/9e1ec1267b728ac115f05bd041991b84749841d6ce20db45f2f71bf15499/fmn.consumer-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "59877280e7231b198308e554eb3513bd", "sha256": "3abafb2f8c1afc93b8c284fa99d360d5a597186f187edcde97e01237c4c96de9" }, "downloads": -1, "filename": "fmn.consumer-0.5.1.tar.gz", "has_sig": true, "md5_digest": "59877280e7231b198308e554eb3513bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35990, "upload_time": "2015-03-25T13:14:53", "url": "https://files.pythonhosted.org/packages/83/7b/3a973eecd673554612126f6e2554547986a8fd3dd2454b05bc7a2cb32cb7/fmn.consumer-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "ff649cde3e20146d6c7bc6202dd89c1f", "sha256": "07e3234e4d502e3dcaa13c304f2682608a8a5089c1b4be7e19498b0377be6bdc" }, "downloads": -1, "filename": "fmn.consumer-0.5.2.tar.gz", "has_sig": true, "md5_digest": "ff649cde3e20146d6c7bc6202dd89c1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36298, "upload_time": "2015-03-26T14:50:38", "url": "https://files.pythonhosted.org/packages/bf/d6/a19eb82e6a9499502dc50024ede28b5b058bb95431e0988983d7da0b99c7/fmn.consumer-0.5.2.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "2eed9b452525df6e632519f811cf4896", "sha256": "2127d2a7e0df8dd45b06270f56ae83dba12bc82c4180b4db754ab3e1467cf19d" }, "downloads": -1, "filename": "fmn.consumer-0.6.0.tar.gz", "has_sig": true, "md5_digest": "2eed9b452525df6e632519f811cf4896", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38818, "upload_time": "2015-05-03T21:26:08", "url": "https://files.pythonhosted.org/packages/d3/32/35e5e8c7c63942955ce6a9daf95ee8e8200d8f4c5b326fd01a81f33481a3/fmn.consumer-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "f57d68fdf902cdbef0a38fb7f696ef3f", "sha256": "602cb83109e6a9a01669695c62889bdc4d4fafd787e1a3ace7d9d0f4ea55bf66" }, "downloads": -1, "filename": "fmn.consumer-0.6.1.tar.gz", "has_sig": true, "md5_digest": "f57d68fdf902cdbef0a38fb7f696ef3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39407, "upload_time": "2015-05-05T19:52:07", "url": "https://files.pythonhosted.org/packages/9d/67/00370627f2857247685c115c05b612f3a772b0db8076ed817f878c87f250/fmn.consumer-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "4ac55efa9d2e649ff7e32abe9d45d10f", "sha256": "0196fcdcfe6ac8a316b1ed712e67725443fdb9ce4d3f97c2900f1ca07b34db00" }, "downloads": -1, "filename": "fmn.consumer-0.6.2.tar.gz", "has_sig": true, "md5_digest": "4ac55efa9d2e649ff7e32abe9d45d10f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39551, "upload_time": "2015-05-06T15:03:43", "url": "https://files.pythonhosted.org/packages/6c/73/3253fb19e9c9d02fdd01f5b3e440705653e155d0e97fbaae44809bc1060a/fmn.consumer-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "4b64fe33b69ee3a57988c0e21c233328", "sha256": "3c17dfee26912a8bbc289d1ce136b5a5f9f9b1f95323846dcfafa1a8e2d8d584" }, "downloads": -1, "filename": "fmn.consumer-0.6.3.tar.gz", "has_sig": true, "md5_digest": "4b64fe33b69ee3a57988c0e21c233328", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40121, "upload_time": "2015-10-01T20:33:15", "url": "https://files.pythonhosted.org/packages/c4/a8/2b660f154f0a25032d90b4ff02e8c598ab6aaba4112b881612e219ba1ae9/fmn.consumer-0.6.3.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "e770ed4c023ad4eb374c2acf621ab883", "sha256": "c76f034ae30beae933c6284a815d7980838f3d6ab83ad4dd51588e87eeff7de4" }, "downloads": -1, "filename": "fmn.consumer-0.8.1.tar.gz", "has_sig": true, "md5_digest": "e770ed4c023ad4eb374c2acf621ab883", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40839, "upload_time": "2016-03-02T17:29:29", "url": "https://files.pythonhosted.org/packages/68/be/909b88af7e66c71743160a880ffb87d5b9911be49c6225ea52200e8f0c67/fmn.consumer-0.8.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "2180672b38f5d4bfe994076164b7d7a0", "sha256": "996902a10fb2ce63205d9088fe17cec7a90237fad6f0ea292180c3a7923a6218" }, "downloads": -1, "filename": "fmn.consumer-1.0.0.tar.gz", "has_sig": true, "md5_digest": "2180672b38f5d4bfe994076164b7d7a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51389, "upload_time": "2016-07-15T14:28:03", "url": "https://files.pythonhosted.org/packages/3d/43/c53432b4f30ee1d4fe3788cccf36b3bb7d51bada475346e1d32524353dfd/fmn.consumer-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a5dadb41fb8851453daf580621cfd62f", "sha256": "c0ec0f1623951646b57b47a545e800deca741a9e21704023b7d08da39f397db4" }, "downloads": -1, "filename": "fmn.consumer-1.0.1.tar.gz", "has_sig": true, "md5_digest": "a5dadb41fb8851453daf580621cfd62f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51796, "upload_time": "2016-07-18T07:42:08", "url": "https://files.pythonhosted.org/packages/a8/67/87c5621a1801ad3d3657fa5e6f6776f8c029c1694ff701b5c8cf08cd2ede/fmn.consumer-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "ef530c94e83ffec11233b04cc083ff26", "sha256": "8538ec3988ac995ee3c98208ee9da30cb3d41a395c5ee8e765a21b6ac6731388" }, "downloads": -1, "filename": "fmn.consumer-1.0.2.tar.gz", "has_sig": true, "md5_digest": "ef530c94e83ffec11233b04cc083ff26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52299, "upload_time": "2016-07-25T16:25:38", "url": "https://files.pythonhosted.org/packages/16/a2/5302ad0989713b8bf8b2d0b7b065e00008c2e97faf3ee3dec0aef220e780/fmn.consumer-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "ca8eb04755c220baa13a9eef92244c50", "sha256": "73a5bcab4ba301a60eaf1f75e19c80a376683d7ba7a187ec08498b6da89538cd" }, "downloads": -1, "filename": "fmn.consumer-1.0.3.tar.gz", "has_sig": true, "md5_digest": "ca8eb04755c220baa13a9eef92244c50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52530, "upload_time": "2016-07-27T08:15:15", "url": "https://files.pythonhosted.org/packages/ca/0c/846c1e0b76b836a364b341211a807b7d75870bcbf815cf406b01b504b8d1/fmn.consumer-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ca8eb04755c220baa13a9eef92244c50", "sha256": "73a5bcab4ba301a60eaf1f75e19c80a376683d7ba7a187ec08498b6da89538cd" }, "downloads": -1, "filename": "fmn.consumer-1.0.3.tar.gz", "has_sig": true, "md5_digest": "ca8eb04755c220baa13a9eef92244c50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52530, "upload_time": "2016-07-27T08:15:15", "url": "https://files.pythonhosted.org/packages/ca/0c/846c1e0b76b836a364b341211a807b7d75870bcbf815cf406b01b504b8d1/fmn.consumer-1.0.3.tar.gz" } ] }