{ "info": { "author": "Fernando Lopez Aguilar, Guillermo Jimenez Prieto", "author_email": "fernando.lopezaguilar@telefonica.com, e.fiware.tid@telefonica.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License" ], "description": ".. _Top:\n\n===============================\nFIWARE Policy Manager GE: Facts\n===============================\n\n|License Badge| |Documentation Badge| |StackOverflow| |Build Status| |Coverage Status| |Docker badge| |Pypi Version|\n\n.. contents:: :local:\n\nIntroduction\n============\n\nThis is the code repository for **FIWARE Policy Manager GE - Facts**, a server\nto process the incoming facts from the `Orion Context Broker`_ and publish the\nresult into a RabbitMQ queue to be analysed by Fiware-Cloto. The facts are the\nresult of the server resources consumption.\n\nThis project is part of FIWARE_.\nCheck also the `FIWARE Catalogue entry for Policy Manager`__\n\n__ `FIWARE Policy Manager - Catalogue`_\n\nAny feedback on this documentation is highly welcome, including bugs, typos or\nthings you think should be included but aren't. You can use `github issues`__\nto provide feedback.\n\n__ `FIWARE Facts - GitHub issues`_\n\nTop_.\n\n\nGEi overall description\n=======================\n\nBosun GEri is the reference implementation of Policy Manager GE.\n\nBosun offers decision-making ability, independently of the type of resource\n(physical/virtual resources, network, service, etc.) being able to solve\ncomplex problems within the Cloud field by reasoning about the knowledge\nbase, represented by facts and rules. Bosun GEri provides the basic management\nof cloud resources based on rules, as well as management of the corresponding\nresources within FIWARE Cloud instances based on infrastructure physical\nmonitoring, resources and services security monitoring or whatever that\ncould be defined by facts, actions and rules.\n\nThe baseline for the Bosun GEri is PyCLIPS, which is a module to interact with\nCLIPS expert system implemented in Python language. The reason to take PyCLIPS\nis to extend the OpenStack ecosystem with an expert system, written in the same\nlanguage as the rest of the OpenStack services. Besides, It provides\nnotification service to your own HTTP server where you can define your\nown actions based on the notifications launched by Policy Manager.\nLast but not least, Bosun is integrated with the Monitoring GEri in order\nto recover the information of the (virtual) system and calculate any possible\nchange on it based on the knowledge database defined for it.\n\nTop_.\n\n\nComponents\n----------\n\nFiware-Cloto\n Fiware-Cloto is part of FIWARE Policy Manager. It provides a REST API to\n create rules associated to servers, subscribe servers to Context Broker to\n get information about resources consumption of that servers and launch\n actions described in rules when conditions are met.\n\nFiware-Facts\n Server to process the incoming facts from `Orion Context Broker`_ and\n publish the result into a RabbitMQ queue to be analysed by Fiware-Cloto.\n The facts are the result of the server resources consumption.\n\nFor more information, please refer to the documentation__\n\n__ `FIWARE Cloto - README`_\n\n\nTop_.\n\n\nBuild and Install\n=================\n\nRequirements\n------------\n\n- Operating systems: CentOS (RedHat) and Ubuntu (Debian), being CentOS 6.3 the\n reference operating system.\n\nTo install this module you have to install some components:\n\n- Python 2.7\n- Fiware-Cloto module (https://github.com/telefonicaid/fiware-cloto)\n- Redis 2.9.1 or above\n- RabbitMQ Server 3.3.0 or above (http://www.rabbitmq.com/download.html)\n- MySQL 5.6.14 or above (http://dev.mysql.com/downloads/mysql/)\n\n\nPlease, be sure you have installed mysql-devel package for development of MySQL\napplications. You should be able to install it from yum or apt-get package\nmanagers.\n\nExamples:\n\n.. code::\n\n centos$ sudo yum install mysql-devel\n ubuntu$ sudo apt-get install mysql-devel\n\nTop_.\n\n\n\nInstallation\n------------\n\n**Using pip**\nInstall the component by executing the following instruction:\n\n.. code::\n\n $ sudo pip install fiware-facts\n\nThis operation will install the component in your python site-packages folder.\n\nTop_.\n\n\nConfiguration file\n------------------\n\nThe configuration used by the fiware-facts component is read from the file\nlocated at ``/etc/fiware.d/fiware-facts.cfg``.\n\nMySQL cloto configuration must be filled before starting fiware-facts component,\nuser and password are empty by default. You can copy the `default configuration\nfile `_ to the folder defined for your OS, and\ncomplete data about Cloto MySQL configuration (user and password).\n\nIn addition, user could have a copy of this file in other location and pass its\nlocation to the server in running execution defining an environment variable\ncalled FACTS_SETTINGS_FILE.\n\nOptions that user could define:\n\n::\n\n [common]\n brokerPort: 5000 # Port listening fiware-facts\n clotoPort: 8000 # Port listening fiware-cloto\n redisPort: 6379 # Port listening redis-server\n redisHost: localhost # Address of redis-server\n redisQueue: policymanager\n rabbitMQ: localhost # Address of RabbitMQ server\n cloto: 127.0.0.1 # Address of fiware-cloto\n clotoVersion: v1.0\n name: policymanager.facts\n maxTimeWindowsize: 10\n\n [mysql]\n host: localhost # address of mysql that fiware-cloto is using\n charset: utf8\n db: cloto\n user: # mysql user\n password: # mysql password\n\n [loggers]\n keys: root\n\n [handlers]\n keys: console, file\n\n [formatters]\n keys: standard\n\n [formatter_standard]\n class: logging.Formatter\n format: %(asctime)s %(levelname)s policymanager.facts %(message)s\n\n [logger_root]\n level: INFO # Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)\n handlers: console, file\n\n [handler_console]\n level: DEBUG\n class: StreamHandler\n formatter: standard\n args: (sys.stdout,)\n\n [handler_file]\n level: DEBUG\n class: handlers.RotatingFileHandler\n formatter: standard\n logFilePath: /var/log/fiware-facts\n logFileName: fiware-facts.log\n logMaxFiles: 3\n logMaxSize: 5*1024*1024 ; 5 MB\n args: ('%(logFilePath)s/%(logFileName)s', 'a', %(logMaxSize)s, %(logMaxFiles)s)\n\n\nTop_.\n\n\nRunning\n=======\n\nExecute command:\n\n.. code::\n\n $ gunicorn facts.server:app -b $IP:5000\n\nWhere $IP should be the IP assigned to the network interface that should be\nlistening (ej. 192.168.1.33)\n\nYou can also execute the server with a different settings file providing an\nenvironment variable with the location of the file:\n\n.. code::\n\n $ gunicorn facts.server:app -b $IP:5000 --env FACTS_SETTINGS_FILE=/home/user/fiware-facts.cfg\n\nNOTE: if you want to see gunicorn log if something is going wrong, you could\nexecute the command before adding ``--log-file=-`` at the end of the command.\nThis option will show the logs in your prompt.\n\nFinally, ensure that you create a folder for logs ``/var/log/fiware-facts/``\n(by default), with the right permissions to write in that folder.\n\n.. code::\n\n $ sudo mkdir -p /var/log/fiware-facts\n\n\nRunning with supervisor\n-----------------------\n\nOptionally you can add a new layer to manage gunicorn process with a supervisor.\nJust install supervisor on your system:\n\n.. code::\n\n $ sudo apt-get install supervisor\n\nCopy the file ``utils/facts_start`` to ``/etc/fiware.d``.\nMake this script executable:\n\n.. code::\n\n $ sudo chmod a+x /etc/fiware.d/facts_start\n\nCopy the file ``utils/fiware-facts.conf`` to ``/etc/supervisor/conf.d``.\n\nStart fiware-facts using supervisor:\n\n.. code::\n\n $ sudo supervisorctl reread\n $ sudo supervisorctl update\n $ sudo supervisorctl start fiware-facts\n\nTo stop fiware-facts just execute:\n\n.. code::\n\n $ sudo supervisorctl stop fiware-facts\n\nNOTE: Supervisor provides an \u201cevent listener\u201d to subscribe to\n\u201cevent notifications\u201d. The purpose of the event notification/subscription\nsystem is to provide a mechanism for arbitrary code to be run (e.g. send an\nemail, make an HTTP request, etc) when some condition is satisfied. That\ncondition usually has to do with subprocess state. For instance, you may\nwant to notify someone via email when a process crashes and is restarted\nby Supervisor. For more information check also the `Supervisor Documentation`_.\n\nTop_.\n\n\nAPI Overview\n============\n\nServers will update their context. The context information contains the\ndescription of the CPU, Memory, Disk and Network usages.\n\nAn example of this operation could be:\n\n.. code::\n\n $ curl --include \\\n --request POST \\\n --header \"Content-Type: application/json\" \\\n --data-binary \"{\n \"contextResponses\": [\n {\n \"contextElement\": {\n \"attributes\": [\n {\n \"value\": \"0.12\",\n \"name\": \"usedMemPct\",\n \"type\": \"string\"\n },\n {\n \"value\": \"0.14\",\n \"name\": \"cpuLoadPct\",\n \"type\": \"string\"\n },\n {\n \"value\": \"0.856240\",\n \"name\": \"freeSpacePct\",\n \"type\": \"string\"\n },\n {\n \"value\": \"0.8122\",\n \"name\": \"netLoadPct\",\n \"type\": \"string\"\n }\n ],\n \"id\": \"Trento:193.205.211.69\",\n \"isPattern\": \"false\",\n \"type\": \"host\"\n },\n \"statusCode\": {\n \"code\": \"200\",\n \"reasonPhrase\": \"OK\"\n }\n }\n ]\n }\" \\\n 'http://policymanager-host.org:5000/v1.0/d3fdddc6324c439780a6fd963a9fa148/servers/52415800-8b69-11e0-9b19-734f6af67565'\n\nThis message follows the NGSI-10 information model but using JSON format.\n\nThe response has no body and should return 200 OK.\n\nTop_.\n\n\nAPI Reference Documentation\n---------------------------\n\n- `FIWARE Policy Manager v1 (Apiary)`__\n\n__ `FIWARE Policy Manager - Apiary`_\n\nTop_.\n\n\nTesting\n=======\n\nUnit tests\n----------\n\nTo execute the unit tests you must have a redis-server and a rabbitmq-server up\nand running. Please take a look to the installation manual in order to configure\nthose components.\n\nAfter that, you can execute this folloing commands:\n\n.. code::\n\n $ pip install -r requirements_dev.txt\n $ export PYTHONPATH=$PWD\n $ nosetests -s -v --cover-package=facts --with-cover\n\n\nTop_.\n\n\nEnd-to-end tests\n----------------\n\nOnce you have fiware-facts running you can check the server executing:\n\n.. code::\n\n $ curl http://$HOST:5000/v1.0\n\nWhere:\n\n**$HOST**: is the url/IP of the machine where fiware facts is installed, for\nexample: (policymanager-host.org, 127.0.0.1, etc)\n\nThe request before should return a response with this body if everything is ok:\n\n::\n\n {\"fiware-facts\":\"Up and running...\"}\n\n\n\nPlease refer to the `Installation and administration guide`__ for details.\n\n__ `FIWARE Cloto - E2E tests`_\n\nTop_.\n\n\n\nAcceptance tests\n----------------\n\nAll detailed documentation about acceptance tests can be consulted in\n`FACTS Acceptance Test Project `_\n\n**Requirements**\n\n- `Python`_ or newer (2.x).\n- `pip`_.\n- `Virtualenv`_.\n- `FIWARE Facts`_.\n\n**Environment preparation**\n\n1. Create a virtual environment somewhere::\n\n $ virtualenv $WORKON_HOME/venv\n\n#. Activate the virtual environment::\n\n\n\n $ source $WORKON_HOME/venv/bin/activate)\n\n\n\n#. Go to `$FACTS_HOME/tests/acceptance` folder in the project.\n#. Install the requirements for the acceptance tests in the virtual environment::\n\n $ pip install -r requirements.txt --allow-all-external)\n\n**Execution**\n\nExecute the following command in the acceptance test project directory::\n\n $ cd $FACTS_HOME/tests/acceptance\n $ behave features/component --tags ~@skip\n\nBefore executing, you shoud configure properly the project settings file in\n``$FACTS_HOME/tests/acceptance/settings/settings.json``. Take a look at the\n`FACTS Acceptance Test Project `_ documentation.\n\nTop_.\n\n\nAdvanced topics\n===============\n\n- `Installation and administration `_\n- `User and programmers guide `_\n- `Open RESTful API Specification `_\n- `Architecture Description `_\n\nTop_.\n\n\nSupport\n=======\n\nAsk your thorough programming questions using stackoverflow_ and your general\nquestions on `FIWARE Q&A`_. In both cases please use the tag *fiware-bosun*.\n\nTop_.\n\n\nLicense\n=======\n\n\\(c) 2014-2016 Telef\u00f3nica Investigaci\u00f3n y Desarrollo S.A.U., Apache License 2.0\n\n.. IMAGES\n\n.. |Build Status| image:: https://travis-ci.org/telefonicaid/fiware-facts.svg?branch=develop\n :target: https://travis-ci.org/telefonicaid/fiware-facts\n :alt: Build status\n.. |Coverage Status| image:: https://img.shields.io/coveralls/telefonicaid/fiware-facts/develop.svg\n :target: https://coveralls.io/r/telefonicaid/fiware-facts\n :alt: Coverage status\n.. |Pypi Version| image:: https://badge.fury.io/py/fiware-facts.svg\n :target: https://pypi.python.org/pypi/fiware-facts/\n :alt: Version\n.. |License Badge| image:: https://img.shields.io/badge/license-Apache_2.0-blue.svg\n :target: LICENSE.txt\n :alt: License\n.. |StackOverflow| image:: https://img.shields.io/badge/support-sof-yellowgreen.svg\n :target: https://stackoverflow.com/questions/tagged/fiware-bosun\n :alt: Help? Ask questions...\n.. |Documentation Badge| image:: https://readthedocs.org/projects/fiware-cloto/badge/?version=latest\n :target: http://fiware-cloto.readthedocs.org/en/latest/?badge=latest\n.. |Docker badge| image:: https://img.shields.io/docker/pulls/fiware/bosun-facts.svg\n :target: https://hub.docker.com/r/fiware/bosun-facts\n :alt: Docker Pulls\n\n.. REFERENCES\n\n.. _FIWARE: https://www.fiware.org/\n.. _FIWARE Q&A: https://ask.fiware.org\n.. _FIWARE Ops: https://www.fiware.org/fiware-operations/\n.. _FIWARE Policy Manager - Apiary: https://jsapi.apiary.io/apis/policymanager/reference.html\n.. _FIWARE Facts: https://github.com/telefonicaid/fiware-facts\n.. _FIWARE Facts - GitHub issues: https://github.com/telefonicaid/fiware-facts/issues/new\n.. _FIWARE Cloto - README: https://github.com/telefonicaid/fiware-cloto/tree/master/doc/index.rst\n.. _FIWARE Cloto - E2E tests: https://github.com/telefonicaid/fiware-cloto/tree/master/doc/admin_guide.rst#end-to-end-testing\n.. _FIWARE Policy Manager - Catalogue: http://catalogue.fiware.org/enablers/policy-manager-bosun\n.. _Orion Context Broker: http://catalogue.fiware.org/enablers/publishsubscribe-context-broker-orion-context-broker\n.. _Python: http://www.python.org/\n.. _Behave: http://pythonhosted.org/behave/\n.. _pip: https://pypi.python.org/pypi/pip\n.. _Virtualenv: https://pypi.python.org/pypi/virtualenv\n.. _stackoverflow: http://stackoverflow.com/questions/ask\n.. _Supervisor Documentation: http://supervisord.org/events.html\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/telefonicaid/fiware-facts/tarball/v2.8.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/telefonicaid/fiware-facts", "keywords": "fiware,policy,manager,cloud", "license": "Apache 2.0", "maintainer": null, "maintainer_email": null, "name": "fiware-facts", "package_url": "https://pypi.org/project/fiware-facts/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/fiware-facts/", "project_urls": { "Download": "https://github.com/telefonicaid/fiware-facts/tarball/v2.8.0", "Homepage": "https://github.com/telefonicaid/fiware-facts" }, "release_url": "https://pypi.org/project/fiware-facts/2.8.0/", "requires_dist": null, "requires_python": null, "summary": "Server to process the incoming facts from the Orion Context Broker", "version": "2.8.0" }, "last_serial": 2397082, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "cf5e2d2fc3591d8f1917ffa229d19f0d", "sha256": "d46e4117ca192affbe6aa7572b7f7966d4375895d4b599fd6087386a1dcd9c8f" }, "downloads": -1, "filename": "fiware-facts-1.0.0.tar.gz", "has_sig": false, "md5_digest": "cf5e2d2fc3591d8f1917ffa229d19f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33335, "upload_time": "2015-02-27T08:55:51", "url": "https://files.pythonhosted.org/packages/05/9d/ee15eb4b72ca80ffbddda307117c4a9d950670510b4ce93f4e8c12051af4/fiware-facts-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "23f58cd70148422278028c07c80fe439", "sha256": "035b97db8332c436f3ed9ab793a9a4d42d96e5252d0c9a40e74b77c2c4be754e" }, "downloads": -1, "filename": "fiware-facts-1.1.0.tar.gz", "has_sig": false, "md5_digest": "23f58cd70148422278028c07c80fe439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35946, "upload_time": "2015-03-05T09:51:36", "url": "https://files.pythonhosted.org/packages/a6/1c/d69299c4a4a32d354a6a647ad9cb74c83326ef3d4ed12e29558d721a85cb/fiware-facts-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "d044013eb743b9b824b1b34e3361d7b9", "sha256": "a179582fe72057e5eeed1ac507d058fc852bea96aa9a3ebf1741c2ab2cfeeeeb" }, "downloads": -1, "filename": "fiware-facts1.2.0.tar.gz", "has_sig": false, "md5_digest": "d044013eb743b9b824b1b34e3361d7b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36354, "upload_time": "2015-04-01T15:19:07", "url": "https://files.pythonhosted.org/packages/cf/7a/fb384497ef65d28212b1e827b5979de71d10f1e585dac58130a0e6b2ba04/fiware-facts1.2.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "15654a920a08dc6e3c95959eb5535669", "sha256": "aee084640ff5f5c0e7b5a4d1537386eebd515b3ec92d8ed8e48ddba2b4494908" }, "downloads": -1, "filename": "fiware-facts-1.5.0.tar.gz", "has_sig": false, "md5_digest": "15654a920a08dc6e3c95959eb5535669", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41025, "upload_time": "2015-07-31T09:30:56", "url": "https://files.pythonhosted.org/packages/5b/f4/08bf7951504f5d40fca07a709031710cffc80c880eb559ea69f3bed41a70/fiware-facts-1.5.0.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "5dcaf75409f345093b2473e0bb29bdeb", "sha256": "29011d81eea0745942672edcc2b0aa8726b48665f4522d3aceddb424f2de4be2" }, "downloads": -1, "filename": "fiware-facts-1.8.0.tar.gz", "has_sig": false, "md5_digest": "5dcaf75409f345093b2473e0bb29bdeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35530, "upload_time": "2015-09-29T11:03:51", "url": "https://files.pythonhosted.org/packages/1d/bd/309ba8a4c0b3bef7819b0a4e508098fc6bf9db016a1f6468fc25110ef26b/fiware-facts-1.8.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "9c83b294b83f3e5edcbe2d10e0b081f9", "sha256": "6e311626e63e80ee8d4c48c5c7a7ce29d7989eec7341c9c4a47a80d11b4775f5" }, "downloads": -1, "filename": "fiware-facts-2.0.0.tar.gz", "has_sig": false, "md5_digest": "9c83b294b83f3e5edcbe2d10e0b081f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35750, "upload_time": "2015-10-23T08:59:30", "url": "https://files.pythonhosted.org/packages/e0/0d/b855a8e037fc95bd4d0a1818fbee6c7e2643d3c78a40106338f47528aaec/fiware-facts-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "31779710142d29a7ab0b06bbcfc429bd", "sha256": "230b8afeb0c0bd0cf2207172481eeeb84a54a3dcb91a66ed6f41b0d8c79795a1" }, "downloads": -1, "filename": "fiware-facts-2.1.0.tar.gz", "has_sig": false, "md5_digest": "31779710142d29a7ab0b06bbcfc429bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36051, "upload_time": "2015-12-01T10:43:09", "url": "https://files.pythonhosted.org/packages/73/62/b2e678bdc0d3750bc2a9a3478ea752c606eb1e1e7ad8384b2575e19c4395/fiware-facts-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "8ca9f9cee06801b6a226b469a536061a", "sha256": "d447bbe8a9745f4226fd274e09b9035a94057eaedd48d64d3c4e22f74e1cb543" }, "downloads": -1, "filename": "fiware-facts-2.2.0.tar.gz", "has_sig": false, "md5_digest": "8ca9f9cee06801b6a226b469a536061a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36473, "upload_time": "2015-12-29T17:25:16", "url": "https://files.pythonhosted.org/packages/e6/97/b5b1b15506d7983f41ee147c059417bab8eba0050aa1d4a633a45c04cc22/fiware-facts-2.2.0.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "96e6fcb1b7e9fdad0210088c49b29131", "sha256": "b98d9b47a820f67130083db96529c512f61414b41d0a656857979075233e61f0" }, "downloads": -1, "filename": "fiware-facts-2.3.0.tar.gz", "has_sig": false, "md5_digest": "96e6fcb1b7e9fdad0210088c49b29131", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36731, "upload_time": "2016-02-01T14:02:41", "url": "https://files.pythonhosted.org/packages/67/9e/132c067a07401a8343e502474fad649e19378d32d533618147905611e9ea/fiware-facts-2.3.0.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "f69c1060078dc96db73ebf4f1019f9b5", "sha256": "98196668067be5913d5f09b2dedc1a63471be769ecb1b0b61efec98f43501bd0" }, "downloads": -1, "filename": "fiware-facts-2.4.0.tar.gz", "has_sig": false, "md5_digest": "f69c1060078dc96db73ebf4f1019f9b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36871, "upload_time": "2016-03-04T09:26:00", "url": "https://files.pythonhosted.org/packages/47/fc/08147698a07144d757ba2925b576f96d3d510420c8310cbf78f1edfe719a/fiware-facts-2.4.0.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "6a10fb8170701af647285115fc2feb7c", "sha256": "af532a01ee39867bfe9220dc9728701ca10e3e9470338aabb61d29a8163709d4" }, "downloads": -1, "filename": "fiware-facts-2.5.0.tar.gz", "has_sig": false, "md5_digest": "6a10fb8170701af647285115fc2feb7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36935, "upload_time": "2016-04-01T13:36:32", "url": "https://files.pythonhosted.org/packages/51/a3/787c9f33fd5f55aab28883a83bb3c68ba9d922b40192b915e6b3a704f909/fiware-facts-2.5.0.tar.gz" } ], "2.6.0": [ { "comment_text": "", "digests": { "md5": "89ef70f329244c9206dc55173738b51e", "sha256": "e42af78bcf11f41466d81d8b1a8200d7822c761b6904509dc7dbb53ea9a5f2e6" }, "downloads": -1, "filename": "fiware-facts-2.6.0.tar.gz", "has_sig": false, "md5_digest": "89ef70f329244c9206dc55173738b51e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36762, "upload_time": "2016-06-29T05:27:29", "url": "https://files.pythonhosted.org/packages/22/46/bbc3859e13d45686ee57e9770e1b97752ba4d627746f7d80dcb5694337c7/fiware-facts-2.6.0.tar.gz" } ], "2.8.0": [ { "comment_text": "", "digests": { "md5": "3f3db4329b4d0f3b81711b852d042695", "sha256": "c35681d685d5d44c7c03a6787f18d886be5f1404f92a516def9fc36924a73d69" }, "downloads": -1, "filename": "fiware-facts-2.8.0.tar.gz", "has_sig": false, "md5_digest": "3f3db4329b4d0f3b81711b852d042695", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37145, "upload_time": "2016-10-13T12:29:24", "url": "https://files.pythonhosted.org/packages/e4/47/017169af4ab61bdebfbfd98a90e104b106699b61f00727d50fe0f63555db/fiware-facts-2.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f3db4329b4d0f3b81711b852d042695", "sha256": "c35681d685d5d44c7c03a6787f18d886be5f1404f92a516def9fc36924a73d69" }, "downloads": -1, "filename": "fiware-facts-2.8.0.tar.gz", "has_sig": false, "md5_digest": "3f3db4329b4d0f3b81711b852d042695", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37145, "upload_time": "2016-10-13T12:29:24", "url": "https://files.pythonhosted.org/packages/e4/47/017169af4ab61bdebfbfd98a90e104b106699b61f00727d50fe0f63555db/fiware-facts-2.8.0.tar.gz" } ] }