{ "info": { "author": "Bruno Adel\u00e9", "author_email": "bruno@adele.im", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python" ], "description": ".. figure:: screenshot.png\n :alt: sample result\n\nAbout\n=====\n\n``serialkiller`` time series database with reduce system, it kill the same time series ! :)\n\n``serialkiller`` can be used in three different ways:\n- In command line\n- In http API REST mode\n- From library\n\nIn future, ``serialkiller`` will be run in centralized or decentralized mode\n\nSample architecture\n\n.. figure:: architecture.png\n :alt: architecture example\n\nInstalling\n==========\n\nTo install the latest release from `PyPI `_\n\n::\n\n $ pip install serialkiller\n\nTo install the latest development version from `GitHub `_\n\n::\n\n $ pip install git+git://github.com/badele/serialkiller.git\n\nConfiguration & Examples\n========================\n\nCopy sk_config.cfg from serialkiller package to /etc/sk_config.cfg and edit your ``.bashrc``, add this line \n\n::\n\n SERIALKILLER_SETTINGS=/etc/sk_config.cfg\n\nThe default `sk_config.cfg`\n\n::\n\n STORAGE = \"/tmp/sensors\"\n HOST = 0.0.0.0\n PORT = 80\n DEBUG = False\n\nNow you can run the serialkiller standalone server with `sk_standalone`\n\n::\n\n sk_server &\n\nYou can also use the supervisor, it's prefered solution\n\nExample of sk_server supervisor configuration\n\n::\n\n [program:sk_server]\n command=sk_server\n environment=SERIALKILLER_SETTINGS=\"/etc/sk_config.cfg\"\n user=username\n autostart=true\n autorestart=true\n redirect_stderr=true\n startsecs=5\n\nExample, if now you would like add a minimal sensor (ex: online computer) with auto-configuration type sensor\n\n::\n\n # From command line\n sk_command -a addvalue -s domsrv:computer:online -t byte -v value=255\n\n # From REST API\n wget serverip/api/1.0/addValue/domsrv:computer:online/byte/value=255\n\n # From library\n from serialkiller import lib\n obj = lib.Sensor(args.directory, args.sensorid, args.type)\n data = sktypes.newObj('byte', value=255)\n obj.addValue(data)\n\nList last sensors value\n\n::\n\n $ sk_command -a sensorslist\n\n SensorId S Time Title Value\n ----------------------------- --- ------------------- ---------------------------- -----------\n livingroom:demo:online 2014-01-31 08:50:55 Demo Online\n livingroom:vaio:inuse X 2014-01-30 23:17:14 Utilisation du poste Locked\n washroom:teleinfo:isousc 2014-01-31 08:51:00 Ampere souscrit 30\n livingroom:p03:online 2014-01-31 08:51:00 Serveur de virtualisation Online\n livingroom:vaio:online 2014-01-31 08:51:00 Portable stephanie Offline\n washroom:teleinfo:hchp 2014-01-31 08:51:00 Heure pleine 39674892\n washroom:teleinfo:papp 2014-01-31 08:51:00 Puissance en cours 1980\n washroom:video:online 2014-01-31 08:50:55 Video server Online\n livingroom:internet:available 2014-01-31 08:50:55 Conectiviteinternet Available\n washroom:teleinfo:iinst X 2014-01-31 00:22:47 Ampere en cours 10\n city:weather:sunshine 2014-01-31 08:50:55 Crepuscule du soleil Plein jours\n\n\nShow sensor information\n\n::\n\n $ sk_command -a sensorinfos -s domsrv:teleinfo:papp -t ushort\n\n Title Value\n ----------------------- --------------------------\n Sensorid domsrv:teleinfo:papp\n Sensor Type ushort\n NB lines 109845\n Min date 2012-06-27 16:43:00\n Max date 2014-01-28 21:25:30\n Min value 350 (2013-12-21 10:22:21)\n Max value 6710 (2013-08-07 18:57:14)\n Avg value 1578\n Avg delta (round ratio) 303\n Total size 1.361328125 Mo\n\nShow last sensor value\n\n::\n\n $ sk_command -a last -s domsrv:teleinfo:papp -t ushort\n\n 1730\n\nShow datas sensor\n\n::\n\n $ sk_command -a sensordatas -s domsrv:teleinfo:papp -t ushort -v tail=10\n\n Time Value\n ------------------- -------\n 2014-01-28 20:35:24 1640\n 2014-01-28 20:43:33 1700\n 2014-01-28 20:45:50 1680\n 2014-01-28 20:45:55 1580\n 2014-01-28 20:46:51 1660\n 2014-01-28 21:20:01 1580\n 2014-01-28 21:20:17 1590\n 2014-01-28 21:20:22 1680\n 2014-01-28 21:22:13 1740\n 2014-01-28 21:27:46 1730\n\n\nReduce data\n\n::\n\n # Before reduce\n\n Title Value\n ----------------------- --------------------------\n Sensorid domsrv:teleinfo:papp\n NB lines 514671\n Min date 2012-06-27 18:43:00\n Max date 2014-01-25 10:27:15\n Min value 350 (2013-11-17 05:24:23)\n Max value 6710 (2013-08-07 20:57:14)\n Avg value 1301\n Avg delta (round ratio) 76\n Total size 6.3798828125 Mo\n\n # reduce with 80 delta value\n\n $ sk_command -a setproperty -s domsrv:teleinfo:papp -t ushort -v roundvalue=80\n $ sk_command -a reduce -s domsrv:teleinfo:papp -t ushort\n\n # Reduce result\n\n Title Value\n ----------------------- --------------------------\n Sensorid domsrv:teleinfo:papp\n NB lines 107304\n Min date 2012-06-27 18:43:00\n Max date 2014-01-25 10:27:15\n Min value 350 (2013-12-21 11:22:21)\n Max value 6710 (2013-08-07 20:57:14)\n Avg value 1575\n Avg delta (round ratio) 302\n Total size 1.330078125 Mo\n\n**Compression ratio = 480%**\n\nYou can also use the `serialkiller-plugins `_ for push the sensors results. See the `serialkiller-plugins example `_\n\nYou can also point your web navigator to http://youipserver for list all JSON functions: \n\n::\n\n {\n\n \"/\": \"All serialkiller API functions\",\n \"/api/1.0/\": \"All serialkiller API functions\",\n \"/api/1.0/addEvent///\": \"Add a new event, no deduplicate\",\n \"/api/1.0/addValue///\": \"Add a new value, deduplicate line\",\n \"/api/1.0/list\": \"List all last sensors\"\n }\n\n\nYou can also see the result directely in my personnal `website `_Changelog\n=========\n\nVersion 0.0.2 (2014-02-08)\n--------------------------\n\n * Add skfloat type\n * Add unittest\n * Use supervisor for launch sk_server\n * Add sensor informations and reduce system\n * Lock file for concurent access\n * Replace chart.js by d3.js\n * Add metadata properties\n * Rename SerialKiller class to Sensor\n\nVersion 0.0.1 (2013-12-29)\n--------------------------\n\n* First version", "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/badele/serialkiller", "keywords": null, "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "serialkiller", "package_url": "https://pypi.org/project/serialkiller/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/serialkiller/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/badele/serialkiller" }, "release_url": "https://pypi.org/project/serialkiller/0.0.2/", "requires_dist": null, "requires_python": null, "summary": "timeseries database with reduce system", "version": "0.0.2" }, "last_serial": 994686, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "306cd3885452661e35eb64529cbf6d67", "sha256": "86231f0e41d2cec3fbff606e915a50aab1872de66e0847241dda34545bca5985" }, "downloads": -1, "filename": "serialkiller-0.0.2.tar.gz", "has_sig": false, "md5_digest": "306cd3885452661e35eb64529cbf6d67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85356, "upload_time": "2014-02-08T21:46:21", "url": "https://files.pythonhosted.org/packages/4a/10/d719f1e3f5d1e9655e4c2ee678a147bc714b99afa7b7b2c8b5e1ec2ef5d1/serialkiller-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "306cd3885452661e35eb64529cbf6d67", "sha256": "86231f0e41d2cec3fbff606e915a50aab1872de66e0847241dda34545bca5985" }, "downloads": -1, "filename": "serialkiller-0.0.2.tar.gz", "has_sig": false, "md5_digest": "306cd3885452661e35eb64529cbf6d67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85356, "upload_time": "2014-02-08T21:46:21", "url": "https://files.pythonhosted.org/packages/4a/10/d719f1e3f5d1e9655e4c2ee678a147bc714b99afa7b7b2c8b5e1ec2ef5d1/serialkiller-0.0.2.tar.gz" } ] }