{ "info": { "author": "Mark Farragher", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Office/Business :: Financial", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "
appelpy: Applied Econometrics Library for Python
\n\n**appelpy** is the *Applied Econometrics Library for Python*. It seeks to bridge the gap between the software options that have a simple syntax (such as Stata) and other powerful options that use Python's object-oriented programming as part of data modelling workflows. \u2697\ufe0f\n\nEconometric modelling and general regression analysis in Python have never been easier!\n\nThe library builds upon the functionality of the 'vanilla' Python data stack (e.g. Pandas, Numpy, etc.) and other libraries such as Statsmodels.\n\n## 10 Minutes to Appelpy\nExplore the core functionality of Appelpy in the **10 Minutes To Appelpy** notebook (click the badges):\n\n- [](https://mybinder.org/v2/gh/mfarragher/appelpy-examples/master?filepath=00_ten-minutes-to-appelpy.ipynb): interactive experience of the *10 Minutes to Appelpy* tutorial via Binder.\n- [](https://nbviewer.jupyter.org/github/mfarragher/appelpy-examples/blob/master/00_ten-minutes-to-appelpy.ipynb): static render of the *10 Minutes to Appelpy* notebook.\n\n# Installation\nInstall the library via the Pip command:\n``` bash\npip install appelpy\n```\n\nSupported for Python 3.6 and higher versions.\n\n# Why Appelpy?\n## Basic usage\nIt only takes **one line of code** to fit a basic linear model of 'y on X' and another line to return the model's results.\n\n```python\nfrom appelpy.linear_model import OLS\n\nmodel1 = OLS(df, y_list, X_list).fit() # y_list & X_list contain df columns\nmodel1.results_output # returns (Statsmodels) summary results\n```\n\nModel objects have many useful attributes, e.g. the inputs X & y, standardized X and y values, results of fitted models (incl. standardized estimates). The library also has **diagnostic classes and functions** that consume model objects (or else their underlying data).\n\nThese are more things that can be obtained via **one line of code:**\n\n* *Diagnostics* can be called from the object: e.g. produce a P-P plot via `model1.diagnostic_plot('pp_plot')`\n* *Model selection statistics*: e.g. find the root mean square error of the model from `model1.model_selection_stats`\n* *Standardized model estimates*: `model1.results_output_standardized`\n\nClasses in the library have a fluent interface, so that they can be instantiated and have chained methods in one line of code.\n\n## Features that add value to model workflows in Python\nSee Appelpy's **[key features](intro/key-features.md)** (with images), which add _so much more_ to the vanilla Python data stack, e.g.:\n\n- Fluent interface and API design make it easier to build pipelines for modelling & data pre-processing.\n- More accessible interface for Stata users, while utilising the benefits of object-orientated programming.\n- One method for calling **diagnostic plots** to assess whether OLS assumptions hold in a model.\n- **Useful encoders** for transforming datasets, e.g. `DummyEncoder` and `InteractionEncoder`.\n- Standardized model estimates (Beta coefficients).\n- Decomposition of influence analysis into three parts: leverage, outlier and influence measures.\n- Identify extreme observations in a model based on common heuristics.\n- **Perform diagnostics not implemented in the main Python libraries**, e.g. studentized Breusch\u2013Pagan test of heteroskedasticity.\n\n# Modules\n## Exploration and pre-processing\n- **`eda`:** functions for exploratory data analysis (EDA) of datasets, e.g. `statistical_moments` for obtaining mean, variance, skewness and kurtosis of all numeric columns.\n- **`utils`:** classes and functions for data pre-processing, e.g. encoding of interaction effects and dummy variables in datasets.\n - `DummyEncoder`: encode dummy variables in a dataset based on different policies for dealing with NaN values.\n - `InteractionEncoder`: encode interaction effects of variables in a dataset.\n## Model fitting\n- **`linear_model`:** classes for linear models such as Ordinary Least Squares (OLS) and Weighted Least Squares (WLS).\n- **`discrete_model`:** classes for discrete choice models, e.g. logistic regression (Logit).\n## Model diagnostics\n- **`diagnostics`:**\n - `BadApples`: class for inspecting observations that could 'stink up' a model, i.e. the observations that are outliers, high-leverage points or else have high influence in a model.\n - `variance_inflation_factors`: function that returns variance inflation factor (VIF) scores for regressors in a dataset.\n - `partial_regression_plot`: also known as 'added variable plot'. Examine the effect of adding a regressor to a model.\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/mfarragher/appelpy", "keywords": "econometrics,regression,statistics,economics,models", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "appelpy", "package_url": "https://pypi.org/project/appelpy/", "platform": "", "project_url": "https://pypi.org/project/appelpy/", "project_urls": { "Documentation": "https://appelpy.readthedocs.io/", "Homepage": "https://github.com/mfarragher/appelpy", "Source": "https://github.com/mfarragher/appelpy" }, "release_url": "https://pypi.org/project/appelpy/0.4.2/", "requires_dist": [ "pandas (>=0.24)", "jinja2", "scipy", "numpy (>=1.16)", "statsmodels (>=0.9)", "patsy", "seaborn (>=0.9)", "matplotlib (>=3)" ], "requires_python": ">=3.6", "summary": "Applied Econometrics Library for Python", "version": "0.4.2", "yanked": false, "yanked_reason": null }, "last_serial": 6656086, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ff76dfea7cb91fbc4fdeee24db539c11", "sha256": "ee81e7be86835faecc50fdf755e104458257ff0fc72d1bdc323b4198b0cdcdb9" }, "downloads": -1, "filename": "appelpy-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ff76dfea7cb91fbc4fdeee24db539c11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13621, "upload_time": "2019-02-25T21:52:11", "upload_time_iso_8601": "2019-02-25T21:52:11.896054Z", "url": "https://files.pythonhosted.org/packages/c0/bc/2ced9a93a091a87b8e62c63a32440f7163acdb2a656b4408ebc50787a577/appelpy-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "42ffe1e752bb5bc1233ff707ac471c06", "sha256": "c8e96b03b18492044364532da344756f6a69eebc79aaf0be121f0a0c4c503038" }, "downloads": -1, "filename": "appelpy-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "42ffe1e752bb5bc1233ff707ac471c06", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 17646, "upload_time": "2019-04-07T19:29:36", "upload_time_iso_8601": "2019-04-07T19:29:36.556016Z", "url": "https://files.pythonhosted.org/packages/97/81/0fcb986d53e85fb549bb90974848cf5b6062fe3128f1417c162b580d4bf4/appelpy-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "17e1a8a002c8604e66d47d12a38d817e", "sha256": "b1b28ffda20d0b753a4bc0e8e01d34a6e4d098c65135c1be971ad9216df0e7c4" }, "downloads": -1, "filename": "appelpy-0.0.2.tar.gz", "has_sig": false, "md5_digest": "17e1a8a002c8604e66d47d12a38d817e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17749, "upload_time": "2019-04-07T19:29:37", "upload_time_iso_8601": "2019-04-07T19:29:37.927624Z", "url": "https://files.pythonhosted.org/packages/df/5b/477b3dbfbfc925c481fd7ed2314a207c97d77c4662aefd9d55684f11bba7/appelpy-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "38397652013120aee986ec0b0d86208c", "sha256": "bcde0e260ae6feb1ad2184b4ad838df98464e84d31ad85918a65fc8ce8e164ff" }, "downloads": -1, "filename": "appelpy-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "38397652013120aee986ec0b0d86208c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 22856, "upload_time": "2019-08-27T17:33:49", "upload_time_iso_8601": "2019-08-27T17:33:49.022480Z", "url": "https://files.pythonhosted.org/packages/c7/87/a59f51a7dabb37e4fa0e074e1c52c00cb0e7ee0e8747eb99e2f7f3a703a5/appelpy-0.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "34d1f718598f5c14168cea557d59d0dd", "sha256": "f4427fbb152017c8330f31784ba571cf254a19ae83596e4ae0f91bb61375e0bd" }, "downloads": -1, "filename": "appelpy-0.0.3.tar.gz", "has_sig": false, "md5_digest": "34d1f718598f5c14168cea557d59d0dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 18848, "upload_time": "2019-08-27T17:33:50", "upload_time_iso_8601": "2019-08-27T17:33:50.600662Z", "url": "https://files.pythonhosted.org/packages/e3/45/4d9348e7589768e08d980369efa9cab42a2808206ef02dd9f02e589687e2/appelpy-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e684e2c6b2985e979246f5cdeaff9402", "sha256": "c3961195748027c2f6efe6314c3da90547d27f9b139dabc6dd86058b5cfe0987" }, "downloads": -1, "filename": "appelpy-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e684e2c6b2985e979246f5cdeaff9402", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26375, "upload_time": "2019-09-08T22:04:55", "upload_time_iso_8601": "2019-09-08T22:04:55.992584Z", "url": "https://files.pythonhosted.org/packages/3c/41/4ef7779a0d77c13ec177e0806076c73d4b743afd087d134a80c19cc37dc7/appelpy-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2ed3b42689030f53ba12ae17db95d5ef", "sha256": "fa0282b22c55d65b009923f23aa7aa9dba4310481889e0cb768c497740a13b08" }, "downloads": -1, "filename": "appelpy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "2ed3b42689030f53ba12ae17db95d5ef", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 22125, "upload_time": "2019-09-08T22:04:57", "upload_time_iso_8601": "2019-09-08T22:04:57.602782Z", "url": "https://files.pythonhosted.org/packages/23/5b/281e3ae11f9c9e711d65cc0d3f576b9491ea6898a6e3c0877608a116185a/appelpy-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d82e55aff97200ec2587b172eacc24ab", "sha256": "912c8884cd8023ca92b18ad9c47a8dda57fa63a993fb98a7d0c860651c6abdfc" }, "downloads": -1, "filename": "appelpy-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d82e55aff97200ec2587b172eacc24ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26495, "upload_time": "2019-09-22T17:20:51", "upload_time_iso_8601": "2019-09-22T17:20:51.778068Z", "url": "https://files.pythonhosted.org/packages/1f/30/2b315d94a57ca1f1743d2d884e3784e068c7e9f9de84d9b6a658002aaca6/appelpy-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bc0f0be3e1f8d2ccfb980190ab50f4a3", "sha256": "f48df8c9572d195bf259ae336400c45ea040109800af4a32cc6728881fed5fe0" }, "downloads": -1, "filename": "appelpy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bc0f0be3e1f8d2ccfb980190ab50f4a3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 22318, "upload_time": "2019-09-22T17:20:53", "upload_time_iso_8601": "2019-09-22T17:20:53.375242Z", "url": "https://files.pythonhosted.org/packages/68/75/a3a10dc5d6cd2c832e3fc2e606f0bc786f595afe404e8077881815ab41b2/appelpy-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8389e9bd3ea5c3bc4bb88a7e117f0719", "sha256": "edeeef1131bcc45b646a9b0203a9591da80287e480181ef5baa95724bf46febe" }, "downloads": -1, "filename": "appelpy-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8389e9bd3ea5c3bc4bb88a7e117f0719", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 27226, "upload_time": "2019-10-06T12:01:11", "upload_time_iso_8601": "2019-10-06T12:01:11.051761Z", "url": "https://files.pythonhosted.org/packages/7a/b7/71d4ce4aa2431e45b249080aaf20989c95474ade3e23a0648ea33c0612c3/appelpy-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d9fc011f776daeb04dc0b33a54337dcc", "sha256": "ea333d01889ca84e4bac7345f711692e86272d25f0ee8e790d74fa531b5e5709" }, "downloads": -1, "filename": "appelpy-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d9fc011f776daeb04dc0b33a54337dcc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 23380, "upload_time": "2019-10-06T12:01:12", "upload_time_iso_8601": "2019-10-06T12:01:12.870326Z", "url": "https://files.pythonhosted.org/packages/42/7a/f79a6717856b6cf3bbeddba5a16c930d8fbdc41efdf6f6db6c7762e349a3/appelpy-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "dfc3a88745cc66dd1db937b5ed12d00a", "sha256": "4a3a2ff0addaeff270e5ddcd96dcbc5e4500c8a4700e057758e489013c085f69" }, "downloads": -1, "filename": "appelpy-0.2.1-py3.7.egg", "has_sig": false, "md5_digest": "dfc3a88745cc66dd1db937b5ed12d00a", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3", "size": 53376, "upload_time": "2019-10-13T21:15:39", "upload_time_iso_8601": "2019-10-13T21:15:39.391990Z", "url": "https://files.pythonhosted.org/packages/91/dc/1651391f014e92175f853338ed30c7765478135138923e960f662f43edd2/appelpy-0.2.1-py3.7.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "19ef3e87053e4d15d0ab330fceafa7f1", "sha256": "60219ad15f9c2803cfaff46884da08310ea2608d30fe68cf68458df297bbdeb3" }, "downloads": -1, "filename": "appelpy-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "19ef3e87053e4d15d0ab330fceafa7f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 27356, "upload_time": "2019-10-13T21:15:37", "upload_time_iso_8601": "2019-10-13T21:15:37.562513Z", "url": "https://files.pythonhosted.org/packages/4d/02/2322097708f92dd9f7e2d713e1445a87ffb8f0ae8548491098882a0af401/appelpy-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0da6239246269a41df10952091ae2e55", "sha256": "5d71f12fbcac45a9fe65d3a40b2a7e9683ddbdcf50c9271cc0b81a810e8faa36" }, "downloads": -1, "filename": "appelpy-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0da6239246269a41df10952091ae2e55", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 23547, "upload_time": "2019-10-13T21:15:41", "upload_time_iso_8601": "2019-10-13T21:15:41.225104Z", "url": "https://files.pythonhosted.org/packages/d8/83/15b50d1f3f3c8c775431c79a9b0199d36f76aeb7e8b7fb4c09b439d44352/appelpy-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "4b53ac6840a66b53c811fcf0d284e4e0", "sha256": "c5688bade1d652e5fd6691bad4140432af505e6930ffdc3709e8ee9de2e4df8f" }, "downloads": -1, "filename": "appelpy-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4b53ac6840a66b53c811fcf0d284e4e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28225, "upload_time": "2019-10-28T23:13:53", "upload_time_iso_8601": "2019-10-28T23:13:53.622690Z", "url": "https://files.pythonhosted.org/packages/10/da/14c41f6f6b8091b28d45beb5c2a45dbe37200c358bf8661fd8ce8a2ba367/appelpy-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ef102bba296a7af63050750a60248451", "sha256": "88c1156e19fb54323dcdaa1391d2fb32ca52b5f916a1b914e447b5baf02bf3de" }, "downloads": -1, "filename": "appelpy-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ef102bba296a7af63050750a60248451", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 24168, "upload_time": "2019-10-28T23:13:55", "upload_time_iso_8601": "2019-10-28T23:13:55.417632Z", "url": "https://files.pythonhosted.org/packages/be/78/66548099bbae59fe89f6858a6070601e1ec0968509383093bc2b8354ab7e/appelpy-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "7a7fd83aa8dc52d9753a5e9488a4165a", "sha256": "d0852ba60a71e67021808e0019e548319204f414e1256a48fcecc0b13a056ac9" }, "downloads": -1, "filename": "appelpy-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7a7fd83aa8dc52d9753a5e9488a4165a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 28079, "upload_time": "2019-11-03T20:00:39", "upload_time_iso_8601": "2019-11-03T20:00:39.013075Z", "url": "https://files.pythonhosted.org/packages/40/ae/c7ae28232dd09d1307cbf4249e5c6c4e79e7a83c2e6a51a67eeeed651258/appelpy-0.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4d87645a6aedfafd94a288aee415889f", "sha256": "7bcf5963d5e8f0ef7e4a069c9fbc03cafaea5362bceb2a035796fed7c587c6cd" }, "downloads": -1, "filename": "appelpy-0.3.1.tar.gz", "has_sig": false, "md5_digest": "4d87645a6aedfafd94a288aee415889f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 24252, "upload_time": "2019-11-03T20:00:40", "upload_time_iso_8601": "2019-11-03T20:00:40.285420Z", "url": "https://files.pythonhosted.org/packages/92/be/7908bea955aa92ef88c0a9d1fc201b17a4311c0bae3c3ecbafc04150711a/appelpy-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "87750e476b838d41c244fcbe2be31a9b", "sha256": "aeb0f0c4fa2e69fd905987570e25ee956be52274b464d5148ef7437e16ff159f" }, "downloads": -1, "filename": "appelpy-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "87750e476b838d41c244fcbe2be31a9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 30366, "upload_time": "2020-01-03T21:36:48", "upload_time_iso_8601": "2020-01-03T21:36:48.294906Z", "url": "https://files.pythonhosted.org/packages/1f/51/f036fd385ab4487a57dbfeaeb4da540e871d1d31c21e92323e83acf946d5/appelpy-0.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a228a9ff4f3a1bb11d98c0c2a9dde661", "sha256": "5922d9b75410fb27acf2b10c2628f51365737738de3803c5b89feb3c574c28da" }, "downloads": -1, "filename": "appelpy-0.4.0.tar.gz", "has_sig": false, "md5_digest": "a228a9ff4f3a1bb11d98c0c2a9dde661", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 26741, "upload_time": "2020-01-03T21:36:49", "upload_time_iso_8601": "2020-01-03T21:36:49.613441Z", "url": "https://files.pythonhosted.org/packages/68/e3/96ae7284c3d8fca4f92577a6375b280cdfbb687c44d111cca81fb22eb6c4/appelpy-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "2b71460371a9a0ae7adec09ca8e0841a", "sha256": "6fe008d0d09efec7b6e55588c35a68a3e6cf455ccb7d8022abc14d74ec8bb1a5" }, "downloads": -1, "filename": "appelpy-0.4.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "2b71460371a9a0ae7adec09ca8e0841a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 47329, "upload_time": "2020-02-17T23:45:14", "upload_time_iso_8601": "2020-02-17T23:45:14.871266Z", "url": "https://files.pythonhosted.org/packages/64/c6/a60a5adfbe7e0a007cc0594601a75882ec52dfe553cda03697a221a103d4/appelpy-0.4.1.linux-x86_64.tar.gz", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cac4e4b9c69c2257ccd24210775d6df6", "sha256": "265af0bba90a9a5e368728df950ef09b4729721e638cbf3cb16801c3d65b8317" }, "downloads": -1, "filename": "appelpy-0.4.1-py3.7.egg", "has_sig": false, "md5_digest": "cac4e4b9c69c2257ccd24210775d6df6", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.6", "size": 60373, "upload_time": "2020-02-17T23:45:16", "upload_time_iso_8601": "2020-02-17T23:45:16.632875Z", "url": "https://files.pythonhosted.org/packages/20/b0/286425eb3f4afdae88c83439a69effdaee9bd8339301e3d765c7eee1d00b/appelpy-0.4.1-py3.7.egg", "yanked": false, "yanked_reason": null } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "06085920e07ed823bee07ece724d3e67", "sha256": "7bad1f9cc66dd6321e3157f83c29241de09a21845be87ecfbb3d38bf17d7d59e" }, "downloads": -1, "filename": "appelpy-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "06085920e07ed823bee07ece724d3e67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 30581, "upload_time": "2020-02-18T21:14:00", "upload_time_iso_8601": "2020-02-18T21:14:00.812337Z", "url": "https://files.pythonhosted.org/packages/0a/58/ee586ae485138fadddc798aca51e30375538c080dbf814bbfb227c419ffd/appelpy-0.4.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "06085920e07ed823bee07ece724d3e67", "sha256": "7bad1f9cc66dd6321e3157f83c29241de09a21845be87ecfbb3d38bf17d7d59e" }, "downloads": -1, "filename": "appelpy-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "06085920e07ed823bee07ece724d3e67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 30581, "upload_time": "2020-02-18T21:14:00", "upload_time_iso_8601": "2020-02-18T21:14:00.812337Z", "url": "https://files.pythonhosted.org/packages/0a/58/ee586ae485138fadddc798aca51e30375538c080dbf814bbfb227c419ffd/appelpy-0.4.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }