{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: GIS" ], "description": "# Segregation Analysis, Inference, and Decomposition with PySAL\n\n[![Build Status](https://travis-ci.com/pysal/segregation.svg?branch=master)](https://travis-ci.org/pysal/segregation)\n[![Coverage Status](https://coveralls.io/repos/github/pysal/segregation/badge.svg?branch=master)](https://coveralls.io/github/pysal/segregation?branch=master&service=github&kill_cache=1) [![DOI](https://zenodo.org/badge/162503796.svg)](https://zenodo.org/badge/latestdoi/162503796)\n\n\n![](doc/_static/images/heatmaps.png)\n\nThe PySAL **segregation** package is a tool for analyzing patterns of urban segregation.\nWith only a few lines of code, **segregation** users can\n\nCalculate over 40 segregation measures from simple to state-of-the art, including:\n\n- [aspatial segregation indices](https://github.com/pysal/segregation/blob/master/notebooks/aspatial_examples.ipynb)\n- spatial segregation indices\n - [using spatial weights matrices, euclidian distances, or topological relationships](https://github.com/pysal/segregation/blob/master/notebooks/spatial_examples.ipynb)\n - [using street network distances](https://github.com/pysal/segregation/blob/master/notebooks/network_measures.ipynb)\n - [using multiscalar definitions](https://github.com/pysal/segregation/blob/master/notebooks/multiscalar_segregation_profiles.ipynb)\n- [local segregation indices](https://github.com/pysal/segregation/blob/master/notebooks/local_measures_example.ipynb)\n\nTest whether segregation estimates are statistically significant:\n\n- [single value inference](https://github.com/pysal/segregation/blob/master/notebooks/inference_wrappers_example.ipynb)\n- [comparative inference](https://github.com/pysal/segregation/blob/master/notebooks/inference_wrappers_example.ipynb)\n\n[Decompose](https://github.com/pysal/segregation/blob/master/notebooks/decomposition_wrapper_example.ipynb)\nsegregation comparisons into\n\n- differences arising from spatial structure \n- differences arising from demographic structure\n\n## Installation\n\nReleased versions of segregation are available on pip and anaconda\n\npip:\n\n```bash\npip install segregation\n```\n\n[anaconda](https://www.anaconda.com/download/):\n\n```bash\nconda install -c conda-forge segregation\n```\n\nYou can also install the current development version from this repository \n\n download [anaconda](https://www.anaconda.com/download/):\n\n`cd` into the directory and run the following commands\n\n```bash\nconda env create -f environment.yml\nconda activate segregation\npython setup.py develop\n```\n\n## Getting started\n\nFor a complete guide to the `segregation` API, see the online\n[documentation](http://segregation.readthedocs.io). \n\nFor code walkthroughs and sample analyses, see the\n[example notebooks](https://github.com/pysal/segregation/tree/master/notebooks)\n\n## Calculating Segregation Measures\n\nEach index in the **segregation** module is implemented as a class, which is built from a `pandas.DataFrame`\nor a `geopandas.GeoDataFrame`. To estimate a segregation statistic, a user needs to call the segregation class\nshe wishes to estimate, and pass three arguments:\n\n- the DataFrame containing population data\n- the name of the column with population counts for the group of interest\n- the name of the column with the total population for each enumeration unit\n\nEvery class in **segregation** has a `statistic` and a `core_data` attributes.\nThe first is a direct access to the point estimation of the specific segregation measure\nand the second attribute gives access to the main data that the module uses internally to\nperform the estimates.\nTo see the estimated D in the first generic example above, the user would have just to run\n`index.statistic` to see the fitted value.\n\n### Single group measures\n\nIf, for example, a user was studying income segregation and wanted to know whether\nhigh-income residents tend to be more segregated from others.\nThis user may want would want to fit a dissimilarity index (D) to a DataFrame called `df` to\na specific group with columns like `\"hi_income\"`, `\"med_income\"` and `\"low_income\"` that store counts of people in each income\nbracket, and a total column called `\"total_population\"`\n\na typical call would be something like this:\n\n```python\nfrom segregation.aspatial import Dissim\nd_index = Dissim(df, \"hi_income\", \"total_population\")\n```\n\nIf a user would want to fit a *spatial* dissimilarity index (SD), the call would be nearly\nidentical, save for the fact that the `DataFrame` now needs to be a `GeoDataFrame` with an appropriate `geometry` column\n\n```python\nfrom segregation.spatial import SpatialDissim\nspatial_index = SpatialDissim(gdf, \"hi_income\", \"total_population\")\n```\n\nSome spatial indices can also accept either a [PySAL](http://pysal.org) `W` object, or a [pandana](https://github.com/UDST/pandana) `Network` object,\nwhich allows the user full control over how to parameterize spatial effects.\nThe network functions can be particularly useful for teasing out differences in\nsegregation measures caused by two cities that have two very different spatial structures,\nlike for example Detroit MI (left) and Monroe LA (right):\n\n![](doc/_static/images/networks.png)\n\nFor point estimation, all single-group indices available are summarized in the following\ntable:\n\n| **Measure** | **Class/Function** | **Spatial?** | **Specific Arguments** |\n|:--------------------------------------------------|:--------------------------------|:------------:|:-----------------------------: |\n| Dissimilarity (D) | Dissim | No | - |\n| Gini (G) | GiniSeg | No | - |\n| Entropy (H) | Entropy | No | - |\n| Isolation (xPx) | Isolation | No | - |\n| Exposure (xPy) | Exposure | No | - |\n| Atkinson (A) | Atkinson | No | b |\n| Correlation Ratio (V) | CorrelationR | No | - |\n| Concentration Profile (R) | ConProf | No | m |\n| Modified Dissimilarity (Dct) | ModifiedDissim | No | iterations |\n| Modified Gini (Gct) | ModifiedGiniSeg | No | iterations |\n| Bias-Corrected Dissimilarity (Dbc) | BiasCorrectedDissim | No | B |\n| Density-Corrected Dissimilarity (Ddc) | DensityCorrectedDissim | No | xtol |\n| Spatial Proximity Profile (SPP) | SpatialProxProf | Yes | m |\n| Spatial Dissimilarity (SD) | SpatialDissim | Yes | w, standardize |\n| Boundary Spatial Dissimilarity (BSD) | BoundarySpatialDissim | Yes | standardize |\n| Perimeter Area Ratio Spatial Dissimilarity (PARD) | PerimeterAreaRatioSpatialDissim | Yes | standardize |\n| Distance Decay Isolation (DDxPx) | DistanceDecayIsolation | Yes | alpha, beta, metric |\n| Distance Decay Exposure (DDxPy) | DistanceDecayExposure | Yes | alpha, beta, metric |\n| Spatial Proximity (SP) | SpatialProximity | Yes | alpha, beta, metric |\n| Absolute Clustering (ACL) | AbsoluteClustering | Yes | alpha, beta, metric |\n| Relative Clustering (RCL) | RelativeClustering | Yes | alpha, beta, metric |\n| Delta (DEL) | Delta | Yes | - |\n| Absolute Concentration (ACO) | AbsoluteConcentration | Yes | - |\n| Relative Concentration (RCO) | RelativeConcentration | Yes | - |\n| Absolute Centralization (ACE) | AbsoluteCentralization | Yes | - |\n| Relative Centralization (RCE) | RelativeCentralization | Yes | - |\n\n### Multigroup measures\n\n**segregation** also facilitates the estimation of multigroup segregation measures.\n\nIn this case, the call is nearly identical to the single-group, only now we pass a list of\ncolumn names rather than a single string;\nreprising the income segregation example above, an example call might look like this \n\n```python\nfrom segregation.aspatial import MultiDissim\nindex = MultiDissim(df, ['hi_income', 'med_income', 'low_income'])\n```\n\n```python\nindex.statistic\n```\n\nAvailable multi-group indices are summarized in the table below:\n\n| **Measure** | **Class/Function** | **Spatial?** | **Specific Arguments** |\n|:--------------------------------------------|:---------------------------------|:------------:|:----------------------:|\n| Multigroup Dissimilarity | MultiDissim | No | - |\n| Multigroup Gini | MultiGiniSeg | No | - |\n| Multigroup Normalized Exposure | MultiNormalizedExposure | No | - |\n| Multigroup Information Theory | MultiInformationTheory | No | - |\n| Multigroup Relative Diversity | MultiRelativeDiversity | No | - |\n| Multigroup Squared Coefficient of Variation | MultiSquaredCoefficientVariation | No | - |\n| Multigroup Diversity | MultiDiversity | No | normalized |\n| Simpson\u2019s Concentration | SimpsonsConcentration | No | - |\n| Simpson\u2019s Interaction | SimpsonsInteraction | No | - |\n| Multigroup Divergence | MultiDivergence | No | - |\n\n### Local measures\n\nAlso, it is possible to calculate local measures of segregation.\nA `statistics` attribute will contain the values of these indexes. **Note:\nin this case the attribute is in the plural since, many statistics are fitted, one for\neach enumeration unit** Local segregation indices have the same signature as their global\ncousins and are summarized in the table below:\n\n| **Measure** | **Class/Function** | **Spatial?** | **Specific Arguments** |\n|:------------------------------|:-------------------------------|:------------:|:----------------------:|\n| Location Quotient | MultiLocationQuotient | No | - |\n| Local Diversity | MultiLocalDiversity | No | - |\n| Local Entropy | MultiLocalEntropy | No | - |\n| Local Simpson\u2019s Concentration | MultiLocalSimpsonConcentration | No | - |\n| Local Simpson\u2019s Interaction | MultiLocalSimpsonInteraction | No | - |\n| Local Centralization | LocalRelativeCentralization | Yes | - |\n\n## Testing for Statistical Significance\n\nOnce the segregation indexes are fitted, the user can perform inference to shed light for\nstatistical significance in regional analysis.\nThe summary of the inference framework is presented in the table below:\n\n| **Inference Type** | **Class/Function** | **Function main Inputs** | **Function Outputs** |\n|:-------------------|:-------------------|:--------------------------------------------------------------:|:--------------------------------:|\n| Single Value | SingleValueTest | seg_class, iterations_under_null, null_approach, two_tailed | p_value, est_sim, statistic |\n| Two Values | TwoValueTest | seg_class_1, seg_class_2, iterations_under_null, null_approach | p_value, est_sim, est_point_diff |\n\n### [Single Value Inference](https://github.com/pysal/segregation/blob/master/notebooks/inference_wrappers_example.ipynb)\n\n![](doc/_static/images/singleval_inference.png)\n\n### [Two-Value Inference](https://github.com/pysal/segregation/blob/master/notebooks/inference_wrappers_example.ipynb)\n\n![](doc/_static/images/twoval_inference.png)\n\n### [Decomposition](https://github.com/pysal/segregation/blob/master/notebooks/decomposition_wrapper_example.ipynb)\n\nAnother useful analysis that can be performed with the **segregation** module is a\ndecompositional approach where two different indexes can be broken down into their spatial\ncomponent (`c_s`) and attribute component (`c_a`). This framework is summarized in the table\nbelow:\n\n| **Framework** | **Class/Function** | **Function main Inputs** | **Function Outputs** |\n|:--------------|:---------------------|:---------------------------------------:|:--------------------:|\n| Decomposition | DecomposeSegregation | index1, index2, counterfactual_approach | c_a, c_s |\n\n![](doc/_static/images/decomp_example.png)\n\nIn this case, the difference in measured D statistics between Detroit and Monroe is\nattributable primarily to their demographic makeup, rather than the spatial structure of\nthe two cities.\n(Note, this is to be expected since *D* is not a spatial index)\n\n## Contributing\n\nPySAL-segregation is under active development and contributors are welcome.\n\nIf you have any suggestion, feature request, or bug report, please open a new\n[issue](https://github.com/pysal/segregation/issues) on GitHub.\nTo submit patches, please follow the PySAL development\n[guidelines](http://pysal.readthedocs.io/en/latest/developers/index.html) and open a\n[pull request](https://github.com/pysal/segregation). Once your changes get merged, you\u2019ll\nautomatically be added to the\n[Contributors List](https://github.com/pysal/segregation/graphs/contributors).\n\n## Support\n\nIf you are having issues, please talk to us in the\n[gitter room](https://gitter.im/pysal/pysal).\n\n## License\n\nThe project is licensed under the\n[BSD license](https://github.com/pysal/pysal/blob/master/LICENSE.txt).\n\n## Funding\n\n Award #1831615\n[RIDIR: Scalable Geospatial Analytics for Social Science Research](https://www.nsf.gov/awardsearch/showAward?AWD_ID=1831615)\n\n Renan Xavier Cortes is grateful for the support of Coordena\u00e7\u00e3o de Aperfei\u00e7oamento de\nPessoal de N\u00edvel Superior - Brazil (CAPES) - Process number 88881.170553/2018-01\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://pypi.org/project/segregation/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://segregation.readthedocs.io/en/latest/", "keywords": "spatial statistics,demography", "license": "BSD", "maintainer": "Renan Xavier Cortes", "maintainer_email": "renanc@ucr.edu", "name": "segregation", "package_url": "https://pypi.org/project/segregation/", "platform": "", "project_url": "https://pypi.org/project/segregation/", "project_urls": { "Download": "https://pypi.org/project/segregation/", "Homepage": "https://segregation.readthedocs.io/en/latest/" }, "release_url": "https://pypi.org/project/segregation/1.1.1/", "requires_dist": [ "pandas", "geopandas", "matplotlib", "scikit-learn", "seaborn", "numpy", "scipy", "libpysal", "tqdm" ], "requires_python": ">3.4", "summary": "Analytics for spatial and non-spatial segregation in Python.", "version": "1.1.1" }, "last_serial": 5557845, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "9c510a6b0f2fd138b5a43c915552b514", "sha256": "a51525f8449a6b48b989e7295128fd61eef6c45553694cc9776962a2b4dc61d9" }, "downloads": -1, "filename": "segregation-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9c510a6b0f2fd138b5a43c915552b514", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.4", "size": 43378, "upload_time": "2019-04-15T20:10:17", "url": "https://files.pythonhosted.org/packages/a9/af/e5ab4ef8d3468082a0ee104cae191a4259229b55b8292ec6aadc8d74a659/segregation-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b7b325db670cd82c092015fdb534a5e", "sha256": "cabe53c3e291323fbafbf8cbb5f1b4af86822eac6f1179621b417b953a9fa47b" }, "downloads": -1, "filename": "segregation-1.0.2.tar.gz", "has_sig": false, "md5_digest": "0b7b325db670cd82c092015fdb534a5e", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 31872, "upload_time": "2019-04-15T20:10:19", "url": "https://files.pythonhosted.org/packages/67/74/3d544e444ef55bb187f9a15a06797aef6c003036e1098b90fcc65727455f/segregation-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "43d2fb0174a2f589fc369e1382cacedb", "sha256": "961382f532217d6615fb9c123828dea2387473c1f80daedc5c820cdf34476c89" }, "downloads": -1, "filename": "segregation-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "43d2fb0174a2f589fc369e1382cacedb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.4", "size": 44443, "upload_time": "2019-04-15T23:50:47", "url": "https://files.pythonhosted.org/packages/05/32/88bee79aa487009a22ca7d928c92972093dab72deaa62f29cb765e3aba02/segregation-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62550611447c8d4c90f0b2219745aaa6", "sha256": "052953643726c116c963974cb28701f8af4e6d936f05351290e4a13988e4f7fe" }, "downloads": -1, "filename": "segregation-1.0.3.tar.gz", "has_sig": false, "md5_digest": "62550611447c8d4c90f0b2219745aaa6", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 32786, "upload_time": "2019-04-15T23:50:48", "url": "https://files.pythonhosted.org/packages/ac/49/808041f112c3c0db00463759757f37a914fd40caa2e97c0ba090d1dbd691/segregation-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "bec207ed222f252bf41bf876471f48dc", "sha256": "98c4dfd3b411e3f4b35f25a4faeaaa15ff281169a4a2f7883ee6bc6f29a19b73" }, "downloads": -1, "filename": "segregation-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "bec207ed222f252bf41bf876471f48dc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.4", "size": 44439, "upload_time": "2019-04-15T23:57:07", "url": "https://files.pythonhosted.org/packages/f5/4e/9c5c499555511a57fa27d2bb7ac45158b98790e029b8e52fcff6b8e37f0e/segregation-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3eda81c659cd6a06acab6350c4b728a0", "sha256": "844b5c474656f4a137c115c3f25128418f3284b57addf622958e05b512c144de" }, "downloads": -1, "filename": "segregation-1.0.4.tar.gz", "has_sig": false, "md5_digest": "3eda81c659cd6a06acab6350c4b728a0", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 32790, "upload_time": "2019-04-15T23:57:08", "url": "https://files.pythonhosted.org/packages/8b/32/695541ee7fcb8333b25f0473c98d61c87fcdb915be19226b286313452437/segregation-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "99e60abe513705282f53f88138926b32", "sha256": "701e7c00650e0885694d86b31f70c1711e9f38373e91d532b3ae1466a06e7d01" }, "downloads": -1, "filename": "segregation-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "99e60abe513705282f53f88138926b32", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.4", "size": 46269, "upload_time": "2019-05-14T17:00:15", "url": "https://files.pythonhosted.org/packages/5e/8f/f16195c3fc17892240a77e58e88d3daaff19764ae8bb607e9043c15fb909/segregation-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3770f2d3850c48d698c3e4d547173b2d", "sha256": "b72a9c59f9a0b9585854407efda4ad9e7ffe77c6a9a77ae7c4b749971627047d" }, "downloads": -1, "filename": "segregation-1.0.5.tar.gz", "has_sig": false, "md5_digest": "3770f2d3850c48d698c3e4d547173b2d", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 34401, "upload_time": "2019-05-14T17:00:16", "url": "https://files.pythonhosted.org/packages/5a/71/f837682b8657a15553503ac9b2da23aaae4ca4f37e4364b4b36c025f94e3/segregation-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "6e587435dc1e9e0559384f7ee905523f", "sha256": "0580be33d7b6fc8a4950ae238f609a01c5d1a62e015effe8dece1ba1d3c42412" }, "downloads": -1, "filename": "segregation-1.0.6-py3.6.egg", "has_sig": false, "md5_digest": "6e587435dc1e9e0559384f7ee905523f", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">3.4", "size": 75259, "upload_time": "2019-07-01T19:24:45", "url": "https://files.pythonhosted.org/packages/1c/45/425b46362161084b29127bf43ce02ebd978aeaa7b51de144cf1bae7ed1ce/segregation-1.0.6-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "49b954a37a38da8c6079a51ac962c077", "sha256": "f2ec465a2de627cd9d6fe4857097475df4f4d037fa8b4bd2b47f876a0468c465" }, "downloads": -1, "filename": "segregation-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "49b954a37a38da8c6079a51ac962c077", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.4", "size": 46267, "upload_time": "2019-05-14T20:43:48", "url": "https://files.pythonhosted.org/packages/cf/c6/7ea18bd816f90a3c51e588cb77359afda0d1651007c7a2a88281a78356d7/segregation-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "adbea79f65bfd38adb0e26f5c2eef94d", "sha256": "1bad244558ba9029a0388e72df191eab23aa1f6feeeeeed4b98f2250550d85da" }, "downloads": -1, "filename": "segregation-1.0.6.tar.gz", "has_sig": false, "md5_digest": "adbea79f65bfd38adb0e26f5c2eef94d", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 34416, "upload_time": "2019-05-14T20:43:49", "url": "https://files.pythonhosted.org/packages/49/d0/e2291b5e2e6c90f905c2df01b099ac53f02e85117930846661a82419c76d/segregation-1.0.6.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "bfc71cf11cb2857b79770c209b611413", "sha256": "fd608348083ddb623db7c7f932ae732bd3cf92f407026e306aef18d3b8c94754" }, "downloads": -1, "filename": "segregation-1.1.0.tar.gz", "has_sig": false, "md5_digest": "bfc71cf11cb2857b79770c209b611413", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 54114, "upload_time": "2019-07-01T19:24:47", "url": "https://files.pythonhosted.org/packages/dd/7e/f4bcc98900f643c5121c6e7aad31a2f956803b129f4c0ed1eb07125e917d/segregation-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "974fd9cd75a49aba95b86024891d9ffe", "sha256": "7701f7603ccc84219e63e9aaaf524af05b02d30ac0edb89390fbdaa788e5a50d" }, "downloads": -1, "filename": "segregation-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "974fd9cd75a49aba95b86024891d9ffe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.4", "size": 77910, "upload_time": "2019-07-19T18:03:12", "url": "https://files.pythonhosted.org/packages/fe/fd/f74e5ba5b6ea0dd5ad9328caaa3f2b116c897acafd518eb3d454c1a82c66/segregation-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc0bf426d732a0108872fe709b54bfdc", "sha256": "f22ab573ecc01cdd9ab26a1ba5d0dc154419b4e92be41fc9fcc5199efdc2e5ab" }, "downloads": -1, "filename": "segregation-1.1.1.tar.gz", "has_sig": false, "md5_digest": "cc0bf426d732a0108872fe709b54bfdc", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 56716, "upload_time": "2019-07-19T18:03:13", "url": "https://files.pythonhosted.org/packages/3e/6f/aa124268fb0e196d642d32a6bc8f53d3c6f0504fd7a55584628712a6526e/segregation-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "974fd9cd75a49aba95b86024891d9ffe", "sha256": "7701f7603ccc84219e63e9aaaf524af05b02d30ac0edb89390fbdaa788e5a50d" }, "downloads": -1, "filename": "segregation-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "974fd9cd75a49aba95b86024891d9ffe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.4", "size": 77910, "upload_time": "2019-07-19T18:03:12", "url": "https://files.pythonhosted.org/packages/fe/fd/f74e5ba5b6ea0dd5ad9328caaa3f2b116c897acafd518eb3d454c1a82c66/segregation-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc0bf426d732a0108872fe709b54bfdc", "sha256": "f22ab573ecc01cdd9ab26a1ba5d0dc154419b4e92be41fc9fcc5199efdc2e5ab" }, "downloads": -1, "filename": "segregation-1.1.1.tar.gz", "has_sig": false, "md5_digest": "cc0bf426d732a0108872fe709b54bfdc", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.4", "size": 56716, "upload_time": "2019-07-19T18:03:13", "url": "https://files.pythonhosted.org/packages/3e/6f/aa124268fb0e196d642d32a6bc8f53d3c6f0504fd7a55584628712a6526e/segregation-1.1.1.tar.gz" } ] }