{ "info": { "author": "Erik Bray, Dan D'Avella, Michael Droettboom", "author_email": "mdroe@stsci.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "ASDF - Advanced Scientific Data Format\n======================================\n\n.. _begin-summary-text:\n\nThe **A**\\ dvanced **S**\\ cientific **D**\\ ata **F**\\ ormat (ASDF) is a\nnext-generation interchange format for scientific data. This package\ncontains the Python implementation of the ASDF Standard. More\ninformation on the ASDF Standard itself can be found\n`here `__.\n\nThe ASDF format has the following features:\n\n* A hierarchical, human-readable metadata format (implemented using `YAML\n `__)\n* Numerical arrays are stored as binary data blocks which can be memory\n mapped. Data blocks can optionally be compressed.\n* The structure of the data can be automatically validated using schemas\n (implemented using `JSON Schema `__)\n* Native Python data types (numerical types, strings, dicts, lists) are\n serialized automatically\n* ASDF can be extended to serialize custom data types\n\n.. _end-summary-text:\n\nASDF is under active development `on github\n`__. More information on contributing\ncan be found `below <#contributing>`__.\n\nOverview\n--------\n\nThis section outlines basic use cases of the ASDF package for creating\nand reading ASDF files.\n\nCreating a file\n~~~~~~~~~~~~~~~\n\n.. _begin-create-file-text:\n\nWe're going to store several `numpy` arrays and other data to an ASDF file. We\ndo this by creating a \"tree\", which is simply a `dict`, and we provide it as\ninput to the constructor of `AsdfFile`:\n\n.. code:: python\n\n import asdf\n import numpy as np\n\n # Create some data\n sequence = np.array([x for x in range(100)])\n squares = np.array([x**2 for x in range(100)])\n random = np.random.random(100)\n\n # Store the data in an arbitrarily nested dictionary\n tree = {\n 'foo': 42,\n 'name': 'Monty',\n 'sequence': sequence,\n 'powers': { 'squares' : squares },\n 'random': random\n }\n\n # Create the ASDF file object from our data tree\n af = asdf.AsdfFile(tree)\n\n # Write the data to a new file\n af.write_to('example.asdf')\n\nIf we open the newly created file, we can see some of the key features\nof ASDF on display:\n\n::\n\n #ASDF 1.0.0\n #ASDF_STANDARD 1.2.0\n %YAML 1.1\n %TAG ! tag:stsci.edu:asdf/\n --- !core/asdf-1.1.0\n asdf_library: !core/software-1.0.0 {author: Space Telescope Science Institute, homepage: 'http://github.com/spacetelescope/asdf',\n name: asdf, version: 2.0.0}\n history:\n extensions:\n - !core/extension_metadata-1.0.0\n extension_class: asdf.extension.BuiltinExtension\n software: {name: asdf, version: 2.0.0}\n foo: 42\n name: Monty\n powers:\n squares: !core/ndarray-1.0.0\n source: 1\n datatype: int64\n byteorder: little\n shape: [100]\n random: !core/ndarray-1.0.0\n source: 2\n datatype: float64\n byteorder: little\n shape: [100]\n sequence: !core/ndarray-1.0.0\n source: 0\n datatype: int64\n byteorder: little\n shape: [100]\n ...\n\nThe metadata in the file mirrors the structure of the tree that was stored. It\nis hierarchical and human-readable. Notice that metadata has been added to the\ntree that was not explicitly given by the user. Notice also that the numerical\narray data is not stored in the metadata tree itself. Instead, it is stored as\nbinary data blocks below the metadata section (not shown here).\n\nIt is possible to compress the array data when writing the file:\n\n.. code:: python\n\n af.write_to('compressed.asdf', all_array_compression='zlib')\n\nAvailable compression algorithms are ``'zlib'``, ``'bzp2'``, and\n``'lz4'``.\n\n.. _end-create-file-text:\n\nReading a file\n~~~~~~~~~~~~~~\n\n.. _begin-read-file-text:\n\nTo read an existing ASDF file, we simply use the top-level `open` function of\nthe `asdf` package:\n\n.. code:: python\n\n import asdf\n\n af = asdf.open('example.asdf')\n\nThe `open` function also works as a context handler:\n\n.. code:: python\n\n with asdf.open('example.asdf') as af:\n ...\n\nTo access the data stored in the file, use the top-level `AsdfFile.tree`\nattribute:\n\n.. code:: python\n\n >>> import asdf\n >>> af = asdf.open('example.asdf')\n >>> af.tree\n {'asdf_library': {'author': 'Space Telescope Science Institute',\n 'homepage': 'http://github.com/spacetelescope/asdf',\n 'name': 'asdf',\n 'version': '1.3.1'},\n 'foo': 42,\n 'name': 'Monty',\n 'powers': {'squares': },\n 'random': ,\n 'sequence': }\n\nThe tree is simply a Python `dict`, and nodes are accessed like any other\ndictionary entry:\n\n.. code:: python\n\n >>> af.tree['name']\n 'Monty'\n >>> af.tree['powers']\n {'squares': }\n\nArray data remains unloaded until it is explicitly accessed:\n\n.. code:: python\n\n >>> af.tree['powers']['squares']\n array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100,\n 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441,\n 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024,\n 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849,\n 1936, 2025, 2116, 2209, 2304, 2401, 2500, 2601, 2704, 2809, 2916,\n 3025, 3136, 3249, 3364, 3481, 3600, 3721, 3844, 3969, 4096, 4225,\n 4356, 4489, 4624, 4761, 4900, 5041, 5184, 5329, 5476, 5625, 5776,\n 5929, 6084, 6241, 6400, 6561, 6724, 6889, 7056, 7225, 7396, 7569,\n 7744, 7921, 8100, 8281, 8464, 8649, 8836, 9025, 9216, 9409, 9604,\n 9801])\n\n >>> import numpy as np\n >>> expected = [x**2 for x in range(100)]\n >>> np.equal(af.tree['powers']['squares'], expected).all()\n True\n\nBy default, uncompressed data blocks are memory mapped for efficient\naccess. Memory mapping can be disabled by using the ``copy_arrays``\noption of `open` when reading:\n\n.. code:: python\n\n af = asdf.open('example.asdf', copy_arrays=True)\n\n.. _end-read-file-text:\n\nFor more information and for advanced usage examples, see the\n`documentation <#documentation>`__.\n\nExtending ASDF\n~~~~~~~~~~~~~~\n\nOut of the box, the ``asdf`` package automatically serializes and\ndeserializes native Python types. It is possible to extend ``asdf`` by\nimplementing custom tag types that correspond to custom user types. More\ninformation on extending ASDF can be found in the `official\ndocumentation `__.\n\nInstallation\n------------\n\n.. _begin-pip-install-text:\n\nStable releases of the ASDF Python package are registered `at\nPyPi `__. The latest stable version\ncan be installed using ``pip``:\n\n::\n\n $ pip install asdf\n\n.. _begin-source-install-text:\n\nThe latest development version of ASDF is available from the ``master`` branch\n`on github `__. To clone the project:\n\n::\n\n $ git clone https://github.com/spacetelescope/asdf\n\nTo install:\n\n::\n\n $ cd asdf\n $ git submodule update --init\n $ pip install .\n\nTo install in `development\nmode `__::\n\n $ pip install -e .\n\n.. note::\n\n The source repository makes use of a git submodule for referencing the\n schemas provided by the ASDF standard. While this submodule is\n automatically initialized when installing the package (including in\n development mode), it may be necessary for developers to manually update\n the submodule if changes are made upstream. See the `documentation on git\n submodules `__ for more\n information.\n\n.. _end-source-install-text:\n\nTesting\n-------\n\n.. _begin-testing-text:\n\nTo install the test dependencies from a source checkout of the repository:\n\n::\n\n $ pip install -e .[tests]\n\nTo run the unit tests from a source checkout of the repository:\n\n::\n\n $ pytest\n\nIt is also possible to run the test suite from an installed version of\nthe package. In a Python interpreter:\n\n.. code:: python\n\n import asdf\n asdf.test()\n\nPlease note that the `astropy `__\npackage must be installed to run the tests.\n\nIt is also possible to run the tests using `tox\n`__. It is first necessary to install\n``tox`` and `tox-conda `__:\n\n::\n\n $ pip install tox tox-conda\n\nTo list all available environments:\n\n::\n\n $ tox -va\n\nTo run a specific environment:\n\n::\n\n $ tox -e \n\n\n.. _end-testing-text:\n\nDocumentation\n-------------\n\nMore detailed documentation on this software package can be found\n`here `__.\n\nMore information on the ASDF Standard itself can be found\n`here `__.\n\n If you are looking for the **A**\\ daptable **S**\\ eismic **D**\\ ata\n **F**\\ ormat, information can be found\n `here `__.\n\nContributing\n------------\n\nWe welcome feedback and contributions to the project. Contributions of\ncode, documentation, or general feedback are all appreciated. Please\nfollow the `contributing guidelines `__ to submit an\nissue or a pull request.\n\nWe strive to provide a welcoming community to all of our users by\nabiding to the `Code of Conduct `__.", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/spacetelescope/asdf", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "asdf", "package_url": "https://pypi.org/project/asdf/", "platform": "", "project_url": "https://pypi.org/project/asdf/", "project_urls": { "Homepage": "http://github.com/spacetelescope/asdf" }, "release_url": "https://pypi.org/project/asdf/2.4.2/", "requires_dist": null, "requires_python": ">=3.3", "summary": "Python tools to handle ASDF files", "version": "2.4.2" }, "last_serial": 5756658, "releases": { "0": [], "1.0.0": [ { "comment_text": "", "digests": { "md5": "70ff3f56533d2a63d3b79f14e32ca493", "sha256": "dc797d03dd93a1eb817e9b6ce43e311fc4c6cf7f89ad18c9d6981b13f2acea0c" }, "downloads": -1, "filename": "asdf-1.0.0.tar.gz", "has_sig": false, "md5_digest": "70ff3f56533d2a63d3b79f14e32ca493", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 309032, "upload_time": "2015-09-18T19:19:25", "url": "https://files.pythonhosted.org/packages/3a/89/61e14ce54636614a9a1558d0d0f9d9d50b829d30c649f94d093922837ebe/asdf-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "68b5cedd2ec15ee89e8e82e102c7c420", "sha256": "9e97f1a95a32d284139ad81c57b772a4c687c4db2a7666d3ee7a34c6ba62636c" }, "downloads": -1, "filename": "asdf-1.0.1.tar.gz", "has_sig": false, "md5_digest": "68b5cedd2ec15ee89e8e82e102c7c420", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 308934, "upload_time": "2016-01-08T20:57:43", "url": "https://files.pythonhosted.org/packages/d8/e4/ec767291d19b78be7e51f0e95aa215bda2e6465dcc9b4eb2bf42e6805bc1/asdf-1.0.1.tar.gz" } ], "1.0.2": [], "1.1.0": [ { "comment_text": "", "digests": { "md5": "26a1141267fa36940f6fd5921a406ca5", "sha256": "636bf623663b51b93b4c108a10cbc1ae9caaf667c98fcb83a29b0be6c4936e0d" }, "downloads": -1, "filename": "asdf-1.1.0.tar.gz", "has_sig": false, "md5_digest": "26a1141267fa36940f6fd5921a406ca5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 309611, "upload_time": "2016-03-03T20:46:17", "url": "https://files.pythonhosted.org/packages/1f/5d/b8ee51ea1700c386151da950cb12da7bfd9a4b413c707878b14b430da671/asdf-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "4aab30f85c6d2bdd393b5bfe14a46f7a", "sha256": "19e43e44b3c608a8d20b930c053a6f5a080d51d703d785d6faee6bb51e5dd23c" }, "downloads": -1, "filename": "asdf-1.2.0.tar.gz", "has_sig": false, "md5_digest": "4aab30f85c6d2bdd393b5bfe14a46f7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 320650, "upload_time": "2016-11-04T16:28:30", "url": "https://files.pythonhosted.org/packages/b0/8e/a2ca657dedd7ba8f432e72de13614f3f2799b7e0be7f9ab2c038857434a4/asdf-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "7ceb788ab3705d35d747c9a11877ed93", "sha256": "6e197f20683e050ab54769dcce22cf251d587b6dc38be011ca7b9dca21d81dec" }, "downloads": -1, "filename": "asdf-1.2.1.tar.gz", "has_sig": false, "md5_digest": "7ceb788ab3705d35d747c9a11877ed93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 320828, "upload_time": "2016-11-07T18:28:08", "url": "https://files.pythonhosted.org/packages/c6/a1/2ad42787fd5d44b5e7b1d20330ff2ecb3e140716d6d7def8d0310ab19fc8/asdf-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "0cc5f8381f047a91a288e8ad32cf0fc9", "sha256": "05169ebb11eb90b9421851a36c2499d1c565f79a5de42d0151f7f4ddeb833d23" }, "downloads": -1, "filename": "asdf-1.3.0.tar.gz", "has_sig": true, "md5_digest": "0cc5f8381f047a91a288e8ad32cf0fc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 493384, "upload_time": "2017-10-24T16:44:01", "url": "https://files.pythonhosted.org/packages/68/fa/720e4766739c9aa93b3a5e49c2e0b2c3f7725fd616bca534a6bed604b2ae/asdf-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "3a128d0ae23659b5e06c8409c3f48ba1", "sha256": "2c42f8d9eb29133f309a889e7bc469609a8a4689ca71afc2c8e2cf75614c5e8b" }, "downloads": -1, "filename": "asdf-1.3.1.tar.gz", "has_sig": true, "md5_digest": "3a128d0ae23659b5e06c8409c3f48ba1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*", "size": 494069, "upload_time": "2017-11-03T15:57:48", "url": "https://files.pythonhosted.org/packages/65/0d/4eb39ceda08e396379e29177a016345412bedfb041eba822f8f63e0cd495/asdf-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "572f60e2b9cb14610850f966b534cac5", "sha256": "80167194a72d56c79e75a4fef77fbe9a080ad43ebe0466fc3c6e768e8c60f1f6" }, "downloads": -1, "filename": "asdf-1.3.2.tar.gz", "has_sig": true, "md5_digest": "572f60e2b9cb14610850f966b534cac5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*", "size": 497711, "upload_time": "2018-02-22T16:08:10", "url": "https://files.pythonhosted.org/packages/f2/93/661263ad144f955bc392c59c604373c2a8af5f5ff4fd0fe94bc24092de2f/asdf-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "669966205938a85dd28ced78633d400b", "sha256": "64b806efaba0786cd1883ba6ba70a322ecb8c0bbe4227727f252f256b8ec28e9" }, "downloads": -1, "filename": "asdf-1.3.3.tar.gz", "has_sig": true, "md5_digest": "669966205938a85dd28ced78633d400b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*", "size": 498593, "upload_time": "2018-03-01T17:36:52", "url": "https://files.pythonhosted.org/packages/74/9d/2c974125f7e5c0d613a762e422789cd0296b34110f2cecf8cf5874230082/asdf-1.3.3.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "137daf89522a43ff6d06553f8d644293", "sha256": "dcdb00b3e00bb9c29efad5ce68002679ffc653d55d8799f8037c491cc0e91d66" }, "downloads": -1, "filename": "asdf-2.0.0.tar.gz", "has_sig": true, "md5_digest": "137daf89522a43ff6d06553f8d644293", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 573796, "upload_time": "2018-04-19T18:40:41", "url": "https://files.pythonhosted.org/packages/fb/84/51d8b7e0e583034e87f15d8b3495c0329d81c375e5b1022066f1a86d7060/asdf-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "acd8d7ecef2111f20885367dfd6f110a", "sha256": "a4606b1312cb0e81e1f4625bc69c34c2d392b53729992a1f7e5223f51b14f574" }, "downloads": -1, "filename": "asdf-2.0.1.tar.gz", "has_sig": true, "md5_digest": "acd8d7ecef2111f20885367dfd6f110a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 574342, "upload_time": "2018-05-08T14:56:02", "url": "https://files.pythonhosted.org/packages/d7/8c/dd1fa4717b8ca9f5e1639b748f75e6a9d4675032702be5ff965e100bb99e/asdf-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "ca2995781aac6101034076a58f0986fa", "sha256": "493acb887113fe9c71309c26e8813d213ddc585aadd3c1c3566523dfba175dfe" }, "downloads": -1, "filename": "asdf-2.0.2.tar.gz", "has_sig": true, "md5_digest": "ca2995781aac6101034076a58f0986fa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 576391, "upload_time": "2018-07-30T13:23:51", "url": "https://files.pythonhosted.org/packages/4e/ce/591c191bb81d0dcbbb0c8851d9ba826c545e43c33c89449f86aab9548219/asdf-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "ea87998c3041e877970b35e1500e76a2", "sha256": "2eda4e1291d1de6837e9b0a4ba1f256ae1ba1ec2848e18007fa7e3af71151138" }, "downloads": -1, "filename": "asdf-2.0.3.tar.gz", "has_sig": true, "md5_digest": "ea87998c3041e877970b35e1500e76a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 571319, "upload_time": "2018-09-06T18:45:03", "url": "https://files.pythonhosted.org/packages/46/52/6ce3ae54dfffa0446d7758ca2cfa74e5b81aa369ae10d094a3013002ad4c/asdf-2.0.3.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "3da47607830b7a3f333ca9e82e2437b1", "sha256": "2f83c4cbbec7d8c421252082d896c467e8d94719ecdadaa1c87307231e7b07ea" }, "downloads": -1, "filename": "asdf-2.1.0.tar.gz", "has_sig": true, "md5_digest": "3da47607830b7a3f333ca9e82e2437b1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 569703, "upload_time": "2018-09-25T17:51:31", "url": "https://files.pythonhosted.org/packages/d2/40/ed316515af01c72f9069161fe95d54d2c6ca9595605427ba9364f258098e/asdf-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "9430d9748aa06c133c4bf386a7a97296", "sha256": "df3a9c79f5a0ec9b6e4353987818abe7fb26eba278d731b90d126d6de8ad6727" }, "downloads": -1, "filename": "asdf-2.1.1.tar.gz", "has_sig": true, "md5_digest": "9430d9748aa06c133c4bf386a7a97296", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 571794, "upload_time": "2018-11-01T20:16:23", "url": "https://files.pythonhosted.org/packages/95/04/0199f1aded841ed8e500562f7833af0ad9cd89fb7b1e724d6afed0b9c5f8/asdf-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "9942cc2a4b5c37730ca5d9e53d72833f", "sha256": "548bb96c14df04c0a2e208ed4bf8670b8b6fac24d86f39f8e7484c59be84625a" }, "downloads": -1, "filename": "asdf-2.1.2.tar.gz", "has_sig": true, "md5_digest": "9942cc2a4b5c37730ca5d9e53d72833f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 571985, "upload_time": "2018-11-14T15:31:00", "url": "https://files.pythonhosted.org/packages/d4/34/00f6b443528dbf44b0d3a5bba734bfae30df5e07646fdc3a5ce2ac6272e0/asdf-2.1.2.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "0c3f16f6a1db3639282f97825dad5e09", "sha256": "f53c50da83fa82365411f2d372ea43c407ebaf954da49b71a476c2429b2fa3d9" }, "downloads": -1, "filename": "asdf-2.2.0.tar.gz", "has_sig": true, "md5_digest": "0c3f16f6a1db3639282f97825dad5e09", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 575713, "upload_time": "2018-11-15T03:06:49", "url": "https://files.pythonhosted.org/packages/8a/6d/4759d36db34bd35f8418c902521380e5b187816d9eee93add07e0ea98873/asdf-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "be6b2b6540790d58edfc9b580adbd7a3", "sha256": "5c5f726a2de38431cac6031d9e771b198e9e5c31e978ef34c70d9de30ddf2d4c" }, "downloads": -1, "filename": "asdf-2.2.1.tar.gz", "has_sig": true, "md5_digest": "be6b2b6540790d58edfc9b580adbd7a3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 575758, "upload_time": "2018-11-15T18:16:12", "url": "https://files.pythonhosted.org/packages/d4/6c/2e723bbc8fc5aac2be4f6a43696152d7d675af90825a5614e246925364fe/asdf-2.2.1.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "42fc008b3ae6fe4327a91f6a39bad3a6", "sha256": "d3a71396d65eb71d1e3b573b10ff8192a0bf1308c04ea212baeed2a29bee0e18" }, "downloads": -1, "filename": "asdf-2.3.0.tar.gz", "has_sig": true, "md5_digest": "42fc008b3ae6fe4327a91f6a39bad3a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 577356, "upload_time": "2018-11-28T20:36:31", "url": "https://files.pythonhosted.org/packages/74/b9/76900b99b8dfd95a95447e2330dd660442dbb26baec4fb5e1c750bc470ca/asdf-2.3.0.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "b8a095c3d15697e878fa011248b4be05", "sha256": "deea56c2c685e56802bfd328f9df9a60b4d209774251c4166a2605b4ad023697" }, "downloads": -1, "filename": "asdf-2.3.1.tar.gz", "has_sig": true, "md5_digest": "b8a095c3d15697e878fa011248b4be05", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 577885, "upload_time": "2018-12-20T21:13:30", "url": "https://files.pythonhosted.org/packages/ac/d0/0fad5befa0affdc6d7a1cf5de6ffc3c14f6d9b4ea6227971e4d51aa41f75/asdf-2.3.1.tar.gz" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "1bd1ec303dfd812b84aaee7f20a1d71b", "sha256": "afbe932d00d3df04bdf6274830a5b141883a5714dbc27664b31f411bf3b7062c" }, "downloads": -1, "filename": "asdf-2.3.2.tar.gz", "has_sig": true, "md5_digest": "1bd1ec303dfd812b84aaee7f20a1d71b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 578469, "upload_time": "2019-02-19T15:57:46", "url": "https://files.pythonhosted.org/packages/02/f6/d817a72e627a94b186c5da96876821d14390d956fcafe7956010b6d6da71/asdf-2.3.2.tar.gz" } ], "2.3.3": [ { "comment_text": "", "digests": { "md5": "bdefc8f1772eadb48265027fd3bf33d1", "sha256": "d02e936a83abd206e7bc65050d94e8848da648344dbec9e49dddc2bdc3bd6870" }, "downloads": -1, "filename": "asdf-2.3.3.tar.gz", "has_sig": true, "md5_digest": "bdefc8f1772eadb48265027fd3bf33d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 578808, "upload_time": "2019-04-02T16:21:21", "url": "https://files.pythonhosted.org/packages/fb/20/f2277af8f18587fa5b5d1319765d9fe5c67e778c29e206478ce68c4bc1d0/asdf-2.3.3.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "03d350e7a22dfec46bf1dff56384068e", "sha256": "ebaf39ea18280a1e4b798718260670bad6ba394593b4bc421a3de6e141cd54c2" }, "downloads": -1, "filename": "asdf-2.4.1.tar.gz", "has_sig": false, "md5_digest": "03d350e7a22dfec46bf1dff56384068e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 448084, "upload_time": "2019-08-28T13:10:18", "url": "https://files.pythonhosted.org/packages/e3/08/20d0818d400028a266ca0b144b6d88e465029798bc70a4e3a736c28e621e/asdf-2.4.1.tar.gz" } ], "2.4.2": [ { "comment_text": "", "digests": { "md5": "0ae265459c13ab0396231c676a8f01aa", "sha256": "6ff3557190c6a33781dae3fd635a8edf0fa0c24c6aca27d8679af36408ea8ff2" }, "downloads": -1, "filename": "asdf-2.4.2.tar.gz", "has_sig": false, "md5_digest": "0ae265459c13ab0396231c676a8f01aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 448618, "upload_time": "2019-08-29T20:00:01", "url": "https://files.pythonhosted.org/packages/04/16/3c5a9b98b0519ae22d69e521334d9d56176255637f7c60e68fabbce82bc5/asdf-2.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0ae265459c13ab0396231c676a8f01aa", "sha256": "6ff3557190c6a33781dae3fd635a8edf0fa0c24c6aca27d8679af36408ea8ff2" }, "downloads": -1, "filename": "asdf-2.4.2.tar.gz", "has_sig": false, "md5_digest": "0ae265459c13ab0396231c676a8f01aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 448618, "upload_time": "2019-08-29T20:00:01", "url": "https://files.pythonhosted.org/packages/04/16/3c5a9b98b0519ae22d69e521334d9d56176255637f7c60e68fabbce82bc5/asdf-2.4.2.tar.gz" } ] }