{ "info": { "author": "Ashwin Kondapalli", "author_email": "ashwin@gettalent.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Topic :: Software Development :: Quality Assurance" ], "description": "Introduction\n============\n\nPyLodge is a framework that integrates the automated tests with Test Lodge. It will update the status of the test cases\nin Test Lodge based on the execution status of the automation script. In case of Failed test cases, it will create a\ndefect in the issue tracker if the project in Test Lodge has the issue tracker configured.\n\nInstallation\n============\n\nTo install pillage, type the following command in the command line\n\n.. code-block:: bash\n\n $ pip install pylodge\n\nQuickstart\n==========\n\nThe user need to pass 4 basic arguments at the time of instantiating the PyLodge class.\nThey are the Test Lodge API endpoint URL, Test Lodge project, Test Lodge user name and Test Lodge password.\nThere are various ways that the user can pass these arguments.\nThe user can store these values in environment variables and then pass the values at the time of instantiating the\nPyLodge class. Once the PyLodge class is instantiated, the user can call any of the following pylodge methods .\n\n**1. fetch_and_save_project_id()**\n\nThis method returns the id of the specified test lodge project .\n\nUsage example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n project_id = pylodge_obj.fetch_and_save_project_id()\n\n**2. create_test_run()**\n\nThis method will create a test run in Test Lodge including all test suites in it. It will return the run id of the\ncreated test run.\n\nArguments:\nrun_name (optional) : The name of the test run that you want to create in test lodge. if this argument is not passed\npylodge will create a test run in Test Lodge by a default name The default test run name is\n\\Automated_Test_Run_(Current Timestamp)\n\nUsage example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\n \u2028 os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n run_id = pylodge_obj.create_test_run(\u2018Sample_Test_Run\u2019)\n\n**3. fetch_test_run_name()**\n\nThis method will get the test run name for the provided run id.\n\nArguments:\nrun_id : The run id of the Test run that need to be fetched.\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n run_id = pylodge_obj. fetch_test_run_name(\u201812345\u2019)\n\n**4. fetch_test_run_id()**\n\nThis method will get the test run id for the provided test run name.\n\nArguments:\ntest_run_name: The name of the Test run that need to be fetched.\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\n \u2028 os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n run_id = pylodge_obj. fetch_test_run_id(\u2018Sample_Test_Run\u2019)\n\n**5. update_test_run_name()**\n\nThis method will update the test run name provided the run id and new the new test run name .\n\nArguments:\nrun_id: The id of the test run that need to be updated.\ntest_run_name: The new name of the Test run .\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\n \u2028 os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n pylodge_obj. update_test_run_name(\u201812345\u2019,\u2018Updated_Test_Run\u2019)\n\n**6. delete_redundant_test_runs()**\n\nThis method will delete any redundant test runs matching the provided test run name except the latest one.\n\nArguments:\ntest_run_name: The name of the Test run which has redundant test runs with the same name.\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n pylodge_obj. delete_redundant_test_runs(\u2018My_Test_Run\u2019)\n\n**7. fetch_and_save_test_case_id_from_test_name()**\n\nThis method will fetch the executed step id of a executed step in a test run if executed step title is provided\n\nArguments:\ntest_name: The title of the test case for which the id needs to be fetched\n\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n run_id = pylodge_obj.create_test_run(\u2018Sample_Test_Run\u2019)\n\n test_case_id = pylodge_obj. fetch_and_save_test_case_id_from_test_name(\u2018My_Test_Case_Title\u2019)\n\n**8. mark_test_as_passed()**\n\nThis method will mark the executed step in a test run as \u201cPassed\u201d in Test Lodge provided the executed step title.\n\nArguments:\ntest_name: The title of the test case for which the status need to be marked in Test Lodge\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n run_id = pylodge_obj.create_test_run(\u2018Sample_Test_Run\u2019)\n\n pylodge_obj.mark_test_as_passed(\u2018My_Test_Case_Title\u2019)\n\n**9. mark_test_as_failed()**\n\nThis method will mark the executed step in a test run as \u201cFailed\u201d in Test Lodge provided the executed step title.\nIt will create a issue tracker ticket if the issue tracker is configured for the project.\n\nArguments:\ntest_name: The title of the test case for which the status need to be marked in Test Lodge\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n run_id = pylodge_obj.create_test_run(\u2018Sample_Test_Run\u2019)\n\n pylodge_obj.mark_test_as_failed(\u2018My_Test_Case_Title\u2019)\n\n**10. mark_test_as_skipped()**\n\nThis method will mark the executed step in a test run as \u201cSkipped\u201d in Test Lodge provided the executed step title.\n\nArguments:\ntest_name: The title of the test case for which the status need to be marked in Test Lodge\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n run_id = pylodge_obj.create_test_run(\u2018Sample_Test_Run\u2019)\n\n pylodge_obj. mark_test_as_skipped(\u2018My_Test_Case_Title\u2019)\n\n**11. mark_test_as_passed_runid()**\n\nThis method will mark the executed step in a test run as \u201cPassed\u201d in Test Lodge provided the test run id and the\nexecuted step title.\n\nArguments:\nrun_id: The run id of the test run which contains the executed step\ntest_name: The title of the test case for which the status need to be marked in Test Lodge\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\n \u2028 os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n pylodge_obj. mark_test_as_passed_runid(\u201812345\u2019,\u2018My_Test_Case_Title\u2019)\n\n**12. mark_test_as_failed_runid()**\n\nThis method will mark the executed step in a test run as \u201cFailed\u201d in Test Lodge provided the test run id and the\nexecuted step title. It will create a issue tracker ticket if the issue tracker is configured for the project.\n\nArguments:\nrun_id: The run id of the test run which contains the executed step\ntest_name: The title of the test case for which the status need to be marked in Test Lodge\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n pylodge_obj. mark_test_as_failed_runid(\u201812345\u2019,\u2018My_Test_Case_Title\u2019)\n\n\n**13. mark_test_as_skipped_runid()**\n\nThis method will mark the executed step in a test run as \u201cSkipped\u201d in Test Lodge provided the test run id and the\nexecuted step title.\n\nArguments:\nrun_id: The run id of the test run which contains the executed step\ntest_name: The title of the test case for which the status need to be marked in Test Lodge\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\n \u2028 os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n pylodge_obj. mark_test_as_skipped_runid(\u201812345\u2019,\u2018My_Test_Case_Title\u2019)\n\n**14. mark_test_status()**\n\nThis method will mark the executed step in a test run as \u201cPassed\u201d / \u201cFailed\u201d / \u201cSkipped\u201d in Test Lodge provided\ntest run name and the executed step title.\n\nArguments:\ntest_case_name: The title of the test case for which the status need to be marked in Test Lodge.\ntest_run_name(optional): The run name of the test run which contains the executed step.\nif None, pylodge will assume the created test run as the test run that has the executed test.\nstatus(optional): The execution status of the test. \u201cPassed\u201d / \u201cFailed\u201d / \u201cSkipped\u201d . The default is \u2018Skipped\u2019.\ntest_log(optional): It is possible to pass a runtime log in to this method. If this argument is appropriately set,\nthen pylodge will also insert the runtime log as a comment for the executed step\n\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n pylodge_obj. mark_test_status(test_case_name=\u2018My_Test_Case_Title\u2019,test_run_name=\u2018My_Test_Run\u2019,status=\u2018passed\u2019)\n\n**15. mark_test_status_multiple()**\n\nThis method will mark multiple executed steps in a test run as \u201cPassed\u201d / \u201cFailed\u201d / \u201cSkipped\u201d in Test Lodge provided\nexecuted step ids / titles as list . It will expect either executed step ids or executed step titles as argument.\nIf you provide one, the other will become optional.\n\nArguments:\ntest_case_names: The list of titles of the test cases for which the status need to be marked in Test Lodge.\ntest_case_ids: The list of ids of the test cases for which the status need to be marked in Test Lodge\ntest_run_name(optional): The run name of the test run which contains the executed step.\nif None, pylodge will assume the created test run as the test run that has the executed test.\nstatus(optional): The execution status of the test. \u201cPassed\u201d / \u201cFailed\u201d / \u201cSkipped\u201d . The default is \u2018Skipped\u2019.\n\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\n \u2028 os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n pylodge_obj. mark_test_status_multiple(test_case_ids=[\u20181000\u2019,\u20191001\u2019,\u20191002\u2019],test_run_name=\u2018My_Test_Run\u2019,status=\u2018passed\u2019)\n\n**15. fetch_and_save_not_run_test_case_ids()**\n\nThis method will fetch all the executed steps in a given test run that are \u201cNot Run\u201d as a list . it will return all the ids as list\n\nArguments:\ntest_run_name: The run name of the test run which contains the not run executed steps. i\n\nUsage Example::\n\n pylodge_obj = pylodge.PyLodge(os.environ['TESTLODGE_USERNAME'], os.environ['TESTLODGE_PASSWORD'],\u2028\n os.environ['TESTLODGE_PROJECT'], os.environ['TESTLODGE_API_URL'])\n\n pylodge_obj. fetch_and_save_not_run_test_case_ids(test_run_name=\u2018My_Test_Run\u2019)\n\n\nExample Implementation with selenium webdriver, pytest, xdist and redis :\n=========================================================================\n\nMy example assumes the test automation project directory structure as mentioned below and using pytest\n\nmyproject/\n\n pages/\n\n page1.py\n page2.py\n \u2026\n tests/\n\n \\__init__.py\n conftest.py\n\n module-1-folder/\n\n test_functional_test_group1.py\n\n module-2-folder/\n\n test_functional_test_group2.py\n \u2026\n updatetestlodge.py\n\n\nThe actual tests are implemented as methods inside the test_functional_test_group1.py files. So each of those methods\nwill have a prefix as \u2018test_\u2019 as a standard pytest naming convention and then followed by the test lodge prefix .\nFor example if test_tc01_create_user() is the automated test, \u2018create_user\u2019 will be the associated manual test case\nin test lodge and tc01 will be the prefix of that test case.\n\nFor our tests we used pytest and redis. The conftest_.py file for our implementation can be found here conftest_ .\nDownload and start the redis server before running the tests.\n\n.. _conftest: https://gist.github.com/akondapalli/60165ad869f88d4f00bd#file-conftest-py\n\u2028\nOnce the automated scripts are run, the tests along with the execution status and the logs are saved in to redis keys.\nYou need to write another python script that will extract these reds keys and update the Test Lodge .\nHere_ is the code that should be saved in a .py file and executed after all tests are run.\n\n\n.. _Here: https://gist.github.com/akondapalli/60165ad869f88d4f00bd#file-updatetestlodge-py", "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/gettalent/pylodge", "keywords": "TestLodge,test automation,pylodge", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pylodge", "package_url": "https://pypi.org/project/pylodge/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pylodge/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/gettalent/pylodge" }, "release_url": "https://pypi.org/project/pylodge/0.3.2/", "requires_dist": null, "requires_python": null, "summary": "Test Automation framework for TestLodge", "version": "0.3.2" }, "last_serial": 2196385, "releases": { "0.1.5": [], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3d6625d958ab576b4998e3ad9037957f", "sha256": "069f871f9a8bc929cfd49eb17aa284e0a72195197e55eb6c3ba949564c6a2f6d" }, "downloads": -1, "filename": "pylodge-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3d6625d958ab576b4998e3ad9037957f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3724, "upload_time": "2015-08-18T00:35:20", "url": "https://files.pythonhosted.org/packages/18/03/460c8ed51e9d6b1246cd307614c21771b28420ca4616e6c9b3f35d1b5321/pylodge-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "afe29ceaed1ae031572a24ba4faec314", "sha256": "3c1ca9cc9a331d48e0bf73302d7379e1e24fc6154c02309823c5e94c41902f0d" }, "downloads": -1, "filename": "pylodge-0.1.7.tar.gz", "has_sig": false, "md5_digest": "afe29ceaed1ae031572a24ba4faec314", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3245, "upload_time": "2015-08-19T00:19:59", "url": "https://files.pythonhosted.org/packages/0f/fa/a22a86a53da3f1790e6e57629acbc70f03b8186d71ded69e25d8855fdda5/pylodge-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "e7d9d00c93956ad269eb03d8e6e84ca4", "sha256": "c47a6c46a63ed5efb5454dd510e547f37b37416696c33924488315e10244e20f" }, "downloads": -1, "filename": "pylodge-0.1.8.tar.gz", "has_sig": false, "md5_digest": "e7d9d00c93956ad269eb03d8e6e84ca4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3316, "upload_time": "2015-08-19T23:12:50", "url": "https://files.pythonhosted.org/packages/ed/ea/e89f7edc179236391103f88a3854b8051a4c899b0006c7a71459540755b7/pylodge-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "8fd171f5e43dd5158bec59b7ebb2fdb8", "sha256": "8fded2e3dab7cf9327e4ca1d788caf4ea670be0d8afd352d1c7c5fa25c4ae562" }, "downloads": -1, "filename": "pylodge-0.1.9.tar.gz", "has_sig": false, "md5_digest": "8fd171f5e43dd5158bec59b7ebb2fdb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3312, "upload_time": "2015-08-19T23:39:55", "url": "https://files.pythonhosted.org/packages/37/c7/763df092e5766cc84777a171c718f7a913808ec3cc22942285233a067f59/pylodge-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8a8941dc56c103665d88b2e68d83cb8e", "sha256": "ccb8d5975eff9fda18299fede3d02231102a4f2a7c5e7dd6393c253add130a14" }, "downloads": -1, "filename": "pylodge-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8a8941dc56c103665d88b2e68d83cb8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3435, "upload_time": "2015-08-31T21:22:34", "url": "https://files.pythonhosted.org/packages/38/6c/08aebbcdc28751b3657bc89753958b6e5e1b4c951bbeff08a3416e3e8d12/pylodge-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f23d50a6c19ee701b3fca48f13b1700e", "sha256": "8a6e777fba2a9b7710996c878f86236b28375790e887ca3fb13ca36999f8f377" }, "downloads": -1, "filename": "pylodge-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f23d50a6c19ee701b3fca48f13b1700e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3431, "upload_time": "2015-08-31T21:57:55", "url": "https://files.pythonhosted.org/packages/d1/97/64c09b2bb096402f4a131ad28f29dd1caf614393af6f359e42101a8c4344/pylodge-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d6221d5776f16b7e24242634285dbda9", "sha256": "2772aefecf78decf51ad863e257eb27773171a7d455f4915ccd5c93451fc5efc" }, "downloads": -1, "filename": "pylodge-0.2.2.tar.gz", "has_sig": false, "md5_digest": "d6221d5776f16b7e24242634285dbda9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3490, "upload_time": "2015-09-01T00:47:08", "url": "https://files.pythonhosted.org/packages/dc/30/b5d943d2177837abec4e7bb990fe49a584a9c987f5090d6d37eef336b4ad/pylodge-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "5c1f1053cad5686f0ed426a4070de1cc", "sha256": "b5c35a5d515277c79c17eb2ff0b50c018a332b3a9792d6eee1e739c048805068" }, "downloads": -1, "filename": "pylodge-0.2.3.tar.gz", "has_sig": false, "md5_digest": "5c1f1053cad5686f0ed426a4070de1cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3484, "upload_time": "2015-09-01T01:02:34", "url": "https://files.pythonhosted.org/packages/98/96/c65d7a0d3a0d9508ab2d4b6fdda810e05539aa01d3b876a0522304b29c7c/pylodge-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "fcff6beae91db7f812e1b082a7fee709", "sha256": "cfd42f9edd7d0e91327158d2c30ae6608219caaebc4778972e75740f74eb5b1a" }, "downloads": -1, "filename": "pylodge-0.2.4.tar.gz", "has_sig": false, "md5_digest": "fcff6beae91db7f812e1b082a7fee709", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3518, "upload_time": "2015-09-01T17:33:28", "url": "https://files.pythonhosted.org/packages/d4/fe/6b2ba22704b7ab0c3f153e93f37bbae297517a0c4c5360571ac50ea154fe/pylodge-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "5c4479c80925bafe37ae4e8074cee8a2", "sha256": "4b413ce45bd4a453ca105e3af6a7dfe66b5e568d15536e96d4e1244568557a56" }, "downloads": -1, "filename": "pylodge-0.2.5.tar.gz", "has_sig": false, "md5_digest": "5c4479c80925bafe37ae4e8074cee8a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3855, "upload_time": "2015-09-08T22:14:40", "url": "https://files.pythonhosted.org/packages/b4/9a/1bc647b18de55d39051a73b7c3dbb87f8b4390fb9e4aa6dede5d6a73a69a/pylodge-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "b495a7bf07047946cab6384a6a31b052", "sha256": "741c564ddc2c3f06b8c1ec95932f61448832328ce9d6e3089a25ca638f059782" }, "downloads": -1, "filename": "pylodge-0.2.6.tar.gz", "has_sig": false, "md5_digest": "b495a7bf07047946cab6384a6a31b052", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4181, "upload_time": "2015-09-21T22:54:39", "url": "https://files.pythonhosted.org/packages/9b/34/e604ac9dd0d16cf3bd5bae8ae85bfdb859da60e3a790ad941c9acdda14c0/pylodge-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "d0de2477298e418bba906b55600489dc", "sha256": "53969f6d6cc009a3ffb2984d438fb65b43c222c02d08c34985fe82ad597b05ac" }, "downloads": -1, "filename": "pylodge-0.2.7.tar.gz", "has_sig": false, "md5_digest": "d0de2477298e418bba906b55600489dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4217, "upload_time": "2015-09-23T19:32:33", "url": "https://files.pythonhosted.org/packages/ec/e3/df9b5803db98f8c3f95f4bdb7226d3ff964fb9f19686a447923917af1fab/pylodge-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "c59a7d02997042c996a96b0ac1005d76", "sha256": "7feb5c669ac34f7754bb5c45a2b4dbaa2ffeae59e1c2bf85b16bdfc461160fe9" }, "downloads": -1, "filename": "pylodge-0.2.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c59a7d02997042c996a96b0ac1005d76", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 5583, "upload_time": "2015-10-02T23:42:25", "url": "https://files.pythonhosted.org/packages/3d/c3/e77d7c2ddb4dca0bcc6af5243f9e9c9c1a26c90090c2de72182ab7f377da/pylodge-0.2.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cab0b7bd296c915e154eee9686656fa4", "sha256": "e1cf6c56966fea21792e8da63a353e97e44c1cbe51e241601f0a7bea80f43ff2" }, "downloads": -1, "filename": "pylodge-0.2.8.tar.gz", "has_sig": false, "md5_digest": "cab0b7bd296c915e154eee9686656fa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4954, "upload_time": "2015-10-01T17:59:38", "url": "https://files.pythonhosted.org/packages/2e/05/ef0ab04bb80be704f8f81dac3383f7f35603711368599c2add31c412df71/pylodge-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "fe1526f288ab01ee1239f983f0ebe174", "sha256": "254c1cb21496c658bf0714de0979088fb74e0382a55d7cb52f8e30faeee777ed" }, "downloads": -1, "filename": "pylodge-0.2.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fe1526f288ab01ee1239f983f0ebe174", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5584, "upload_time": "2016-01-21T22:11:16", "url": "https://files.pythonhosted.org/packages/b8/63/e4da504271de6042341abd6c818f94d63a03fb7344d0e43c6966bd85aad9/pylodge-0.2.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4b3e08950e6e8d73ec15fffab615d386", "sha256": "bac7c409925bedfc43258615e372a9de41c064330eff85e41b72e72c1910da27" }, "downloads": -1, "filename": "pylodge-0.2.9.tar.gz", "has_sig": false, "md5_digest": "4b3e08950e6e8d73ec15fffab615d386", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6501, "upload_time": "2016-01-21T22:11:06", "url": "https://files.pythonhosted.org/packages/87/3f/15c50d0ff4fa66fee625a79c8c739bbe235b59ba8a854ba1d8ada5a7965c/pylodge-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "07ee9a6a9bf1b0de0044c941b29a654d", "sha256": "e2adea667af311283b7178e534c7cc0c69d74dfc034fecb17c040b7bea353c3b" }, "downloads": -1, "filename": "pylodge-0.3.0.tar.gz", "has_sig": false, "md5_digest": "07ee9a6a9bf1b0de0044c941b29a654d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6622, "upload_time": "2016-01-21T23:05:31", "url": "https://files.pythonhosted.org/packages/d2/ca/b2258b7ecd520b08bd7f75b122cc3d1d380b30871e23e852c2af3fcedf47/pylodge-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "94dd020c876d4031c86ed0bcbef48472", "sha256": "991fa09eb3eac82257df750875e9c80ad8b597a817018f4905fc1946289fb971" }, "downloads": -1, "filename": "pylodge-0.3.1.tar.gz", "has_sig": false, "md5_digest": "94dd020c876d4031c86ed0bcbef48472", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8857, "upload_time": "2016-06-28T14:16:01", "url": "https://files.pythonhosted.org/packages/bd/27/beb61debdd44f55231fa5850ea7edeebc4a1505e5ed5187905536341c96f/pylodge-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "5fbfd12c142c15529872ae02dbfca387", "sha256": "62d728d0109928c7e41101e98ae09cfa8ee0045b7e32277232108a4fb70a1ea5" }, "downloads": -1, "filename": "pylodge-0.3.2.macosx-10.10-x86_64.exe", "has_sig": false, "md5_digest": "5fbfd12c142c15529872ae02dbfca387", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 83043, "upload_time": "2016-06-30T17:11:38", "url": "https://files.pythonhosted.org/packages/97/57/592f7f132191f985f84e6ab7ea2a2ec500c62c8ab4dd7d0043892a496cd0/pylodge-0.3.2.macosx-10.10-x86_64.exe" }, { "comment_text": "built for Darwin-15.0.0", "digests": { "md5": "249d9ca8d3cfb7ec56d45965638a630f", "sha256": "1b708c883587e07f9fef87b04ef273b3b3f7b940870773bfeacb04c0ebc7c82d" }, "downloads": -1, "filename": "pylodge-0.3.2.macosx-10.10-x86_64.tar.gz", "has_sig": false, "md5_digest": "249d9ca8d3cfb7ec56d45965638a630f", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 9625, "upload_time": "2016-06-30T17:09:01", "url": "https://files.pythonhosted.org/packages/7b/06/e6b31f43ff204e54a6e91c69c240f22f94092412645cbb9f5eeda1d91cbc/pylodge-0.3.2.macosx-10.10-x86_64.tar.gz" }, { "comment_text": "built for Darwin-15.0.0", "digests": { "md5": "3d60d77981d3eec4cb7ff9a7dbba6dda", "sha256": "243ef5dc89aa07a144a729c8fe7096f29d5af5eee1d8bf3aa9af1a35b2c94adb" }, "downloads": -1, "filename": "pylodge-0.3.2.macosx-10.10-x86_64.zip", "has_sig": false, "md5_digest": "3d60d77981d3eec4cb7ff9a7dbba6dda", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 13496, "upload_time": "2016-06-30T17:11:10", "url": "https://files.pythonhosted.org/packages/57/12/6f4a5aa5824057c87d3d6dc215c4773c898f87b75086167fb11de5ccfed6/pylodge-0.3.2.macosx-10.10-x86_64.zip" }, { "comment_text": "", "digests": { "md5": "dad835ab94c118264c19d7e3d6bdab53", "sha256": "fca6fe5e3fb85322c518f7fee7ae48110eca71f87f281ceb61caebd1dc4434d4" }, "downloads": -1, "filename": "pylodge-0.3.2-py2.7.egg", "has_sig": false, "md5_digest": "dad835ab94c118264c19d7e3d6bdab53", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 12212, "upload_time": "2016-06-30T17:10:38", "url": "https://files.pythonhosted.org/packages/e7/1d/539eaa54a7ab004b317010b7462249db632a88cc7db973bd6a35196a0d1a/pylodge-0.3.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a34bbabf41144ec018a9c65f8d0c2b87", "sha256": "a33e177755cee5f5c2c85d8c45e8614eeddba7e8fe2c73e7a2b1ea2523d5de51" }, "downloads": -1, "filename": "pylodge-0.3.2.tar.gz", "has_sig": false, "md5_digest": "a34bbabf41144ec018a9c65f8d0c2b87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8854, "upload_time": "2016-06-28T14:21:34", "url": "https://files.pythonhosted.org/packages/f1/b1/ffe148eafc9983dbae3b8681a61ca5440367001675b5be24c922bf4db0db/pylodge-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5fbfd12c142c15529872ae02dbfca387", "sha256": "62d728d0109928c7e41101e98ae09cfa8ee0045b7e32277232108a4fb70a1ea5" }, "downloads": -1, "filename": "pylodge-0.3.2.macosx-10.10-x86_64.exe", "has_sig": false, "md5_digest": "5fbfd12c142c15529872ae02dbfca387", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 83043, "upload_time": "2016-06-30T17:11:38", "url": "https://files.pythonhosted.org/packages/97/57/592f7f132191f985f84e6ab7ea2a2ec500c62c8ab4dd7d0043892a496cd0/pylodge-0.3.2.macosx-10.10-x86_64.exe" }, { "comment_text": "built for Darwin-15.0.0", "digests": { "md5": "249d9ca8d3cfb7ec56d45965638a630f", "sha256": "1b708c883587e07f9fef87b04ef273b3b3f7b940870773bfeacb04c0ebc7c82d" }, "downloads": -1, "filename": "pylodge-0.3.2.macosx-10.10-x86_64.tar.gz", "has_sig": false, "md5_digest": "249d9ca8d3cfb7ec56d45965638a630f", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 9625, "upload_time": "2016-06-30T17:09:01", "url": "https://files.pythonhosted.org/packages/7b/06/e6b31f43ff204e54a6e91c69c240f22f94092412645cbb9f5eeda1d91cbc/pylodge-0.3.2.macosx-10.10-x86_64.tar.gz" }, { "comment_text": "built for Darwin-15.0.0", "digests": { "md5": "3d60d77981d3eec4cb7ff9a7dbba6dda", "sha256": "243ef5dc89aa07a144a729c8fe7096f29d5af5eee1d8bf3aa9af1a35b2c94adb" }, "downloads": -1, "filename": "pylodge-0.3.2.macosx-10.10-x86_64.zip", "has_sig": false, "md5_digest": "3d60d77981d3eec4cb7ff9a7dbba6dda", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 13496, "upload_time": "2016-06-30T17:11:10", "url": "https://files.pythonhosted.org/packages/57/12/6f4a5aa5824057c87d3d6dc215c4773c898f87b75086167fb11de5ccfed6/pylodge-0.3.2.macosx-10.10-x86_64.zip" }, { "comment_text": "", "digests": { "md5": "dad835ab94c118264c19d7e3d6bdab53", "sha256": "fca6fe5e3fb85322c518f7fee7ae48110eca71f87f281ceb61caebd1dc4434d4" }, "downloads": -1, "filename": "pylodge-0.3.2-py2.7.egg", "has_sig": false, "md5_digest": "dad835ab94c118264c19d7e3d6bdab53", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 12212, "upload_time": "2016-06-30T17:10:38", "url": "https://files.pythonhosted.org/packages/e7/1d/539eaa54a7ab004b317010b7462249db632a88cc7db973bd6a35196a0d1a/pylodge-0.3.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a34bbabf41144ec018a9c65f8d0c2b87", "sha256": "a33e177755cee5f5c2c85d8c45e8614eeddba7e8fe2c73e7a2b1ea2523d5de51" }, "downloads": -1, "filename": "pylodge-0.3.2.tar.gz", "has_sig": false, "md5_digest": "a34bbabf41144ec018a9c65f8d0c2b87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8854, "upload_time": "2016-06-28T14:21:34", "url": "https://files.pythonhosted.org/packages/f1/b1/ffe148eafc9983dbae3b8681a61ca5440367001675b5be24c922bf4db0db/pylodge-0.3.2.tar.gz" } ] }