{ "info": { "author": "Jan \u0160imbera", "author_email": "simbera.jan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "# PySynth: Dataset Synthesis for Python\n\nPySynth is a package to create synthetic datasets - that is, datasets that look\njust like the original in terms of statistical properties, variable values,\ndistributions and correlations, but do not have exactly the same contents\nso are safe against data disclosure. An alternative to R's \n[Synthpop](https://www.r-bloggers.com/generating-synthetic-data-sets-with-synthpop-in-r/)\nwith a more permissive license.\n\n## Installation\nYou can get PySynth from PyPI by using the obvious\n\n pip install pysynth\n\n## Usage\nYou can perform the synthesis with basic settings directly on a CSV file:\n\n python -m pysynth source.csv synthesized.csv\n\nThis produces a `synthesized.csv` file that will look a lot like the original\n(variable names values, distributions, correlations) but will (most likely)\nnot be the same.\n\nFor better control, it is best to use the synthesizer objects. They follow the\nscikit-learn interface for Pandas dataframes so you `fit()` them on the\noriginal and then `sample(n)` to get a synthetic dataframe of `n` rows.\n\nSo far, only a synthesizer based on iterative proportional fitting\n(`pysynth.ipf.IPFSynthesizer`) is available. This synthesis bins continuous\nvariables to categories and reconstructs them using fitted univariate\ndistributions. Missing values (`NaN`) are preserved.\n\nSynthesis quality measurement modules to be added.\n\n## Contributors\nFeedback, additions, suggestions, issues and pull requests are welcome and much\nappreciated on [GitHub](https://github.com/simberaj/pysynth).\n\nHow to add features:\n\n1. Fork it (https://github.com/simberaj/pysynth/fork)\n2. Create your feature branch (`git checkout -b feature/feature-name`)\n3. Commit your changes (`git commit -am \"feature-name added\"`)\n4. Push to the branch (`git push origin feature/feature-name`)\n5. Create a new pull request\n\nDevelopment requires `pytest` for testing and `sphinx` to generate\ndocumentation. Tests can be run using simple\n\n pytest tests\n\n### Intended development directions\n- Synthesis quality measurement in terms of anonymization/similarity\n- Model-based synthesis along the lines of R's Synthpop\n\n## License and author info\nPySynth is developed by Jan \u0160imbera .\n\nPySynth is available under the MIT license. See `LICENSE.txt` for more details.\n\n\n", "description_content_type": "text/markdown; charset=UTF-8", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/simberaj/pysynth", "keywords": "synthesis ipf data python", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pysynth", "package_url": "https://pypi.org/project/pysynth/", "platform": "", "project_url": "https://pypi.org/project/pysynth/", "project_urls": { "Homepage": "https://github.com/simberaj/pysynth" }, "release_url": "https://pypi.org/project/pysynth/0.0.4/", "requires_dist": [ "numpy", "pandas", "scipy", "scikit-learn (>=0.22)" ], "requires_python": ">=3.7.0", "summary": "Dataset synthesis for Python", "version": "0.0.4", "yanked": false, "yanked_reason": null }, "last_serial": 6278058, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "824d0d3cdc539831c50238f94a835486", "sha256": "059b6267a8a2523de6ac9e854a84206d902ce27ca04b02fc819de41ab53be449" }, "downloads": -1, "filename": "pysynth-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "824d0d3cdc539831c50238f94a835486", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 14763, "upload_time": "2019-12-11T08:50:08", "upload_time_iso_8601": "2019-12-11T08:50:08.538873Z", "url": "https://files.pythonhosted.org/packages/e0/2e/e00fd8b0a1dd01f2ebfa6e35aa39ab64d974489221d60feb4d3f85fb52b7/pysynth-0.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c6db619ac4492caeca07a371e85ce49c", "sha256": "f235455f0e4535b8abca22138f8fcf1e689fd226857fc9e513e4f130bd16bc6f" }, "downloads": -1, "filename": "pysynth-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c6db619ac4492caeca07a371e85ce49c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 13898, "upload_time": "2019-12-11T08:50:12", "upload_time_iso_8601": "2019-12-11T08:50:12.751745Z", "url": "https://files.pythonhosted.org/packages/c1/ce/3f3a854f0823fb3ab2c467b797f56199ddf42f1bc0a84cc7bcac013ba303/pysynth-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "816d52593a844a74ca720caf2b9a2c4a", "sha256": "29863abf9c79b8322f3a0c00f8ce3a07c63b858e8f796a207145c0102fe1c76e" }, "downloads": -1, "filename": "pysynth-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "816d52593a844a74ca720caf2b9a2c4a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 14764, "upload_time": "2019-12-11T08:50:10", "upload_time_iso_8601": "2019-12-11T08:50:10.862780Z", "url": "https://files.pythonhosted.org/packages/e9/ee/97d95f85cb44b3cb4f67cba014cdb1415169d8ec14fd9459b97efc4d12eb/pysynth-0.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bf3ae1375341f89ce3f8a8f6cee64b9c", "sha256": "37131db89bea7a844939206083253162867a45b044361b5cc488adddd070f870" }, "downloads": -1, "filename": "pysynth-0.0.2.tar.gz", "has_sig": false, "md5_digest": "bf3ae1375341f89ce3f8a8f6cee64b9c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 13894, "upload_time": "2019-12-11T08:50:14", "upload_time_iso_8601": "2019-12-11T08:50:14.326791Z", "url": "https://files.pythonhosted.org/packages/b8/73/249dba8c8cb69f08bf09292e57e38b90596f72227dfb89d3f525713dc945/pysynth-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "61ce1272d3cf13834dbef9c785e12a64", "sha256": "a00853471996ddc3513a621155007d998a046c202691b57ab9b76eed2a0db2b1" }, "downloads": -1, "filename": "pysynth-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "61ce1272d3cf13834dbef9c785e12a64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 14659, "upload_time": "2019-12-11T08:56:32", "upload_time_iso_8601": "2019-12-11T08:56:32.374675Z", "url": "https://files.pythonhosted.org/packages/6d/1f/aa1587287d24aaefb88a098fb2aa027a7ea019bd1576bb16565fac71fdd5/pysynth-0.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "254c50cdf541018608b009e2e4582e88", "sha256": "996703b8a3585dd766e79a6969d25d4cc76f921461f903cf15165d59ed23f6d5" }, "downloads": -1, "filename": "pysynth-0.0.4.tar.gz", "has_sig": false, "md5_digest": "254c50cdf541018608b009e2e4582e88", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 13723, "upload_time": "2019-12-11T08:56:33", "upload_time_iso_8601": "2019-12-11T08:56:33.375754Z", "url": "https://files.pythonhosted.org/packages/96/a7/852abd24b6e894ebf9fbc44bbbc14a145bcfef07d14bc8fb7f8bc8e2086d/pysynth-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "61ce1272d3cf13834dbef9c785e12a64", "sha256": "a00853471996ddc3513a621155007d998a046c202691b57ab9b76eed2a0db2b1" }, "downloads": -1, "filename": "pysynth-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "61ce1272d3cf13834dbef9c785e12a64", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7.0", "size": 14659, "upload_time": "2019-12-11T08:56:32", "upload_time_iso_8601": "2019-12-11T08:56:32.374675Z", "url": "https://files.pythonhosted.org/packages/6d/1f/aa1587287d24aaefb88a098fb2aa027a7ea019bd1576bb16565fac71fdd5/pysynth-0.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "254c50cdf541018608b009e2e4582e88", "sha256": "996703b8a3585dd766e79a6969d25d4cc76f921461f903cf15165d59ed23f6d5" }, "downloads": -1, "filename": "pysynth-0.0.4.tar.gz", "has_sig": false, "md5_digest": "254c50cdf541018608b009e2e4582e88", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 13723, "upload_time": "2019-12-11T08:56:33", "upload_time_iso_8601": "2019-12-11T08:56:33.375754Z", "url": "https://files.pythonhosted.org/packages/96/a7/852abd24b6e894ebf9fbc44bbbc14a145bcfef07d14bc8fb7f8bc8e2086d/pysynth-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }