{ "info": { "author": "MIT Data To AI Lab", "author_email": "dailabmit@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "

\n\u201cCopulas\u201d\nAn open source project from Data to AI Lab at MIT.\n

\n\n[![PyPi Shield](https://img.shields.io/pypi/v/RDT.svg)](https://pypi.python.org/pypi/RDT)\n[![Travis CI Shield](https://travis-ci.org/HDI-Project/RDT.svg?branch=master)](https://travis-ci.org/HDI-Project/RDT)\n[![Coverage Status](https://codecov.io/gh/HDI-Project/RDT/branch/master/graph/badge.svg)](https://codecov.io/gh/HDI-Project/RDT)\n[![Downloads](https://pepy.tech/badge/rdt)](https://pepy.tech/project/rdt)\n\n

RDT: Reversible Data Transforms

\n\n- License: MIT\n- Documentation: https://HDI-Project.github.io/RDT\n- Homepage: https://github.com/HDI-Project/RDT\n\n# Overview\n\n**RDT** is a Python library used to transform data for data science libraries and preserve\nthe transformations in order to revert them as needed.\n\n# Install\n\n## Requirements\n\n**RDT** has been developed and tested on [Python 3.5, 3.6 and 3.7](https://www.python.org/downloads)\n\nAlso, although it is not strictly required, the usage of a\n[virtualenv](https://virtualenv.pypa.io/en/latest/) is highly recommended in order to avoid\ninterfering with other software installed in the system where **RDT** is run.\n\nThese are the minimum commands needed to create a virtualenv using python3.6 for **RDT**:\n\n```bash\npip install virtualenv\nvirtualenv -p $(which python3.6) rdt-venv\n```\n\nAfterwards, you have to execute this command to have the virtualenv activated:\n\n```bash\nsource rdt-venv/bin/activate\n```\n\nRemember about executing it every time you start a new console to work on **RDT**!\n\n## Install with pip\n\nAfter creating the virtualenv and activating it, we recommend using\n[pip](https://pip.pypa.io/en/stable/) in order to install **RDT**:\n\n```bash\npip install rdt\n```\n\nThis will pull and install the latest stable release from [PyPi](https://pypi.org/).\n\n## Install from source\n\nWith your virtualenv activated, you can clone the repository and install it from\nsource by running `make install` on the `stable` branch:\n\n```bash\ngit clone git@github.com:HDI-Project/RDT.git\ncd RDT\ngit checkout stable\nmake install\n```\n\n## Install for Development\n\nIf you want to contribute to the project, a few more steps are required to make the project ready\nfor development.\n\nPlease head to the [Contributing Guide](https://HDI-Project.github.io/RDT/contributing.html#get-started)\nfor more details about this process.\n\n# Quickstart\n\nIn this short series of tutorials we will guide you through a series of steps that will\nhelp you getting started using **RDT** to transform columns, tables and datasets.\n\n## Transforming a column\n\nIn this first guide, you will learn how to use **RDT** in its simplest form, transforming\na single column loaded as a `pandas.DataFrame` object.\n\n### 1. Load the demo data\n\nYou can load some demo data using the `rdt.get_demo` function, which will return some random\ndata for you to play with.\n\n```python\nfrom rdt import get_demo\n\ndata = get_demo()\n```\n\nThis will return a `pandas.DataFrame` with 10 rows and 4 columns, one of each data type supported:\n\n```\n 0_int 1_float 2_str 3_datetime\n0 38.0 46.872441 b 2021-02-10 21:50:00\n1 77.0 13.150228 NaN 2021-07-19 21:14:00\n2 21.0 NaN b NaT\n3 10.0 37.128869 c 2019-10-15 21:39:00\n4 91.0 41.341214 a 2020-10-31 11:57:00\n5 67.0 92.237335 a NaT\n6 NaN 51.598682 NaN 2020-04-01 01:56:00\n7 NaN 42.204396 c 2020-03-12 22:12:00\n8 68.0 NaN c 2021-02-25 16:04:00\n9 7.0 31.542918 a 2020-07-12 03:12:00\n```\n\nNotice how the data is random, so your output might look a bit different. Also notice how\nRDT introduced some null values randomly.\n\n### 2. Load the transformer\n\nIn this example we will use the datetime column, so let's load a `DatetimeTransformer`.\n\n```python\nfrom rdt.transformers import DatetimeTransformer\ntransformer = DatetimeTransformer()\n```\n\n### 3. Fit the Transformer\n\nBefore being able to transform the data, we need the transformer to learn from it.\n\nWe will do this by calling its `fit` method passing the column that we want to transform.\n\n```python\ntransformer.fit(data['3_datetime'])\n```\n\n### 4. Transform the data\n\nOnce the transformer is fitted, we can pass the data again to its `transform` method in order\nto get the transformed version of the data.\n\n```python\ntransformed = transformer.transform(data['3_datetime'])\n```\n\nThe output will be a `numpy.ndarray` with two columns, one with the datetimes transformed\nto integer timestamps, and another one indicating with 1s which values were null in the\noriginal data.\n\n```\narray([[1.61299380e+18, 0.00000000e+00],\n [1.62672924e+18, 0.00000000e+00],\n [1.59919923e+18, 1.00000000e+00],\n [1.57117554e+18, 0.00000000e+00],\n [1.60414542e+18, 0.00000000e+00],\n [1.59919923e+18, 1.00000000e+00],\n [1.58570616e+18, 0.00000000e+00],\n [1.58405112e+18, 0.00000000e+00],\n [1.61426904e+18, 0.00000000e+00],\n [1.59452352e+18, 0.00000000e+00]])\n```\n\n### 5. Revert the column transformation\n\nIn order to revert the previous transformation, the transformed data can be passed to\nthe `reverse_transform` method of the transformer:\n\n```python\nreversed_data = transformer.reverse_transform(transformed)\n```\n\nThe output will be a `pandas.Series` containing the reverted values, which should be exactly\nlike the original ones.\n\n```\n0 2021-02-10 21:50:00\n1 2021-07-19 21:14:00\n2 NaT\n3 2019-10-15 21:39:00\n4 2020-10-31 11:57:00\n5 NaT\n6 2020-04-01 01:56:00\n7 2020-03-12 22:12:00\n8 2021-02-25 16:04:00\n9 2020-07-12 03:12:00\ndtype: datetime64[ns]\n```\n\n## Transforming a table\n\nOnce we know how to transform a single column, we can try to go the next level and transform\na table with multiple columns.\n\n### 1. Load the HyperTransformer\n\nIn order to manuipulate a complete table we will need to load a `rdt.HyperTransformer`.\n\n```python\nfrom rdt import HyperTransformer\nht = HyperTransformer()\n```\n\n### 2. Fit the HyperTransformer\n\nJust like the transfomer, the HyperTransformer needs to be fitted before being able to transform\ndata.\n\nThis is done by calling its `fit` method passing the `data` DataFrame.\n\n```python\nht.fit(data)\n```\n\n### 3. Transform the table data\n\nOnce the HyperTransformer is fitted, we can pass the data again to its `transform` method in order\nto get the transformed version of the data.\n\n```python\ntransformed = ht.transform(data)\n```\n\nThe output, will now be another `pandas.DataFrame` with the numerical representation of our\ndata.\n\n```\n 0_int 0_int#1 1_float 1_float#1 2_str 3_datetime 3_datetime#1\n0 38.000 0.0 46.872441 0.0 0.70 1.612994e+18 0.0\n1 77.000 0.0 13.150228 0.0 0.90 1.626729e+18 0.0\n2 21.000 0.0 44.509511 1.0 0.70 1.599199e+18 1.0\n3 10.000 0.0 37.128869 0.0 0.15 1.571176e+18 0.0\n4 91.000 0.0 41.341214 0.0 0.45 1.604145e+18 0.0\n5 67.000 0.0 92.237335 0.0 0.45 1.599199e+18 1.0\n6 47.375 1.0 51.598682 0.0 0.90 1.585706e+18 0.0\n7 47.375 1.0 42.204396 0.0 0.15 1.584051e+18 0.0\n8 68.000 0.0 44.509511 1.0 0.15 1.614269e+18 0.0\n9 7.000 0.0 31.542918 0.0 0.45 1.594524e+18 0.0\n```\n\n### 4. Revert the table transformation\n\nIn order to revert the transformation and recover the original data from the transformed one,\nwe need to call `reverse_transform` method of the `HyperTransformer` instance passing it the\ntransformed data.\n\n```python\nreversed_data = ht.reverse_transform(transformed)\n```\n\nWhich should output, again, a table that looks exactly like the original one.\n\n```\n 0_int 1_float 2_str 3_datetime\n0 38.0 46.872441 b 2021-02-10 21:50:00\n1 77.0 13.150228 NaN 2021-07-19 21:14:00\n2 21.0 NaN b NaT\n3 10.0 37.128869 c 2019-10-15 21:39:00\n4 91.0 41.341214 a 2020-10-31 11:57:00\n5 67.0 92.237335 a NaT\n6 NaN 51.598682 NaN 2020-04-01 01:56:00\n7 NaN 42.204396 c 2020-03-12 22:12:00\n8 68.0 NaN c 2021-02-25 16:04:00\n9 7.0 31.542918 a 2020-07-12 03:12:00\n```\n\n# What's next?\n\nFor more details about **Reversible Data Transforms**, how to contribute to the project, and\nits complete API reference, please visit the [documentation site](\nhttps://HDI-Project.github.io/RDT/).\n\n\n# History\n\n## 0.2.0 - 2019-10-15\n\nThis version comes with a brand new API and internal implementation, removing the old\nmetadata JSON from the user provided arguments, and making each transformer work only\nwith `pandas.Series` of their corresponding data type.\n\nAs part of this change, several transformer names have been changed and a new BooleanTransformer\nand a feature to automatically decide which transformers to use based on dtypes have been added.\n\nUnit test coverage has also been increased to 100%.\n\nSpecial thanks to @JDTheRipperPC and @csala for the big efforts put in making this\nrelease possible.\n\n### Issues\n\n* Drop the usage of meta - Issue [#72](https://github.com/HDI-Project/RDT/issues/72) by @JDTheRipperPC\n* Make CatTransformer.probability_map deterministic - Issue [#25](https://github.com/HDI-Project/RDT/issues/25) by @csala\n\n## 0.1.3 - 2019-09-24\n\n### New Features\n\n* Add attributes NullTransformer and col_meta - Issue [#30](https://github.com/HDI-Project/RDT/issues/30) by @ManuelAlvarezC\n\n### General Improvements\n\n* Integrate with CodeCov - Issue [#89](https://github.com/HDI-Project/RDT/issues/89) by @csala\n* Remake Sphinx Documentation - Issue [#96](https://github.com/HDI-Project/RDT/issues/96) by @JDTheRipperPC\n* Improve README - Issue [#92](https://github.com/HDI-Project/RDT/issues/92) by @JDTheRipperPC\n* Document RELEASE workflow - Issue [#93](https://github.com/HDI-Project/RDT/issues/93) by @JDTheRipperPC\n* Add support to Python 3.7 - Issue [#38](https://github.com/HDI-Project/RDT/issues/38) by @ManuelAlvarezC\n* Create way to pass HyperTransformer table dict - Issue [#45](https://github.com/HDI-Project/RDT/issues/45) by @ManuelAlvarezC\n\n## 0.1.2\n\n* Add a numerical transformer for positive numbers.\n* Add option to anonymize data on categorical transformer.\n* Move the `col_meta` argument from method-level to class-level.\n* Move the logic for missing values from the transformers into the `HyperTransformer`.\n* Removed unreacheble lines in `NullTransformer`.\n* `Numbertransfomer` to set default value to 0 when the column is null.\n* Add a CLA for collaborators.\n* Refactor performance-wise the transformers.\n\n## 0.1.1\n\n* Improve handling of NaN in NumberTransformer and CatTransformer.\n* Add unittests for HyperTransformer.\n* Remove unused methods `get_types` and `impute_table` from HyperTransformer.\n* Make NumberTransformer enforce dtype int on integer data.\n* Make DTTransformer check data format before transforming.\n* Add minimal API Reference.\n* Merge `rdt.utils` into `HyperTransformer` class. \n\n## 0.1.0\n\n* First release on PyPI.\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/HDI-Project/RDT", "keywords": "rdt", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "rdt", "package_url": "https://pypi.org/project/rdt/", "platform": "", "project_url": "https://pypi.org/project/rdt/", "project_urls": { "Homepage": "https://github.com/HDI-Project/RDT" }, "release_url": "https://pypi.org/project/rdt/0.2.0/", "requires_dist": [ "numpy (>=1.15.4)", "pandas (>=0.23.4)", "scipy (>=1.1.0)", "Faker (>=1.0.1)", "bumpversion (>=0.5.3) ; extra == 'dev'", "pip (>=9.0.1) ; extra == 'dev'", "watchdog (>=0.8.3) ; extra == 'dev'", "m2r (>=0.2.0) ; extra == 'dev'", "Sphinx (>=1.7.1) ; extra == 'dev'", "sphinx-rtd-theme (>=0.2.4) ; extra == 'dev'", "autodocsumm (>=0.1.10) ; extra == 'dev'", "flake8 (>=3.7.7) ; extra == 'dev'", "isort (>=4.3.4) ; extra == 'dev'", "autoflake (>=1.2) ; extra == 'dev'", "autopep8 (>=1.4.3) ; extra == 'dev'", "twine (>=1.10.0) ; extra == 'dev'", "wheel (>=0.30.0) ; extra == 'dev'", "coverage (>=4.5.1) ; extra == 'dev'", "tox (>=2.9.1) ; extra == 'dev'", "pytest (>=3.4.2) ; extra == 'dev'", "pytest-cov (>=2.6.0) ; extra == 'dev'", "pytest (>=3.4.2) ; extra == 'test'", "pytest-cov (>=2.6.0) ; extra == 'test'" ], "requires_python": ">=3.5", "summary": "Reversible Data Transformsi", "version": "0.2.0" }, "last_serial": 5977697, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3f065e19ee454c5b45037a5c1fcdd665", "sha256": "3b56aeae2633e575169ec0a1d5f99614e848fe56fd0a3a4b294bd5403c6506ba" }, "downloads": -1, "filename": "rdt-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f065e19ee454c5b45037a5c1fcdd665", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 12143, "upload_time": "2018-08-23T14:26:45", "url": "https://files.pythonhosted.org/packages/d1/e6/41c38fa3bdd51290caa74b8cb0b0b73a7104478cf410b5875678c329a8dc/rdt-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0fdec040b6f90c59cc4a43fba445e47", "sha256": "377b17bde2728cb8709b191c11a552468e83ec492b35d646915cfea0deea2a47" }, "downloads": -1, "filename": "rdt-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b0fdec040b6f90c59cc4a43fba445e47", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 22091, "upload_time": "2018-08-23T14:26:47", "url": "https://files.pythonhosted.org/packages/94/08/8c374f8f03775483c9cd52c7bde717a1ae520f1a4dd6169442ed929b7934/rdt-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f5963393802c822266e76da682c90aa9", "sha256": "fa0f8c9ab877b3d6444035317cd51c1fc2556bca79f91c4f15a77d826a0b7592" }, "downloads": -1, "filename": "rdt-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5963393802c822266e76da682c90aa9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 13979, "upload_time": "2018-10-16T21:10:08", "url": "https://files.pythonhosted.org/packages/e1/fa/70199b3ae1eb4a1455a746806a5d8096b9f623cccb09e44774959bf82f7c/rdt-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76f4fb02f2527af229c74c2674d7ae34", "sha256": "5ea6f5bcad130a0df1eb2ca62414fd5b88b7bd23b053c01ebc229521c3628d05" }, "downloads": -1, "filename": "rdt-0.1.1.tar.gz", "has_sig": false, "md5_digest": "76f4fb02f2527af229c74c2674d7ae34", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 31776, "upload_time": "2018-10-16T21:10:10", "url": "https://files.pythonhosted.org/packages/6b/50/20b8ab04cd63cea27c5895227b1b836eb8b118f82d98413190e87faf5127/rdt-0.1.1.tar.gz" } ], "0.1.1.dev0": [ { "comment_text": "", "digests": { "md5": "4da8211deeb90201020699f5638171d2", "sha256": "d0c8636a3f9f6a18312d851e689371162a214916865a063af157389f238af5d7" }, "downloads": -1, "filename": "rdt-0.1.1.dev0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4da8211deeb90201020699f5638171d2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 14033, "upload_time": "2018-10-16T20:40:24", "url": "https://files.pythonhosted.org/packages/54/eb/1ac4d35ee730f8c12c568aaf8987267b119bd839a2d93a1b2556c27c8bf5/rdt-0.1.1.dev0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04c3def61f17c651a3354a27ac622b05", "sha256": "63dcbff139ecf78d6b410b96d85726ccaa7ef66ee681f291ddce5acfc90346a4" }, "downloads": -1, "filename": "rdt-0.1.1.dev0.tar.gz", "has_sig": false, "md5_digest": "04c3def61f17c651a3354a27ac622b05", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 31791, "upload_time": "2018-10-16T20:40:26", "url": "https://files.pythonhosted.org/packages/93/9a/248e0d97f7b1376854ac0bba38fca53a826b1100471acd90fc27775e9d10/rdt-0.1.1.dev0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "338a8e6adab55f503a6759a944e0c1b9", "sha256": "a2c5503697dc4d18fe291f14f547652be7ff2b80bf054ae4b31d4de5c3d23b17" }, "downloads": -1, "filename": "rdt-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "338a8e6adab55f503a6759a944e0c1b9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 16764, "upload_time": "2019-02-01T20:26:52", "url": "https://files.pythonhosted.org/packages/cf/e3/4153cfd2aef0c4b7f9df8272e0d2d604420257d5c0c5cd20a1d813d46bc6/rdt-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dac3a8e69d2f97608a8e2a1a415dc4c1", "sha256": "30b4e596ba126e7803c05ec21f993c406c1213a19b629b9a698b9f99b6d1cb82" }, "downloads": -1, "filename": "rdt-0.1.2.tar.gz", "has_sig": false, "md5_digest": "dac3a8e69d2f97608a8e2a1a415dc4c1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 33670, "upload_time": "2019-02-01T20:26:54", "url": "https://files.pythonhosted.org/packages/47/4c/96b6d6f8f437cd5abc3cb3d3da19e386e448ecd6e0b8f91878ed93bb7f64/rdt-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "53c6eb5ff80c24968e2b1479d42ff16f", "sha256": "8e34b16473ad5a2e38551334862bb235a684a50cd5eb2c22ff0d264a61ba3d66" }, "downloads": -1, "filename": "rdt-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53c6eb5ff80c24968e2b1479d42ff16f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 17211, "upload_time": "2019-09-24T14:59:55", "url": "https://files.pythonhosted.org/packages/02/2a/6e71c0bf4e807847e12f373dc757300fa3eeac23401ace90ec8631f4f67f/rdt-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b44b9379b946ab6aaeff02256bb6da8", "sha256": "06123f87db4467e437af4b8e7b7d999e62c44e4c4c14f41405b43c7ed2bbdbf5" }, "downloads": -1, "filename": "rdt-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1b44b9379b946ab6aaeff02256bb6da8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 72120, "upload_time": "2019-09-24T14:59:57", "url": "https://files.pythonhosted.org/packages/47/31/096c90d5aa99bd76937c6af3c25c26380f51fb47a18ae86d4ca9a6ffede0/rdt-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5548f883ac555fbc89a8178bdf42c274", "sha256": "447d3742f8d8e5103e69457b426299932e6130c9584ac26decaa400e34bb1158" }, "downloads": -1, "filename": "rdt-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5548f883ac555fbc89a8178bdf42c274", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 16898, "upload_time": "2019-10-15T14:36:52", "url": "https://files.pythonhosted.org/packages/38/8e/0259aa028e278f8d0d576fd789ef7f568416799573e71c7e694a6839589e/rdt-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "115afaaa97a677ae4ec64847374d2c51", "sha256": "f54ed9d4dbbadb9464093d51bf7b62e5f627a739f47d7cc7d95fab157b2f9503" }, "downloads": -1, "filename": "rdt-0.2.0.tar.gz", "has_sig": false, "md5_digest": "115afaaa97a677ae4ec64847374d2c51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 71014, "upload_time": "2019-10-15T14:36:54", "url": "https://files.pythonhosted.org/packages/23/10/4f466d340220bfafb9f0639c00456308a9ab838ace65aeb4fc8d96b31003/rdt-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5548f883ac555fbc89a8178bdf42c274", "sha256": "447d3742f8d8e5103e69457b426299932e6130c9584ac26decaa400e34bb1158" }, "downloads": -1, "filename": "rdt-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5548f883ac555fbc89a8178bdf42c274", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 16898, "upload_time": "2019-10-15T14:36:52", "url": "https://files.pythonhosted.org/packages/38/8e/0259aa028e278f8d0d576fd789ef7f568416799573e71c7e694a6839589e/rdt-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "115afaaa97a677ae4ec64847374d2c51", "sha256": "f54ed9d4dbbadb9464093d51bf7b62e5f627a739f47d7cc7d95fab157b2f9503" }, "downloads": -1, "filename": "rdt-0.2.0.tar.gz", "has_sig": false, "md5_digest": "115afaaa97a677ae4ec64847374d2c51", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 71014, "upload_time": "2019-10-15T14:36:54", "url": "https://files.pythonhosted.org/packages/23/10/4f466d340220bfafb9f0639c00456308a9ab838ace65aeb4fc8d96b31003/rdt-0.2.0.tar.gz" } ] }