{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Framework :: Django :: 2.2", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Contrail\n\n[![PyPI version](https://badge.fury.io/py/contrail.svg)](https://badge.fury.io/py/contrail)\n\n### Public Cloud Market Price Tracker\n\n### UC Davis ECS 193, 2019\nContrail is a public cloud market price tracker that allows you to easily access and compare the prices and\ncharacteristics of VMs over various locations, cloud providers, and times.\n\n## Quick Start\n### Virtual Environment\nCreate virtual environment:\n```\nvirtualenv -p python3 venv\nOR\npython3 -m virtualenv venv\n```\n\nStart virtual environment:\n```\nsource venv/bin/activate\n```\n\nYou should see `(venv)` show up in command prompt.\n\nInstall requirements our project uses:\n```\npip install -r requirements.txt\n```\n\nTo exit virtual environment:\n```\ndeactivate\n```\n\n\n### Configure\nBy default, the site will read data from the official Contrail database. To collect your own data, see [Collecting \nyour own data](#collecting-your-own-data) below.\n\n### Start Django\nMake sure you are in the main Contrail folder and the virtual environment is activated.\n\nCollect static files:\n```\npython contrail.py frontend collectstatic\n```\n\nStart the Django server:\n```\npython contrail.py frontend runserver\n```\n\nOpen [127.0.0.1:8000](http://127.0.0.1:8000) in a browser.\n\n\n## API\n`/api/getinstances/`\\\nGiven attributes, return instances that match and their prices\\\nrequest:\n```\n{\n 'operating_system': \"Linux\",\n 'aws': \"True\",\n 'gcp': \"True\",\n 'azure': \"False\",\n 'region': None,\n 'vcpus': None,\n 'memory': 8,\n}\n```\nresponse:\n```\n{\n \"instance_type\": \"c4\"\n \"operating_system\": \"Linux\",\n \"provider\": \"AWS\",\n \"region\": \"US East\",\n \"vcpus\": 8,\n \"memory\": 8,\n \"reserved\", \"spot\",\n \"price_type\": \"on_demand\",\n \"price\": 0.233,\n \"price_unit\": \"per hour\"\n}\n```\n\n\n## Collecting your own data\nContrail is split into a few distinct components:\n- Crawler: Collects and stores raw offer data from various cloud providers.\n- Loader: Parses raw offer data and stores it in a Clickhouse data warehouse.\n- API/Frontend: Communicates with the data warehouse and displays data nicely.\n\nThe Quick Start above only sets up the API/Frontend component. By default, it points to our own data source. You will\nhave to set up your own backend (crawler and loader) to collect your own data.\n\nRead more about setting up the first two components here:\n[Crawler](/crawler/README.md),\n[Loader](/contrail/loader/README.md).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/joshuaprince/Contrail", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "contrail", "package_url": "https://pypi.org/project/contrail/", "platform": "", "project_url": "https://pypi.org/project/contrail/", "project_urls": { "Homepage": "https://github.com/joshuaprince/Contrail" }, "release_url": "https://pypi.org/project/contrail/1.0.2/", "requires_dist": [ "boto3", "cachetools", "Django (<3)", "django-crispy-forms", "infi.clickhouse-orm", "requests" ], "requires_python": "", "summary": "Public cloud market price tracker for Amazon EC2 and Azure", "version": "1.0.2" }, "last_serial": 5369907, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "55282fa5aa6eb3e5f4e0dc097ed0514d", "sha256": "50853e65e22cdb22b3ec27cccb256f9d03adf852766074045e5db4377cd0e997" }, "downloads": -1, "filename": "contrail-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "55282fa5aa6eb3e5f4e0dc097ed0514d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 50752, "upload_time": "2019-06-01T21:03:48", "url": "https://files.pythonhosted.org/packages/ee/26/89b43cf5d0e4091b4b53ff99df0f23265e26ef5cab4eae68fc91d22d7b59/contrail-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0264986228967cda63c3c44d5d24d84", "sha256": "a817abc5c51899c3973215788c2bda96cb911ccc47caf9f3bdb3457e7945c5ef" }, "downloads": -1, "filename": "contrail-0.2.tar.gz", "has_sig": false, "md5_digest": "b0264986228967cda63c3c44d5d24d84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34248, "upload_time": "2019-06-01T21:03:50", "url": "https://files.pythonhosted.org/packages/d2/7e/48a5295d786685675f874020da2d68d7c877fdf43604e92767af295b6663/contrail-0.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f5431167ee89e0478a01c065643bbe14", "sha256": "750e96b7e02adf966ecb4f48f7a571433a4192f9366b5a204fb9c29d55025e05" }, "downloads": -1, "filename": "contrail-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f5431167ee89e0478a01c065643bbe14", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 54242, "upload_time": "2019-06-02T04:34:36", "url": "https://files.pythonhosted.org/packages/4c/5e/432ac6a59158e3fa09730eef5e1d73cbe17d373674c686ae89d80cbadab7/contrail-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14beff069ec96950bed3316c6bad7353", "sha256": "fb47a7503cc4cc8a1aafb49e4c1d627f9761c7c712ef6d8f93a907c16fa4d49b" }, "downloads": -1, "filename": "contrail-0.3.0.tar.gz", "has_sig": false, "md5_digest": "14beff069ec96950bed3316c6bad7353", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36132, "upload_time": "2019-06-02T04:34:37", "url": "https://files.pythonhosted.org/packages/1e/cb/86a2d99f8a344e6cc8521d3003fb18255e5992c83fc28665c3d1a8dca503/contrail-0.3.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "ca4fb805c31aa2b80cd9c83be633f800", "sha256": "6bed497a4cea7b64b1685e32219fb1bf909f1fbe6055fb656ca8f537c8db88d1" }, "downloads": -1, "filename": "contrail-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ca4fb805c31aa2b80cd9c83be633f800", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 55016, "upload_time": "2019-06-06T15:08:47", "url": "https://files.pythonhosted.org/packages/60/ba/fb824c76c78e8c6531a8f467f7228d42108dbd0c2a6da68fafbf4e8a3b99/contrail-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "197272ced7c4bd1cfa537fd594f8a331", "sha256": "acff4230030cbb54ec9f5d064ef31667fc5a5bb5ada0ee6efcdc632bc3fcde55" }, "downloads": -1, "filename": "contrail-1.0.0.tar.gz", "has_sig": false, "md5_digest": "197272ced7c4bd1cfa537fd594f8a331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36985, "upload_time": "2019-06-06T15:08:48", "url": "https://files.pythonhosted.org/packages/52/ab/ba51acbddf12dcda3a94c6102b5b2a29f38a8e1012a1409afe2a21df0251/contrail-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "bfc5d3bc38063a97283aaf8e049a60ba", "sha256": "f891f7e385ca8c7049b25c3e3f5b71755ab135aad16c77869a31f51e58e767f2" }, "downloads": -1, "filename": "contrail-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bfc5d3bc38063a97283aaf8e049a60ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 53982, "upload_time": "2019-06-06T17:41:30", "url": "https://files.pythonhosted.org/packages/5c/3c/3ccf73555d5585bf6ef2e4ef75c98916e3501273fd0b80d0f6f33d8a7b02/contrail-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01a72ae8b501ae526f2d3e7ed0588d3a", "sha256": "246b795c5ee96e1c9effce324a78c15ae2703822cab8dc3e290bbf44aa99d30b" }, "downloads": -1, "filename": "contrail-1.0.1.tar.gz", "has_sig": false, "md5_digest": "01a72ae8b501ae526f2d3e7ed0588d3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36589, "upload_time": "2019-06-06T17:41:32", "url": "https://files.pythonhosted.org/packages/21/b4/b515f1b3e96950ae048128c36b70dd78a51f6afd1893c9601a7488743d00/contrail-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "cc53ac61bd2ec95104ccd59748ea8ba5", "sha256": "379090fbba58267d5846a6197f65d65448b8d42cdbbe490f018bb9f29dfbc57f" }, "downloads": -1, "filename": "contrail-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cc53ac61bd2ec95104ccd59748ea8ba5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 55009, "upload_time": "2019-06-07T02:58:51", "url": "https://files.pythonhosted.org/packages/41/3e/f058b1b2fbcfe2bed384c82ca2e97f7e694b3e57dba1c36f8564e3fa339d/contrail-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c3e84bbe19f703d4dea8cb225f5ccaa", "sha256": "42f9ad0a8c313eb32d3426db7bea399da4a187e21784f09258589ede18966622" }, "downloads": -1, "filename": "contrail-1.0.2.tar.gz", "has_sig": false, "md5_digest": "9c3e84bbe19f703d4dea8cb225f5ccaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36995, "upload_time": "2019-06-07T02:58:52", "url": "https://files.pythonhosted.org/packages/fb/e6/e2d7814cecdfd2e8684cecf544c8054db1de6d79f697691e89cfe30f63e2/contrail-1.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cc53ac61bd2ec95104ccd59748ea8ba5", "sha256": "379090fbba58267d5846a6197f65d65448b8d42cdbbe490f018bb9f29dfbc57f" }, "downloads": -1, "filename": "contrail-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cc53ac61bd2ec95104ccd59748ea8ba5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 55009, "upload_time": "2019-06-07T02:58:51", "url": "https://files.pythonhosted.org/packages/41/3e/f058b1b2fbcfe2bed384c82ca2e97f7e694b3e57dba1c36f8564e3fa339d/contrail-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c3e84bbe19f703d4dea8cb225f5ccaa", "sha256": "42f9ad0a8c313eb32d3426db7bea399da4a187e21784f09258589ede18966622" }, "downloads": -1, "filename": "contrail-1.0.2.tar.gz", "has_sig": false, "md5_digest": "9c3e84bbe19f703d4dea8cb225f5ccaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36995, "upload_time": "2019-06-07T02:58:52", "url": "https://files.pythonhosted.org/packages/fb/e6/e2d7814cecdfd2e8684cecf544c8054db1de6d79f697691e89cfe30f63e2/contrail-1.0.2.tar.gz" } ] }