{
"info": {
"author": "Aaron Schroeder",
"author_email": "aaron@trailzealot.com",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.6"
],
"description": "# heartandsole\n\n> Python library for analysis of running data files.\n\n[](https://www.python.org/downloads/release/python-360/)\n[](http://badges.mit-license.org)\n\n---\n\n## Table of Contents \n- [Introduction](#introduction)\n- [Dependencies and Installation](#dependencies-and-installation)\n- [Example](#example)\n- [Project Status](#project-status)\n- [References](#references)\n- [Contact](#contact)\n- [License](#license)\n\n---\n\n## Introduction\n\nheartandsole is designed to work with running or walking activity files.\nIt allows for extraction of data from a `.fit` file as well as calculations,\nsuch as the following:\n- elapsed time\n- moving time\n- average heart rate\n- running power (based on Dr. Philip Friere Skiba's GOVSS algorithm)\n- average running power\n- normalized running power (based on information publicly available about\n TrainingPeaks' NP\u00ae and NGP\u00ae, and Dr. Philip Friere Skiba's GOVSS algorithm)\n- intensity (based on information publicly available about TrainingPeaks' IF\u00ae)\n- training stress (based on information publicly available about\n TrainingPeaks' TSS\u00ae and Dr. Philip Friere Skiba's GOVSS algorithm)\n\nMy impetus for this project was to implement a version of Philip Friere Skiba's \nGOVSS algorithm (with tweaks to better align with the underlying research). \nThe end result will be a free, open-source version of proprietary calculations\nfound in platforms like Strava and Training Peaks. My hope is that other runners\nwill benefit as I have from taking these secret algorithms out of their black box, \nby understanding the science behind these calculations and training smarter.\n\nThis package was originally forked from Michael Traver's \n[fitanalysis package](https://github.com/mtraver/python-fitanalysis), but the two\nprojects diverged significantly enough for me to move my fork to a separate \nrepository. I am indebted to Michael for writing such a clean, useful,\neasy-to-understand package that served as heartandsole's starting point.\n\n---\n\n## Dependencies and Installation\n\n[Pandas](http://pandas.pydata.org/), [NumPy](http://www.numpy.org/), [fitparse](https://github.com/dtcooper/python-fitparse), and [spatialfriend](https://github.com/aaron-schroeder/spatialfriend) are required.\n\n`pip install heartandsole` to install.\n\n---\n\n## Example\n\nheartandsole provides the `Activity` class.\n\n```python\nimport heartandsole\n\nfit = heartandsole.FitActivity('my_activity.fit')\nactivity = heartandsole.Activity(fit.data, fit.elapsed_time)\n\nprint(activity.elapsed_time)\nprint(activity.moving_time)\n\n# Also available for power, equivalent-power flat-ground speed,\n# cadence, and heart rate:\nprint(activity.mean_speed)\n\n# Calculates running power from speed, and elevation data.\npower = activity.power\n\n# 30-second moving average power is a more suitable\n# proxy for metabolic intensity than instantaneous power.\npower_smooth = activity.power_smooth\n\n# Summarizing activity power with the 4-norm is more representative\n# of intensity than average power.\nprint(activity.norm_power)\n\n# Intensity and training stress calculations require a threshold \n# power value (in Watts/kg), which the utility functions can calculate\n# from flat-ground threshold pace (min/mile).\npwr = heartandsole.powerutils.flat_run_power('6:30')\nprint(activity.power_intensity(pwr))\nprint(activity.power_training_stress(pwr))\n\n# Intensity and training stress may also be calculated from\n# HR data. This calculation requires a threshold HR value in BPM.\nprint(activity.hr_intensity(162))\nprint(activity.hr_training_stress(162))\n```\n\nConstruction of a `FitActivity` parses the `.fit` file and detects periods of\ninactivity. The decision to remove inactive periods is left to the user.\n\nConstruction of an `Activity` accepts a pandas DataFrame formatted by a\n`FitActivity`, plus an elapsed time value (which may not be possible to\ncalculate from the formatted DataFrame).\n\n---\n\n## Project Status\n\n\n### Current Activities\n\n- Showcase package functionality on my website.\n\n- Make a project wiki so I can be as verbose as I please.\n\n- Make life a little easier with Travis CI.\n\n### Future Work\n\n- Expand file-reading ability to `gpx`, `.tcx`, `.pwx`, and maybe more. \n\n---\n\n## References\n\nCoggan, A. (2012, June 20). Re: Calculate Normalised Power for an Interval [Online forum comment]. Retrieved June 14, 2017, from http://www.timetriallingforum.co.uk/index.php?/topic/69738-calculate-normalised-power-for-an-interval/&do=findComment&comment=978386\n\nCoggan, A. (2016, February 10). Normalized Power, Intensity Factor and Training Stress Score. _TrainingPeaks_. Retrieved June 14, 2017, from\nhttps://www.trainingpeaks.com/blog/normalized-power-intensity-factor-training-stress/\n\nCoggan, A. (2003, March 13). TSS and IF - at last! [Online forum post]. Retrieved June 14, 2017, from http://lists.topica.com/lists/wattage/read/message.html?mid=907028398&sort=d&start=9353\n\nDi Prampero, P. E., Atchou, G., Br\u00fcckner, J. C., & Moia, C. (1986). The energetics of endurance running. _European Journal of Applied Physiology and Occupational Physiology, 55_(3), 259-266.\n\nDi Prampero, P. E., Capelli, C., Pagliaro, P., Antonutto, G., Girardis, M., Zamparo, P., & Soule, R. G. (1993). Energetics of best performances in middle-distance running. _Journal of Applied Physiology, 74_(5), 2318-2324.\n\nEckner, A. (2017, April 3). Algorithms for Unevenly Spaced Time Series: Moving Averages and Other Rolling Operators. Retrieved June 14, 2017, from http://eckner.com/papers/Algorithms%20for%20Unevenly%20Spaced%20Time%20Series.pdf\n\nFriel, J. (2009, September 21). Estimating Training Stress Score (TSS). _TrainingPeaks_. Retrieved June 22, 2017, from https://www.trainingpeaks.com/blog/estimating-training-stress-score-tss/\n\nMinetti, A. E., Moia, C., Roi, G. S., Susta, D., & Ferretti, G. (2002). Energy cost of walking and running at extreme uphill and downhill slopes. _Journal of Applied Physiology, 93_(3), 1039-1046.\n\nPugh, L. G. E. (1971). The influence of wind resistance in running and walking and the mechanical efficiency of work against horizontal or vertical forces. _The Journal of Physiology, 213_(2), 255-276.\n\nSkiba, P. F. (2006, September 16). Calculation of Power Output and Quantification of Training Stress in Distance Runners: The Development of the GOVSS Algorithm. _RunScribe_. Retrieved August 20, 2019, from http://runscribe.com/wp-content/uploads/power/GOVSS.pdf\n\n---\n\n## Contact\n\nReach out to me at one of the following places!\n\n- Website: trailzealot.com\n- LinkedIn: linkedin.com/in/aarondschroeder\n- Twitter: @trailzealot\n- Instagram: @trailzealot\n- GitHub: github.com/aaron-schroeder\n\n---\n\n## License\n\n[](http://badges.mit-license.org)\n\nThis project is licensed under the MIT License. See\n[LICENSE](https://github.com/aaron-schroeder/heartandsole/blob/master/LICENSE)\nfile for details.\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/aaron-schroeder/heartandsole",
"keywords": "",
"license": "MIT License",
"maintainer": "",
"maintainer_email": "",
"name": "heartandsole",
"package_url": "https://pypi.org/project/heartandsole/",
"platform": "",
"project_url": "https://pypi.org/project/heartandsole/",
"project_urls": {
"Homepage": "https://github.com/aaron-schroeder/heartandsole"
},
"release_url": "https://pypi.org/project/heartandsole/0.0.13/",
"requires_dist": [
"numpy (>=1.14)",
"pandas (>=0.24)",
"fitparse (>=1)",
"spatialfriend (>=0.0.1)"
],
"requires_python": "",
"summary": "Python library for analysis of ANT/Garmin .fit files",
"version": "0.0.13"
},
"last_serial": 5965787,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "34b50665c5913b401a36e53039a2a674",
"sha256": "6bf7d43d0cf9ab3c940dc0a945ade4635ab9d02cb61a33b1c95346a27d2049be"
},
"downloads": -1,
"filename": "heartandsole-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34b50665c5913b401a36e53039a2a674",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15148,
"upload_time": "2019-10-07T19:31:17",
"url": "https://files.pythonhosted.org/packages/2d/01/8667267c88dbccc778dacdc2d008f43c40c3f8c8d9be054a8b3afaed5876/heartandsole-0.0.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "db05bb1d41c081e5e51a73c6485c73cc",
"sha256": "92e2f49768ada97dd53c7653d0decb1019702fe013d4172be762545523de131d"
},
"downloads": -1,
"filename": "heartandsole-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "db05bb1d41c081e5e51a73c6485c73cc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13222,
"upload_time": "2019-10-07T19:31:20",
"url": "https://files.pythonhosted.org/packages/cf/b7/1a7b791d1a1a378bffc1a40b8c2c8976084029debb21689ecd886570cb81/heartandsole-0.0.1.tar.gz"
}
],
"0.0.10": [
{
"comment_text": "",
"digests": {
"md5": "0375ee81406909f6536ae083ce6defa8",
"sha256": "cf6b32ef16ab4f217a2c7d252244360fbe54950aebdd724f8d439a1d5f5e1ed1"
},
"downloads": -1,
"filename": "heartandsole-0.0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0375ee81406909f6536ae083ce6defa8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18106,
"upload_time": "2019-10-10T18:39:35",
"url": "https://files.pythonhosted.org/packages/d9/97/3fd356641c0f70c96d18a48279f8f52491e48360f7d31213393ccb358bf6/heartandsole-0.0.10-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "084262016cc972b1df8d21e9c607915e",
"sha256": "622be3dac46a01cd02702a60d33bb7f0f86087f1c0a95e60ac71fa68e7d12733"
},
"downloads": -1,
"filename": "heartandsole-0.0.10.tar.gz",
"has_sig": false,
"md5_digest": "084262016cc972b1df8d21e9c607915e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14936,
"upload_time": "2019-10-10T18:39:37",
"url": "https://files.pythonhosted.org/packages/b6/ba/1d2de3888667d0e8fb425574613d0ba51452c2a50e3366de54f00b1b1089/heartandsole-0.0.10.tar.gz"
}
],
"0.0.11": [
{
"comment_text": "",
"digests": {
"md5": "659c23be09cc7cfac064d117b427a385",
"sha256": "18af4f5605d0b0d8822b02ded3e5b3b9edba72b90831f72a059cf606e28308b6"
},
"downloads": -1,
"filename": "heartandsole-0.0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "659c23be09cc7cfac064d117b427a385",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18105,
"upload_time": "2019-10-10T18:44:50",
"url": "https://files.pythonhosted.org/packages/12/96/5f56f1734220b98ee833a4143c70d47f2230ab17c6cdad07f6fa0ce05c1c/heartandsole-0.0.11-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "965df6592d7aab2eaaa6ab95a1025959",
"sha256": "870bfb0a3826ec624eb822008877b286825b7d705f2e62cc895e0ea1e8a94ae1"
},
"downloads": -1,
"filename": "heartandsole-0.0.11.tar.gz",
"has_sig": false,
"md5_digest": "965df6592d7aab2eaaa6ab95a1025959",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14936,
"upload_time": "2019-10-10T18:44:52",
"url": "https://files.pythonhosted.org/packages/e6/f6/1ac39e9c779a7d89a203f0376ef4de3cc4759761f1f38f35f4201a7e5062/heartandsole-0.0.11.tar.gz"
}
],
"0.0.12": [
{
"comment_text": "",
"digests": {
"md5": "354ff2cd9a3fddd3d7ba7a1547edf484",
"sha256": "ce8e23a667a50f0fe224a09eec29f601ae92e5eab91185321c68f1ac68cc0a35"
},
"downloads": -1,
"filename": "heartandsole-0.0.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "354ff2cd9a3fddd3d7ba7a1547edf484",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18563,
"upload_time": "2019-10-12T23:28:45",
"url": "https://files.pythonhosted.org/packages/c7/ea/85dbd052f4c66d58aa99888f71a8a1c9077caae3bb7ccb88d8e55775e816/heartandsole-0.0.12-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "064aedc74ff62e2c4511085dedb006d6",
"sha256": "ce665520bfa0f0d6cd4ea8ce16e0f36ac140c3143b6d9678445a1a67e369e866"
},
"downloads": -1,
"filename": "heartandsole-0.0.12.tar.gz",
"has_sig": false,
"md5_digest": "064aedc74ff62e2c4511085dedb006d6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15414,
"upload_time": "2019-10-12T23:28:46",
"url": "https://files.pythonhosted.org/packages/d4/34/61ec0bfb4f0d5cf507f237c4a2029ced301dde1e8413f2391a6652441dbc/heartandsole-0.0.12.tar.gz"
}
],
"0.0.13": [
{
"comment_text": "",
"digests": {
"md5": "803e42f588755a0a884ff8afa79ac2c5",
"sha256": "bd95b2760b1ccd8043eda481723ca798db56682a7b44e3bbd393ec8eceaaa156"
},
"downloads": -1,
"filename": "heartandsole-0.0.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "803e42f588755a0a884ff8afa79ac2c5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18567,
"upload_time": "2019-10-12T23:32:05",
"url": "https://files.pythonhosted.org/packages/42/8b/45d5353f895a900f2da1e9cc44ffd4353dc7f8f2c90be3012d6273bb73da/heartandsole-0.0.13-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2c3f4716482fb2f903d9894c9a64eb5f",
"sha256": "6d63f49adc9447a8050855aa4e32a6cc217115ae48cd68eefc8d96a1dbad397e"
},
"downloads": -1,
"filename": "heartandsole-0.0.13.tar.gz",
"has_sig": false,
"md5_digest": "2c3f4716482fb2f903d9894c9a64eb5f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15419,
"upload_time": "2019-10-12T23:32:06",
"url": "https://files.pythonhosted.org/packages/b8/d1/6255f72694d49acf32e8b4703de89cec28466203076e01bf11c107dc9852/heartandsole-0.0.13.tar.gz"
}
],
"0.0.2": [
{
"comment_text": "",
"digests": {
"md5": "d689a2aab8a096f5a4ea7f059e2e790b",
"sha256": "da96f237766999b6d63630ffb6e06baf8cc5965e7c2b628dd06781f9e9640f3a"
},
"downloads": -1,
"filename": "heartandsole-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d689a2aab8a096f5a4ea7f059e2e790b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15849,
"upload_time": "2019-10-07T20:49:24",
"url": "https://files.pythonhosted.org/packages/f3/46/3f6dcd62a1e547f69a41d72ab6c6d894296f1ff173a0ae35e7f137c1151c/heartandsole-0.0.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e03665a2827318749dce45d29dec6579",
"sha256": "ba7f2733d83dba1a070dc044917301d55dcd1369bebdc1428a061387efbbf24e"
},
"downloads": -1,
"filename": "heartandsole-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "e03665a2827318749dce45d29dec6579",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13769,
"upload_time": "2019-10-07T20:49:27",
"url": "https://files.pythonhosted.org/packages/d1/8c/f7a72853f20bd1eebbecd6dbcaf773498e39f46dc614f9dd7c88a1f6eada/heartandsole-0.0.2.tar.gz"
}
],
"0.0.3": [
{
"comment_text": "",
"digests": {
"md5": "e260246f54c82f4b72cd76a42dd28299",
"sha256": "bf9c09413a6cd0414f1642fea8ad0125a63927db9c64e23fb17607152450df8d"
},
"downloads": -1,
"filename": "heartandsole-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e260246f54c82f4b72cd76a42dd28299",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15853,
"upload_time": "2019-10-08T21:13:21",
"url": "https://files.pythonhosted.org/packages/73/84/e1066f02125d74746fe1849cce5792d26bc7de947c7e8d14d9f6fc9b990d/heartandsole-0.0.3-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8eb64282c837b217a5282f66060fc885",
"sha256": "e0aa27682a8d3f375e2a6cfb67fb94f11b8cdfdd31a837beca66de48710f753c"
},
"downloads": -1,
"filename": "heartandsole-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "8eb64282c837b217a5282f66060fc885",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13719,
"upload_time": "2019-10-08T21:13:22",
"url": "https://files.pythonhosted.org/packages/21/3b/ba2c3d8aa98f7e7a21c5efce479ce68bba1d7187ff82c360347b74b250ed/heartandsole-0.0.3.tar.gz"
}
],
"0.0.4": [
{
"comment_text": "",
"digests": {
"md5": "9e009bc0ac4d7aa71766dd5d9c2e4147",
"sha256": "ff2b0caaecf6231010c4b8e38af063ab7c1cfb1a207269033bb835e0154bba66"
},
"downloads": -1,
"filename": "heartandsole-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9e009bc0ac4d7aa71766dd5d9c2e4147",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15602,
"upload_time": "2019-10-09T14:55:48",
"url": "https://files.pythonhosted.org/packages/1b/cf/ff12bc87924d72d96479b7ba30d906075154055cd0286a3db8fc102ccf6d/heartandsole-0.0.4-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ca7042e34bdd2d350fa466e63d903c68",
"sha256": "de7f23984f1bcdec4b71a6b93fce56f21c43d81261277f834e398d84c92e6092"
},
"downloads": -1,
"filename": "heartandsole-0.0.4.tar.gz",
"has_sig": false,
"md5_digest": "ca7042e34bdd2d350fa466e63d903c68",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13723,
"upload_time": "2019-10-09T14:55:50",
"url": "https://files.pythonhosted.org/packages/91/5e/e210915c322cfb4bdbd93a7b2f4e73feaf4015d737734375a45252dcd4f1/heartandsole-0.0.4.tar.gz"
}
],
"0.0.5": [
{
"comment_text": "",
"digests": {
"md5": "319d84ef3b642df24d0339fe33de308f",
"sha256": "e20068d197aa9de3159a3aaa461a5d48340e7045b7d1ae867c5fdead4c45a589"
},
"downloads": -1,
"filename": "heartandsole-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "319d84ef3b642df24d0339fe33de308f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15603,
"upload_time": "2019-10-09T15:47:07",
"url": "https://files.pythonhosted.org/packages/47/aa/e2a14b9e6c11ed497e64d8b9107e9c5cdc003729157cde5c9016dde54876/heartandsole-0.0.5-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "75f6d801bf4cbff5df05fcac68e004fe",
"sha256": "977942d86fff0fed55ba6e88fad0afadd2034f00d8d38dd644c687866160f5ab"
},
"downloads": -1,
"filename": "heartandsole-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "75f6d801bf4cbff5df05fcac68e004fe",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13721,
"upload_time": "2019-10-09T15:47:08",
"url": "https://files.pythonhosted.org/packages/12/5b/5108ed37efb00c1cc7f99671b285083b23333a0d7e75482cd9e7faec00ab/heartandsole-0.0.5.tar.gz"
}
],
"0.0.6": [
{
"comment_text": "",
"digests": {
"md5": "9cd4ccbaf5b10b147eb1cc385c3e483a",
"sha256": "02172777694d104e6b1573a04e7bf346c03572f1775cc4c6bd5bf7d3b53676b6"
},
"downloads": -1,
"filename": "heartandsole-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9cd4ccbaf5b10b147eb1cc385c3e483a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15602,
"upload_time": "2019-10-09T17:25:34",
"url": "https://files.pythonhosted.org/packages/27/cf/21e67e4f813ca6a27ef859ba86c25723d11cc6d588f9f13e2eb8208c8c71/heartandsole-0.0.6-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bc12c6f2ad0ba06e815ba5bb752bb3cb",
"sha256": "976fef74777b1e4768d02301d18b0ae9f6179eedb6515cf87ab3dcff7fc1ffbf"
},
"downloads": -1,
"filename": "heartandsole-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "bc12c6f2ad0ba06e815ba5bb752bb3cb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13702,
"upload_time": "2019-10-09T17:25:35",
"url": "https://files.pythonhosted.org/packages/3e/02/d64dbec99989a8b8ccc0bc2ebcc20155427330ce211b8fc9306e8ff3fc82/heartandsole-0.0.6.tar.gz"
}
],
"0.0.7": [
{
"comment_text": "",
"digests": {
"md5": "bc5ee83b698bff67726a20360d709322",
"sha256": "e1a818c43d4fbea7ee27a21c2143a0512a2cf89eaba2a6d331f776c76388ff21"
},
"downloads": -1,
"filename": "heartandsole-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bc5ee83b698bff67726a20360d709322",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15562,
"upload_time": "2019-10-09T17:33:40",
"url": "https://files.pythonhosted.org/packages/23/5b/4af9b9ef23c9dd95b4a3def5508a39ba7779c4f26fa2a01c79147bc084a2/heartandsole-0.0.7-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7b8552994c26289ab14d1ad63a98fff3",
"sha256": "28503300e8b1edb4867b4f2f34bd81771cc98f8bf47965599ee030f9a4a519b9"
},
"downloads": -1,
"filename": "heartandsole-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "7b8552994c26289ab14d1ad63a98fff3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13705,
"upload_time": "2019-10-09T17:33:42",
"url": "https://files.pythonhosted.org/packages/bc/5b/f897c6ec333b4116251d395a4da7bc6ab037048890960e0873547ad514d1/heartandsole-0.0.7.tar.gz"
}
],
"0.0.8": [
{
"comment_text": "",
"digests": {
"md5": "34aae44582ea2d3bbe4bbef08fe46225",
"sha256": "21489e5cd22e410d1a8788d1bb44df7db9a9bc71d6c459cb11cf1ec331dc44a3"
},
"downloads": -1,
"filename": "heartandsole-0.0.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "34aae44582ea2d3bbe4bbef08fe46225",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17143,
"upload_time": "2019-10-10T15:56:47",
"url": "https://files.pythonhosted.org/packages/b4/66/adadf3da993f7b370f9292c11f7d9e258148ceb4ce3507f2640ddf9dfcac/heartandsole-0.0.8-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b1de1b75c591410b0c93eef5e353f19e",
"sha256": "01f6737d9267500a927d52d305b7dda36c3f9ad55ed9078a6ce4f4d93f9ec84f"
},
"downloads": -1,
"filename": "heartandsole-0.0.8.tar.gz",
"has_sig": false,
"md5_digest": "b1de1b75c591410b0c93eef5e353f19e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14825,
"upload_time": "2019-10-10T15:56:49",
"url": "https://files.pythonhosted.org/packages/01/70/f05474b1938d43e6a8bb84cae2934cf7e7679da1add7900afba2228faf0b/heartandsole-0.0.8.tar.gz"
}
],
"0.0.9": [
{
"comment_text": "",
"digests": {
"md5": "cc8ff0761686ca4b42246746aeb4d70e",
"sha256": "8a1c318abe5f90439ca6b9d70cb9e768b9d07e0cf14a0e580ef1413abec587ad"
},
"downloads": -1,
"filename": "heartandsole-0.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cc8ff0761686ca4b42246746aeb4d70e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 17146,
"upload_time": "2019-10-10T16:02:09",
"url": "https://files.pythonhosted.org/packages/8c/0b/6785154ef8503cccd4564f2774319deafe2bb58afc911db26e5e984e3cc9/heartandsole-0.0.9-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "236879c16ceb53de65bffb009ea81a55",
"sha256": "d9e0e3d8a28a5ba1c876aff7c3633db27fc4b249b4ff81c21b85904d409d00e9"
},
"downloads": -1,
"filename": "heartandsole-0.0.9.tar.gz",
"has_sig": false,
"md5_digest": "236879c16ceb53de65bffb009ea81a55",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14800,
"upload_time": "2019-10-10T16:02:11",
"url": "https://files.pythonhosted.org/packages/59/f8/702b4228e12435506547bc14eee013dc7634c7d70035227f215b5e311b02/heartandsole-0.0.9.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "803e42f588755a0a884ff8afa79ac2c5",
"sha256": "bd95b2760b1ccd8043eda481723ca798db56682a7b44e3bbd393ec8eceaaa156"
},
"downloads": -1,
"filename": "heartandsole-0.0.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "803e42f588755a0a884ff8afa79ac2c5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 18567,
"upload_time": "2019-10-12T23:32:05",
"url": "https://files.pythonhosted.org/packages/42/8b/45d5353f895a900f2da1e9cc44ffd4353dc7f8f2c90be3012d6273bb73da/heartandsole-0.0.13-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2c3f4716482fb2f903d9894c9a64eb5f",
"sha256": "6d63f49adc9447a8050855aa4e32a6cc217115ae48cd68eefc8d96a1dbad397e"
},
"downloads": -1,
"filename": "heartandsole-0.0.13.tar.gz",
"has_sig": false,
"md5_digest": "2c3f4716482fb2f903d9894c9a64eb5f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15419,
"upload_time": "2019-10-12T23:32:06",
"url": "https://files.pythonhosted.org/packages/b8/d1/6255f72694d49acf32e8b4703de89cec28466203076e01bf11c107dc9852/heartandsole-0.0.13.tar.gz"
}
]
}