{ "info": { "author": "The PyAbel Team", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Medical Science Apps.", "Topic :: Scientific/Engineering :: Physics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "PyAbel README\n=============\n\n.. image:: https://travis-ci.com/PyAbel/PyAbel.svg?branch=master\n :target: https://travis-ci.com/PyAbel/PyAbel\n.. image:: https://ci.appveyor.com/api/projects/status/g1rj5f0g7nohcuuo\n :target: https://ci.appveyor.com/project/PyAbel/PyAbel\n\n**Note:** This readme is best viewed as part of the `PyAbel Documentation `_.\n\nIntroduction\n------------\n\n``PyAbel`` is a Python package that provides functions for the forward and inverse `Abel transforms `_. The forward Abel transform takes a slice of a cylindrically symmetric 3D object and provides the 2D projection of that object. The inverse Abel transform takes a 2D projection and reconstructs a slice of the cylindrically symmetric 3D distribution.\n\n.. image:: https://user-images.githubusercontent.com/1107796/48970223-1b477b80-efc7-11e8-9feb-c614d6cadab6.png\n :width: 500px\n :alt: PyAbel\n :align: right\n\nInverse Abel transforms play an important role in analyzing the projections of angle-resolved photoelectron/photoion spectra, plasma plumes, flames, and solar occultation.\n\nPyAbel provides efficient implementations of several Abel transform algorithms, as well as related tools for centering images, symmetrizing images, and calculating properties such as the radial intensity distribution and the anisotropy parameters.\n\n\n\nTransform Methods\n-----------------\n\nThe outcome of the numerical Abel transform depends on the exact method used. So far, PyAbel includes the following `transform methods `_:\n\n 1. ``basex`` - Gaussian basis set expansion of Dribinski and co-workers.\n\n 2. ``hansenlaw`` - recursive method of Hansen and Law.\n\n 3. ``direct`` - numerical integration of the analytical Abel transform equations.\n\n 4. ``two_point`` - the \"two point\" method of Dasch and co-workers.\n\n 5. ``three_point`` - the \"three point\" method of Dasch and co-workers.\n\n 6. ``onion_peeling`` - the \"onion peeling\" deconvolution method of Dasch and co-workers.\n\n 7. ``onion_bordas`` - \"onion peeling\" or \"back projection\" method of Bordas *et al.* based on the MatLab code by Rallis and Wells *et al.*\n\n 8. ``linbasex`` - the 1D-spherical basis set expansion of Gerber *et al.*\n\n\nInstallation\n------------\n\nPyAbel requires Python 2.7 or 3.5-3.7. `NumPy `_ and `SciPy `_ are also required, and `Matplotlib `_ is required to run the examples. If you don't already have Python, we recommend an \"all in one\" Python package such as the `Anaconda Python Distribution `_, which is available for free.\n\nWith pip\n~~~~~~~~\n\nThe latest release can be installed from PyPi with ::\n\n pip install PyAbel\n\nWith setuptools\n~~~~~~~~~~~~~~~\n\nIf you prefer the development version from GitHub, download it here, `cd` to the PyAbel directory, and use ::\n\n python setup.py install\n\nOr, if you wish to edit the PyAbel source code without re-installing each time ::\n\n python setup.py develop\n\n\nExample of use\n--------------\n\nUsing PyAbel can be simple. The following Python code imports the PyAbel package, generates a sample image, performs a forward transform using the Hansen\u2013Law method, and then a reverse transform using the Three Point method:\n\n.. code-block:: python\n\n import abel\n original = abel.tools.analytical.SampleImage().image\n forward_abel = abel.Transform(original, direction='forward', method='hansenlaw').transform\n inverse_abel = abel.Transform(forward_abel, direction='inverse', method='three_point').transform\n\nNote: the ``abel.Transform()`` class returns a Python ``class`` object, where the 2D Abel transform is accessed through the ``.transform`` attribute.\n\nThe results can then be plotted using Matplotlib:\n\n.. code-block:: python\n\n import matplotlib.pyplot as plt\n import numpy as np\n\n fig, axs = plt.subplots(1, 2, figsize=(6, 4))\n\n axs[0].imshow(forward_abel, clim=(0, np.max(forward_abel)*0.6), origin='lower', extent=(-1,1,-1,1))\n axs[1].imshow(inverse_abel, clim=(0, np.max(inverse_abel)*0.4), origin='lower', extent=(-1,1,-1,1))\n\n axs[0].set_title('Forward Abel Transform')\n axs[1].set_title('Inverse Abel Transform')\n\n plt.tight_layout()\n plt.show()\n\nOutput:\n\n.. image:: https://cloud.githubusercontent.com/assets/1107796/13401302/d89aed7e-dec8-11e5-944f-fcafa1b75328.png\n :width: 400px\n :alt: example abel transform\n\n.. note:: Additional examples can be viewed on the `PyAbel examples `_ page and even more are found in the `PyAbel/examples `_ directory.\n\n\nDocumentation\n-------------\nGeneral information about the various Abel transforms available in PyAbel is available at the links above. The complete documentation for all of the methods in PyAbel is hosted at https://pyabel.readthedocs.io.\n\n\nConventions\n-----------\n\nThe PyAbel code adheres to the following conventions:\n\n- \n **Image orientation:** PyAbel adopts the \"television\" convention, where ``IM[0,0]`` refers to the **upper** left corner of the image. (This means that ``plt.imshow(IM)`` should display the image in the proper orientation, without the need to use the ``origin='lower'`` keyword.) As an example, the x,y-grid for a 5x5 image can be generated using:\n\n .. code-block:: python\n\n x = np.linspace(-2,2,5)\n X,Y = np.meshgrid(x, -x) # notice the minus sign in front of the y-coordinate\n \n- \n **Angle:** All angles in PyAbel are measured in radians. When an absolute angle is defined, zero-angle corresponds to the upwards, vertical direction. Positive values are on the right side, and negative values on the left side. The range of angles is from -Pi to +Pi. The polar grid for a 5x5 image can be generated (following the code above) using:\n\n .. code-block:: python\n\n R = np.sqrt(X**2 + Y**2)\n THETA = np.arctan2(X, Y)\n\n\n where the usual ``(Y, X)`` convention of ``arctan2`` has been reversed in order to place zero-angle in the vertical direction. Consequently, to convert the angular grid back to the Cartesian grid, we use:\n \n .. code-block:: python\n\n X = R*np.sin(THETA)\n Y = R*np.cos(THETA)\n \n\n- \n **Image center:** Fundamentally, the Abel and inverse-Abel transforms in PyAbel consider the center of the image to be located in the center of a pixel. This means that, for a symmetric image, the image will have a width that is an odd number of pixels. (The center pixel is effectively \"shared\" between both halves of the image.) In most situations, the center is specified using the ``center`` keyword in ``abel.Transform`` (or directly using ``abel.center.center_image`` to find the true center of your image. This processing step takes care of locating the center of the image in the middle of the central pixel. However, if the individual Abel transforms methods are used directly, care must be taken to supply a properly centered image.\n\n\nSupport\n-------\nIf you have a question or suggestion about PyAbel, the best way to contact the PyAbel Developers Team is to `open a new issue `_.\n\n\nContributing\n------------\n\nWe welcome suggestions for improvement, together with any interesting images that demonstrate application of PyAbel.\n\nEither open a new `Issue `_ or make a `Pull Request `_.\n\n`CONTRIBUTING.rst `_ has more information on how to contribute, such as how to run the unit tests and how to build the documentation.\n\n\nLicense\n-------\nPyAble is licensed under the `MIT license `_, so it can be used for pretty much whatever you want! Of course, it is provided \"as is\" with absolutely no warranty.\n\n\nCitation\n--------\nFirst and foremost, please cite the paper(s) corresponding to the implementation of the Abel transform that you use in your work. The references can be found at the links above.\n\nIf you find PyAbel useful in you work, it would bring us great joy if you would cite the project. You can find the DOI for the lastest verison `here `_\n\n.. image:: https://zenodo.org/badge/30170345.svg\n :target: https://zenodo.org/badge/latestdoi/30170345\n \nAdditionally, we have written a scientific paper comparing various Abel transform methods. You can find the manuscript at the Review of Scientific Instruments (DOI: `doi.org/10.1063/1.5092635 `_) or on arxiv (`arxiv.org/abs/1902.09007 `_).\n\n\n**Have fun!**", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/PyAbel/PyAbel", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "PyAbel", "package_url": "https://pypi.org/project/PyAbel/", "platform": "", "project_url": "https://pypi.org/project/PyAbel/", "project_urls": { "Homepage": "https://github.com/PyAbel/PyAbel" }, "release_url": "https://pypi.org/project/PyAbel/0.8.3/", "requires_dist": null, "requires_python": "", "summary": "A Python package for forward and inverse Abel transforms", "version": "0.8.3" }, "last_serial": 5689285, "releases": { "0.7.0": [ { "comment_text": "", "digests": { "md5": "8e289956d638a91b9c6855b32cc97dd3", "sha256": "0671dfcd8392c935b6612c5f3048a119819d7afd81db6c80232061049419ca60" }, "downloads": -1, "filename": "PyAbel-0.7.0.tar.gz", "has_sig": false, "md5_digest": "8e289956d638a91b9c6855b32cc97dd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72249, "upload_time": "2016-01-07T19:06:11", "url": "https://files.pythonhosted.org/packages/2c/76/fa2ba10a4bd3ef918f17a539744e3f2138c14fe229e19fa7bbe78f33d8f7/PyAbel-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "fe5c778645dcaeaeb66882c9f6fbe49e", "sha256": "00a39f8cc1e7ecd2318cfed9c13d9f32157e3276a450558b735cca0fb261dd5f" }, "downloads": -1, "filename": "PyAbel-0.7.1-cp27-cp27m-macosx_10_5_x86_64.whl", "has_sig": false, "md5_digest": "fe5c778645dcaeaeb66882c9f6fbe49e", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 154069, "upload_time": "2016-03-08T16:37:32", "url": "https://files.pythonhosted.org/packages/ef/a1/1454d17aacaa22749da70c85a370d9e363f51fadffa88c544b5087981652/PyAbel-0.7.1-cp27-cp27m-macosx_10_5_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "aad6953c1d9f08e126fee7cf47edc3ce", "sha256": "c7910eccc5fddf6e79ea2419f924ef820542b36349bca3c498160e570c20ebe4" }, "downloads": -1, "filename": "PyAbel-0.7.1.tar.gz", "has_sig": false, "md5_digest": "aad6953c1d9f08e126fee7cf47edc3ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97729, "upload_time": "2016-03-08T16:36:55", "url": "https://files.pythonhosted.org/packages/c0/0f/67568446b476f470b25574657124915ab474284d3e5ba890384f5a84db4a/PyAbel-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "9a23b1dd4c8a78cbfb7456d191cdd584", "sha256": "5a9ff940ab3900c941724931a76ff47b1f64be4a1672cae3ccc5759befbb2d2d" }, "downloads": -1, "filename": "PyAbel-0.7.2-cp27-none-macosx_10_5_x86_64.whl", "has_sig": false, "md5_digest": "9a23b1dd4c8a78cbfb7456d191cdd584", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 156541, "upload_time": "2016-03-11T22:09:57", "url": "https://files.pythonhosted.org/packages/79/25/0af5b9c72ac3035d82de9e033e4159ed117992da1b0e85b3d13f7bc44abf/PyAbel-0.7.2-cp27-none-macosx_10_5_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "151eb1e4d8e3226b307a47fbb4bd1993", "sha256": "0bbb66f00ac91c25339b131d58667ce8ee4080453b4be91c95a088801da01f19" }, "downloads": -1, "filename": "PyAbel-0.7.2.tar.gz", "has_sig": false, "md5_digest": "151eb1e4d8e3226b307a47fbb4bd1993", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97911, "upload_time": "2016-03-11T22:09:03", "url": "https://files.pythonhosted.org/packages/3f/d7/d7bbed6712b0efdee7968279e3b0a861362b5dedd372ffe39abeb43012c8/PyAbel-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "826acff66ff2d6c03926a60ec6728186", "sha256": "615749a7131e333d4c99c46c09f1cae58d633fc8da0f00728aaedea4028b22b6" }, "downloads": -1, "filename": "PyAbel-0.7.3-cp27-none-macosx_10_5_x86_64.whl", "has_sig": false, "md5_digest": "826acff66ff2d6c03926a60ec6728186", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 166855, "upload_time": "2016-04-14T23:27:31", "url": "https://files.pythonhosted.org/packages/d4/df/e93ca3a57d1c5ea59d3dd2e1a7efbfda3a004f3293d29b59912796358bcf/PyAbel-0.7.3-cp27-none-macosx_10_5_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d6c04fd30512ce9ef41019b7104dd772", "sha256": "e3223343c216dd6346f49e1b94fd191e58b4a9415b7247db5bd7022efa6b6e45" }, "downloads": -1, "filename": "PyAbel-0.7.3-py2.7-linux-x86_64.egg", "has_sig": false, "md5_digest": "d6c04fd30512ce9ef41019b7104dd772", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 359214, "upload_time": "2016-04-15T16:07:54", "url": "https://files.pythonhosted.org/packages/2b/a0/496a52383fb434b488cb210db51c8665c61639d2d61084aca68f68ee3876/PyAbel-0.7.3-py2.7-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "1091b30b2790f19cab1d34ec8c758e26", "sha256": "4c63575476f44f863574acb0fd5e21084c9e6dac211343ca4740c98388a2025d" }, "downloads": -1, "filename": "PyAbel-0.7.3-py3.3-linux-x86_64.egg", "has_sig": false, "md5_digest": "1091b30b2790f19cab1d34ec8c758e26", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 339500, "upload_time": "2016-04-15T16:07:16", "url": "https://files.pythonhosted.org/packages/f0/e6/9038f73daf219f59733e6cb1f3504daf592fa607b2f7f6d88a74b55377b7/PyAbel-0.7.3-py3.3-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "7bded626fb9fab3dc4b97d36a260e0be", "sha256": "8769771e24680648daddcdeb674fc4dc9f65b8d09bafa2959fc51b256819924d" }, "downloads": -1, "filename": "PyAbel-0.7.3-py3.4-linux-x86_64.egg", "has_sig": false, "md5_digest": "7bded626fb9fab3dc4b97d36a260e0be", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 364281, "upload_time": "2016-04-15T16:07:53", "url": "https://files.pythonhosted.org/packages/65/37/e18b7b9cc7d277a74be41335a41b8db50f642db71574034bf6c05b534d2f/PyAbel-0.7.3-py3.4-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "6d5bb7096dadb3a42ae64cb06f70520b", "sha256": "f98fcf363b33819c542fc57a011e86d88b3ff523be1561393ef8b2f6475a1bc1" }, "downloads": -1, "filename": "PyAbel-0.7.3-py3.5-linux-x86_64.egg", "has_sig": false, "md5_digest": "6d5bb7096dadb3a42ae64cb06f70520b", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 359717, "upload_time": "2016-04-15T16:06:11", "url": "https://files.pythonhosted.org/packages/d7/a9/4ef33defe727642f9c4c2dd3569d82020f9e27b4422e8d5192cb930ca11f/PyAbel-0.7.3-py3.5-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "db93578c7028557cf0392a086b5b2a90", "sha256": "d7eccca007e61d4da12998ca30a8875b38376172e02c6e39ed76aa02fa07fff0" }, "downloads": -1, "filename": "PyAbel-0.7.3.tar.gz", "has_sig": false, "md5_digest": "db93578c7028557cf0392a086b5b2a90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 201466, "upload_time": "2016-04-14T23:27:08", "url": "https://files.pythonhosted.org/packages/62/24/b4244d5cbbba7567fceff37a526ebcd4e8a8919be4a001a9f1a3ecddc75a/PyAbel-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "9fe2205d03ad622335ff1c3893d1a785", "sha256": "b33da25483764732f9ca4d872cf130ab31eee9fb3a700d5282b20452b2e98e68" }, "downloads": -1, "filename": "PyAbel-0.7.4-py2.7-linux-x86_64.egg", "has_sig": false, "md5_digest": "9fe2205d03ad622335ff1c3893d1a785", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 359262, "upload_time": "2016-04-15T16:46:51", "url": "https://files.pythonhosted.org/packages/b3/6d/04d0dc7b76e5bd687841c7c153dc50fc27c76b073181e00a3f63c1e56210/PyAbel-0.7.4-py2.7-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "761209c4cbf27653a37773abb919cca2", "sha256": "f40301fa59d095a9bb6095d42435d619122d31bdb4cc13ef6461163e43538c40" }, "downloads": -1, "filename": "PyAbel-0.7.4-py3.3-linux-x86_64.egg", "has_sig": false, "md5_digest": "761209c4cbf27653a37773abb919cca2", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 339541, "upload_time": "2016-04-15T16:46:30", "url": "https://files.pythonhosted.org/packages/91/d6/589c42743bee445bb8e2e1a12876e7b7a0bd502c84d1eb9794d51e40f6af/PyAbel-0.7.4-py3.3-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "5345f89bc64c924b499f47f40c3b9ee0", "sha256": "7a74bb7c90ee9cc576c1ae88dd98b35594e1dc0d3f8f946fd5c31ce03fded823" }, "downloads": -1, "filename": "PyAbel-0.7.4-py3.4-linux-x86_64.egg", "has_sig": false, "md5_digest": "5345f89bc64c924b499f47f40c3b9ee0", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 364276, "upload_time": "2016-04-15T16:46:59", "url": "https://files.pythonhosted.org/packages/51/4b/65c529752e9df75a52366933516d2b22d24fb269bdf58748344b8218ced0/PyAbel-0.7.4-py3.4-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "ad1053e7b14d753ce3a4d9e1ba677ccb", "sha256": "48f8c320ba795b4288b15f5d932e5837122d17ef74ca24df10f42d4e05f6bd9e" }, "downloads": -1, "filename": "PyAbel-0.7.4-py3.5-linux-x86_64.egg", "has_sig": false, "md5_digest": "ad1053e7b14d753ce3a4d9e1ba677ccb", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 359717, "upload_time": "2016-04-15T16:46:52", "url": "https://files.pythonhosted.org/packages/04/c2/0c6754490802f9d8784e847e84ac3460df95fd0fa80ce00fd41e758bb879/PyAbel-0.7.4-py3.5-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "1f9be2ecdc1ea8424000d62e2d6a4b10", "sha256": "95f40daeba34789119aa2391a113248763f333e567b9d65fbd3a0fde1b10ed1f" }, "downloads": -1, "filename": "PyAbel-0.7.4.tar.gz", "has_sig": false, "md5_digest": "1f9be2ecdc1ea8424000d62e2d6a4b10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102687, "upload_time": "2016-04-15T16:46:38", "url": "https://files.pythonhosted.org/packages/78/3f/578e7aab5122246dbb1a89585f0d956da072187d49de4484a13506ffcbab/PyAbel-0.7.4.tar.gz" } ], "0.7.4a0": [ { "comment_text": "", "digests": { "md5": "2b8c949d473fa73d65bc64b27fad4db8", "sha256": "a3a3da2a74426bd1e2dad7f481a4ac6d73150248767eca9617651b374b40a431" }, "downloads": -1, "filename": "PyAbel-0.7.4a0-py2.7-linux-x86_64.egg", "has_sig": false, "md5_digest": "2b8c949d473fa73d65bc64b27fad4db8", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 359265, "upload_time": "2016-04-15T16:17:13", "url": "https://files.pythonhosted.org/packages/34/66/18f200a3b59b865f03b39758558b71992d079a7af21296d23e0c7fa4ef9f/PyAbel-0.7.4a0-py2.7-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "44899f66f54619be14b2c65df8f23a10", "sha256": "703967b7008fe42e3c8abb934264d76816b9ec3d50cec687b3b9b9ea7dcefc10" }, "downloads": -1, "filename": "PyAbel-0.7.4a0-py3.3-linux-x86_64.egg", "has_sig": false, "md5_digest": "44899f66f54619be14b2c65df8f23a10", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 339551, "upload_time": "2016-04-15T16:16:53", "url": "https://files.pythonhosted.org/packages/21/7a/033407a3917c817cbcc32317ab413521a0313fd95cae511d66bd062ca862/PyAbel-0.7.4a0-py3.3-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "fe9604815bcdd4b2bb339ae391504f0b", "sha256": "717e4016580c088a9ada01f185788a24433c9fef5b3ac585bbbbbc154c6f261d" }, "downloads": -1, "filename": "PyAbel-0.7.4a0-py3.4-linux-x86_64.egg", "has_sig": false, "md5_digest": "fe9604815bcdd4b2bb339ae391504f0b", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 364297, "upload_time": "2016-04-15T16:17:15", "url": "https://files.pythonhosted.org/packages/b5/20/67d838a0c6643563a1b2b90b4e8959b35a63288440fd66c8f8b9d005daf3/PyAbel-0.7.4a0-py3.4-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "67ecb6ae1ffebc10ebcfb8661a0219b6", "sha256": "bdb7aac77a9b48ef0e883af1ea7c3cf8fc15ddf05c8775222d7afad0f6945648" }, "downloads": -1, "filename": "PyAbel-0.7.4a0-py3.5-linux-x86_64.egg", "has_sig": false, "md5_digest": "67ecb6ae1ffebc10ebcfb8661a0219b6", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 359727, "upload_time": "2016-04-15T16:15:51", "url": "https://files.pythonhosted.org/packages/a8/29/69b3bd5c8def690bd5bb416b8bd92a819bda1d2cbdf3560bb0189d29929e/PyAbel-0.7.4a0-py3.5-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "4cada4e6e73b0aebc3fecd08c05add64", "sha256": "193711b88eeb5bdbdb6e3224e5904a49cb47e88b7c57c6fa389de00acb73aca3" }, "downloads": -1, "filename": "PyAbel-0.7.4a0.tar.gz", "has_sig": false, "md5_digest": "4cada4e6e73b0aebc3fecd08c05add64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102690, "upload_time": "2016-04-15T16:16:06", "url": "https://files.pythonhosted.org/packages/81/0b/8b31f94f5309b84dfe5aeca22d1c6b5d0afa4460241fac3a5d9df5290824/PyAbel-0.7.4a0.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "5b12206f0a1e7b185531adba4bdcb4e5", "sha256": "68fe111afd23f8840acfc714ef04c28559adf84a354ffa9483fe52aec12d8923" }, "downloads": -1, "filename": "PyAbel-0.7.5-py2.7-linux-x86_64.egg", "has_sig": false, "md5_digest": "5b12206f0a1e7b185531adba4bdcb4e5", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 384849, "upload_time": "2017-01-10T20:30:00", "url": "https://files.pythonhosted.org/packages/46/8b/0b28c1db2b6eb07b0245b77c276a97079805f61788d8d077424c1e8acf03/PyAbel-0.7.5-py2.7-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "053315fe7d30206cc83807942439faa3", "sha256": "41431ca2a378a76266b4d749b99534d30aabd8e70b9af6653b2def6ceb3fb3f1" }, "downloads": -1, "filename": "PyAbel-0.7.5-py3.4-linux-x86_64.egg", "has_sig": false, "md5_digest": "053315fe7d30206cc83807942439faa3", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 390527, "upload_time": "2017-01-10T20:30:06", "url": "https://files.pythonhosted.org/packages/e3/2b/0f297e7b9440f0259abe0bf2dd40f83fb0890af020f5ab591487e7fd2dab/PyAbel-0.7.5-py3.4-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "3a5dc4b2dc6cf687add6e0db7f58ee7c", "sha256": "961e3609220db5cf8a680f5d73cc2469c852b352ca393f734792fe9329f9442d" }, "downloads": -1, "filename": "PyAbel-0.7.5-py3.5-linux-x86_64.egg", "has_sig": false, "md5_digest": "3a5dc4b2dc6cf687add6e0db7f58ee7c", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 386083, "upload_time": "2017-01-10T20:30:10", "url": "https://files.pythonhosted.org/packages/70/10/e737aa466cc0173c18dd42ee9124e6cbefdb9b138fadae7b8db5f0ebdbd6/PyAbel-0.7.5-py3.5-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "9512f8dca597174185338d683f26598f", "sha256": "100997198594afcfe7d4458114aa07de3c66f239a49b9281df2fdebf320cda27" }, "downloads": -1, "filename": "PyAbel-0.7.5.tar.gz", "has_sig": false, "md5_digest": "9512f8dca597174185338d683f26598f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 114268, "upload_time": "2017-01-10T20:30:03", "url": "https://files.pythonhosted.org/packages/3f/e9/2f4a3bc0c98897be6ef158aa2032eee4bc877b37eb4b61bc2be0ff1691fe/PyAbel-0.7.5.tar.gz" } ], "0.7.6": [ { "comment_text": "", "digests": { "md5": "ff48b754bca9efe6cc1da19c9b7fe700", "sha256": "3273c61a49fa914269224cbf5ab60b866b1b1250552d8d3c8b986797d302403f" }, "downloads": -1, "filename": "PyAbel-0.7.6-py3.4-linux-x86_64.egg", "has_sig": false, "md5_digest": "ff48b754bca9efe6cc1da19c9b7fe700", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 390682, "upload_time": "2017-01-14T17:05:33", "url": "https://files.pythonhosted.org/packages/a0/a7/12e902ebfc6943c119ba70eb73d28b7d54abf4e82eade9f59c51d172b20e/PyAbel-0.7.6-py3.4-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "51bdf719bcf08d7bcf96703eff34d000", "sha256": "83f1e5fd3926c2ca846d471342bd34488dee0c723b8fe4b1d06a0df45aec0409" }, "downloads": -1, "filename": "PyAbel-0.7.6-py3.5-linux-x86_64.egg", "has_sig": false, "md5_digest": "51bdf719bcf08d7bcf96703eff34d000", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 386233, "upload_time": "2017-01-14T17:05:23", "url": "https://files.pythonhosted.org/packages/55/b7/61bb0dbab23896cf41dc6822996718f3c34fae29e890bccbf617a8359157/PyAbel-0.7.6-py3.5-linux-x86_64.egg" }, { "comment_text": "", "digests": { "md5": "0482f10e2ebf0db091d3e77538c4d726", "sha256": "6668c86b9b52efa0b110105cd749754db779dbe2fa9684b3c4f1a2f6784394e2" }, "downloads": -1, "filename": "PyAbel-0.7.6.tar.gz", "has_sig": false, "md5_digest": "0482f10e2ebf0db091d3e77538c4d726", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 114255, "upload_time": "2017-01-14T17:05:25", "url": "https://files.pythonhosted.org/packages/a7/d5/6272f9581c7efe66882b3294102ee6c0194968a6b3ea9c92e3c3c3c7c789/PyAbel-0.7.6.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "089b6f3269ab71114c24dd70fb1ed88e", "sha256": "7159c8870ca648ba73cda35f3c2490a0e8b2f4cc9f2adce9653ec58d981f1089" }, "downloads": -1, "filename": "PyAbel-0.8.0.tar.gz", "has_sig": false, "md5_digest": "089b6f3269ab71114c24dd70fb1ed88e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125973, "upload_time": "2018-08-14T00:07:25", "url": "https://files.pythonhosted.org/packages/f8/e6/cef4f44c8fd2e258abc1c2e1352832259795b47c470a5fde6d0e75c28e17/PyAbel-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "506df84ed30c545ddcc1b572bdc50cb8", "sha256": "3b4e0a6bf1e129699cfb50b85ec7711979305c4fd91d5e56e6c190693d915528" }, "downloads": -1, "filename": "PyAbel-0.8.1.tar.gz", "has_sig": false, "md5_digest": "506df84ed30c545ddcc1b572bdc50cb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134401, "upload_time": "2018-11-30T03:10:10", "url": "https://files.pythonhosted.org/packages/16/52/607d8ac2328cefead403e5e0c035fc39d8b6df46903826442db7b89d4e0f/PyAbel-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "8581fee82e65b9ab250791b60915cda1", "sha256": "5493fb2ea4b5fe77e182425ae27b722056a6d1ce79f454e1e2eeba6fddd75098" }, "downloads": -1, "filename": "PyAbel-0.8.2.tar.gz", "has_sig": false, "md5_digest": "8581fee82e65b9ab250791b60915cda1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 140599, "upload_time": "2019-06-11T13:53:47", "url": "https://files.pythonhosted.org/packages/48/53/02ddfdd9f9d61635a42eedbce3346b8fb80a80e8023c5ea97edb6e3f3f45/PyAbel-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "3c44ea935835564f1e1a4956a17cdd6c", "sha256": "c6dc00b0af37be9a2dd20e667a4c805b53a05bfe24061936f45aed245ed21a4f" }, "downloads": -1, "filename": "PyAbel-0.8.3.tar.gz", "has_sig": false, "md5_digest": "3c44ea935835564f1e1a4956a17cdd6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151121, "upload_time": "2019-08-16T19:57:26", "url": "https://files.pythonhosted.org/packages/24/27/9715827434b28ecf66e89f3db52972f51819096292fb3127ea7a11c0ba06/PyAbel-0.8.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3c44ea935835564f1e1a4956a17cdd6c", "sha256": "c6dc00b0af37be9a2dd20e667a4c805b53a05bfe24061936f45aed245ed21a4f" }, "downloads": -1, "filename": "PyAbel-0.8.3.tar.gz", "has_sig": false, "md5_digest": "3c44ea935835564f1e1a4956a17cdd6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 151121, "upload_time": "2019-08-16T19:57:26", "url": "https://files.pythonhosted.org/packages/24/27/9715827434b28ecf66e89f3db52972f51819096292fb3127ea7a11c0ba06/PyAbel-0.8.3.tar.gz" } ] }