{ "info": { "author": "Tobias Gawron-Deutsch", "author_email": "tobias@strix.at", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: No Input/Output (Daemon)", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Home Automation", "Topic :: Utilities" ], "description": "Overview\n========\n\nPelops is a set of microservices that are coupled via mqtt. The idea is\nto provide small programs that are configured and drive raspberry pi\ncontrolled sensors and actuators. Thus - ideally - rich solutions can be\nbuilt without any programming and with little engineering efford. It can\nbe used for example to make a stand alone solution on one raspi, make a\ndistributed system where several devices interact (maybe even via\ninternet services like AWS IoT), or interact with home automation\nsystems like openhab. Focus is on ePapers for display devices (currently\nsupported are three epapers/einks from Waveshare).\n\n.. figure:: img/Microservice%20Overview.png\n :alt: Component Overview\n\n Component Overview\n\n| Currently, the following microservices are available: \\*\n `Alcathous `__ - This software\n subscribes to mqtt-topics that contain raw sensor data and publishes\n average values for configurable time spans. \\*\n `Argaeus `__ -\n ThermostatGUIController/Frontend for a room thermostat with epaper \\*\n `Archippe `__ - Archippe is a data\n persistence micro service for pelops. Targets are influxdb and\n csv-files. \\* `Copreus `__ - This\n library provides a framework to write device driver for the raspberry\n pi that are connected to MQTT. \\*\n `Epidaurus `__ - PID controller\n for thermostat \\* `Eurydike `__ -\n Eurydike is a simple event detection. Reacts to above-threshold,\n below-threshold, and outside value-band.\n| \\* `Hippasos `__ - Mqtt\n microservice to play sounds.\n| \\* `Nikippe `__ - A general purpose\n gui image generator/display server - takes values from mqtt and sends\n image to mqtt.\n\nIn production are: \\*\n`Hippodamia `__ - Hippodamia\nobserve the state of all registered microservices (aka watch dog). \\*\n`Lysidike `__ - Lysidike publishes\nincoming mqtt messages to various internet services like email. (todos:\ndocumentation) \\* `Thyestes `__ -\nTimer microservice. Listens on topics for specific messages, starts a\ntimer when such a messages has been received and publishes a predefined\nmessage after the timer expired. (todos: documentation) \\*\n`Skeiron `__ -\nForwarding/Echo/Collect/Distribute service. (todos: documentation)\n\nPlanned microservices: \\*\n`Pleisthenes `__ - A weather\nmicroservice (connects to a weather site and provides e.g. local sun\nradiation)\n\nFurther ideas for general purpose services: \\*\nAnd/or/xor/not/nand/nor/xnor - for boolean/int messages and for\narbitrary evaulation statements on the content of the messages. plus\ntimeout (how long is a message valid to be joined with another message\nin such an operation) \\* Lambda - takes an incoming message, applies the\nconfigured lambda function to it, and publishes the result. three\nflavors: lambda code in config, python3 core function, function from an\narbitrary module. important: functions must accept one parameter and one\nonly and return one result that can be handled by the mqtt client\n(paho.mqtt).\n\nIdeas for controllers / applications: \\* A pool pump / solar panel\ncontroller that heats/cools the pool \\* A floor heating system\ncontroller \\* A multiroom humidifier controller\n\nThe project `Pelops `__ provides\ncommon classes like mqtt-client, pyyaml wrapper. Thus it is not a\nmicroservice itself.\n\nTutorial\n========\n\n- `Step\n 0 `__\n - prerequisites\n- `Step\n 1 `__\n - while the button is pressed, turn on the led.\n- `Step\n 2 `__\n - display the button state on an ePaper\n- `Step\n 3 `__\n - if the temperature readings (update regularly) from a DHT22 are\n above a threshold, turn on the led.\n- `Step\n 4 `__\n - calibrate the temperature sensor\n- `Step\n 5 `__\n - measure temperature every time the button has been pressed\n- `Step\n 6 `__\n - display temperature sensor readings on an ePaper (same raspi)\n- `Step\n 7 `__\n - use the led in the setup to show if a display update is pending.\n- `Step\n 8 `__\n - display temperature sensor readings on an ePaper that is connected\n to another raspi\n- `Step\n 9 `__\n - use AWS IoT to bridge between one site where the temperature is\n measured and another site where it is displayed on an ePaper\n\n- Display DHT22 sensor readings on an ePaper\n `... `__\n\nExamples\n========\n\nPlanned examples: \\* A rich room temperature controller\n\nModules\n=======\n\nPelops is a good father and provides tools for all his children.\n\nAbstractMicroservice\n--------------------\n\nBase class for all MicroServices of pelops. Takes care of reading and\nvalidating the config, providing mymqttclient and logger instances as\nwell as static methods to create an instance and run it indefinitly.\n\nIf no mqtt client has been provided, the config must have an \"mqtt\"\nentry at root level. Same accounts for the logger.\n\nAn implementation of this abstract class should use the provided config,\nmqtt\\_client, and logger. But most importantly, it must adhere to the\n\\_is\\_stopped and \\_stop\\_service Events and make good use of the\n\\_start and \\_stop methods. Otherwise, starting and stopping the\nmicroservice might not be possible in the framework.\n\nThe two events/flags \\_is\\_started and \\_is\\_stopped show the state of\nthe Service. They are changed in the methods start and stop. During the\nstart and the stopped sequences, both events are cleared. Thus, in case\nof an error during these sequences, the state of the microservice is\nundefined.\n\nMyConfigTools\n-------------\n\nSet of scripts for yaml/json configfile reading.\n\n- ``read_config``: This method reads the provided file, converts it to\n a yaml config structure, expands the credential file entries (e.g.\n for mqtt and influx db) and makes sure the keys are lower case.\n Credential files are yaml files themselves and are merged by\n searching for all keys that are equivalent to the specified string\n (e.g. \"credential-file\"). Every value of these entries is assumed to\n be a valid file name - a config yaml file containing credentials.\n These files a read, parsed and merged into the general config\n structure.\n\n- ``validate_config``: Validate the provided config with the provided\n schema.\n\n- ``deep_update``: Merge a yaml struct (=extensions) into another yaml\n struct (=base). List entries yield a TypeError (except if the list is\n already in a new subtree that is not present in base at all). As this\n merge method advances only to subtrees in base if this subtree exists\n in the extensions as well, existing lists in base will never be\n visited.\n\n- ``dict_deepcopy_lowercase``: Convert all keys in the dict (and\n sub-dicts and sub-dicts of sub-lists) to lower case. Returns a deep\n copy of the original dict.\n\nMyMQTTCLient\n------------\n\nWrapper for the paho.mqtt.client. Provides a topic to method mapping,\nthus enabling that one instance of paho.mqtt.client can be used with\ndifferent incoming message handler. Further, it separates the time of\nregistering a subscription from the status of the connection. Subscribed\ntopic/handler pairs are automatically registered / unregistered upon\nconnection/disconnection.\n\nHistoryAgent\n------------\n\nTakes provided data, aggregates it and stores it locally up to the\ndefined history length. Optionally, fetches old data from dataservice\nlike archippe.\n\nMonitoringAgent\n---------------\n\nReference implementation of an agent for the hippodamia microservice\nmontoring service.\n\nImageMQTTMessageConverter\n-------------------------\n\nStatic utility class - converts images and json structures into valid\nmqtt payloads.\n\n- ``to_full_image_message``: Convert a PIL.Image instance to bytes -\n the format nedded if the mqtt payload consists of only the image.\n- ``to_partial_images_message``: Takes a list containing [x,y,partial\n images] and converts the images into an utf-8 encoded string that can\n be accepted by mqtt and packs them into a json structure consisting\n of these string and their x/y values.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/pelops/pelops/", "keywords": "mqtt device driver rpi raspberry pi", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "Pelops", "package_url": "https://pypi.org/project/Pelops/", "platform": "", "project_url": "https://pypi.org/project/Pelops/", "project_urls": { "Homepage": "https://gitlab.com/pelops/pelops/" }, "release_url": "https://pypi.org/project/Pelops/0.4.5/", "requires_dist": null, "requires_python": "", "summary": "Common tools for projects of the the gitlab group pelops.", "version": "0.4.5" }, "last_serial": 5303980, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "c2924d383d29034a8fa19d15b68006cc", "sha256": "865f46507eba783cc2e9099e3aa0e94223d0f6e13427c9df0b32f70dd1d829de" }, "downloads": -1, "filename": "Pelops-0.1.tar.gz", "has_sig": false, "md5_digest": "c2924d383d29034a8fa19d15b68006cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30397, "upload_time": "2018-08-08T21:08:40", "url": "https://files.pythonhosted.org/packages/26/8d/80578cd35a2ef485a18f4a7fa161bcf672647df4632ae20be104ccf42dcc/Pelops-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "130b7268b7b370a158dfa32127f87432", "sha256": "9a52f74931004c02a199eea86a7d0bb10ba344f972383fbc58e9f0f409acdeaf" }, "downloads": -1, "filename": "Pelops-0.1.1.tar.gz", "has_sig": false, "md5_digest": "130b7268b7b370a158dfa32127f87432", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29985, "upload_time": "2018-11-03T20:02:47", "url": "https://files.pythonhosted.org/packages/5a/6c/d5172605cac6db1de57bcb02c943f13107208dbf6a11371a9689b854d8c3/Pelops-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6f5dbccc23ee1124450deab48b93d3ad", "sha256": "ef1946ce0709470c29be57abc405d3770e67572212dd5849660a9d22d71ecd5e" }, "downloads": -1, "filename": "Pelops-0.1.2.tar.gz", "has_sig": false, "md5_digest": "6f5dbccc23ee1124450deab48b93d3ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30030, "upload_time": "2018-11-05T20:11:45", "url": "https://files.pythonhosted.org/packages/72/4a/29e9f3adfa991e5a69dfe4d4be3a3bae0a2e8702e3a3b258632be02af75f/Pelops-0.1.2.tar.gz" } ], "0.1a10": [ { "comment_text": "", "digests": { "md5": "b07ef0a9bda19446125f3e108e30d5fe", "sha256": "f1c9abb4d560e24ddba91ac263b09c4b7a1e86bedf95cfbb4b878f48e65712f9" }, "downloads": -1, "filename": "Pelops-0.1a10.tar.gz", "has_sig": false, "md5_digest": "b07ef0a9bda19446125f3e108e30d5fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5614, "upload_time": "2018-05-20T20:42:43", "url": "https://files.pythonhosted.org/packages/bd/50/63438f7172f3fb0d2c233d23447d1a0a2847439e7362aae598c5204fd9cd/Pelops-0.1a10.tar.gz" } ], "0.1a12": [ { "comment_text": "", "digests": { "md5": "503e7b7119f872c65e9f904de3031b0f", "sha256": "4fe4e9e599037d7d629bc6f7cad0db6a057bec7805ac7c8f4e27673fa273b817" }, "downloads": -1, "filename": "Pelops-0.1a12.tar.gz", "has_sig": false, "md5_digest": "503e7b7119f872c65e9f904de3031b0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6313, "upload_time": "2018-05-23T07:35:21", "url": "https://files.pythonhosted.org/packages/b1/56/dc4523faa57a489d8b6cde6e1a083ead7540021a842215c5ef2c294a8d37/Pelops-0.1a12.tar.gz" } ], "0.1a13": [ { "comment_text": "", "digests": { "md5": "9e4656354425f68513b9eba570f1530a", "sha256": "d8b3c4e7eb78f17313dec82ed1a76509f1ff87098cc7a800806a454f1c6b7ba3" }, "downloads": -1, "filename": "Pelops-0.1a13.tar.gz", "has_sig": false, "md5_digest": "9e4656354425f68513b9eba570f1530a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6310, "upload_time": "2018-05-23T07:38:35", "url": "https://files.pythonhosted.org/packages/4b/a4/610bd5dd0086e9a89d1622464698b3f5fb45ae1aa9ecd8912a825daf1ee9/Pelops-0.1a13.tar.gz" } ], "0.1a14": [ { "comment_text": "", "digests": { "md5": "8f335079ce63516c3159aad9046f7bd4", "sha256": "a26c1810473337f95a25ff802f439620eccaed842245d1c4b453b770667d7e88" }, "downloads": -1, "filename": "Pelops-0.1a14.tar.gz", "has_sig": false, "md5_digest": "8f335079ce63516c3159aad9046f7bd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6306, "upload_time": "2018-05-23T07:42:38", "url": "https://files.pythonhosted.org/packages/e7/bc/7d03b10fb880be3ac1d3a8f44eb8d1f98d9a6a14910597fa975ca10017cf/Pelops-0.1a14.tar.gz" } ], "0.1a15": [ { "comment_text": "", "digests": { "md5": "9437c225d04987bb306b0d9b0b2f1cb6", "sha256": "59f01af8ec5b4ba233f43f25f8d334af11079bcd70beedfa6abc4cb8ed911856" }, "downloads": -1, "filename": "Pelops-0.1a15.tar.gz", "has_sig": false, "md5_digest": "9437c225d04987bb306b0d9b0b2f1cb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6313, "upload_time": "2018-05-23T20:18:29", "url": "https://files.pythonhosted.org/packages/7b/5c/3485c526673053111ad027c549db49d810afaff9b24eee0ca45d46ba80fd/Pelops-0.1a15.tar.gz" } ], "0.1a16": [ { "comment_text": "", "digests": { "md5": "f38d37c6fb09d1f63ef75a7d6be3cde9", "sha256": "6decf0d13f3212dbdd2a0ee0cf89fd5411fe6bd42eb848f207cb265ce3f9dc1d" }, "downloads": -1, "filename": "Pelops-0.1a16-py3.6.egg", "has_sig": false, "md5_digest": "f38d37c6fb09d1f63ef75a7d6be3cde9", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 18335, "upload_time": "2018-05-23T20:20:37", "url": "https://files.pythonhosted.org/packages/48/48/5c28cefdfb68313eec5fe4f1c467f800df7234173dc2456c61066ce444f2/Pelops-0.1a16-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "9542a9ac790f041c110227c6755c5a35", "sha256": "5953de8de16d395aa360a6b5a2b83cd2aa890e9bd65a661fc6a1b42d02b53139" }, "downloads": -1, "filename": "Pelops-0.1a16.tar.gz", "has_sig": false, "md5_digest": "9542a9ac790f041c110227c6755c5a35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6316, "upload_time": "2018-05-23T20:20:35", "url": "https://files.pythonhosted.org/packages/34/c9/a32c2f143436beafac7963990d5924af62386298741786c40ff32735cd74/Pelops-0.1a16.tar.gz" } ], "0.1a17": [ { "comment_text": "", "digests": { "md5": "34b93d08cb7b4621da4098657b13eb33", "sha256": "02ab7ffe64b1a3f10f35e2e1b6ee66b55f7be6c13adc3c33bcd35392e3af0931" }, "downloads": -1, "filename": "Pelops-0.1a17-py3.6.egg", "has_sig": false, "md5_digest": "34b93d08cb7b4621da4098657b13eb33", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 18347, "upload_time": "2018-05-23T20:26:13", "url": "https://files.pythonhosted.org/packages/45/93/3dadbecc541ad10951183071f8be48cdd2e3603579272754f835182c7b40/Pelops-0.1a17-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "1f058a2f57c3d9617ca8af8bac18a672", "sha256": "81cb9cebfe25d8ed00b943a89523a181a85e735888f02afa82ec2065f47c567e" }, "downloads": -1, "filename": "Pelops-0.1a17.tar.gz", "has_sig": false, "md5_digest": "1f058a2f57c3d9617ca8af8bac18a672", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6382, "upload_time": "2018-05-23T20:26:11", "url": "https://files.pythonhosted.org/packages/69/25/804af5fd0875533e61d24b217aca20e0cfb070b00cb92e98883b1e65e363/Pelops-0.1a17.tar.gz" } ], "0.1a18": [ { "comment_text": "", "digests": { "md5": "256c01c604d71c77dbf518833aff7faa", "sha256": "5e878fee6900dc4b08b7f7f04ecc677b974d861f5a8e1ddaded8ea081a665675" }, "downloads": -1, "filename": "Pelops-0.1a18-py3.6.egg", "has_sig": false, "md5_digest": "256c01c604d71c77dbf518833aff7faa", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 18348, "upload_time": "2018-05-23T20:28:07", "url": "https://files.pythonhosted.org/packages/63/bf/4e1caefea38a58bda5a3e01ac1dd044864cfa22009456bbd17cf5da6fd3e/Pelops-0.1a18-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "b0267c865ae638da941751823c7ecf8f", "sha256": "90bbf9e5ec0b83938c06603ba6f962b112cdebacf23d0e9224fa3194ae76a36a" }, "downloads": -1, "filename": "Pelops-0.1a18.tar.gz", "has_sig": false, "md5_digest": "b0267c865ae638da941751823c7ecf8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6388, "upload_time": "2018-05-23T20:28:05", "url": "https://files.pythonhosted.org/packages/b3/8e/589e376b2dfd0bdf34d9bef1cf47ecb9112e661fc9cfafceb032c50b0a89/Pelops-0.1a18.tar.gz" } ], "0.1a19": [ { "comment_text": "", "digests": { "md5": "34116c892c57881d2b0796113b0585ec", "sha256": "d04a39f2d2b46fdc033a4468a3bb199b46928899b36cbe8c3e933dc1817de8f0" }, "downloads": -1, "filename": "Pelops-0.1a19-py3.5.egg", "has_sig": false, "md5_digest": "34116c892c57881d2b0796113b0585ec", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 19010, "upload_time": "2018-06-07T21:15:27", "url": "https://files.pythonhosted.org/packages/59/1a/8735ea03610f118f05255fc573661d9021e62244f080f62220d3d625b21e/Pelops-0.1a19-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "0c4f172235158d08d32b9cf2d8b20e78", "sha256": "b7b46ae671cf24f47cefe84802274e745d4a3510254763e74dc2f6d83b789efd" }, "downloads": -1, "filename": "Pelops-0.1a19.tar.gz", "has_sig": false, "md5_digest": "0c4f172235158d08d32b9cf2d8b20e78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6885, "upload_time": "2018-06-07T21:15:26", "url": "https://files.pythonhosted.org/packages/b9/c9/12e12adcd473822abbc15b81b47b4361ffc1a2f21b14cac6a7ddeea215ee/Pelops-0.1a19.tar.gz" } ], "0.1a20": [ { "comment_text": "", "digests": { "md5": "f332d623c150ad9d3f80f1e0b89ef61f", "sha256": "b64acacf588af930c0b64d4a79601212dc997dd43cbc6c6d0e0f62691092e124" }, "downloads": -1, "filename": "Pelops-0.1a20-py3.5.egg", "has_sig": false, "md5_digest": "f332d623c150ad9d3f80f1e0b89ef61f", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 19013, "upload_time": "2018-06-07T22:30:31", "url": "https://files.pythonhosted.org/packages/99/f6/75be12fcc41bd782b54f668d80342aaa89084ef295d232d574b29115d22d/Pelops-0.1a20-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "087ff4febd23219432ed6afcf1498034", "sha256": "cc51eb1461d89389858656fc8b6fe29a9397522862e2e84a9e6daf6f3a0465c4" }, "downloads": -1, "filename": "Pelops-0.1a20.tar.gz", "has_sig": false, "md5_digest": "087ff4febd23219432ed6afcf1498034", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6889, "upload_time": "2018-06-07T22:30:29", "url": "https://files.pythonhosted.org/packages/8c/ee/da4fcf277f0900cfd6691d98fa4a1b2abd3d4301cf22b3f6f88166643f7d/Pelops-0.1a20.tar.gz" } ], "0.1a21": [ { "comment_text": "", "digests": { "md5": "ec9b419f814100119779c580d8a2be76", "sha256": "0880a31bec71068a36ad14e61c581a6c0c9af0a8796dd8e0cdeaf244d6052d36" }, "downloads": -1, "filename": "Pelops-0.1a21.tar.gz", "has_sig": false, "md5_digest": "ec9b419f814100119779c580d8a2be76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6883, "upload_time": "2018-06-07T22:49:45", "url": "https://files.pythonhosted.org/packages/68/97/da7626d708bb2341a5814b06d7702551542e60bbbef51d54ea5a0bc2fadd/Pelops-0.1a21.tar.gz" } ], "0.1a22": [ { "comment_text": "", "digests": { "md5": "5d2a62552637f6359e7e8a62ef463d07", "sha256": "736cb137e741b322904a6151dc74c073d4d799d49feef6b1ec8d448559860f61" }, "downloads": -1, "filename": "Pelops-0.1a22-py3.5.egg", "has_sig": false, "md5_digest": "5d2a62552637f6359e7e8a62ef463d07", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 19155, "upload_time": "2018-06-08T13:02:42", "url": "https://files.pythonhosted.org/packages/e8/4d/6ec023bd9cd79a49a2197ceb5ca0afacf49287bd335f93500afd413d90be/Pelops-0.1a22-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "5a9dc948e1a25fbb2a6612aa7d55ca6c", "sha256": "ebf79dc7c4f5e1ec1da1d3dbc86f7eb1f083ae675f881e1082ed8a03c5fd80c4" }, "downloads": -1, "filename": "Pelops-0.1a22.tar.gz", "has_sig": false, "md5_digest": "5a9dc948e1a25fbb2a6612aa7d55ca6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6940, "upload_time": "2018-06-08T13:02:39", "url": "https://files.pythonhosted.org/packages/d7/53/d5a63d78b7f871dae8d5a27396c3f8fb54966fe560a0bdb66d6642378374/Pelops-0.1a22.tar.gz" } ], "0.1a23": [ { "comment_text": "", "digests": { "md5": "aca0af21d7d2237bddde41661eb362c9", "sha256": "0a68de98f401fd65705f4aae06f51c866c462f938cb690b8ef70bb88f3a0656b" }, "downloads": -1, "filename": "Pelops-0.1a23.tar.gz", "has_sig": false, "md5_digest": "aca0af21d7d2237bddde41661eb362c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12067, "upload_time": "2018-06-18T20:11:32", "url": "https://files.pythonhosted.org/packages/03/94/6b7cf45c4c2caaccfa4b692348b3a8925f4247dd52cf3326e2047911d7c4/Pelops-0.1a23.tar.gz" } ], "0.1a24": [ { "comment_text": "", "digests": { "md5": "32559620d7e506b361290dda736aa2d9", "sha256": "ac4d38a24489c8e2d8d5e919ac44c8e3557722e420177479089ecad96b71425d" }, "downloads": -1, "filename": "Pelops-0.1a24.tar.gz", "has_sig": false, "md5_digest": "32559620d7e506b361290dda736aa2d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12067, "upload_time": "2018-06-18T22:02:01", "url": "https://files.pythonhosted.org/packages/25/00/ba4ab21c41d1f591412fb35b4714e47312e95727bb3b3a8a2f21d2578943/Pelops-0.1a24.tar.gz" } ], "0.1a25": [ { "comment_text": "", "digests": { "md5": "5be81565cec0546524a4884ba6ae9e62", "sha256": "3c449c2ba3794693e8e3615de3c964b5679f8d2b840741525a6624d62ab7bce1" }, "downloads": -1, "filename": "Pelops-0.1a25.tar.gz", "has_sig": false, "md5_digest": "5be81565cec0546524a4884ba6ae9e62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12081, "upload_time": "2018-06-20T17:55:25", "url": "https://files.pythonhosted.org/packages/20/7e/29dccdb225a05c42cbed5f450aeb348f5040b5f4ac4719d3e3a55bb891f0/Pelops-0.1a25.tar.gz" } ], "0.1a27": [ { "comment_text": "", "digests": { "md5": "c07fb59c07cc5a1ec8242e148a2670aa", "sha256": "675359a067949037c55089a8cb1950fe6d822e9169ed222ec59f8b44b89a4ee0" }, "downloads": -1, "filename": "Pelops-0.1a27.tar.gz", "has_sig": false, "md5_digest": "c07fb59c07cc5a1ec8242e148a2670aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21293, "upload_time": "2018-07-12T19:49:36", "url": "https://files.pythonhosted.org/packages/c7/dc/f50052acab59731f506f961758e0415a9bc25f55d1d27718a74f990818a5/Pelops-0.1a27.tar.gz" } ], "0.1a28": [ { "comment_text": "", "digests": { "md5": "81fb4294086a4d143b35adb8cd6fdf66", "sha256": "98523ee9caa69fc4494278abd4e22f3b2867970c1225852434314380cebe5d72" }, "downloads": -1, "filename": "Pelops-0.1a28.tar.gz", "has_sig": false, "md5_digest": "81fb4294086a4d143b35adb8cd6fdf66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21385, "upload_time": "2018-07-25T18:35:47", "url": "https://files.pythonhosted.org/packages/fa/e0/c3fef086dd178376069ce84ade1a3276c6c6e3ab5dec64d5d9df230a5df6/Pelops-0.1a28.tar.gz" } ], "0.1a5": [ { "comment_text": "", "digests": { "md5": "2e8a10dcae00e74c81d72cc290056eec", "sha256": "b57722e6e46a9e0d8780f4a2fda8eb7f4b62f6bd8627932936075ed2fab49e82" }, "downloads": -1, "filename": "Pelops-0.1a5.tar.gz", "has_sig": false, "md5_digest": "2e8a10dcae00e74c81d72cc290056eec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5613, "upload_time": "2018-04-25T20:49:31", "url": "https://files.pythonhosted.org/packages/ac/8f/bf51cc47c711099a1705267a65ca2d06a48ff497aae1ed19f9495d229840/Pelops-0.1a5.tar.gz" } ], "0.1a6": [ { "comment_text": "", "digests": { "md5": "83862925fe6e1a54506b2d78f847ca42", "sha256": "d0baec22176a83ead2ab427412530dbcb305432e75470e76bafa5ee5eddeef44" }, "downloads": -1, "filename": "Pelops-0.1a6.tar.gz", "has_sig": false, "md5_digest": "83862925fe6e1a54506b2d78f847ca42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5607, "upload_time": "2018-05-04T21:55:06", "url": "https://files.pythonhosted.org/packages/ee/f7/6ca3161d57da1397a23e0e1e0fcb3e80fd4c10e9735091bf055b6c1e342d/Pelops-0.1a6.tar.gz" } ], "0.1a8": [ { "comment_text": "", "digests": { "md5": "9aabe33925cb73c71857232fee19eedb", "sha256": "5331084d7adbaa741ca6ced67a88014d960c8a30048c845033d5459a1281f7cc" }, "downloads": -1, "filename": "Pelops-0.1a8.tar.gz", "has_sig": false, "md5_digest": "9aabe33925cb73c71857232fee19eedb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5695, "upload_time": "2018-05-07T21:54:55", "url": "https://files.pythonhosted.org/packages/cb/8b/31840b82acb726b3d332c7638c4be4dd6860a8cf70b4c66921554a8bb9a0/Pelops-0.1a8.tar.gz" } ], "0.1a9": [ { "comment_text": "", "digests": { "md5": "477eca619a8a6c4ea0bea2b0d14a1b25", "sha256": "2e38d512ac79502c0d7b1b0ea4fbae6978def8a76dfdd527a8bdb310837b689c" }, "downloads": -1, "filename": "Pelops-0.1a9.tar.gz", "has_sig": false, "md5_digest": "477eca619a8a6c4ea0bea2b0d14a1b25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5808, "upload_time": "2018-05-09T21:05:36", "url": "https://files.pythonhosted.org/packages/3c/2c/4fe5dc54101b14f66e893b1aad1b21a2d99697edba532ccaef027e9c5d3d/Pelops-0.1a9.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "3f9daa21c5e5a1beb53f42ab7601c0b7", "sha256": "866ef8d013da5a17018a1da5e90ec0ad7153cb33c141b80ea13aa714966bad53" }, "downloads": -1, "filename": "Pelops-0.2.tar.gz", "has_sig": false, "md5_digest": "3f9daa21c5e5a1beb53f42ab7601c0b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28670, "upload_time": "2018-11-09T09:39:39", "url": "https://files.pythonhosted.org/packages/a9/67/4d81a0b7e2f72c348815665fcf01e3815b70bbc6e3e148c78c8228bfb302/Pelops-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "b7c2460ebd084083cdeddc8db851fdbc", "sha256": "438068b1a4d3b3a595c29b954266615928305d068a5d58747ce8f9871d0af00e" }, "downloads": -1, "filename": "Pelops-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b7c2460ebd084083cdeddc8db851fdbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28677, "upload_time": "2018-11-09T11:05:03", "url": "https://files.pythonhosted.org/packages/15/b1/72365c80ecb081b227a507e97bf005c6a482b476250bb2c1f2f342f3b38a/Pelops-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6505c2b16480f6c195b07ba127045419", "sha256": "dff484173a41bb485e6730e7ee49867b56abebd7f352bfa09b7e3655b471ebce" }, "downloads": -1, "filename": "Pelops-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6505c2b16480f6c195b07ba127045419", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35975, "upload_time": "2018-11-20T16:44:33", "url": "https://files.pythonhosted.org/packages/a7/57/096e4ccc80e62696363bc068182d13b59308961d624e43a0ab3a1d2e8a17/Pelops-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "f252b56047a57622f6f7f202673222e2", "sha256": "490b169bc7abf266f0f3c9ca00566ec1f78bc28d5f9701b3d643a4053e135363" }, "downloads": -1, "filename": "Pelops-0.2.3.tar.gz", "has_sig": false, "md5_digest": "f252b56047a57622f6f7f202673222e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30317, "upload_time": "2018-11-21T23:13:09", "url": "https://files.pythonhosted.org/packages/28/81/9c7b8bb8bffb3410a18b97f874a9ebeeca0dcb32588bf10b3badb82a0f0b/Pelops-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "f2446621629067d15ad3e6bfb876f72e", "sha256": "1d306d7cfa26170b28384e705711fe62e894e7eb94fff3537044f24616072e58" }, "downloads": -1, "filename": "Pelops-0.2.4.tar.gz", "has_sig": false, "md5_digest": "f2446621629067d15ad3e6bfb876f72e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30323, "upload_time": "2018-11-22T20:20:26", "url": "https://files.pythonhosted.org/packages/f9/35/e461f7a73a2e0f39a6356a9fb95d26bbfff3e367efca8a927144a4711c7f/Pelops-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "c6a37c600fab9a10d7ebb410ff1913ff", "sha256": "a031e70df062499f9eb1d1a6ea68fb58559dda36c9435a40c24d157c33d5508c" }, "downloads": -1, "filename": "Pelops-0.2.5.tar.gz", "has_sig": false, "md5_digest": "c6a37c600fab9a10d7ebb410ff1913ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30418, "upload_time": "2019-01-27T20:32:01", "url": "https://files.pythonhosted.org/packages/42/1b/b22b635b068b80b453f9c25eab20d5b1651d42c9477e0e35e6971d12fad7/Pelops-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "6e4c6996091ac82ff6c947d807dd9e60", "sha256": "581379d508b0f1523e04fc5285bad0af452698dea1bbf8faec09abbde9e737ba" }, "downloads": -1, "filename": "Pelops-0.2.6.tar.gz", "has_sig": false, "md5_digest": "6e4c6996091ac82ff6c947d807dd9e60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30396, "upload_time": "2019-02-01T23:07:01", "url": "https://files.pythonhosted.org/packages/a2/5f/5de789c899a8b0fc5ad3d3ba3318df362ead53f25a005969ee0bda74fac2/Pelops-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "306d01480fa63a997a7d0fbe79607300", "sha256": "c5441f19409399bb0ff175345ea4b7ee1cf32e0346cd0009f3671e6705fdb7cc" }, "downloads": -1, "filename": "Pelops-0.2.7.tar.gz", "has_sig": false, "md5_digest": "306d01480fa63a997a7d0fbe79607300", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31543, "upload_time": "2019-02-15T20:39:17", "url": "https://files.pythonhosted.org/packages/eb/ba/74d2b1c8756e22edd6b03a2d20720eb5643c287a0944decf82e562b399de/Pelops-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f24eaa61e2f5936161813c250ed4569d", "sha256": "abdf2af5ca0657e5f66bb4141906172fbee9bc68b5daec403d3a16bab1f69837" }, "downloads": -1, "filename": "Pelops-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f24eaa61e2f5936161813c250ed4569d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33990, "upload_time": "2019-03-09T15:24:58", "url": "https://files.pythonhosted.org/packages/c1/06/8c874dcd9b5b0204fb49609f949ae76fcfcfd4a486ba01c783e7d5b848c3/Pelops-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "47e74e08186d7f459e2f029a447d30db", "sha256": "acde77a1c95aa1718ac4e2706796b74598565651bbb1ce4df1bffd57b3159ff7" }, "downloads": -1, "filename": "Pelops-0.3.1.tar.gz", "has_sig": false, "md5_digest": "47e74e08186d7f459e2f029a447d30db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33996, "upload_time": "2019-03-09T15:40:52", "url": "https://files.pythonhosted.org/packages/8f/b8/311fb8361fba8a3d615ed64b22a488ffbf1168cb6ed429793c3b02fbe73b/Pelops-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "6ba80bc9bda956226bf0c8416e0ffc6e", "sha256": "0de4390fba2cda09853624c301bb28c3f3b63b0f5a7b403ab86599507932f755" }, "downloads": -1, "filename": "Pelops-0.3.2.tar.gz", "has_sig": false, "md5_digest": "6ba80bc9bda956226bf0c8416e0ffc6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34465, "upload_time": "2019-03-09T21:51:20", "url": "https://files.pythonhosted.org/packages/48/5b/4552c2261f7929e2404c50dcc330503c8139d467e218534602dd67bcfc04/Pelops-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "5199962242158200ad8886ef28fcd579", "sha256": "02581f2ebc2e66494f180345827b32a33fa24ae06ed4f199e9e1c2db6176f50b" }, "downloads": -1, "filename": "Pelops-0.3.3.tar.gz", "has_sig": false, "md5_digest": "5199962242158200ad8886ef28fcd579", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34588, "upload_time": "2019-03-11T21:37:46", "url": "https://files.pythonhosted.org/packages/ab/fb/847bf325bae85bacef2b9adb5015d6812fa83a6937c3a4493095a127a265/Pelops-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "005e9edde3f1c1a19a4460f7e7042ad6", "sha256": "f71fe2e987e6141e6664109654360ad282efec58f59da539394c5fa02784624d" }, "downloads": -1, "filename": "Pelops-0.3.4.tar.gz", "has_sig": false, "md5_digest": "005e9edde3f1c1a19a4460f7e7042ad6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34874, "upload_time": "2019-03-16T21:09:15", "url": "https://files.pythonhosted.org/packages/b2/d8/c4ad7bbda973c77b00dc2349952a58a8f47af9195d0b34e59d4f53d29dc1/Pelops-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "6bcc0fde41d454c370a71cd4ea062ae5", "sha256": "847759cecbc9d47df79a19b72deae631d52ec1f66791f861c6d758c6f69b4d5a" }, "downloads": -1, "filename": "Pelops-0.3.5.tar.gz", "has_sig": false, "md5_digest": "6bcc0fde41d454c370a71cd4ea062ae5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35038, "upload_time": "2019-03-24T19:30:03", "url": "https://files.pythonhosted.org/packages/51/d8/d86eb5fbcb1ee4e1348ce3b2ba4e63e94e40fcd42c5045ca4af55e7123a8/Pelops-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "2e7b68cd9ca5c95a812827b9a2cbfe9f", "sha256": "ac1f7a86cb5f7595cbba9d5b28c712788f7cfa1468441b410db24985d9800b19" }, "downloads": -1, "filename": "Pelops-0.3.6.tar.gz", "has_sig": false, "md5_digest": "2e7b68cd9ca5c95a812827b9a2cbfe9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35139, "upload_time": "2019-04-01T20:23:43", "url": "https://files.pythonhosted.org/packages/e5/41/b17362602b25393b56712d7ce4487af83aa997a88014bc687cc0598bebaa/Pelops-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "6a2032f68db56d6416d05cae53b77e9d", "sha256": "ee730ee1575f81132a019a3bbb706993833b89d3c4e934412551362d08429771" }, "downloads": -1, "filename": "Pelops-0.3.7.tar.gz", "has_sig": false, "md5_digest": "6a2032f68db56d6416d05cae53b77e9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35147, "upload_time": "2019-04-02T22:55:38", "url": "https://files.pythonhosted.org/packages/e0/50/04ab6fa1fdf501b9c4bf0494abc5c9f060ccf9a80dbfcf88cdd274b08757/Pelops-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "6101eff54a7e7da5779c6b39ed95b97b", "sha256": "d4b61e53a0d191edcbf94f05d1f3e01f99e6bb6eceff3769387fd294c176400e" }, "downloads": -1, "filename": "Pelops-0.3.8.tar.gz", "has_sig": false, "md5_digest": "6101eff54a7e7da5779c6b39ed95b97b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35393, "upload_time": "2019-04-04T21:24:56", "url": "https://files.pythonhosted.org/packages/06/2a/6f5c4af47613e9365829ee4bb15d32321d60e5db0f6b10f854c3f1d13e84/Pelops-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "6df628cf5221814e6f17d8c466d04ce5", "sha256": "2e2ce9fcc8e2199ea377e0f735dab63f7a9f5b7a6614f753d61295d030c0afaa" }, "downloads": -1, "filename": "Pelops-0.3.9.tar.gz", "has_sig": false, "md5_digest": "6df628cf5221814e6f17d8c466d04ce5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35411, "upload_time": "2019-04-05T20:22:16", "url": "https://files.pythonhosted.org/packages/46/23/fe49cf7f4425ade730a14ecd8750cd6cdf69ffe42a98c9d41a75edb0f5a0/Pelops-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0eb4d9709223b091453dc2b580309f8f", "sha256": "80061365a6eadcbf53f7265c7fc9f4bfc8aa68500bbce1541a68b6d05fa1bfa4" }, "downloads": -1, "filename": "Pelops-0.4.0.tar.gz", "has_sig": false, "md5_digest": "0eb4d9709223b091453dc2b580309f8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45847, "upload_time": "2019-04-07T18:14:44", "url": "https://files.pythonhosted.org/packages/12/ea/f2a7235766babf3fc7f0e59dd1e4a9b349fee40ad2570e5271d9f07ea1f0/Pelops-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "6721ef4fe042b5713b1857f02db53ad6", "sha256": "16b17e457e05e58f8080a2004558d13bbfe21eea52820ac9ecfb131347b371e9" }, "downloads": -1, "filename": "Pelops-0.4.1.tar.gz", "has_sig": false, "md5_digest": "6721ef4fe042b5713b1857f02db53ad6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46181, "upload_time": "2019-04-11T21:32:28", "url": "https://files.pythonhosted.org/packages/d0/e1/32ed67bffe14cb5889e7da99694cc9ab93b4a8ebf7dc662daa7524ce3001/Pelops-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "c7f030c3eb5edcd986b642eb021938af", "sha256": "b9f8d1fa827cf5587ae511a445d97b18a3b134e646cc1da04f1a9d8a87aee0f6" }, "downloads": -1, "filename": "Pelops-0.4.2.tar.gz", "has_sig": false, "md5_digest": "c7f030c3eb5edcd986b642eb021938af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46322, "upload_time": "2019-04-18T20:55:47", "url": "https://files.pythonhosted.org/packages/9b/08/5ae0cbc362344a9ddc3d70a6d41a50f22cbb7dbbb13e6dbf575e5c57724e/Pelops-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "35d7746b102369cfb5ee518156952ca7", "sha256": "2542908e1c4c5d36789e3cf5d4f917165cde67fee9da37798a9c03230b23906e" }, "downloads": -1, "filename": "Pelops-0.4.3.tar.gz", "has_sig": false, "md5_digest": "35d7746b102369cfb5ee518156952ca7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46362, "upload_time": "2019-05-09T21:16:11", "url": "https://files.pythonhosted.org/packages/87/94/24b864029b03154079e6e4f8d894c014b697cd62b06f23f54f41c93f1ab3/Pelops-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "ed98f64be1dae79823e4a87e5b61dbd4", "sha256": "4614a5de3e7b431fb19fae928011835408f88110c07bd510d58f7d6c803402f9" }, "downloads": -1, "filename": "Pelops-0.4.4.tar.gz", "has_sig": false, "md5_digest": "ed98f64be1dae79823e4a87e5b61dbd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46365, "upload_time": "2019-05-11T19:40:36", "url": "https://files.pythonhosted.org/packages/8a/d5/fac1a71d98e2e5c6984fa593231307041210b5e58d336687042198bbab12/Pelops-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "0e521144f9c8cc312f65086a97e712d3", "sha256": "06ea4ba441bdc85eb6e6b57852484dde595c50b2901e4b6f99e017a29b7dc697" }, "downloads": -1, "filename": "Pelops-0.4.5.tar.gz", "has_sig": false, "md5_digest": "0e521144f9c8cc312f65086a97e712d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46444, "upload_time": "2019-05-22T18:37:20", "url": "https://files.pythonhosted.org/packages/b2/1d/b310a8c214b2930bc1519265df0a4d6ff063d8aa04baa4cb8694064202f7/Pelops-0.4.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0e521144f9c8cc312f65086a97e712d3", "sha256": "06ea4ba441bdc85eb6e6b57852484dde595c50b2901e4b6f99e017a29b7dc697" }, "downloads": -1, "filename": "Pelops-0.4.5.tar.gz", "has_sig": false, "md5_digest": "0e521144f9c8cc312f65086a97e712d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46444, "upload_time": "2019-05-22T18:37:20", "url": "https://files.pythonhosted.org/packages/b2/1d/b310a8c214b2930bc1519265df0a4d6ff063d8aa04baa4cb8694064202f7/Pelops-0.4.5.tar.gz" } ] }