{ "info": { "author": "Akshay Agrawal, Shane Barratt, Stephen Boyd, Enzo Busseti, Walaa Moursi", "author_email": "", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3" ], "description": "[![Build Status](http://github.com/cvxgrp/diffcp/workflows/build/badge.svg?event=push)](https://github.com/cvxgrp/diffcp/actions/workflows/build.yml)\n\n# diffcp\n\n`diffcp` is a Python package for computing the derivative of a convex cone program, with respect to its problem data. The derivative is implemented as an abstract linear map, with methods for its forward application and its adjoint. \n\nThe implementation is based on the calculations in our paper [Differentiating through a cone program](http://web.stanford.edu/~boyd/papers/diff_cone_prog.html).\n\n### Installation\n`diffcp` is available on PyPI, as a source distribution. Install it with\n\n```bash\npip install diffcp\n```\n\nYou will need a C++11-capable compiler to build `diffcp`.\n\n`diffcp` requires:\n* [NumPy](https://github.com/numpy/numpy) >= 1.15\n* [SciPy](https://github.com/scipy/scipy) >= 1.10\n* [SCS](https://github.com/bodono/scs-python) >= 2.0.2\n* [pybind11](https://github.com/pybind/pybind11/tree/stable) >= 2.4\n* [threadpoolctl](https://github.com/joblib/threadpoolctl) >= 1.1\n* [ECOS](https://github.com/embotech/ecos-python)\n* Python 3.x\n\n`diffcp` uses Eigen; Eigen operations can be automatically vectorized by compilers. To enable vectorization, install with\n\n```bash\nMARCH_NATIVE=1 pip install diffcp\n```\n\nOpenMP can be enabled by passing extra arguments to your compiler. For example, on linux, you can tell gcc to activate the OpenMP extension by specifying the flag \"-fopenmp\":\n\n```bash\nOPENMP_FLAG=\"-fopenmp\" pip install diffcp\n```\n\nTo enable both vectorization and OpenMP (on linux), use\n\n```bash\nMARCH_NATIVE=1 OPENMP_FLAG=\"-fopenmp\" pip install diffcp\n```\n\n### Cone programs\n`diffcp` differentiates through a primal-dual cone program pair. The primal problem must be expressed as \n\n```\nminimize c'x\nsubject to Ax + s = b\n s in K\n```\nwhere `x` and `s` are variables, `A`, `b` and `c` are the user-supplied problem data, and `K` is a user-defined convex cone. The corresponding dual problem is\n\n```\nminimize b'y\nsubject to A'y + c == 0\n y in K^*\n```\n\nwith dual variable `y`.\n\n### Usage\n\n`diffcp` exposes the function\n\n```python\nsolve_and_derivative(A, b, c, cone_dict, warm_start=None, solver=None, **kwargs).\n```\n\nThis function returns a primal-dual solution `x`, `y`, and `s`, along with\nfunctions for evaluating the derivative and its adjoint (transpose).\nThese functions respectively compute right and left multiplication of the derivative\nof the solution map at `A`, `b`, and `c` by a vector.\nThe `solver` argument determines which solver to use; the available solvers\nare `solver=\"SCS\"` and `solver=\"ECOS\"`.\nIf no solver is specified, `diffcp` will choose the solver itself.\nIn the case that the problem is not solved, i.e. the solver fails for some reason, we will raise\na `SolverError` Exception.\n\n#### Arguments\nThe arguments `A`, `b`, and `c` correspond to the problem data of a cone program.\n* `A` must be a [SciPy sparse CSC matrix](https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csc_matrix.html).\n* `b` and `c` must be NumPy arrays.\n* `cone_dict` is a dictionary that defines the convex cone `K`.\n* `warm_start` is an optional tuple `(x, y, s)` at which to warm-start. (Note: this is only available for the SCS solver).\n* `**kwargs` are keyword arguments to forward to the solver (e.g., `verbose=False`).\n\nThese inputs must conform to the [SCS convention](https://github.com/bodono/scs-python) for problem data. The keys in `cone_dict` correspond to the cones, with\n* `diffcp.ZERO` for the zero cone,\n* `diffcp.POS` for the positive orthant,\n* `diffcp.SOC` for a product of SOC cones,\n* `diffcp.PSD` for a product of PSD cones, and\n* `diffcp.EXP` for a product of exponential cones.\n\nThe values in `cone_dict` denote the sizes of each cone; the values of `diffcp.SOC`, `diffcp.PSD`, and `diffcp.EXP` should be lists. The order of the rows of `A` must match the ordering of the cones given above. For more details, consult the [SCS documentation](https://github.com/cvxgrp/scs/blob/master/README.md).\n\n#### Return value\nThe function `solve_and_derivative` returns a tuple\n\n```python\n(x, y, s, derivative, adjoint_derivative)\n```\n\n* `x`, `y`, and `s` are a primal-dual solution.\n\n* `derivative` is a function that applies the derivative at `(A, b, c)` to perturbations `dA`, `db`, `dc`. It has the signature \n```derivative(dA, db, dc) -> dx, dy, ds```, where `dA` is a SciPy sparse CSC matrix with the same sparsity pattern as `A`, and `db` and `dc` are NumPy arrays. `dx`, `dy`, and `ds` are NumPy arrays, approximating the change in the primal-dual solution due to the perturbation.\n\n* `adjoint_derivative` is a function that applies the adjoint of the derivative to perturbations `dx`, `dy`, `ds`. It has the signature \n```adjoint_derivative(dx, dy, ds) -> dA, db, dc```, where `dx`, `dy`, and `ds` are NumPy arrays.\n\n#### Example\n```python\nimport numpy as np\nfrom scipy import sparse\n\nimport diffcp\n\ncone_dict = {\n diffcp.ZERO: 3,\n diffcp.POS: 3,\n diffcp.SOC: [5]\n}\n\nm = 3 + 3 + 5\nn = 5\n\nA, b, c = diffcp.utils.random_cone_prog(m, n, cone_dict)\nx, y, s, D, DT = diffcp.solve_and_derivative(A, b, c, cone_dict)\n\n# evaluate the derivative\nnonzeros = A.nonzero()\ndata = 1e-4 * np.random.randn(A.size)\ndA = sparse.csc_matrix((data, nonzeros), shape=A.shape)\ndb = 1e-4 * np.random.randn(m)\ndc = 1e-4 * np.random.randn(n)\ndx, dy, ds = D(dA, db, dc)\n\n# evaluate the adjoint of the derivative\ndx = c\ndy = np.zeros(m)\nds = np.zeros(m)\ndA, db, dc = DT(dx, dy, ds)\n```\n\nFor more examples, including the SDP example described in the paper, see the [`examples`](examples/) directory.\n\n### Citing\nIf you wish to cite `diffcp`, please use the following BibTex:\n\n```\n@article{diffcp2019,\n author = {Agrawal, A. and Barratt, S. and Boyd, S. and Busseti, E. and Moursi, W.},\n title = {Differentiating through a Cone Program},\n journal = {Journal of Applied and Numerical Optimization},\n year = {2019},\n volume = {1},\n number = {2},\n pages = {107--115},\n}\n\n@misc{diffcp,\n author = {Agrawal, A. and Barratt, S. and Boyd, S. and Busseti, E. and Moursi, W.},\n title = {{diffcp}: differentiating through a cone program, version 1.0},\n howpublished = {\\url{https://github.com/cvxgrp/diffcp}},\n year = 2019\n}\n```\n\nThe following thesis concurrently derived the mathematics behind differentiating cone programs.\n```\n@phdthesis{amos2019differentiable,\n author = {Brandon Amos},\n title = {{Differentiable Optimization-Based Modeling for Machine Learning}},\n school = {Carnegie Mellon University},\n year = 2019,\n month = May,\n}\n```\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": "http://github.com/cvxgrp/diffcp/", "keywords": "", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "diffcp", "package_url": "https://pypi.org/project/diffcp/", "platform": "", "project_url": "https://pypi.org/project/diffcp/", "project_urls": { "Homepage": "http://github.com/cvxgrp/diffcp/" }, "release_url": "https://pypi.org/project/diffcp/1.0.19/", "requires_dist": [ "numpy (>=1.15)", "scs (>=2.0.2)", "scipy (>=1.1.0)", "pybind11 (>=2.4)", "threadpoolctl (>=1.1)", "ecos" ], "requires_python": "", "summary": "", "version": "1.0.19", "yanked": false, "yanked_reason": null }, "last_serial": 12488558, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "56915171db43eeba918ef14a6d70a475", "sha256": "d6b3ca8d7b93ccdf7abfe76170860a8e5b8c6fed995f76a2b529ac2e4b3f8d74" }, "downloads": -1, "filename": "diffcp-1.0.0.tar.gz", "has_sig": false, "md5_digest": "56915171db43eeba918ef14a6d70a475", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14605, "upload_time": "2019-04-17T00:39:35", "upload_time_iso_8601": "2019-04-17T00:39:35.699146Z", "url": "https://files.pythonhosted.org/packages/a7/23/02c80878aaa56c24d9da33b0306dc9f0a85efdb381358773f986044124f6/diffcp-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "57932923d5f0f4e24c2b2b076740685c", "sha256": "ff706d96f8a33fe6ca814463582205f80bc232ed15646be55586de5c2116aad6" }, "downloads": -1, "filename": "diffcp-1.0.1.tar.gz", "has_sig": false, "md5_digest": "57932923d5f0f4e24c2b2b076740685c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14572, "upload_time": "2019-04-17T00:49:27", "upload_time_iso_8601": "2019-04-17T00:49:27.419249Z", "url": "https://files.pythonhosted.org/packages/29/ea/293018dbec68965ab168dac65d2414ad4daee8079974f1f5ac8ae1994868/diffcp-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "95aec648a842c0c18f995aa601016f9b", "sha256": "0905d0e827fed6115ea6bac5af767061e4eefd101d98b634c93c13e2b11664be" }, "downloads": -1, "filename": "diffcp-1.0.10.tar.gz", "has_sig": false, "md5_digest": "95aec648a842c0c18f995aa601016f9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4264701, "upload_time": "2019-10-23T06:29:48", "upload_time_iso_8601": "2019-10-23T06:29:48.703432Z", "url": "https://files.pythonhosted.org/packages/68/bb/34261508a6654733b1d8b110328e8870987bceae7c55065d3298df003f97/diffcp-1.0.10.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "04fcbac0e98c665c408b2bb5ddf2de8a", "sha256": "8ce86aafae7da611cbe0c88a07fc820c3e6177990e514e1166967677fecec9cf" }, "downloads": -1, "filename": "diffcp-1.0.11.tar.gz", "has_sig": false, "md5_digest": "04fcbac0e98c665c408b2bb5ddf2de8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2143882, "upload_time": "2019-10-23T20:56:22", "upload_time_iso_8601": "2019-10-23T20:56:22.538585Z", "url": "https://files.pythonhosted.org/packages/cd/98/bf10236d0b0f1b8aa8a0694afb1476940fdcfb78d7802239352fe559e340/diffcp-1.0.11.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "b5716856cb28dd86200e2e2b8720c269", "sha256": "4469e5f1de42fd8fda1a0fc179d18bb4453abda227ae26869c78bcfed53eca6b" }, "downloads": -1, "filename": "diffcp-1.0.12.tar.gz", "has_sig": false, "md5_digest": "b5716856cb28dd86200e2e2b8720c269", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2144508, "upload_time": "2019-10-28T18:28:01", "upload_time_iso_8601": "2019-10-28T18:28:01.162829Z", "url": "https://files.pythonhosted.org/packages/71/15/13ed6834f033365481439af339fdc1e184c7dc08b38fc6d1031494915baf/diffcp-1.0.12.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "b2141f756dec3f8846d32ceedd481315", "sha256": "ddb55efcf4d7d93558a3bf0b32e4dee9892d5b11da314d9e0396ac2c5993c900" }, "downloads": -1, "filename": "diffcp-1.0.13.tar.gz", "has_sig": false, "md5_digest": "b2141f756dec3f8846d32ceedd481315", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2144933, "upload_time": "2019-11-06T00:37:35", "upload_time_iso_8601": "2019-11-06T00:37:35.871941Z", "url": "https://files.pythonhosted.org/packages/57/a2/324055d1c788eb410851feea6fca51ca8677789460cdfe7c8bc802dd4e58/diffcp-1.0.13.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.15": [ { "comment_text": "", "digests": { "md5": "4e8f00469167ca3ae884ad8b54b87164", "sha256": "91dbd258e4e96a430e3cc2fac0e67d4bc20e7cd865c27633b628f51d8589c6ac" }, "downloads": -1, "filename": "diffcp-1.0.15-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "4e8f00469167ca3ae884ad8b54b87164", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 249405, "upload_time": "2020-10-19T20:33:02", "upload_time_iso_8601": "2020-10-19T20:33:02.441856Z", "url": "https://files.pythonhosted.org/packages/ed/e6/37ac3bab9603d0918a470533b293b9aac95ec92c6b08fd0e6f62372a363b/diffcp-1.0.15-cp36-cp36m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "82c151e296db50ea27ffdd590abc4a07", "sha256": "eb8231738374e2d7fc6abae0dd63b580e1e7ef0027b9e8ed760c7b6a69e97d6b" }, "downloads": -1, "filename": "diffcp-1.0.15.tar.gz", "has_sig": false, "md5_digest": "82c151e296db50ea27ffdd590abc4a07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2176947, "upload_time": "2020-10-19T20:33:08", "upload_time_iso_8601": "2020-10-19T20:33:08.596183Z", "url": "https://files.pythonhosted.org/packages/10/cf/fe6d523d8333e5102fb77cee91167e2c5f11c8c2e00922216262a985d9fe/diffcp-1.0.15.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.16": [ { "comment_text": "", "digests": { "md5": "62a3c7ebe3e1bf4e8b5352e95a49967b", "sha256": "d7da47763a2e872f9572cfc66b17b25caeddec75c6875802f6c9da2624deed65" }, "downloads": -1, "filename": "diffcp-1.0.16.tar.gz", "has_sig": false, "md5_digest": "62a3c7ebe3e1bf4e8b5352e95a49967b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2193563, "upload_time": "2020-10-20T20:36:37", "upload_time_iso_8601": "2020-10-20T20:36:37.182797Z", "url": "https://files.pythonhosted.org/packages/39/9f/de0ef10cd336b7f359f866df425d089f8c671e6c764fefcedb749db954cf/diffcp-1.0.16.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.17": [ { "comment_text": "", "digests": { "md5": "1f41ca87b8aae6f73d90ad98ebea90ac", "sha256": "fdaba25be811bd879648dec6dc30495d3e5d077fb2846008e0675f9d82341809" }, "downloads": -1, "filename": "diffcp-1.0.17-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "1f41ca87b8aae6f73d90ad98ebea90ac", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 255459, "upload_time": "2021-06-16T17:33:11", "upload_time_iso_8601": "2021-06-16T17:33:11.577004Z", "url": "https://files.pythonhosted.org/packages/10/89/7079d0d24dfc15136041f92df38f6da1f90422786358ff2aee26bbe62cb5/diffcp-1.0.17-cp36-cp36m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d71de505bc42cdfa004db86d393369af", "sha256": "5adac43e85aac15d2ac8a62783052ec04dca1d119d8060d3969ed6a9199d7c39" }, "downloads": -1, "filename": "diffcp-1.0.17-cp36-cp36m-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "d71de505bc42cdfa004db86d393369af", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 4004518, "upload_time": "2021-06-16T17:27:28", "upload_time_iso_8601": "2021-06-16T17:27:28.158431Z", "url": "https://files.pythonhosted.org/packages/f3/58/7668a7a158ef884e29eb375f3dcaae67325b117c9bec283b3900da123ac7/diffcp-1.0.17-cp36-cp36m-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e785b490ae4e3a8e5796058b61faeab1", "sha256": "1ea62fc8763be3427715e131b255cc726e21379181a37e9f83e47c137ede9d47" }, "downloads": -1, "filename": "diffcp-1.0.17-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "e785b490ae4e3a8e5796058b61faeab1", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 179504, "upload_time": "2021-06-16T17:28:59", "upload_time_iso_8601": "2021-06-16T17:28:59.140388Z", "url": "https://files.pythonhosted.org/packages/38/f3/383ea97277c031cf7e67b76e218fb2a6ce0a07f663b5bf58552ff1ee17bd/diffcp-1.0.17-cp36-cp36m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c25c13397c648a9d3512813926c2df4d", "sha256": "0c3d37f80009e665328e7a8f8152eea54c29718e7d122f200c8a6455fa0b8e7a" }, "downloads": -1, "filename": "diffcp-1.0.17-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "c25c13397c648a9d3512813926c2df4d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 255309, "upload_time": "2021-06-16T17:32:28", "upload_time_iso_8601": "2021-06-16T17:32:28.865718Z", "url": "https://files.pythonhosted.org/packages/fe/60/5b5f3d59aeb12f5a8d6339124585dd931fd6e004d3618ae82256c63cb2d8/diffcp-1.0.17-cp37-cp37m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8b89a813d75e5d2236fdc4693e8d6d6a", "sha256": "03c4e0a9adf2f584bf4396ad99e2b6bf89e2586bfaeb08e452d4b7ad60783bb2" }, "downloads": -1, "filename": "diffcp-1.0.17-cp37-cp37m-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "8b89a813d75e5d2236fdc4693e8d6d6a", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 4005329, "upload_time": "2021-06-16T17:27:56", "upload_time_iso_8601": "2021-06-16T17:27:56.678387Z", "url": "https://files.pythonhosted.org/packages/f5/f4/0bc6c62d82fb52b4c6d3e5597b6807ee8f316488f7237f658e0ff5921d8f/diffcp-1.0.17-cp37-cp37m-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "17eb557a5b262eb784a9edb698f3dbf8", "sha256": "9353ce2bbb02f68b095435ce954aac6d51525f2ddccad15494a5e6056697769d" }, "downloads": -1, "filename": "diffcp-1.0.17-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "17eb557a5b262eb784a9edb698f3dbf8", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 179483, "upload_time": "2021-06-16T17:28:40", "upload_time_iso_8601": "2021-06-16T17:28:40.261166Z", "url": "https://files.pythonhosted.org/packages/84/63/f10cc41e79cccba2b659911350ab881565f4de2cf8f4465adf9a3d1ae0de/diffcp-1.0.17-cp37-cp37m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c8ae061a2f63532981122733a2855138", "sha256": "137432f813cedf4946dfd90d644846715a8c9f167d544eca13ce296b73a3cbdd" }, "downloads": -1, "filename": "diffcp-1.0.17-cp38-cp38-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "c8ae061a2f63532981122733a2855138", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 258581, "upload_time": "2021-06-16T17:30:45", "upload_time_iso_8601": "2021-06-16T17:30:45.122814Z", "url": "https://files.pythonhosted.org/packages/bb/00/74307df383eced802530a0b23b8ccc78d2051cdb5a1e283bba675a290e5d/diffcp-1.0.17-cp38-cp38-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "42b5164501f82ea101dec41c02336d08", "sha256": "29c824a77555583b6e7bbba08f2140c30ae6756fad6d1ff5dbf9ee0f0ce91dcb" }, "downloads": -1, "filename": "diffcp-1.0.17-cp38-cp38-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "42b5164501f82ea101dec41c02336d08", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 3999963, "upload_time": "2021-06-16T17:27:24", "upload_time_iso_8601": "2021-06-16T17:27:24.560050Z", "url": "https://files.pythonhosted.org/packages/40/f0/0c121aed71a45c87b518840f852e75109f83550167ed4900489367be29df/diffcp-1.0.17-cp38-cp38-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c2d22140cf5549221c580d239fb8940f", "sha256": "95a10972e58b2957c12ebeb95658aa6a35aa476af5e937c740eb2de42a30df41" }, "downloads": -1, "filename": "diffcp-1.0.17-cp38-cp38-win_amd64.whl", "has_sig": false, "md5_digest": "c2d22140cf5549221c580d239fb8940f", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 179072, "upload_time": "2021-06-16T17:28:33", "upload_time_iso_8601": "2021-06-16T17:28:33.299327Z", "url": "https://files.pythonhosted.org/packages/d7/38/a0f7903d0a376efa4473613fefeaeff89e8a5cceda68edb022dbe70b8dab/diffcp-1.0.17-cp38-cp38-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c9d4b8582fe476a5b9ddd1251806c25b", "sha256": "e4656bbaecf3c2aa164feff6c0006e726d5cc3dfee4eaa20942e511162d93fc1" }, "downloads": -1, "filename": "diffcp-1.0.17-cp39-cp39-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "c9d4b8582fe476a5b9ddd1251806c25b", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 231550, "upload_time": "2021-06-16T17:30:06", "upload_time_iso_8601": "2021-06-16T17:30:06.340861Z", "url": "https://files.pythonhosted.org/packages/f2/66/41a9772e12e5eda4884a977ab2db1bc1f38378bc4926e9cc27372c3f19b7/diffcp-1.0.17-cp39-cp39-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "275f182d085be479fa312719852043b9", "sha256": "1a009c820f2fea9093ce683504449abfcb8d1be54b5e208437cd3e62b2b896a6" }, "downloads": -1, "filename": "diffcp-1.0.17-cp39-cp39-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "275f182d085be479fa312719852043b9", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 223052, "upload_time": "2021-06-16T17:27:01", "upload_time_iso_8601": "2021-06-16T17:27:01.595133Z", "url": "https://files.pythonhosted.org/packages/c2/f3/48e398e5e95c561aded2fce9a021037d3f82e6959c14353d7985a1fa2705/diffcp-1.0.17-cp39-cp39-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "79ddc94bec4e00051f6f413b86a1335f", "sha256": "d7626021475518d2c1b13c18db51b9049f568901d6d059a8aa1d5513dc8535a6" }, "downloads": -1, "filename": "diffcp-1.0.17-cp39-cp39-win_amd64.whl", "has_sig": false, "md5_digest": "79ddc94bec4e00051f6f413b86a1335f", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 176983, "upload_time": "2021-06-16T17:28:06", "upload_time_iso_8601": "2021-06-16T17:28:06.920420Z", "url": "https://files.pythonhosted.org/packages/15/ca/df749855c971c27bbfa1d44841c478013558e654f8c8b555927092d39e76/diffcp-1.0.17-cp39-cp39-win_amd64.whl", "yanked": false, "yanked_reason": null } ], "1.0.18": [ { "comment_text": "", "digests": { "md5": "d74c134ae408f892ca7a1bb48a343ecc", "sha256": "309a35b1a035709fee533e4e0ec57bb449ae1bc35eb754e7130ae0606ff65d13" }, "downloads": -1, "filename": "diffcp-1.0.18-cp310-cp310-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "d74c134ae408f892ca7a1bb48a343ecc", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 261920, "upload_time": "2021-12-26T21:44:50", "upload_time_iso_8601": "2021-12-26T21:44:50.611962Z", "url": "https://files.pythonhosted.org/packages/66/8b/9d72e53f3984fdc7f31d0c502361ec334a2c8cf7e40ac5f69dacf097a4f5/diffcp-1.0.18-cp310-cp310-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "61bbd2fe73cdefa9dc5dc7405944e1eb", "sha256": "fdd5489a450d0ed0f3b6b66a9e39cb06d21a717f315a100ef538e40cad2b9d90" }, "downloads": -1, "filename": "diffcp-1.0.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "61bbd2fe73cdefa9dc5dc7405944e1eb", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 5147533, "upload_time": "2021-12-26T21:39:35", "upload_time_iso_8601": "2021-12-26T21:39:35.411759Z", "url": "https://files.pythonhosted.org/packages/bc/da/14fe6f5b37f2250595fd7c5bd994a043cf37d5d1caa6ec0d8f8259ea26eb/diffcp-1.0.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e267fd95cf4f62722868c1b7d641229a", "sha256": "6fc15afa4b4d3a40ccdf2ba519c0d6d9e55d6ce6e1810fb509ea05777c30543e" }, "downloads": -1, "filename": "diffcp-1.0.18-cp310-cp310-musllinux_1_1_x86_64.whl", "has_sig": false, "md5_digest": "e267fd95cf4f62722868c1b7d641229a", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 5690070, "upload_time": "2021-12-26T21:39:37", "upload_time_iso_8601": "2021-12-26T21:39:37.849105Z", "url": "https://files.pythonhosted.org/packages/b4/64/23cf924e0fee5c2ccbb6d245d20dd704f6fc800d245b8025e53cf4ec8c6e/diffcp-1.0.18-cp310-cp310-musllinux_1_1_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e6b9456ef2ab69300e1432fac4acae68", "sha256": "20df913daa6d4ff26e9457be0319c10cea7aa0992e99c759f23b6e6b2013f063" }, "downloads": -1, "filename": "diffcp-1.0.18-cp310-cp310-win_amd64.whl", "has_sig": false, "md5_digest": "e6b9456ef2ab69300e1432fac4acae68", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 189649, "upload_time": "2021-12-26T22:42:36", "upload_time_iso_8601": "2021-12-26T22:42:36.763535Z", "url": "https://files.pythonhosted.org/packages/04/d2/437157f8ad7de64d40eadf6ba0b3789328c7bad37075aee86deaef642c72/diffcp-1.0.18-cp310-cp310-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ca7379c7acb6a45b29268765448f9c6d", "sha256": "3a1596a9411b790774ed3a2c035bcf54741ec361ca39287c178579d32d61f63d" }, "downloads": -1, "filename": "diffcp-1.0.18-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "ca7379c7acb6a45b29268765448f9c6d", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 257700, "upload_time": "2021-10-30T03:46:28", "upload_time_iso_8601": "2021-10-30T03:46:28.329920Z", "url": "https://files.pythonhosted.org/packages/0f/9a/dec5ab27dcd50dff2bdddd4b1074d484ae807f03a2119ef08928abaa2257/diffcp-1.0.18-cp36-cp36m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "64e4584cdefd1a20dc1e4c55fc342567", "sha256": "5f414212c1b15f1f431e0168b089ab233d6191fd5e99cc6ad3e9e9bd364004e9" }, "downloads": -1, "filename": "diffcp-1.0.18-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "64e4584cdefd1a20dc1e4c55fc342567", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 5212106, "upload_time": "2021-12-26T21:40:49", "upload_time_iso_8601": "2021-12-26T21:40:49.978113Z", "url": "https://files.pythonhosted.org/packages/71/ec/4d15fbe66485e9750c1d51b15a761570129064f9e83f87fb27807f6dfb94/diffcp-1.0.18-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d3c7c7468ed926851174f799ad216059", "sha256": "456cecf2053fbf1c6357b49d626e34a40a87f4c46ee6201135fe712317e1c76d" }, "downloads": -1, "filename": "diffcp-1.0.18-cp36-cp36m-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "d3c7c7468ed926851174f799ad216059", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 4035511, "upload_time": "2021-10-30T03:41:42", "upload_time_iso_8601": "2021-10-30T03:41:42.628937Z", "url": "https://files.pythonhosted.org/packages/09/ea/127d8bcb47fbae0f7e68d386bc43a258a2ecaab086c103b5dc4aa4ebd65c/diffcp-1.0.18-cp36-cp36m-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "71d6a21c884fe28577b3e69e73b6ca83", "sha256": "4e28bcf5aa1001b836cf56e2abcddc77f10576092ec51de74e3b2e186f94d63b" }, "downloads": -1, "filename": "diffcp-1.0.18-cp36-cp36m-musllinux_1_1_x86_64.whl", "has_sig": false, "md5_digest": "71d6a21c884fe28577b3e69e73b6ca83", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 5743367, "upload_time": "2021-12-26T21:40:51", "upload_time_iso_8601": "2021-12-26T21:40:51.882875Z", "url": "https://files.pythonhosted.org/packages/2c/07/ac048b5c325ac3a6d54c8b2e0c4a6ddf1483370c100541e1f9b54f36e22d/diffcp-1.0.18-cp36-cp36m-musllinux_1_1_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5dec5966264fe2ab283e49aad0067900", "sha256": "ecda6b79a1657cddacb8bd109645db2c7c687f79fdd7f267571a0540bc3b2b99" }, "downloads": -1, "filename": "diffcp-1.0.18-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "5dec5966264fe2ab283e49aad0067900", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 189562, "upload_time": "2021-10-30T03:42:36", "upload_time_iso_8601": "2021-10-30T03:42:36.919206Z", "url": "https://files.pythonhosted.org/packages/85/5a/b0a74fe745ce68b76b8c7da3f20763daec3c3d6c8d24b5f3d26fbb8b37df/diffcp-1.0.18-cp36-cp36m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b31adee2e0a0f1a9fce3ca22aaaf361a", "sha256": "e9618cc530b155f6b4408db1b3b2484627cc287d929c22700644ee160bf08317" }, "downloads": -1, "filename": "diffcp-1.0.18-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "b31adee2e0a0f1a9fce3ca22aaaf361a", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 257600, "upload_time": "2021-10-30T03:43:02", "upload_time_iso_8601": "2021-10-30T03:43:02.975817Z", "url": "https://files.pythonhosted.org/packages/d5/81/b9b787a0e98fe475cb8a68d3126be2c8d445d69cd5f60bb76b6fb3bc77d3/diffcp-1.0.18-cp37-cp37m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "16416cb93f461712c8c92b6e6bc52ce5", "sha256": "8282e31dd95b2267c5693493cda3db8087700d1706cb983fe1a20b8b000d7e6d" }, "downloads": -1, "filename": "diffcp-1.0.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "16416cb93f461712c8c92b6e6bc52ce5", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 5211040, "upload_time": "2021-12-26T21:39:14", "upload_time_iso_8601": "2021-12-26T21:39:14.920529Z", "url": "https://files.pythonhosted.org/packages/83/64/2603efe0ad4e21ea235274ee281f4797261b67f1343d0547ab160dc8b322/diffcp-1.0.18-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f310b268f021350b69e24091c80d69ae", "sha256": "deb9e4306754a56888fd3e5794e7bd913d5c3ccc36e67887e1c02eb7640d7d98" }, "downloads": -1, "filename": "diffcp-1.0.18-cp37-cp37m-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "f310b268f021350b69e24091c80d69ae", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 4036363, "upload_time": "2021-10-30T03:40:55", "upload_time_iso_8601": "2021-10-30T03:40:55.288521Z", "url": "https://files.pythonhosted.org/packages/0a/c8/163e368bb53b1b54de6a92bccbaaba7c73b9e68a345e78fbb718a4a622d4/diffcp-1.0.18-cp37-cp37m-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3311e299a94b0641b52c29c2cda8d8a2", "sha256": "01d19fe2eef266f96f56b596d0841abe32368b427fab11e95998377c1906d125" }, "downloads": -1, "filename": "diffcp-1.0.18-cp37-cp37m-musllinux_1_1_x86_64.whl", "has_sig": false, "md5_digest": "3311e299a94b0641b52c29c2cda8d8a2", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 5744183, "upload_time": "2021-12-26T21:39:16", "upload_time_iso_8601": "2021-12-26T21:39:16.686113Z", "url": "https://files.pythonhosted.org/packages/f3/77/88644d4b1b3d274d74386e65882cf09c76ab29c5f88048ed11d3dcfcb18b/diffcp-1.0.18-cp37-cp37m-musllinux_1_1_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e80a2d1cdb49e5ed2ffa3619256caab5", "sha256": "61703086ebbb77c26c40467d53e3144d01c7bde4aec6a8f4de4c14511beaa064" }, "downloads": -1, "filename": "diffcp-1.0.18-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "e80a2d1cdb49e5ed2ffa3619256caab5", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 189547, "upload_time": "2021-10-30T03:42:46", "upload_time_iso_8601": "2021-10-30T03:42:46.618701Z", "url": "https://files.pythonhosted.org/packages/83/91/22c4d92241ccd91c1d8853ed11ed947319aa8de4a15122476ea18522fecf/diffcp-1.0.18-cp37-cp37m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d720dda91d7068cdddd77634384d5464", "sha256": "9e13079b41a9a959dd98227ca64d414c96f6566a7131b4e3a0e0b372b65d1959" }, "downloads": -1, "filename": "diffcp-1.0.18-cp38-cp38-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "d720dda91d7068cdddd77634384d5464", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 261011, "upload_time": "2021-10-30T03:44:18", "upload_time_iso_8601": "2021-10-30T03:44:18.695661Z", "url": "https://files.pythonhosted.org/packages/cd/fd/9009d7298b96838286066a894fa2e02b4e47153463e4a21cb30d00df5463/diffcp-1.0.18-cp38-cp38-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b01e355411e965a245a22801fa76f21e", "sha256": "20dd6bdbc13bf8731c67baf0ecd7c229e220dd6ccfa207f9c1d70050f1acaef5" }, "downloads": -1, "filename": "diffcp-1.0.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "b01e355411e965a245a22801fa76f21e", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 5149292, "upload_time": "2021-12-26T21:39:22", "upload_time_iso_8601": "2021-12-26T21:39:22.176981Z", "url": "https://files.pythonhosted.org/packages/47/71/58e82c64487a8a02146e9fe87f3c911923490e15e85acb2e580f8e30c3ec/diffcp-1.0.18-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7470a94a2aae73ccd023b88b763ae6d8", "sha256": "5d2535da0f945c200c43eb0de019016a7356660c52a2907cf3dd3341b1969a2e" }, "downloads": -1, "filename": "diffcp-1.0.18-cp38-cp38-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "7470a94a2aae73ccd023b88b763ae6d8", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 4032276, "upload_time": "2021-10-30T03:41:22", "upload_time_iso_8601": "2021-10-30T03:41:22.229397Z", "url": "https://files.pythonhosted.org/packages/0e/80/f3ef3ddd3c7331f179ca7df194d6bb6a34cf8332fffdb1030016b78325a6/diffcp-1.0.18-cp38-cp38-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3e71b77ac736aa1117f7f25caaef3cee", "sha256": "e03b10365917f1277d6eb2b762c10be9b07b090008520c70f24ff252760a462d" }, "downloads": -1, "filename": "diffcp-1.0.18-cp38-cp38-musllinux_1_1_x86_64.whl", "has_sig": false, "md5_digest": "3e71b77ac736aa1117f7f25caaef3cee", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 5693798, "upload_time": "2021-12-26T21:39:24", "upload_time_iso_8601": "2021-12-26T21:39:24.355418Z", "url": "https://files.pythonhosted.org/packages/18/3d/b9238eec1078c728a891f37859f029a27686ec08467f6861c81dd9cfa4f6/diffcp-1.0.18-cp38-cp38-musllinux_1_1_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5cd2713d1afc2011c16f2376ee67a257", "sha256": "c6223e821754fdf3eb0d2dd9a874a9697ee2edda2b55c0fba5f0b3e0d92fcf1f" }, "downloads": -1, "filename": "diffcp-1.0.18-cp38-cp38-win_amd64.whl", "has_sig": false, "md5_digest": "5cd2713d1afc2011c16f2376ee67a257", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 189571, "upload_time": "2021-10-30T03:41:54", "upload_time_iso_8601": "2021-10-30T03:41:54.890930Z", "url": "https://files.pythonhosted.org/packages/7d/8d/68ed53faa182f914e2427c0cf3f5517131f0b9d8a312bf00c98a0f89ed94/diffcp-1.0.18-cp38-cp38-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e17ef018b6cb3f334cceef317410663d", "sha256": "d2e2a8e1eb78911355b8303b47ef42fed01293d1cd79d6a9158d0cfd8e2baea4" }, "downloads": -1, "filename": "diffcp-1.0.18-cp39-cp39-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "e17ef018b6cb3f334cceef317410663d", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 233829, "upload_time": "2021-10-30T03:49:40", "upload_time_iso_8601": "2021-10-30T03:49:40.704192Z", "url": "https://files.pythonhosted.org/packages/85/42/3e64f5d1a8a688b6a24af202b749c172612eaea862c7b6453027e04ebf9e/diffcp-1.0.18-cp39-cp39-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "29cd8389a74c2910b2160f51bf8ad4cc", "sha256": "c63d2fdf0f580e586bcbe2c16fa4c75c374ac0a3cbe33d15994faeeef8ff0d42" }, "downloads": -1, "filename": "diffcp-1.0.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "29cd8389a74c2910b2160f51bf8ad4cc", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 5146705, "upload_time": "2021-12-26T21:39:51", "upload_time_iso_8601": "2021-12-26T21:39:51.105419Z", "url": "https://files.pythonhosted.org/packages/63/2a/09c11e6779bb353b10f7d312ed2277359059360017236aea8f0c8b02b5f0/diffcp-1.0.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0f6a3804b03f6b2b69929ae693b88468", "sha256": "b4fee3652d7ba577c784825a8a76b02074cabbf9009d699ce2c40c99fc863201" }, "downloads": -1, "filename": "diffcp-1.0.18-cp39-cp39-manylinux_2_24_x86_64.whl", "has_sig": false, "md5_digest": "0f6a3804b03f6b2b69929ae693b88468", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 226273, "upload_time": "2021-10-30T03:41:04", "upload_time_iso_8601": "2021-10-30T03:41:04.115349Z", "url": "https://files.pythonhosted.org/packages/93/1f/583ac047a5b29bcdac45aeb1d66610e60e2d21124330b638d62301883e87/diffcp-1.0.18-cp39-cp39-manylinux_2_24_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c2109e34fe76119e34541a69c09c5906", "sha256": "4f8194bf4f43d2f38ba3a46e0ddb1f3fc9524c8d05df6f8d73714029bc1fce97" }, "downloads": -1, "filename": "diffcp-1.0.18-cp39-cp39-musllinux_1_1_x86_64.whl", "has_sig": false, "md5_digest": "c2109e34fe76119e34541a69c09c5906", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 5689458, "upload_time": "2021-12-26T21:39:53", "upload_time_iso_8601": "2021-12-26T21:39:53.319380Z", "url": "https://files.pythonhosted.org/packages/3e/9b/8812ba2d522fbc22730adec370b6bf2b816637d78d62c5f66284541c1ca6/diffcp-1.0.18-cp39-cp39-musllinux_1_1_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f8df71cc5e9c53b24e99adf490db1189", "sha256": "aa98de1ed39a3b7e14e50b6f660a56f061452ebdb86e870264d9813b2627e212" }, "downloads": -1, "filename": "diffcp-1.0.18-cp39-cp39-win_amd64.whl", "has_sig": false, "md5_digest": "f8df71cc5e9c53b24e99adf490db1189", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 187816, "upload_time": "2021-10-30T03:42:36", "upload_time_iso_8601": "2021-10-30T03:42:36.110898Z", "url": "https://files.pythonhosted.org/packages/88/04/6ed61ce9993ae81c23e81d21a364ed7f267adbc2173c1678322dde0aa4ae/diffcp-1.0.18-cp39-cp39-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a5040f337a9fb5137ad0136acb1c3fba", "sha256": "e51b82ca1771ec78535b991232cb50e999cb467bed916c239e32df35eb8cbef4" }, "downloads": -1, "filename": "diffcp-1.0.18.tar.gz", "has_sig": false, "md5_digest": "a5040f337a9fb5137ad0136acb1c3fba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2149438, "upload_time": "2021-12-26T21:39:18", "upload_time_iso_8601": "2021-12-26T21:39:18.402462Z", "url": "https://files.pythonhosted.org/packages/47/3d/e2d81f6d40014161b167edd3134a6dbf1b22d07347590cb8aa90aaf896a4/diffcp-1.0.18.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.19": [ { "comment_text": "", "digests": { "md5": "f92e1d44df823ada125a643bf25c3bc2", "sha256": "039da8830b9749857e99b753a6151c87bff811212dd9eed10b1513932cc78441" }, "downloads": -1, "filename": "diffcp-1.0.19-cp310-cp310-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "f92e1d44df823ada125a643bf25c3bc2", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 262882, "upload_time": "2022-01-05T22:51:57", "upload_time_iso_8601": "2022-01-05T22:51:57.326148Z", "url": "https://files.pythonhosted.org/packages/44/a7/06d0cf4f53c49369a807709b201250ad4cfe7db71ebf0972d45c0885b582/diffcp-1.0.19-cp310-cp310-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cffbb4478156b0f4f9772ffb90599f65", "sha256": "1c6b49ec06ae7acf2a6feabbc7ff9d9bbe7da3236f53af8b39377dda65e10998" }, "downloads": -1, "filename": "diffcp-1.0.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "cffbb4478156b0f4f9772ffb90599f65", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 5153587, "upload_time": "2022-01-05T22:50:01", "upload_time_iso_8601": "2022-01-05T22:50:01.709311Z", "url": "https://files.pythonhosted.org/packages/0d/bd/422fd2b80a7e1a87e810ca6cc49ac4d770f63741091d741676ad4ce110e8/diffcp-1.0.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06b6030b3d97651f0ade2ca52bcdb07b", "sha256": "4dcfe32954f97048c86186c242a2e9db838f948b56ddb8936e28b82a7ab0ee82" }, "downloads": -1, "filename": "diffcp-1.0.19-cp310-cp310-win_amd64.whl", "has_sig": false, "md5_digest": "06b6030b3d97651f0ade2ca52bcdb07b", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 183456, "upload_time": "2022-01-05T22:50:28", "upload_time_iso_8601": "2022-01-05T22:50:28.901022Z", "url": "https://files.pythonhosted.org/packages/3e/0c/b2c07d28789f2125f59d436a6b53b64fcc4cb545e32cc9473edc8b36f11e/diffcp-1.0.19-cp310-cp310-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "40d153d540c732538fbb2cf145252c7d", "sha256": "3e79be4359201f3dbac04f01a2ae354fa3604a7a9436d21ef9cf46d6a7b9851b" }, "downloads": -1, "filename": "diffcp-1.0.19-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "40d153d540c732538fbb2cf145252c7d", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 258077, "upload_time": "2022-01-05T22:52:21", "upload_time_iso_8601": "2022-01-05T22:52:21.497335Z", "url": "https://files.pythonhosted.org/packages/45/01/7dbfb5a601f496bbaec648494cb3cc925b47a2300bb204a5f5c9c3712b17/diffcp-1.0.19-cp36-cp36m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "16e7870c1c29fca0967c91f61fb40bf0", "sha256": "10c6353a035a068c42db39f5f7f8a1f5a30f5860b82800f07983ee827d05e102" }, "downloads": -1, "filename": "diffcp-1.0.19-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "16e7870c1c29fca0967c91f61fb40bf0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 5212714, "upload_time": "2022-01-05T22:49:32", "upload_time_iso_8601": "2022-01-05T22:49:32.411399Z", "url": "https://files.pythonhosted.org/packages/84/91/9b7e13c95db345b14e3ae18fe699eff54b4fa3f48524145a034d10b29ad1/diffcp-1.0.19-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "10dade3ce413561ec0afb08e956e5f07", "sha256": "0bbacb866760bb341a581803f40c2253e99abbe71cbce34b0f8ee2ff2d314da9" }, "downloads": -1, "filename": "diffcp-1.0.19-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "10dade3ce413561ec0afb08e956e5f07", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 189993, "upload_time": "2022-01-05T22:50:19", "upload_time_iso_8601": "2022-01-05T22:50:19.779388Z", "url": "https://files.pythonhosted.org/packages/6b/77/8e2e6bb2b2ce6bc1d31fa2bf0348a2fb7a8397ffac5beaaa4e4272c391f0/diffcp-1.0.19-cp36-cp36m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b1d93bd8f357db94441480c201230214", "sha256": "7449f0cb8addd32e97ddc98769d0b6917e889b568b40b178564e0f86e0021779" }, "downloads": -1, "filename": "diffcp-1.0.19-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "b1d93bd8f357db94441480c201230214", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 258710, "upload_time": "2022-01-05T22:52:52", "upload_time_iso_8601": "2022-01-05T22:52:52.101221Z", "url": "https://files.pythonhosted.org/packages/fb/33/c797f62ecf0fb26593076ea3dc26908f86095346deea3648d7350842ff4e/diffcp-1.0.19-cp37-cp37m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2aa1b4ea6b312238b295c2fe336931f4", "sha256": "dae60a0f455ea5da768df723afbc99d9bb92e004f67982720f0a1fac67cfe67b" }, "downloads": -1, "filename": "diffcp-1.0.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "2aa1b4ea6b312238b295c2fe336931f4", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 5216211, "upload_time": "2022-01-05T22:50:14", "upload_time_iso_8601": "2022-01-05T22:50:14.483020Z", "url": "https://files.pythonhosted.org/packages/8e/1c/974c19d19d2d62ac5242109237633271c27ecea8d0090136fa256ea58aa7/diffcp-1.0.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "75a5e32b4aa5568450ce1b27710743fc", "sha256": "9ffe7bdfa9b1bb984e2c3f6a02e025b30d8510dba7a59a225d823ef6780d9a5b" }, "downloads": -1, "filename": "diffcp-1.0.19-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "75a5e32b4aa5568450ce1b27710743fc", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 183452, "upload_time": "2022-01-05T22:51:14", "upload_time_iso_8601": "2022-01-05T22:51:14.521087Z", "url": "https://files.pythonhosted.org/packages/54/b4/17680c5814f14032943c1167b20236a0dbc1797bd20d89e94c66441fa51c/diffcp-1.0.19-cp37-cp37m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4451f3395c1ce81adb0cdcbf051527d6", "sha256": "35eab8a52cc0062cf45b08d34ac4ada32408144470e6eff56be405ede9afbfda" }, "downloads": -1, "filename": "diffcp-1.0.19-cp38-cp38-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "4451f3395c1ce81adb0cdcbf051527d6", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 262745, "upload_time": "2022-01-05T22:55:29", "upload_time_iso_8601": "2022-01-05T22:55:29.702257Z", "url": "https://files.pythonhosted.org/packages/a3/e1/bc30f825092df3d1a89eea59c28e5acd6c540b1f9d2f93db7ef8ec60ba08/diffcp-1.0.19-cp38-cp38-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3a4f57d146822d483b438ad4d610e68e", "sha256": "d9af2df1fa5f94c59802a32f673a69810b886a0831e2224637fc721bb6515f6e" }, "downloads": -1, "filename": "diffcp-1.0.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "3a4f57d146822d483b438ad4d610e68e", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 5158046, "upload_time": "2022-01-05T22:52:00", "upload_time_iso_8601": "2022-01-05T22:52:00.225535Z", "url": "https://files.pythonhosted.org/packages/5c/5d/2e9326fdfea983e92902b307179e2d792aff8826e5b20999dc62981bee0c/diffcp-1.0.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "913dbf5923993d7e7b05af84b4bf8be2", "sha256": "1478b1ab7788da582d2ad611ff822908b471cadcaa623b7d8e4f3ef1824472a0" }, "downloads": -1, "filename": "diffcp-1.0.19-cp38-cp38-win_amd64.whl", "has_sig": false, "md5_digest": "913dbf5923993d7e7b05af84b4bf8be2", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 183371, "upload_time": "2022-01-05T22:52:40", "upload_time_iso_8601": "2022-01-05T22:52:40.587429Z", "url": "https://files.pythonhosted.org/packages/c4/06/8cd41ed015f1dbf301e7af4df0e5328c86dce3fdd521055601b6b7d3c349/diffcp-1.0.19-cp38-cp38-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "18216154da29771ba9f9a537ccb9be37", "sha256": "8d384a1974f953112738016fbebd7fd03ad451de18dc4b5ebac03abf1e83108f" }, "downloads": -1, "filename": "diffcp-1.0.19-cp39-cp39-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "18216154da29771ba9f9a537ccb9be37", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 263110, "upload_time": "2022-01-05T22:56:44", "upload_time_iso_8601": "2022-01-05T22:56:44.220332Z", "url": "https://files.pythonhosted.org/packages/30/48/9a251675192ab14e3d3565d248786c8c9c0d44c35c3eb33bf01acbe5c3d0/diffcp-1.0.19-cp39-cp39-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "abeb9fe5dd0d84cc27ae5c6a7bd1ca23", "sha256": "9d25f13146e4173a4656d7882fe6480878d682ea0fcf896c7707f93d3e21fc22" }, "downloads": -1, "filename": "diffcp-1.0.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "abeb9fe5dd0d84cc27ae5c6a7bd1ca23", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 5151054, "upload_time": "2022-01-05T22:49:46", "upload_time_iso_8601": "2022-01-05T22:49:46.659676Z", "url": "https://files.pythonhosted.org/packages/8a/4c/4f7f3ab6403987679483ed77f4066907cdbf5b7e18b6e7a6899b14bb6c60/diffcp-1.0.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8140cef629434baa660e32c90f4492c4", "sha256": "f5df21ef931c6093955ae633af71410774b2eb2dd9de55a27ad11ab606e39bc9" }, "downloads": -1, "filename": "diffcp-1.0.19-cp39-cp39-win_amd64.whl", "has_sig": false, "md5_digest": "8140cef629434baa660e32c90f4492c4", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 181533, "upload_time": "2022-01-05T22:50:26", "upload_time_iso_8601": "2022-01-05T22:50:26.545985Z", "url": "https://files.pythonhosted.org/packages/e1/1b/dfda56037f143ab1f693648fa08f105496e68bddd9952345e67ad14f6bdc/diffcp-1.0.19-cp39-cp39-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c5c698547ad748a5e67571f98d69ed7f", "sha256": "7b78d09d5ace65db55fb34177bd16b7c5dd4eed51283b66a5f2376a00de46376" }, "downloads": -1, "filename": "diffcp-1.0.19.tar.gz", "has_sig": false, "md5_digest": "c5c698547ad748a5e67571f98d69ed7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2197727, "upload_time": "2022-01-05T22:55:31", "upload_time_iso_8601": "2022-01-05T22:55:31.324856Z", "url": "https://files.pythonhosted.org/packages/1a/5c/9a016e00e6f465d511b718cfdccb3fddfce1fdf0b2bbc57356b789a358cf/diffcp-1.0.19.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "ff357971a1579147a09ee8faa525a947", "sha256": "8c23d2fab084a058095f9686db42a82710f37c089af06648864bace726728cb1" }, "downloads": -1, "filename": "diffcp-1.0.2.tar.gz", "has_sig": false, "md5_digest": "ff357971a1579147a09ee8faa525a947", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14002, "upload_time": "2019-04-17T05:52:20", "upload_time_iso_8601": "2019-04-17T05:52:20.199627Z", "url": "https://files.pythonhosted.org/packages/d5/5d/cf45fc07d26ee045fbf8df6623303aaf87c591655c526ef9ce7c397eec19/diffcp-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "41ca4e3812ab65844014fe0ec6852506", "sha256": "cc67d3431cf8c6f0e2378e6504b8431a10291cdf1bc11ab88134599af24e862c" }, "downloads": -1, "filename": "diffcp-1.0.3.tar.gz", "has_sig": false, "md5_digest": "41ca4e3812ab65844014fe0ec6852506", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11941, "upload_time": "2019-05-14T00:42:34", "upload_time_iso_8601": "2019-05-14T00:42:34.763296Z", "url": "https://files.pythonhosted.org/packages/9b/9c/6a9ccc0dcbad29bc781b8467c6d773958dc2382d94d1129c32d0d42c2206/diffcp-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "806b0ebc18bbade4a925c10a65c99838", "sha256": "87fde733e4e4940f8feec104da31ca10ddbd5af3bb193d2f079e198a6f5cd1a8" }, "downloads": -1, "filename": "diffcp-1.0.4.tar.gz", "has_sig": false, "md5_digest": "806b0ebc18bbade4a925c10a65c99838", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12231, "upload_time": "2019-07-23T03:55:29", "upload_time_iso_8601": "2019-07-23T03:55:29.883179Z", "url": "https://files.pythonhosted.org/packages/a8/6e/181ee23386b6637edaaff39c35b839912f74ddb3eca4745bc87f2324b01d/diffcp-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "82534675ad3268671a72ce4edff60e00", "sha256": "105d15a3cbf712db73959342e5fb33fda8fdee6564ab4e3258f64c2426f51c85" }, "downloads": -1, "filename": "diffcp-1.0.6.tar.gz", "has_sig": false, "md5_digest": "82534675ad3268671a72ce4edff60e00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4263483, "upload_time": "2019-10-18T21:39:44", "upload_time_iso_8601": "2019-10-18T21:39:44.198205Z", "url": "https://files.pythonhosted.org/packages/c7/eb/2c4f9c5d8fe2391638b2b1d0f34ebb3f274366bd9a7a107289954cee8ffc/diffcp-1.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "d783a1e0a37faa620d1269df36f4878f", "sha256": "4f9624960826af8706b68ff34f3bac8ebaf7988be0721d73d1909b126998b7a2" }, "downloads": -1, "filename": "diffcp-1.0.7.tar.gz", "has_sig": false, "md5_digest": "d783a1e0a37faa620d1269df36f4878f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4264067, "upload_time": "2019-10-22T19:17:07", "upload_time_iso_8601": "2019-10-22T19:17:07.021437Z", "url": "https://files.pythonhosted.org/packages/20/b0/40fc720f8d9c130d4c81e089aa408e4c77e5441b8ebad899a2b379fa323e/diffcp-1.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "93646c8e9d70943b2b95b91ddf900d75", "sha256": "5afe1656f2ed00dbd735ed55fc57dc0d2078d1bf23e8f0e162369c5fc6b92f4d" }, "downloads": -1, "filename": "diffcp-1.0.8.tar.gz", "has_sig": false, "md5_digest": "93646c8e9d70943b2b95b91ddf900d75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4264045, "upload_time": "2019-10-22T21:24:19", "upload_time_iso_8601": "2019-10-22T21:24:19.337269Z", "url": "https://files.pythonhosted.org/packages/32/fe/50def080a3809f9e5915b717ac89ff3fec7b9ac39f53e12ba7207f940424/diffcp-1.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "ba1deb713cb9cdd4baaaebda12d91088", "sha256": "a53dce1c0aefec41202ad57f9cca1996bb285973949c0e42284b97b8bc32b379" }, "downloads": -1, "filename": "diffcp-1.0.9.tar.gz", "has_sig": false, "md5_digest": "ba1deb713cb9cdd4baaaebda12d91088", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4264226, "upload_time": "2019-10-23T05:10:54", "upload_time_iso_8601": "2019-10-23T05:10:54.566941Z", "url": "https://files.pythonhosted.org/packages/7b/a7/bcfb652c3f335057fd0ca57d86278590d1ff7f912b477efe8bac5a4669f0/diffcp-1.0.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f92e1d44df823ada125a643bf25c3bc2", "sha256": "039da8830b9749857e99b753a6151c87bff811212dd9eed10b1513932cc78441" }, "downloads": -1, "filename": "diffcp-1.0.19-cp310-cp310-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "f92e1d44df823ada125a643bf25c3bc2", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 262882, "upload_time": "2022-01-05T22:51:57", "upload_time_iso_8601": "2022-01-05T22:51:57.326148Z", "url": "https://files.pythonhosted.org/packages/44/a7/06d0cf4f53c49369a807709b201250ad4cfe7db71ebf0972d45c0885b582/diffcp-1.0.19-cp310-cp310-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cffbb4478156b0f4f9772ffb90599f65", "sha256": "1c6b49ec06ae7acf2a6feabbc7ff9d9bbe7da3236f53af8b39377dda65e10998" }, "downloads": -1, "filename": "diffcp-1.0.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "cffbb4478156b0f4f9772ffb90599f65", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 5153587, "upload_time": "2022-01-05T22:50:01", "upload_time_iso_8601": "2022-01-05T22:50:01.709311Z", "url": "https://files.pythonhosted.org/packages/0d/bd/422fd2b80a7e1a87e810ca6cc49ac4d770f63741091d741676ad4ce110e8/diffcp-1.0.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06b6030b3d97651f0ade2ca52bcdb07b", "sha256": "4dcfe32954f97048c86186c242a2e9db838f948b56ddb8936e28b82a7ab0ee82" }, "downloads": -1, "filename": "diffcp-1.0.19-cp310-cp310-win_amd64.whl", "has_sig": false, "md5_digest": "06b6030b3d97651f0ade2ca52bcdb07b", "packagetype": "bdist_wheel", "python_version": "cp310", "requires_python": null, "size": 183456, "upload_time": "2022-01-05T22:50:28", "upload_time_iso_8601": "2022-01-05T22:50:28.901022Z", "url": "https://files.pythonhosted.org/packages/3e/0c/b2c07d28789f2125f59d436a6b53b64fcc4cb545e32cc9473edc8b36f11e/diffcp-1.0.19-cp310-cp310-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "40d153d540c732538fbb2cf145252c7d", "sha256": "3e79be4359201f3dbac04f01a2ae354fa3604a7a9436d21ef9cf46d6a7b9851b" }, "downloads": -1, "filename": "diffcp-1.0.19-cp36-cp36m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "40d153d540c732538fbb2cf145252c7d", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 258077, "upload_time": "2022-01-05T22:52:21", "upload_time_iso_8601": "2022-01-05T22:52:21.497335Z", "url": "https://files.pythonhosted.org/packages/45/01/7dbfb5a601f496bbaec648494cb3cc925b47a2300bb204a5f5c9c3712b17/diffcp-1.0.19-cp36-cp36m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "16e7870c1c29fca0967c91f61fb40bf0", "sha256": "10c6353a035a068c42db39f5f7f8a1f5a30f5860b82800f07983ee827d05e102" }, "downloads": -1, "filename": "diffcp-1.0.19-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "16e7870c1c29fca0967c91f61fb40bf0", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 5212714, "upload_time": "2022-01-05T22:49:32", "upload_time_iso_8601": "2022-01-05T22:49:32.411399Z", "url": "https://files.pythonhosted.org/packages/84/91/9b7e13c95db345b14e3ae18fe699eff54b4fa3f48524145a034d10b29ad1/diffcp-1.0.19-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "10dade3ce413561ec0afb08e956e5f07", "sha256": "0bbacb866760bb341a581803f40c2253e99abbe71cbce34b0f8ee2ff2d314da9" }, "downloads": -1, "filename": "diffcp-1.0.19-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "10dade3ce413561ec0afb08e956e5f07", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 189993, "upload_time": "2022-01-05T22:50:19", "upload_time_iso_8601": "2022-01-05T22:50:19.779388Z", "url": "https://files.pythonhosted.org/packages/6b/77/8e2e6bb2b2ce6bc1d31fa2bf0348a2fb7a8397ffac5beaaa4e4272c391f0/diffcp-1.0.19-cp36-cp36m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b1d93bd8f357db94441480c201230214", "sha256": "7449f0cb8addd32e97ddc98769d0b6917e889b568b40b178564e0f86e0021779" }, "downloads": -1, "filename": "diffcp-1.0.19-cp37-cp37m-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "b1d93bd8f357db94441480c201230214", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 258710, "upload_time": "2022-01-05T22:52:52", "upload_time_iso_8601": "2022-01-05T22:52:52.101221Z", "url": "https://files.pythonhosted.org/packages/fb/33/c797f62ecf0fb26593076ea3dc26908f86095346deea3648d7350842ff4e/diffcp-1.0.19-cp37-cp37m-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2aa1b4ea6b312238b295c2fe336931f4", "sha256": "dae60a0f455ea5da768df723afbc99d9bb92e004f67982720f0a1fac67cfe67b" }, "downloads": -1, "filename": "diffcp-1.0.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "2aa1b4ea6b312238b295c2fe336931f4", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 5216211, "upload_time": "2022-01-05T22:50:14", "upload_time_iso_8601": "2022-01-05T22:50:14.483020Z", "url": "https://files.pythonhosted.org/packages/8e/1c/974c19d19d2d62ac5242109237633271c27ecea8d0090136fa256ea58aa7/diffcp-1.0.19-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "75a5e32b4aa5568450ce1b27710743fc", "sha256": "9ffe7bdfa9b1bb984e2c3f6a02e025b30d8510dba7a59a225d823ef6780d9a5b" }, "downloads": -1, "filename": "diffcp-1.0.19-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "75a5e32b4aa5568450ce1b27710743fc", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": null, "size": 183452, "upload_time": "2022-01-05T22:51:14", "upload_time_iso_8601": "2022-01-05T22:51:14.521087Z", "url": "https://files.pythonhosted.org/packages/54/b4/17680c5814f14032943c1167b20236a0dbc1797bd20d89e94c66441fa51c/diffcp-1.0.19-cp37-cp37m-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4451f3395c1ce81adb0cdcbf051527d6", "sha256": "35eab8a52cc0062cf45b08d34ac4ada32408144470e6eff56be405ede9afbfda" }, "downloads": -1, "filename": "diffcp-1.0.19-cp38-cp38-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "4451f3395c1ce81adb0cdcbf051527d6", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 262745, "upload_time": "2022-01-05T22:55:29", "upload_time_iso_8601": "2022-01-05T22:55:29.702257Z", "url": "https://files.pythonhosted.org/packages/a3/e1/bc30f825092df3d1a89eea59c28e5acd6c540b1f9d2f93db7ef8ec60ba08/diffcp-1.0.19-cp38-cp38-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3a4f57d146822d483b438ad4d610e68e", "sha256": "d9af2df1fa5f94c59802a32f673a69810b886a0831e2224637fc721bb6515f6e" }, "downloads": -1, "filename": "diffcp-1.0.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "3a4f57d146822d483b438ad4d610e68e", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 5158046, "upload_time": "2022-01-05T22:52:00", "upload_time_iso_8601": "2022-01-05T22:52:00.225535Z", "url": "https://files.pythonhosted.org/packages/5c/5d/2e9326fdfea983e92902b307179e2d792aff8826e5b20999dc62981bee0c/diffcp-1.0.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "913dbf5923993d7e7b05af84b4bf8be2", "sha256": "1478b1ab7788da582d2ad611ff822908b471cadcaa623b7d8e4f3ef1824472a0" }, "downloads": -1, "filename": "diffcp-1.0.19-cp38-cp38-win_amd64.whl", "has_sig": false, "md5_digest": "913dbf5923993d7e7b05af84b4bf8be2", "packagetype": "bdist_wheel", "python_version": "cp38", "requires_python": null, "size": 183371, "upload_time": "2022-01-05T22:52:40", "upload_time_iso_8601": "2022-01-05T22:52:40.587429Z", "url": "https://files.pythonhosted.org/packages/c4/06/8cd41ed015f1dbf301e7af4df0e5328c86dce3fdd521055601b6b7d3c349/diffcp-1.0.19-cp38-cp38-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "18216154da29771ba9f9a537ccb9be37", "sha256": "8d384a1974f953112738016fbebd7fd03ad451de18dc4b5ebac03abf1e83108f" }, "downloads": -1, "filename": "diffcp-1.0.19-cp39-cp39-macosx_10_9_x86_64.whl", "has_sig": false, "md5_digest": "18216154da29771ba9f9a537ccb9be37", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 263110, "upload_time": "2022-01-05T22:56:44", "upload_time_iso_8601": "2022-01-05T22:56:44.220332Z", "url": "https://files.pythonhosted.org/packages/30/48/9a251675192ab14e3d3565d248786c8c9c0d44c35c3eb33bf01acbe5c3d0/diffcp-1.0.19-cp39-cp39-macosx_10_9_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "abeb9fe5dd0d84cc27ae5c6a7bd1ca23", "sha256": "9d25f13146e4173a4656d7882fe6480878d682ea0fcf896c7707f93d3e21fc22" }, "downloads": -1, "filename": "diffcp-1.0.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "has_sig": false, "md5_digest": "abeb9fe5dd0d84cc27ae5c6a7bd1ca23", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 5151054, "upload_time": "2022-01-05T22:49:46", "upload_time_iso_8601": "2022-01-05T22:49:46.659676Z", "url": "https://files.pythonhosted.org/packages/8a/4c/4f7f3ab6403987679483ed77f4066907cdbf5b7e18b6e7a6899b14bb6c60/diffcp-1.0.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8140cef629434baa660e32c90f4492c4", "sha256": "f5df21ef931c6093955ae633af71410774b2eb2dd9de55a27ad11ab606e39bc9" }, "downloads": -1, "filename": "diffcp-1.0.19-cp39-cp39-win_amd64.whl", "has_sig": false, "md5_digest": "8140cef629434baa660e32c90f4492c4", "packagetype": "bdist_wheel", "python_version": "cp39", "requires_python": null, "size": 181533, "upload_time": "2022-01-05T22:50:26", "upload_time_iso_8601": "2022-01-05T22:50:26.545985Z", "url": "https://files.pythonhosted.org/packages/e1/1b/dfda56037f143ab1f693648fa08f105496e68bddd9952345e67ad14f6bdc/diffcp-1.0.19-cp39-cp39-win_amd64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c5c698547ad748a5e67571f98d69ed7f", "sha256": "7b78d09d5ace65db55fb34177bd16b7c5dd4eed51283b66a5f2376a00de46376" }, "downloads": -1, "filename": "diffcp-1.0.19.tar.gz", "has_sig": false, "md5_digest": "c5c698547ad748a5e67571f98d69ed7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2197727, "upload_time": "2022-01-05T22:55:31", "upload_time_iso_8601": "2022-01-05T22:55:31.324856Z", "url": "https://files.pythonhosted.org/packages/1a/5c/9a016e00e6f465d511b718cfdccb3fddfce1fdf0b2bbc57356b789a358cf/diffcp-1.0.19.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }