{ "info": { "author": "Paul Fitzpatrick", "author_email": "paul@robotrebuilt.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Topic :: Utilities" ], "description": "[![Build Status](https://travis-ci.org/paulfitz/daff.svg?branch=master)](https://travis-ci.org/paulfitz/daff)\n[![NPM version](https://badge.fury.io/js/daff.svg)](http://badge.fury.io/js/daff)\n[![Gem Version](https://badge.fury.io/rb/daff.svg)](http://badge.fury.io/rb/daff)\n[![PyPI version](https://badge.fury.io/py/daff.svg)](http://badge.fury.io/py/daff)\n[![PHP version](https://badge.fury.io/ph/paulfitz%2Fdaff-php.svg)](http://badge.fury.io/ph/paulfitz%2Fdaff-php)\n[![Bower version](https://badge.fury.io/bo/daff.svg)](http://badge.fury.io/bo/daff)\n![Badge count](http://img.shields.io/:badges-7/7-33aa33.svg)\n\ndaff: data diff\n===============\n\nThis is a library for comparing tables, producing a summary of their\ndifferences, and using such a summary as a patch file. It is\noptimized for comparing tables that share a common origin, in other\nwords multiple versions of the \"same\" table.\n\nFor a live demo, see:\n> http://paulfitz.github.com/daff/\n\nInstall the library for your favorite language:\n````sh\nnpm install daff -g # node/javascript\npip install daff # python\ngem install daff # ruby\ncomposer require paulfitz/daff-php # php\ninstall.packages('daff') # R wrapper by Edwin de Jonge\nbower install daff # web/javascript\n````\n\nOther translations are available here:\n> https://github.com/paulfitz/daff/releases\n\nOr use the library to view csv diffs on github via a chrome extension:\n> https://github.com/theodi/csvhub\n\nThe diff format used by `daff` is specified here:\n> http://paulfitz.github.io/daff-doc/spec.html\n\nThis library is a stripped down version of the coopy toolbox (see\nhttp://share.find.coop). To compare tables from different origins,\nor with automatically generated IDs, or other complications, check out\nthe coopy toolbox.\n\nThe program\n-----------\n\nYou can run `daff`/`daff.py`/`daff.rb` as a utility program:\n````\n$ daff\ndaff can produce and apply tabular diffs.\nCall as:\n daff a.csv b.csv\n daff [--color] [--no-color] [--output OUTPUT.csv] a.csv b.csv\n daff [--output OUTPUT.html] a.csv b.csv\n daff [--www] a.csv b.csv\n daff parent.csv a.csv b.csv\n daff --input-format sqlite a.db b.db\n daff patch [--inplace] a.csv patch.csv\n daff merge [--inplace] parent.csv a.csv b.csv\n daff trim [--output OUTPUT.csv] source.csv\n daff render [--output OUTPUT.html] diff.csv\n daff copy in.csv out.tsv\n daff in.csv\n daff git\n daff version\n\nThe --inplace option to patch and merge will result in modification of a.csv.\n\nIf you need more control, here is the full list of flags:\n daff diff [--output OUTPUT.csv] [--context NUM] [--all] [--act ACT] a.csv b.csv\n --act ACT: show only a certain kind of change (update, insert, delete, column)\n --all: do not prune unchanged rows or columns\n --all-rows: do not prune unchanged rows\n --all-columns: do not prune unchanged columns\n --color: highlight changes with terminal colors (default in terminals)\n --context NUM: show NUM rows of context (0=none)\n --context-columns NUM: show NUM columns of context (0=none)\n --fail-if-diff: return status is 0 if equal, 1 if different, 2 if problem\n --id: specify column to use as primary key (repeat for multi-column key)\n --ignore: specify column to ignore completely (can repeat)\n --index: include row/columns numbers from original tables\n --input-format [csv|tsv|ssv|psv|json|sqlite]: set format to expect for input\n --eol [crlf|lf|cr|auto]: separator between rows of csv output.\n --no-color: make sure terminal colors are not used\n --ordered: assume row order is meaningful (default for CSV)\n --output-format [csv|tsv|ssv|psv|json|copy|html]: set format for output\n --padding [dense|sparse|smart]: set padding method for aligning columns\n --table NAME: compare the named table, used with SQL sources. If name changes, use 'n1:n2'\n --unordered: assume row order is meaningless (default for json formats)\n -w / --ignore-whitespace: ignore changes in leading/trailing whitespace\n -i / --ignore-case: ignore differences in case\n\n daff render [--output OUTPUT.html] [--css CSS.css] [--fragment] [--plain] diff.csv\n --css CSS.css: generate a suitable css file to go with the html\n --fragment: generate just a html fragment rather than a page\n --plain: do not use fancy utf8 characters to make arrows prettier\n --unquote: do not quote html characters in html diffs\n --www: send output to a browser\n````\n\nFormats supported are CSV, TSV, Sqlite (with `--input-format sqlite` or\nthe `.sqlite` extension), and ndjson.\n\nUsing with git\n--------------\n\nRun `daff git csv` to install daff as a diff and merge handler\nfor `*.csv` files in your repository. Run `daff git` for instructions\non doing this manually. Your CSV diffs and merges will get smarter,\nsince git will suddenly understand about rows and columns, not just lines:\n\n![Example CSV diff](http://paulfitz.github.io/daff-doc/images/daff_vs_diff.png)\n\nThe library\n-----------\n\nYou can use `daff` as a library from any supported language. We take\nhere the example of Javascript. To use `daff` on a webpage,\nfirst include `daff.js`:\n```html\n\n```\nOr if using node outside the browser:\n```js\nvar daff = require('daff');\n```\n\nFor concreteness, assume we have two versions of a table,\n`data1` and `data2`:\n```js\nvar data1 = [\n ['Country','Capital'],\n ['Ireland','Dublin'],\n ['France','Paris'],\n ['Spain','Barcelona']\n];\nvar data2 = [\n ['Country','Code','Capital'],\n ['Ireland','ie','Dublin'],\n ['France','fr','Paris'],\n ['Spain','es','Madrid'],\n ['Germany','de','Berlin']\n];\n```\n\nTo make those tables accessible to the library, we wrap them\nin `daff.TableView`:\n```js\nvar table1 = new daff.TableView(data1);\nvar table2 = new daff.TableView(data2);\n```\n\nWe can now compute the alignment between the rows and columns\nin the two tables:\n```js\nvar alignment = daff.compareTables(table1,table2).align();\n```\n\nTo produce a diff from the alignment, we first need a table\nfor the output:\n```js\nvar data_diff = [];\nvar table_diff = new daff.TableView(data_diff);\n```\n\nUsing default options for the diff:\n```js\nvar flags = new daff.CompareFlags();\nvar highlighter = new daff.TableDiff(alignment,flags);\nhighlighter.hilite(table_diff);\n```\n\nThe diff is now in `data_diff` in highlighter format, see\nspecification here:\n> http://paulfitz.github.io/daff-doc/spec.html\n\n```js\n[ [ '!', '', '+++', '' ],\n [ '@@', 'Country', 'Code', 'Capital' ],\n [ '+', 'Ireland', 'ie', 'Dublin' ],\n [ '+', 'France', 'fr', 'Paris' ],\n [ '->', 'Spain', 'es', 'Barcelona->Madrid' ],\n [ '+++', 'Germany', 'de', 'Berlin' ] ]\n```\n\nFor visualization, you may want to convert this to a HTML table\nwith appropriate classes on cells so you can color-code inserts,\ndeletes, updates, etc. You can do this with:\n```js\nvar diff2html = new daff.DiffRender();\ndiff2html.render(table_diff);\nvar table_diff_html = diff2html.html();\n```\n\nFor 3-way differences (that is, comparing two tables given knowledge\nof a common ancestor) use `daff.compareTables3` (give ancestor\ntable as the first argument).\n\nHere is how to apply that difference as a patch:\n```js\nvar patcher = new daff.HighlightPatch(table1,table_diff);\npatcher.apply();\n// table1 should now equal table2\n```\n\nFor other languages, you should find sample code in\nthe packages on the [Releases](https://github.com/paulfitz/daff/releases) page.\n\nSupported languages\n-------------------\n\nThe `daff` library is written in [Haxe](http://haxe.org/), which\ncan be translated reasonably well into at least the following languages:\n\n * Javascript\n * Python\n * Java\n * C#\n * C++\n * Ruby (using an [unofficial haxe target](https://github.com/paulfitz/haxe) developed for `daff`)\n * PHP\n\nSome translations are done for you on the\n[Releases](https://github.com/paulfitz/daff/releases) page.\nTo make another translation, or to compile from source\nfirst follow the [Haxe language introduction](https://haxe.org/documentation/introduction/language-introduction.html) for the\nlanguage you care about. At the time of writing, if you are on OSX, you should\ninstall haxe using `brew install haxe`. Then do one of:\n\n```\nmake js\nmake php\nmake py\nmake java\nmake cs\nmake cpp\n```\n\nFor each language, the `daff` library expects to be handed an interface to tables you create, rather than creating them\nitself. This is to avoid inefficient copies from one format to another. You'll find a `SimpleTable` class you can use if\nyou find this awkward.\n\nOther possibilities:\n\n * There's a daff wrapper for R written by [Edwin de Jonge](https://github.com/edwindj), see https://github.com/edwindj/daff and http://cran.r-project.org/web/packages/daff\n * There's a hand-written ruby port by [James Smith](https://github.com/Floppy), see https://github.com/theodi/coopy-ruby\n\nAPI documentation\n-----------------\n\n * You can browse the `daff` classes at http://paulfitz.github.io/daff-doc/\n\nSponsors\n--------\n\n\"the\nThe Data Commons Co-op, \"perhaps the geekiest of all cooperative organizations on the planet,\" has given great moral support during the development of `daff`.\nDonate a multiple of `42.42` in your currency to let them know you care: https://datacommons.coop/donate/.\n\nReading material\n----------------\n\n * http://dataprotocols.org/tabular-diff-format/ : a specification of the diff format we use (appears to have gone away; see https://paulfitz.github.io/daff-doc/spec.html now).\n * http://theodi.org/blog/csvhub-github-diffs-for-csv-files : using this library with github.\n * https://github.com/ropensci/unconf/issues/19 : a thread about diffing data in which daff shows up in at least four guises (see if you can spot them all).\n * http://theodi.org/blog/adapting-git-simple-data : using this library with gitlab.\n * http://okfnlabs.org/blog/2013/08/08/diffing-and-patching-data.html : a summary of where the library came from.\n * http://blog.okfn.org/2013/07/02/git-and-github-for-data/ : a post about storing small data in git/github.\n * http://blog.ouseful.info/2013/08/27/diff-or-chop-github-csv-data-files-and-openrefine/ : counterpoint - a post discussing tracked-changes rather than diffs.\n * http://blog.byronjsmith.com/makefile-shortcuts.html : a tutorial on using `make` for data, with daff in the mix. \"Since git considers changes on a per-line basis,\n looking at diffs of comma-delimited and tab-delimited files can get obnoxious. The program daff fixes this problem.\"\n\n## License\n\ndaff is distributed under the MIT License.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/paulfitz/daff", "keywords": "data diff patch", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "daff", "package_url": "https://pypi.org/project/daff/", "platform": "", "project_url": "https://pypi.org/project/daff/", "project_urls": { "Homepage": "https://github.com/paulfitz/daff" }, "release_url": "https://pypi.org/project/daff/1.3.40/", "requires_dist": null, "requires_python": "", "summary": "Diff and patch tables", "version": "1.3.40" }, "last_serial": 4664375, "releases": { "1.0.5": [ { "comment_text": "", "digests": { "md5": "4d07f770c106d4a23c8b293fdf20d5ae", "sha256": "bfb86129b6d45697117522a9b13dc82587178d6817afc116a1dfced60f472447" }, "downloads": -1, "filename": "daff-1.0.5.tar.gz", "has_sig": false, "md5_digest": "4d07f770c106d4a23c8b293fdf20d5ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 78260, "upload_time": "2014-06-05T21:10:15", "url": "https://files.pythonhosted.org/packages/68/b7/ed887159a9167004e88e2abb86b383c2b23f8519252da935b1711bf96385/daff-1.0.5.tar.gz" } ], "1.1.11": [ { "comment_text": "", "digests": { "md5": "f7e4befc87cd1b281ee9a235d0938ea1", "sha256": "0ab7cfb99772b36860d0c9a76a5ab9867f177dd66efaf13e847dff7c659ae268" }, "downloads": -1, "filename": "daff-1.1.11.tar.gz", "has_sig": false, "md5_digest": "f7e4befc87cd1b281ee9a235d0938ea1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91652, "upload_time": "2014-09-03T19:30:05", "url": "https://files.pythonhosted.org/packages/d7/7f/e711f01fcddc4c2f9a082b71c9578f5153cb5339b895d0aa6394f3ce4339/daff-1.1.11.tar.gz" } ], "1.1.12": [ { "comment_text": "", "digests": { "md5": "3c246ba09b5f2dafdc4475ad91aca197", "sha256": "e723ac7a6f17912c38c7e343ec80ffbe6c4e0857a02fc5a122dbdbe252ffa0f6" }, "downloads": -1, "filename": "daff-1.1.12.tar.gz", "has_sig": false, "md5_digest": "3c246ba09b5f2dafdc4475ad91aca197", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90135, "upload_time": "2014-10-08T17:48:06", "url": "https://files.pythonhosted.org/packages/39/92/4e689f12d65d124b65d1a2432b556bb2dc003415b4e1e5f902e1b3093d8f/daff-1.1.12.tar.gz" } ], "1.1.13": [ { "comment_text": "", "digests": { "md5": "3f5ebb12e87788c353795505f2148801", "sha256": "06d27dd6b76efb3b45dc54da1df3a28c9f8d7962ed8cbd3a13b2d08e25872f3e" }, "downloads": -1, "filename": "daff-1.1.13.tar.gz", "has_sig": false, "md5_digest": "3f5ebb12e87788c353795505f2148801", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89343, "upload_time": "2014-10-14T21:36:58", "url": "https://files.pythonhosted.org/packages/29/32/65612d7b55dadb00116aba01a79ea3b063a05b76b1318e94a8637d462f6e/daff-1.1.13.tar.gz" } ], "1.1.14": [ { "comment_text": "", "digests": { "md5": "4e91c994bbb5e62bc6f30e62f85189e3", "sha256": "72d6d0c486d209f04582d8a1a5af455faabfdeef676f147a9eb7365e3f37e892" }, "downloads": -1, "filename": "daff-1.1.14.tar.gz", "has_sig": false, "md5_digest": "4e91c994bbb5e62bc6f30e62f85189e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89429, "upload_time": "2014-10-15T03:31:16", "url": "https://files.pythonhosted.org/packages/01/d6/7c4fa5e33b5b1555e0ef09bec4dbb9e92b0979b8726516d104384bcdf9db/daff-1.1.14.tar.gz" } ], "1.1.16": [ { "comment_text": "", "digests": { "md5": "634149ca211963a5c6545c3ca95320c1", "sha256": "bb065c11d392a01bf13b2be36ea28a7c3ac6e2f993722da648e00d341971247c" }, "downloads": -1, "filename": "daff-1.1.16.tar.gz", "has_sig": false, "md5_digest": "634149ca211963a5c6545c3ca95320c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89476, "upload_time": "2014-10-15T15:53:41", "url": "https://files.pythonhosted.org/packages/7c/84/64201c2ae17addfb4e27525da2825549e32e43adaad967097e76e5a52a53/daff-1.1.16.tar.gz" } ], "1.1.19": [ { "comment_text": "", "digests": { "md5": "48713fe720b0820591ff6a2283fac0e4", "sha256": "7c410769b04513b9f9504399873e1f8249a124507d59916d02cdb09f59c656f4" }, "downloads": -1, "filename": "daff-1.1.19.tar.gz", "has_sig": false, "md5_digest": "48713fe720b0820591ff6a2283fac0e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91535, "upload_time": "2014-10-24T18:41:04", "url": "https://files.pythonhosted.org/packages/2f/c3/b18b9e2b5943f47231f7682adeca78b0753f9aa3b62fdcc77ffc575e8f6b/daff-1.1.19.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "a15c2cb4ba1a3c4d0d39c6833b5baaac", "sha256": "f05e111b3d0f64d06dd10956e15a6922ed27f98c66fb64e8d60d39c93b396b7c" }, "downloads": -1, "filename": "daff-1.1.5.tar.gz", "has_sig": false, "md5_digest": "a15c2cb4ba1a3c4d0d39c6833b5baaac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 82712, "upload_time": "2014-07-10T00:51:25", "url": "https://files.pythonhosted.org/packages/8b/3d/87ab2bf832c956d9ee562f9d4289d911e2d0ef5bdba500f808f171eec194/daff-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "dd437760b22f18d3374b99f9b5eba020", "sha256": "ce6cf2a4a4db1930e41ecdb02f158bbf6be27870c9aabde729b455c94b3a96e9" }, "downloads": -1, "filename": "daff-1.1.6.tar.gz", "has_sig": false, "md5_digest": "dd437760b22f18d3374b99f9b5eba020", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88924, "upload_time": "2014-07-11T21:40:30", "url": "https://files.pythonhosted.org/packages/65/5f/704b3ef0db6711025ec1f60379045a3c1c727463904767f6865fc11ba4c3/daff-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "48c2a5963a7e45d27868d0cbc0299b7e", "sha256": "f6e888e290aeff6b123ac6688ed3454b79e847ce54aa16374f4f0d00bbbb2b17" }, "downloads": -1, "filename": "daff-1.1.7.tar.gz", "has_sig": false, "md5_digest": "48c2a5963a7e45d27868d0cbc0299b7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89444, "upload_time": "2014-07-17T20:39:43", "url": "https://files.pythonhosted.org/packages/04/bd/d08f62b595b9b35560207183d2013ed9e6dadda6cae6a56823ceb4abdcca/daff-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "d37da257c36210c05cd81e8faddab8dc", "sha256": "b1b8c39ff752fcfdce530005b67db8fe88a1e4aa70ea2edd5d4d8c28503dcdef" }, "downloads": -1, "filename": "daff-1.1.8.tar.gz", "has_sig": false, "md5_digest": "d37da257c36210c05cd81e8faddab8dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 89618, "upload_time": "2014-07-18T15:30:22", "url": "https://files.pythonhosted.org/packages/73/a6/f12daf09ae1341f5022d3cb34e2b08c47f3dadd50ee07b286fedbcc42e9e/daff-1.1.8.tar.gz" } ], "1.1.9": [ { "comment_text": "", "digests": { "md5": "6bd6e95e0e10870785f3dc045fedd5fa", "sha256": "b458fea435c64571c31d7cb7a115295fac437fc474b2ba5d4616c471fad13fba" }, "downloads": -1, "filename": "daff-1.1.9.tar.gz", "has_sig": false, "md5_digest": "6bd6e95e0e10870785f3dc045fedd5fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90625, "upload_time": "2014-08-29T18:39:31", "url": "https://files.pythonhosted.org/packages/2f/f2/8c596f517dd52ba15628fc59baca11b267783016b885c36eb32bc986e4bc/daff-1.1.9.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "91eb319f6ff414c6c2657d44c6e428c9", "sha256": "72d14ed9e8d991096a30e7e77a134ce02b874bfc1718b1784648c5ce438d8f5c" }, "downloads": -1, "filename": "daff-1.2.1.tar.gz", "has_sig": false, "md5_digest": "91eb319f6ff414c6c2657d44c6e428c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 88743, "upload_time": "2014-10-28T18:13:02", "url": "https://files.pythonhosted.org/packages/2c/f0/13b6810a43d51e43b4d2825afb834a69d60d123837ef36e9a079bf17dd48/daff-1.2.1.tar.gz" } ], "1.2.15": [ { "comment_text": "", "digests": { "md5": "fbe16f4bbee9f6b3749a4b470b0caf65", "sha256": "ed780d17719c5b182af24f7d925c5a4ca5eb4a7a63f10d4c140c417a51ab6311" }, "downloads": -1, "filename": "daff-1.2.15.tar.gz", "has_sig": false, "md5_digest": "fbe16f4bbee9f6b3749a4b470b0caf65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111101, "upload_time": "2015-06-21T05:08:34", "url": "https://files.pythonhosted.org/packages/e8/97/1d26f8fa31c953675955270c4fda04181f31f06e6eaba2a5ee521b52d8cc/daff-1.2.15.tar.gz" } ], "1.2.17": [ { "comment_text": "", "digests": { "md5": "e556525467ae0a6fa1333fef45e55e65", "sha256": "b4c7554624d239bf71ededb7775d1d214557ecb383c4b5192bb42f00674cbcd5" }, "downloads": -1, "filename": "daff-1.2.17.tar.gz", "has_sig": false, "md5_digest": "e556525467ae0a6fa1333fef45e55e65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111707, "upload_time": "2015-06-25T02:59:47", "url": "https://files.pythonhosted.org/packages/c1/76/1fac82b7b354148507eae556a5dd685fb50a4adc910004a043c0436b70cd/daff-1.2.17.tar.gz" } ], "1.2.18": [ { "comment_text": "", "digests": { "md5": "28474376e39fd942a8dce281aaad0761", "sha256": "5029ca2b27db903718364432929d5506347db82ac1100fe208c5af986ef4d101" }, "downloads": -1, "filename": "daff-1.2.18.tar.gz", "has_sig": false, "md5_digest": "28474376e39fd942a8dce281aaad0761", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111766, "upload_time": "2015-06-26T03:38:53", "url": "https://files.pythonhosted.org/packages/06/46/3e3edd8899165d7922b8955cd1d225674020e52939a25da3d43959368385/daff-1.2.18.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "26c0e7f274cd3e7ccb7cda6896feabfb", "sha256": "bcfd0e2dacefea42d0a6ffa13e8a5a3cb766d02b888559f0de9b5880fd129513" }, "downloads": -1, "filename": "daff-1.2.2.tar.gz", "has_sig": false, "md5_digest": "26c0e7f274cd3e7ccb7cda6896feabfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 90675, "upload_time": "2014-10-29T04:46:14", "url": "https://files.pythonhosted.org/packages/a2/67/a0920a94e5a52f6a103f357b674c0b57b0e0c02eb3cbe6c24d24b545d205/daff-1.2.2.tar.gz" } ], "1.2.21": [ { "comment_text": "", "digests": { "md5": "867c5c8356bd1e00233b0a0b0465280e", "sha256": "317b005b1221439984f41ca345283d85c1aaed2b851d5a708632b583801790ea" }, "downloads": -1, "filename": "daff-1.2.21.tar.gz", "has_sig": false, "md5_digest": "867c5c8356bd1e00233b0a0b0465280e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 126829, "upload_time": "2015-09-11T03:38:47", "url": "https://files.pythonhosted.org/packages/bf/a9/15e8e31cbd1e692181635f1798a7d712e5a407b2c61ebc35aa76dabc0f16/daff-1.2.21.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "5b25f8657407303a5691607dcb2fd168", "sha256": "2a5a568e3f4bcd067cf471bd4bd88ca7a2237120abfbd2607a7d850abb288457" }, "downloads": -1, "filename": "daff-1.2.3.tar.gz", "has_sig": false, "md5_digest": "5b25f8657407303a5691607dcb2fd168", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91832, "upload_time": "2014-10-30T22:15:11", "url": "https://files.pythonhosted.org/packages/25/41/7050818e348c1c4a8e425aba6c0e02ba4d96a86bcd3c04deb08122333b80/daff-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "9e9f7981c9c3278bc2b191a5ad2f2c3b", "sha256": "96e9b55b2490c0ce166485be174d114d96881362fb963868470e02924902ca60" }, "downloads": -1, "filename": "daff-1.2.4.tar.gz", "has_sig": false, "md5_digest": "9e9f7981c9c3278bc2b191a5ad2f2c3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 103604, "upload_time": "2015-02-01T06:26:21", "url": "https://files.pythonhosted.org/packages/d7/46/26446706b90923614bbf95b67d6a343bfc5c3da7cd0a5058e562cecdf9d6/daff-1.2.4.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "f1f16b8a7a1865fb62df03172a8a5469", "sha256": "2b25704bc49d8441c9af5d7db34660b3ebaa6fac9b70f14c950f324294bf61b2" }, "downloads": -1, "filename": "daff-1.2.6.tar.gz", "has_sig": false, "md5_digest": "f1f16b8a7a1865fb62df03172a8a5469", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104861, "upload_time": "2015-03-06T04:52:19", "url": "https://files.pythonhosted.org/packages/23/54/cfaa858f8fbf0a9dc0eb6f057397110ab4a05a17e36eaaf087ccbfff867d/daff-1.2.6.tar.gz" } ], "1.2.6.1": [ { "comment_text": "", "digests": { "md5": "0375c775ac34b8beb0c4a5de7cdcc114", "sha256": "0369cda02dacfd799eb3b63e02dfaa95c7090ac60bee5d3ad78ceff333e4ffc3" }, "downloads": -1, "filename": "daff-1.2.6.1.tar.gz", "has_sig": false, "md5_digest": "0375c775ac34b8beb0c4a5de7cdcc114", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 104854, "upload_time": "2015-03-06T05:02:31", "url": "https://files.pythonhosted.org/packages/90/54/ddebce5870e3980bee49a5ce08ba622faea5522e819a7c803d06bb64a614/daff-1.2.6.1.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "74adc012179a0a4cdbaa4256654aab85", "sha256": "62e8bccba82114e40171081c5ae0c64a653684d038c462e95d4031e71920ac61" }, "downloads": -1, "filename": "daff-1.3.1.tar.gz", "has_sig": false, "md5_digest": "74adc012179a0a4cdbaa4256654aab85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 127422, "upload_time": "2015-09-18T13:40:51", "url": "https://files.pythonhosted.org/packages/cd/05/1a15f587def6647b7040239972fcc9a9bcb32904267d86910b27d0ee1fca/daff-1.3.1.tar.gz" } ], "1.3.11": [ { "comment_text": "", "digests": { "md5": "7d31f5366b87e11b2c4e1fb2f7acff22", "sha256": "32fe683fb264487d3f0a43a80358067234e306abd318ffd04422adfe4cbaccd5" }, "downloads": -1, "filename": "daff-1.3.11.tar.gz", "has_sig": false, "md5_digest": "7d31f5366b87e11b2c4e1fb2f7acff22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143130, "upload_time": "2016-01-15T23:31:14", "url": "https://files.pythonhosted.org/packages/49/f8/014cd0ee5bef1ccd3cce72e3afa3a4fce8737a90645901868652b4805bd2/daff-1.3.11.tar.gz" } ], "1.3.12": [ { "comment_text": "", "digests": { "md5": "2182681ce023259a9fb348f68bb7d5b8", "sha256": "a22ba630b305ff5328f0dd323021323d7ba94f601b410a09ed1baf83a2584b92" }, "downloads": -1, "filename": "daff-1.3.12.tar.gz", "has_sig": false, "md5_digest": "2182681ce023259a9fb348f68bb7d5b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143195, "upload_time": "2016-01-16T03:03:43", "url": "https://files.pythonhosted.org/packages/96/a1/541537dccf46eb9b5dc37a56c7d9496ecbb7764703993163de01c71c3def/daff-1.3.12.tar.gz" } ], "1.3.13": [ { "comment_text": "", "digests": { "md5": "9c9b5ac36aa29a129a0b90298587ac93", "sha256": "ef0cfd6b3d889ef31b4cde2ece9a0e1bcf9b9cf9421f074973b0fa02484a9fae" }, "downloads": -1, "filename": "daff-1.3.13.tar.gz", "has_sig": false, "md5_digest": "9c9b5ac36aa29a129a0b90298587ac93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143266, "upload_time": "2016-02-14T22:26:22", "url": "https://files.pythonhosted.org/packages/46/f1/75ccf0a72303ad7409b26730be254531782bd27d9aa88146dd5bc3c2a189/daff-1.3.13.tar.gz" } ], "1.3.14": [ { "comment_text": "", "digests": { "md5": "74b3d648a9169a845302f1db53574179", "sha256": "a34f43d60d9805b59a12ad9bad76305946ba498b560d1d0ac01c46f1680489fc" }, "downloads": -1, "filename": "daff-1.3.14.tar.gz", "has_sig": false, "md5_digest": "74b3d648a9169a845302f1db53574179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143406, "upload_time": "2016-02-15T03:03:58", "url": "https://files.pythonhosted.org/packages/15/a5/f896c9e136577ea0020f074af2e03d75034b6e0f9d086c8073670c95b277/daff-1.3.14.tar.gz" } ], "1.3.16": [ { "comment_text": "", "digests": { "md5": "5f880e70fa4b003914ef29b93b511857", "sha256": "e14456456514a991b83ad477876ccf25509803140f7576ccf22d6b4db2c6983f" }, "downloads": -1, "filename": "daff-1.3.16.tar.gz", "has_sig": false, "md5_digest": "5f880e70fa4b003914ef29b93b511857", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143405, "upload_time": "2016-04-28T03:58:49", "url": "https://files.pythonhosted.org/packages/87/b6/9d4fb92eebd85f6ece50426dbc2faa57f514bc425d8b7b92b23c52d760a3/daff-1.3.16.tar.gz" } ], "1.3.17": [ { "comment_text": "", "digests": { "md5": "8728432c35773713d31ed3355ee3041b", "sha256": "a2af803397139cd4e1c04c169131764bd760313cc68b281581aaa76176eb171c" }, "downloads": -1, "filename": "daff-1.3.17.tar.gz", "has_sig": false, "md5_digest": "8728432c35773713d31ed3355ee3041b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143420, "upload_time": "2016-06-05T20:11:12", "url": "https://files.pythonhosted.org/packages/49/b4/a524b887059eb8d603c40e06d724c0b62349becf4bb388f2a782c7ba5ef7/daff-1.3.17.tar.gz" } ], "1.3.18": [ { "comment_text": "", "digests": { "md5": "c27b249ccdbf4ee6c87696888c7d4983", "sha256": "0136658adf8d6f4717735191eda0f76c9f00d6daa4a3d0979ee815341778fb52" }, "downloads": -1, "filename": "daff-1.3.18.tar.gz", "has_sig": false, "md5_digest": "c27b249ccdbf4ee6c87696888c7d4983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143571, "upload_time": "2016-06-24T13:08:52", "url": "https://files.pythonhosted.org/packages/92/31/0b6c52fcd87e6071b0e39d8b6fdcb5ce22a4b407886efdb802104fe04994/daff-1.3.18.tar.gz" } ], "1.3.19": [ { "comment_text": "", "digests": { "md5": "3516fe222a581326f157c567bc609299", "sha256": "3309a5ff29627dbc7ab432804cfbc3707130310493d1449241eae17dc7fcb757" }, "downloads": -1, "filename": "daff-1.3.19.tar.gz", "has_sig": false, "md5_digest": "3516fe222a581326f157c567bc609299", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143914, "upload_time": "2016-11-08T13:46:52", "url": "https://files.pythonhosted.org/packages/ee/92/eebdab46a493ca0f7be214894b78acc36cc46592e1a9095fb66c6251f459/daff-1.3.19.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "d6c918f4c2918bd9097f52581182fb9d", "sha256": "e926c01f7d9b5a158940731e39b10855188c9171ff1134495b558d3c14b55b49" }, "downloads": -1, "filename": "daff-1.3.2.tar.gz", "has_sig": false, "md5_digest": "d6c918f4c2918bd9097f52581182fb9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128368, "upload_time": "2015-09-22T01:02:08", "url": "https://files.pythonhosted.org/packages/e1/11/0b29df8dbc7ca18bc6047fcd54783bfbe849b764c10f8103dfce75a27441/daff-1.3.2.tar.gz" } ], "1.3.22": [ { "comment_text": "", "digests": { "md5": "5e448ac81d513fc2d397e8c78bd0a746", "sha256": "db93372a75b8fc286b1511635ced240fdc5907997c4d7aa9a8acb0ba2fb9898d" }, "downloads": -1, "filename": "daff-1.3.22.tar.gz", "has_sig": false, "md5_digest": "5e448ac81d513fc2d397e8c78bd0a746", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143039, "upload_time": "2016-12-24T04:49:16", "url": "https://files.pythonhosted.org/packages/f6/43/7606ce0abd61fd80e14c4bd9ce7a12842b83c05ae1488402de63501949f0/daff-1.3.22.tar.gz" } ], "1.3.23": [ { "comment_text": "", "digests": { "md5": "31b59e705e28595887b13cc77d431520", "sha256": "22ab1e6b7fb11b12cfa34b4428721806f7471c28bd8e406d98508c4dd3722708" }, "downloads": -1, "filename": "daff-1.3.23.tar.gz", "has_sig": false, "md5_digest": "31b59e705e28595887b13cc77d431520", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 143110, "upload_time": "2016-12-26T16:37:01", "url": "https://files.pythonhosted.org/packages/71/b2/3085eba9f333f3167503cafa458b037e71abef9b2705bb1a45b4062b8663/daff-1.3.23.tar.gz" } ], "1.3.24": [ { "comment_text": "", "digests": { "md5": "14faeddfaa826550970008c463be6a35", "sha256": "ec2048d7eadabf96f1384efc3c5d0dfc0b30d1f8e7c4854383c8d791933b872e" }, "downloads": -1, "filename": "daff-1.3.24.tar.gz", "has_sig": false, "md5_digest": "14faeddfaa826550970008c463be6a35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 145176, "upload_time": "2017-01-22T04:27:34", "url": "https://files.pythonhosted.org/packages/fd/0f/2e58f080672d05b46cccf1518a89d517a35e4d9cf7552d0940dfb70a8300/daff-1.3.24.tar.gz" } ], "1.3.26": [ { "comment_text": "", "digests": { "md5": "56bae12eec16cdadda9efacde14b62ea", "sha256": "7a1b74eb0a472d9bc821a63009064a097f27f0608014ac8683647a73d2d253f3" }, "downloads": -1, "filename": "daff-1.3.26.tar.gz", "has_sig": false, "md5_digest": "56bae12eec16cdadda9efacde14b62ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 149667, "upload_time": "2018-01-07T16:04:49", "url": "https://files.pythonhosted.org/packages/59/19/ac8d3320d7db967a7dc7000a0f0de38ec791682f1f84ce8e965d4ccda054/daff-1.3.26.tar.gz" } ], "1.3.27": [ { "comment_text": "", "digests": { "md5": "48f7a3c58c824f887bcfa61e25184c0e", "sha256": "8f1279962ba441b797ef51c7145603d62658ddc3474929956c50aa848e09df4a" }, "downloads": -1, "filename": "daff-1.3.27.tar.gz", "has_sig": false, "md5_digest": "48f7a3c58c824f887bcfa61e25184c0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 150402, "upload_time": "2018-04-17T21:09:49", "url": "https://files.pythonhosted.org/packages/ad/1e/ff3801af6e75771c760c79c23b4b286e82e056f33d96caf0416cd2271f23/daff-1.3.27.tar.gz" } ], "1.3.28": [ { "comment_text": "", "digests": { "md5": "4c561e81383289001d791ed2d0698251", "sha256": "c1004edb39aa1e3e62e1d59376a8de37b1274f5ff78b8983e54e746681a1258d" }, "downloads": -1, "filename": "daff-1.3.28.tar.gz", "has_sig": false, "md5_digest": "4c561e81383289001d791ed2d0698251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 150586, "upload_time": "2018-04-18T01:35:01", "url": "https://files.pythonhosted.org/packages/7e/7f/b1012a84ff38972a4f3f4ae5b09e3d864155a677e22715ab1e119fa7175c/daff-1.3.28.tar.gz" } ], "1.3.29": [ { "comment_text": "", "digests": { "md5": "df5a6262140202df277b89c3d8194962", "sha256": "3812a5bb31e52acc51541e4f9735b16dd5287fa02e73d3a609c91786ffa25d36" }, "downloads": -1, "filename": "daff-1.3.29.tar.gz", "has_sig": false, "md5_digest": "df5a6262140202df277b89c3d8194962", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 150611, "upload_time": "2018-05-18T03:45:43", "url": "https://files.pythonhosted.org/packages/d6/1c/7f1302320eb7b3a03bf5364a556c414e1b2d0238f140089a72566c2e5588/daff-1.3.29.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "01e85fdf5076c244e1225c75e93e6868", "sha256": "1ead08e4239d667a2d22543227210565f9cace59684cc57df60d4bedff1658aa" }, "downloads": -1, "filename": "daff-1.3.3.tar.gz", "has_sig": false, "md5_digest": "01e85fdf5076c244e1225c75e93e6868", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 139322, "upload_time": "2015-10-23T05:11:53", "url": "https://files.pythonhosted.org/packages/f0/0d/1b1e595416c35a41a0f237e4800676365dea4c0235c840a37be448c75c49/daff-1.3.3.tar.gz" } ], "1.3.30": [ { "comment_text": "", "digests": { "md5": "a3dc268d1eec37c89556f75c5de0ef81", "sha256": "f85ee73be92a130bf136563e9febfa8324a3425dbc5be07dc1b8acd0f64b656a" }, "downloads": -1, "filename": "daff-1.3.30.tar.gz", "has_sig": false, "md5_digest": "a3dc268d1eec37c89556f75c5de0ef81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151234, "upload_time": "2018-08-22T02:29:55", "url": "https://files.pythonhosted.org/packages/e4/12/4344bd608d2bda1739bf79b92e208f0943740766e0212bcdcca402118889/daff-1.3.30.tar.gz" } ], "1.3.31": [ { "comment_text": "", "digests": { "md5": "0ec651c9a4bf4e486fb9da151394d072", "sha256": "34f874a07ed330a4e84e332155e05a349eb1291810fe8b03eb95017d89c6704d" }, "downloads": -1, "filename": "daff-1.3.31.tar.gz", "has_sig": false, "md5_digest": "0ec651c9a4bf4e486fb9da151394d072", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151246, "upload_time": "2018-08-26T02:28:58", "url": "https://files.pythonhosted.org/packages/14/35/b562ba4d76bb6cb04acead7e83f36712c2a6ee3d9652c21baeaab7208f48/daff-1.3.31.tar.gz" } ], "1.3.33": [ { "comment_text": "", "digests": { "md5": "fd4f6235b04910bbbe7fae659e508736", "sha256": "7d2c7695d0c6d383baa356db4526373e78195373a1f6b0a8a22f451ea4c1904a" }, "downloads": -1, "filename": "daff-1.3.33.tar.gz", "has_sig": false, "md5_digest": "fd4f6235b04910bbbe7fae659e508736", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151257, "upload_time": "2018-09-01T20:15:05", "url": "https://files.pythonhosted.org/packages/58/8e/5d2bf2ea45f491d747756e2d410e62ec3eccc75a1bef2d5ba9547bef104e/daff-1.3.33.tar.gz" } ], "1.3.34": [ { "comment_text": "", "digests": { "md5": "a14d5fc6cf0ed93d6810e2b083d61481", "sha256": "31800d041b4aedb350c986b96f7ab9f831c4ecb107ddc6c82e038ed671dcf162" }, "downloads": -1, "filename": "daff-1.3.34.tar.gz", "has_sig": false, "md5_digest": "a14d5fc6cf0ed93d6810e2b083d61481", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152305, "upload_time": "2018-09-06T01:25:20", "url": "https://files.pythonhosted.org/packages/a4/35/2a7dd44a8ce2df38798961d672233b5df26182ecc1b2a01e954127fc11a5/daff-1.3.34.tar.gz" } ], "1.3.35": [ { "comment_text": "", "digests": { "md5": "7bd90093307f655003f37021c8598e0a", "sha256": "c9bac588afa65c764d0adab98e7728f95e11f1dd738db90d7ea3e214b05702b2" }, "downloads": -1, "filename": "daff-1.3.35.tar.gz", "has_sig": false, "md5_digest": "7bd90093307f655003f37021c8598e0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152472, "upload_time": "2018-09-13T02:58:31", "url": "https://files.pythonhosted.org/packages/23/17/7660d8b8f7bb9bc256047d8c646e98e8ab41581042278678e1505c87446a/daff-1.3.35.tar.gz" } ], "1.3.36": [ { "comment_text": "", "digests": { "md5": "d836902f94d57efe36a7b37282efe8de", "sha256": "16c2600b08b1315b2506576ed9fb6d56baf9411ba7086cc03e74c40d8b197d55" }, "downloads": -1, "filename": "daff-1.3.36.tar.gz", "has_sig": false, "md5_digest": "d836902f94d57efe36a7b37282efe8de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152206, "upload_time": "2018-09-14T20:55:08", "url": "https://files.pythonhosted.org/packages/54/66/88e576744deb1a0f077db6bc1f27921baf564c52a308fb1ff9ea93095678/daff-1.3.36.tar.gz" } ], "1.3.38": [ { "comment_text": "", "digests": { "md5": "31fa3353043dc55ca180b1dd2210ffc1", "sha256": "b9a85fbbcc65645e2c4373d9ea7be559ce923bbda8c579d6083ab0c227bbf7ed" }, "downloads": -1, "filename": "daff-1.3.38.tar.gz", "has_sig": false, "md5_digest": "31fa3353043dc55ca180b1dd2210ffc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152352, "upload_time": "2018-10-13T14:49:52", "url": "https://files.pythonhosted.org/packages/4b/43/d66adbcdc389c5c1417a69422613d61ae8d5c46c2f4066d51abf2f3e2d74/daff-1.3.38.tar.gz" } ], "1.3.39": [ { "comment_text": "", "digests": { "md5": "ff08d408fb87e52dffdb659b0ecf4a13", "sha256": "c256575f428a13863765c6dc6dd439837898bd29994dada5e19fa6201b1e8836" }, "downloads": -1, "filename": "daff-1.3.39.tar.gz", "has_sig": false, "md5_digest": "ff08d408fb87e52dffdb659b0ecf4a13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 153758, "upload_time": "2018-10-28T22:14:41", "url": "https://files.pythonhosted.org/packages/b9/8f/7ff13b4d672a4a0921e83b7813edea6ecec45a204e6d1311af95a2537ef7/daff-1.3.39.tar.gz" } ], "1.3.40": [ { "comment_text": "", "digests": { "md5": "d9050f7b0022dbae3aa1667a3d6a6c9d", "sha256": "314f21abb67db9c1eef0d303b48e44bd707e073aeac81dc412c86400191e5e19" }, "downloads": -1, "filename": "daff-1.3.40.tar.gz", "has_sig": false, "md5_digest": "d9050f7b0022dbae3aa1667a3d6a6c9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154071, "upload_time": "2019-01-05T22:28:03", "url": "https://files.pythonhosted.org/packages/3b/bd/455bba8c1f1e916b6713a81eaa5ba644f5f59c0e78132eaa1c60eac4eb89/daff-1.3.40.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "7c1fa901906196734791bd9694f12340", "sha256": "e0e1b44c27386facd847161c82f7f54283e9572583ed536fcd640a89bdf9a52a" }, "downloads": -1, "filename": "daff-1.3.5.tar.gz", "has_sig": false, "md5_digest": "7c1fa901906196734791bd9694f12340", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 139807, "upload_time": "2015-10-27T02:03:31", "url": "https://files.pythonhosted.org/packages/2d/b5/701c439035458150aa9e8ab01ea500a4e085f36c4da8d0ab361d8616eaf1/daff-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "47aba1f122b7790f2dd9cb09a2d7cb75", "sha256": "27f1d004347e48397bca681beac0096a7e3efc35834303dc9bd9bf90f612ba56" }, "downloads": -1, "filename": "daff-1.3.6.tar.gz", "has_sig": false, "md5_digest": "47aba1f122b7790f2dd9cb09a2d7cb75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142511, "upload_time": "2015-11-05T04:11:56", "url": "https://files.pythonhosted.org/packages/e4/f9/db44d3268af976aa104b8a5f36b020d8f987bc6565e74a535bd02fa713a1/daff-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "e4f251f3793c61fb4e750e4b8e1f94cc", "sha256": "ff6a02aad1ef1decf416cdeccb1032fa3a62bed245b18dd12dabe6896e3b589a" }, "downloads": -1, "filename": "daff-1.3.7.tar.gz", "has_sig": false, "md5_digest": "e4f251f3793c61fb4e750e4b8e1f94cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142736, "upload_time": "2015-11-13T03:51:46", "url": "https://files.pythonhosted.org/packages/00/4f/86c19e8b865b4b0e433ff0e77ba6d85e14e2e275161991357128b2ffca83/daff-1.3.7.tar.gz" } ], "1.3.8": [ { "comment_text": "", "digests": { "md5": "8bdbbd48f3d1556bf9055088eefb8c71", "sha256": "1f66ae5378b697cc9e458b7e3f3c68a8e9171357493630a469b9c81888ba05bb" }, "downloads": -1, "filename": "daff-1.3.8.tar.gz", "has_sig": false, "md5_digest": "8bdbbd48f3d1556bf9055088eefb8c71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 142781, "upload_time": "2016-01-03T22:36:33", "url": "https://files.pythonhosted.org/packages/be/b6/569a962227f8379e1c9402e4e985c9c06aa9abc621af9bb8ea408588c284/daff-1.3.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d9050f7b0022dbae3aa1667a3d6a6c9d", "sha256": "314f21abb67db9c1eef0d303b48e44bd707e073aeac81dc412c86400191e5e19" }, "downloads": -1, "filename": "daff-1.3.40.tar.gz", "has_sig": false, "md5_digest": "d9050f7b0022dbae3aa1667a3d6a6c9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 154071, "upload_time": "2019-01-05T22:28:03", "url": "https://files.pythonhosted.org/packages/3b/bd/455bba8c1f1e916b6713a81eaa5ba644f5f59c0e78132eaa1c60eac4eb89/daff-1.3.40.tar.gz" } ] }