{ "info": { "author": "Luis Miguel Sanchez Brea / Jesus del Hoyo Munoz", "author_email": "optbrea@ucm.es", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "========================\nPython polarization\n========================\n\n\n.. image:: https://img.shields.io/pypi/v/py_pol.svg\n :target: https://pypi.org/project/py-pol/\n\n.. image:: https://img.shields.io/travis/optbrea/py_pol.svg\n :target: https://bitbucket.org/optbrea/py_pol/src/master/\n\n.. image:: https://readthedocs.org/projects/py-pol/badge/?version=latest\n :target: https://py-pol.readthedocs.io/en/latest/\n :alt: Documentation Status\n\n\n\n* Free software: MIT license\n* Documentation: https://py-pol.readthedocs.io/en/latest/\n\n.. image:: logo.png\n :width: 75\n :align: right\n\n\n\nFeatures\n----------------\nPy-pol is a Python library for Jones and Stokes-Mueller polarization optics. It has 4 main module:\n\n * jones_vector - for generation of polarization states in 2x1 Jones formalism.\n\n * jones_matrix - for generation of 2x2 matrix polarizers.\n\n * stokes - for generation of polarization states in 2x2 Stokes formalism.\n\n * mueller - for generation of 4x4 matrix polarizers.\n\n\nEach one has its own class, with multiple methods for generation, operation and parameters extraction.\n\nExamples\n-----------\n\nJones formalism\n=================\n\nGenerating Jones vectors and Matrices\n\n.. code-block:: python\n\n from py_pol.jones_vector import Jones_vector\n from py_pol.jones_matrix import Jones_matrix\n from py_pol.utils import degrees\n\n j0 = Jones_vector(\"j0\")\n j0.linear_light(angle=45*degrees)\n\n m0 = Jones_matrix(\"m0\")\n m0.diattenuator_linear( p1=0.75, p2=0.25, angle=45*degrees)\n\n m1 = Jones_matrix(\"m1\")\n m1.quarter_waveplate(angle=0 * degrees)\n\n j1=m1*m0*j0\n\nExtracting information form Jones Vector.\n\n.. code-block:: python\n\n print(j0,'\\n')\n print(j0.parameters)\n\n.. code-block:: python\n\n j0 = [+0.707; +0.707]'\n\n parameters of j0:\n intensity : 1.000 arb.u\n alpha : 45.000 deg\n delay : 0.000 deg\n azimuth : 45.000 deg\n ellipticity angle: 0.000 deg\n a, b : 1.000 0.000\n phase : 0.000 deg\n\n.. code-block:: python\n\n print(j1,'\\n')\n print(j1.parameters)\n\n.. code-block:: python\n\n m1 * m0 @45.00 deg * j0 = [+0.530+0.000j; +0.000+0.530j]'\n\n parameters of m1 * m0 @45.00 deg * j0:\n intensity : 0.562 arb.u\n alpha : 45.000 deg\n delay : 90.000 deg\n azimuth : 8.618 deg\n ellipticity angle: -45.000 deg\n a, b : 0.530 0.530\n phase : 0.000 deg\n\nExtracting information form Jones Matrices.\n\n.. code-block:: python\n\n print(m0,'\\n')\n print(m0.parameters)\n\n.. code-block:: python\n\n m0 @45.00 deg =\n [+0.500, +0.250]\n [+0.250, +0.500]\n\n parameters of m0 @45.00 deg:\n is_homogeneous: True\n delay: 0.000 deg\n diattenuation: 0.800\n\n\n.. code-block:: python\n\n\n print(m1,'\\n')\n print(m1.parameters)\n\n\n.. code-block:: python\n\n\n m1 =\n [+1+0j, +0+0j]\n [+0+0j, +0+1j]\n\n parameters of m1:\n is_homogeneous: True\n delay: 90.000 deg\n diattenuation: 0.000\n\n\n\n\nStokes-Mueller formalism\n==================================\n\nGenerating Stokes vectors and Mueller matrices.\n\n\n.. code-block:: python\n\n\n from py_pol.stokes import Stokes\n from py_pol.mueller import Mueller\n from py_pol.utils import degrees\n\n j0 = Stokes(\"j0\")\n j0.linear_light(angle=45*degrees)\n\n m1 = Mueller(\"m1\")\n m1.diattenuator_linear(p1=1, p2=0, angle=0*degrees)\n\n j1=m1*j0\n\n\nExtracting information from Stokes vectors.\n\nDetermining the intensity of a Stokes vector:\n\n.. code-block:: python\n\n i1=j0.parameters.intensity()\n print(\"intensity = {:4.3f} arb. u.\".format(i1))\n\n\n.. code-block:: python\n\n intensity = 1.000 arb. u.\n\nDetermining all the parameters of a Stokes vector:\n\n.. code-block:: python\n\n\n print(j0,'\\n')\n print(j0.parameters)\n\n.. code-block:: python\n\n j0 = [ +1; +0; +1; +0]\n\n\n parameters of j0:\n intensity : 1.000 arb. u.\n amplitudes : E0x 0.707, E0y 0.707, E0_unpol 0.000\n degree polarization : 1.000\n degree linear pol. : 1.000\n degree circular pol.: 0.000\n alpha : 45.000 deg\n delay : 0.000 deg\n azimuth : 45.000 deg\n ellipticity angle : 0.000 deg\n ellipticity param : 0.000\n eccentricity : 1.000\n polarized vector : [+1.000; +0.000; +1.000; +0.000]'\n unpolarized vector : [+0.000; +0.000; +0.000; +0.000]'\n\n.. code-block:: python\n\n\n print(j1,'\\n')\n print(j1.parameters)\n\n.. code-block:: python\n\n m1 * j0 = [+0.500; +0.500; +0.000; +0.000]\n\n parameters of m1 * j0:\n intensity : 0.500 arb. u.\n amplitudes : E0x 0.707, E0y 0.000, E0_unpol 0.000\n degree polarization : 1.000\n degree linear pol. : 1.000\n degree circular pol.: 0.000\n alpha : 0.000 deg\n delay : 0.000 deg\n azimuth : 0.000 deg\n ellipticity angle : 0.000 deg\n ellipticity param : 0.000\n eccentricity : 1.000\n polarized vector : [+0.500; +0.500; +0.000; +0.000]'\n unpolarized vector : [+0.000; +0.000; +0.000; +0.000]'\n\n\n\n\nExtracting information from Mueller matrices.\n\n.. code-block:: python\n\n m2 = Mueller(\"m2\")\n m2.diattenuator_retarder_linear(D=90*degrees, p1=1, p2=0.5, angle=0)\n delay = m2.parameters.retardance()\n print(\"delay = {:2.1f}\u00ba\".format(delay/degrees))\n\n.. code-block:: python\n\n delay = 90.0\u00ba\n\nThere is a function in Parameters_Jones_Vector class, .get_all() that will compute all the parameters available and stores in a dictionary .dict_params(). Info about dict parameters can be revised using the print function.\n\n\n.. code-block:: python\n\n print(m2,'\\n')\n m2.parameters.get_all()\n print(m2.parameters)\n\n\n.. code-block:: python\n\n m2 =\n [+0.6250, +0.3750, +0.0000, +0.0000]\n [+0.3750, +0.6250, +0.0000, +0.0000]\n [+0.0000, +0.0000, +0.0000, +0.5000]\n [+0.0000, +0.0000, -0.5000, +0.0000]\n\n Parameters of m2:\n Transmissions:\n - Mean : 62.5 %.\n - Maximum : 100.0 %.\n - Minimum : 25.0 %.\n Diattenuation:\n - Total : 0.600.\n - Linear : 0.600.\n - Circular : 0.000.\n Polarizance:\n - Total : 0.600.\n - Linear : 0.600.\n - Circular : 0.000.\n Spheric purity : 0.872.\n Retardance : 1.571.\n Polarimetric purity : 1.000.\n Depolarization degree : 0.000.\n Depolarization factors:\n - Euclidean distance : 1.732.\n - Depolarization factor : 0.000.\n Polarimetric purity indices:\n - P1 : 1.000.\n - P2 : 1.000.\n - P3 : 1.000.\n\nThere are many types of Mueller matrices. The Check_Mueller calss implements all the checks that can be performed in order to clasify a Mueller matrix. They are stored in the checks field of Mueller class.\n\n\n.. code-block:: python\n\n m1 = Mueller(\"m1\")\n m1.diattenuator_linear(p1=1, p2=0.2, angle=0*degrees)\n print(m1,'\\n')\n\n c1 = m1.checks.is_physical()\n c2 = m1.checks.is_homogeneous()\n c3 = m1.checks.is_retarder()\n print('The linear diattenuator is physical: {}; hogeneous: {}; and a retarder: {}.'.format(c1, c2, c3))\n\n\n.. code-block:: python\n\n m1 =\n [+0.520, +0.480, +0.000, +0.000]\n [+0.480, +0.520, +0.000, +0.000]\n [+0.000, +0.000, +0.200, +0.000]\n [+0.000, +0.000, +0.000, +0.200]\n\n\n The linear diattenuator is physical: True; hogeneous: True; and a retarder: False.\n\nDrawings\n===========\n\nThe modules also allows to obtain graphical representation of polarization.\n\nDrawing polarization ellipse for Jones vectors.\n\n.. image:: ellipse_Jones_1.png\n :width: 600\n\n.. image:: ellipse_Jones_3.png\n :width: 600\n\n\nDrawing polarization ellipse for Stokes vectors with random distribution due to unpolarized part of light.\n\n.. image:: ellipse_Stokes_1.png\n :width: 600\n\n.. image:: ellipse_Stokes_2.png\n :width: 600\n\nDrawing Stokes vectors in Poincare sphere.\n\n.. image:: poincare2.png\n :width: 600\n\n.. image:: poincare3.png\n :width: 600\n\n.. image:: poincare4.png\n :width: 600\n\nAuthors\n----------------\n\n* Luis Miguel Sanchez Brea \n* Jesus del Hoyo \n\n **Universidad Complutense de Madrid**,\n Faculty of Physical Sciences,\n Department of Optics\n Plaza de las ciencias 1,\n ES-28040 Madrid (Spain)\n\n.. image:: logoUCM.png\n :width: 125\n :align: right\n\nCiting\n----------------\nL.M. Sanchez Brea, J. del Hoyo \"py-pol, python module for polarization optics\", https://pypi.org/project/py-pol/ (2019)\n\nReferences\n------------\n\n* D Goldstein \"Polarized light\" 2nd edition, Marcel Dekker (1993).\n\n* JJ Gil, R. Ossikovsky \"Polarized light and the Mueller Matrix approach\", CRC Press (2016).\n\n* C Brosseau \"Fundamentals of Polarized Light\" Wiley (1998).\n\n* R Martinez-Herrero, P.M. Mejias, G.Piquero \"Characterization of partially polarized light fields\" Springer series in Optical sciences (2009).\n\n* JM Bennet \"Handbook of Optics 1\" Chapter 5 'Polarization'.\n\n* RA Chipman \"Handbook of Optics 2\" Chapter 2 'Polarimetry'.\n\n* SY Lu and RA Chipman, \"Homogeneous and inhomogeneous Jones matrices\", J. Opt. Soc. Am. A 11(2) 766 (1994).\n\n\nAcknowlegments\n------------------------\nThis software was initially developed for the project Retos-Colaboraci\u00f3n 2016 \"Ecograb\" RTC-2016-5277-5: Ministerio de Econom\u00eda y Competitivdad (Spain) and the European funds for regional development (EU), led by Luis Miguel Sanchez-Brea\n\n\nCredits\n---------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.1 (2018-12-22)\n------------------\n\n* First release on PyPI in pre-alpha state.\n\n\n0.1.3 (2019-01-22)\n------------------\n\nalpha state\n\n* Jones_vector, Jones_matrix, Stokes works.\n* Mueller is in progress.\n* Functions = 9/10\n* Documentation = 8/10\n* Tutorial = 7/10.\n* Examples = 6/10.\n* Drawing = 0/10.\n\n\n0.1.4 (2019-02-03)\n------------------\n\nalpha state\n\n* Jones_vector, Jones_matrix, Stokes works.\n* Mueller is in progress.\n* Functions = 9/10\n* Documentation = 8/10\n* Tutorial = 8/10.\n* Examples = 8/10.\n* Tests = 8/10\n* Drawing = 10/10. Finished. Polarization ellipse for Jones and Stokes (partially random). Stokes on Poincar\u00e9 sphere.\n\n\n0.1.5 (2019-02-25)\n------------------\n\nalpha state\n\n* Jones_vector, Jones_matrix, Stokes works.\n* Jones_vector: simplify function to represent better Jones vectors.\n* tests drawing: Made tests for drawing\n\n* Mueller is in progress.\n* Functions = 9/10\n* Documentation = 8/10\n* Tutorial = 8/10.\n* Examples = 8/10.\n* Tests = 8/10\n* Drawing = 10/10. Finished. Polarization ellipse for Jones and Stokes (partially random). Stokes on Poincar\u00e9 sphere.\n\n\n0.2.0 (2019-05-25)\n------------------\n\nbeta state\n\n* Upgrade to Python 3\n* Stable version including tests\n\n\n0.2.1 (2019-09-04)\n------------------\n\nbeta state\n\n* Bug fixes.\n* Solve incidents.\n* Start to homogenize structures for both Jones and Stokes.\n\n\n0.2.2 (2019-09-04)\n------------------\n\nbeta state\n\n* Bug fixes.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/optbrea/py_pol/src/master/", "keywords": "py_pol,optics,polarization,Jones,Stokes,Mueller", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "py-pol", "package_url": "https://pypi.org/project/py-pol/", "platform": "", "project_url": "https://pypi.org/project/py-pol/", "project_urls": { "Homepage": "https://bitbucket.org/optbrea/py_pol/src/master/" }, "release_url": "https://pypi.org/project/py-pol/0.2.3/", "requires_dist": [ "numpy", "scipy", "matplotlib", "hickle", "Click (>=6.0)", "sympy", "nbsphinx" ], "requires_python": "", "summary": "Jones and Mueller polarization - Optics", "version": "0.2.3" }, "last_serial": 5825818, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7c1b47a3bbb4c3bba6c361edc240c3d9", "sha256": "c43067671379059f82e047cc2a535c948bd040e4df79e9bc0dd3e0d21ba421b1" }, "downloads": -1, "filename": "py_pol-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "7c1b47a3bbb4c3bba6c361edc240c3d9", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 75554, "upload_time": "2019-01-16T14:58:30", "url": "https://files.pythonhosted.org/packages/84/e5/3f8a478c0eb3faf7fdc943703d604eb2c75c15133bcad585e03ac9a85912/py_pol-0.1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "683662238eaca5b798c853a3cc142e1d", "sha256": "8a88dddde82ad0d72294e78645f561b42db3207ec18e1d1208532096ee01fa4d" }, "downloads": -1, "filename": "py_pol-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "683662238eaca5b798c853a3cc142e1d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37086, "upload_time": "2019-01-16T14:58:23", "url": "https://files.pythonhosted.org/packages/b6/49/d9b26cebf53e6b696b6e04d1b836509de1b2acef6d0ffcee53530d712d01/py_pol-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c149027508deb94ad197233f294b2a0", "sha256": "2121eb325be36384d1be2d8ee9a1c5733b2d534618d8f18d100e5007610acd11" }, "downloads": -1, "filename": "py_pol-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0c149027508deb94ad197233f294b2a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 310777, "upload_time": "2019-01-16T14:58:57", "url": "https://files.pythonhosted.org/packages/59/b5/c83b10a96d5f8e860a06dbfd1267f6193531c444f8e541ec89782dd103bc/py_pol-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f5754ad68a0e5e04aa9351b0eaafeed5", "sha256": "2930ca1c291e23e96f76833e82396d6cae61e276f448822e89497e4bcd64811a" }, "downloads": -1, "filename": "py_pol-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5754ad68a0e5e04aa9351b0eaafeed5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37095, "upload_time": "2019-01-16T16:31:57", "url": "https://files.pythonhosted.org/packages/b8/f2/7436bcf0af3779a9816fce9ee15f83425f1399e457f90aeeba10eb1a479d/py_pol-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fb8e0d8f327b3e861b7cb7325c2cc3eb", "sha256": "f6e5806b8120ff5a80522fd19be8490169e3999a09f8d8ce3b89c807d3a4b404" }, "downloads": -1, "filename": "py_pol-0.1.1.tar.gz", "has_sig": false, "md5_digest": "fb8e0d8f327b3e861b7cb7325c2cc3eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 310796, "upload_time": "2019-01-16T16:31:59", "url": "https://files.pythonhosted.org/packages/cc/91/aa443cda29360cc129ac124fe9b39787c3f7f94fe74a4cc02b36bed03b03/py_pol-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "db9a4c127c224f213a26ab72f09a75ac", "sha256": "40ccae58ea9a8682da5b428dcc3500116a3c1cf51f02e75ba2a51003b1f2f77a" }, "downloads": -1, "filename": "py_pol-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "db9a4c127c224f213a26ab72f09a75ac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37409, "upload_time": "2019-01-18T16:30:03", "url": "https://files.pythonhosted.org/packages/a7/5b/10773dc073cf10331b2635e0364f15eca948b68ef35be72f2537ad440feb/py_pol-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fa591855b4ee14e592a7b5a5586d298", "sha256": "46259b9de8453b9dfe20dc6005988e9cb09dfca53a515399d1329c3435f37244" }, "downloads": -1, "filename": "py_pol-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7fa591855b4ee14e592a7b5a5586d298", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48330, "upload_time": "2019-01-18T16:30:05", "url": "https://files.pythonhosted.org/packages/21/18/5ebc109d3ee49dc1d1a1fae06bee44e2dd94bad9e034c581ccf39b2d8c16/py_pol-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "16e4cfaa626cfda30738b8e0542e62bb", "sha256": "9c0fb1e571cb8231f90bcb2e4d1197d61985fddfdca8b8c879d43de46bd840a5" }, "downloads": -1, "filename": "py_pol-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "16e4cfaa626cfda30738b8e0542e62bb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41866, "upload_time": "2019-01-23T07:31:42", "url": "https://files.pythonhosted.org/packages/be/a2/e1c188eae5104fbae143a0d79c121bd752f149ed5453e369666bb85225ef/py_pol-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c7e1dee87fdc4581b70657578373cdf", "sha256": "25317c9d749ffc7e30a080f9887c35f2da6f1dcbbbe6371e3e383d3012184586" }, "downloads": -1, "filename": "py_pol-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0c7e1dee87fdc4581b70657578373cdf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 632009, "upload_time": "2019-01-23T07:31:44", "url": "https://files.pythonhosted.org/packages/09/e2/704ba92d207b12bfa12b8702848f040e75dbe76d2adf047072ed8a86e401/py_pol-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "4c2ef165f9988f551c8890ad0e602f1f", "sha256": "c64e5249ce39aabf4c4a3477bee75067b73e58715f2fd0cb27f65408da70a02c" }, "downloads": -1, "filename": "py_pol-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c2ef165f9988f551c8890ad0e602f1f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 51667, "upload_time": "2019-02-03T17:58:57", "url": "https://files.pythonhosted.org/packages/42/3e/7eee34e0c373928e539e4522dd77b3cec6099c892d1d6fb4f9a135ffe4d6/py_pol-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8aa48bf61e5ac56637858aebd0437a60", "sha256": "bc2579993de846cf9ee2e97e8c706ed6d13598f3a8faaf568a77497ad4f95025" }, "downloads": -1, "filename": "py_pol-0.1.4.tar.gz", "has_sig": false, "md5_digest": "8aa48bf61e5ac56637858aebd0437a60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3899734, "upload_time": "2019-02-03T17:59:01", "url": "https://files.pythonhosted.org/packages/63/ec/6a3865db40767b156f3ec148048f81eba6af70bd3c17aefbc853cee0a8e1/py_pol-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ce4d90054a3078c281f30c0cb69ff019", "sha256": "1b36902f979611878852a84ac93c5a02138fd5ff549b36cd70b756eedadd3e73" }, "downloads": -1, "filename": "py_pol-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce4d90054a3078c281f30c0cb69ff019", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 55563, "upload_time": "2019-02-22T16:01:02", "url": "https://files.pythonhosted.org/packages/95/58/4a2313fe917cd98005554e8fcd3c2907cc6cdb0c266f37d4f80375a14f43/py_pol-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13059f5a1f30edc80e85cc3efa4861df", "sha256": "f0287a17f6580060d8b00da8d665e5e5bb41c4df30d5fbd4b583fba9c255b1a7" }, "downloads": -1, "filename": "py_pol-0.2.0.tar.gz", "has_sig": false, "md5_digest": "13059f5a1f30edc80e85cc3efa4861df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2798793, "upload_time": "2019-02-22T16:01:05", "url": "https://files.pythonhosted.org/packages/7f/3e/a04798c954c46f13f93f07ce4a03cc93a4d24eefd7f1feeeeed3a5d9ce35/py_pol-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7481b54eb37ae70a167982836b440e9a", "sha256": "dcf439a704245f52a0021c2565823250ad9756cfa4ca73cb8b313c314fa0e727" }, "downloads": -1, "filename": "py_pol-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7481b54eb37ae70a167982836b440e9a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 62698, "upload_time": "2019-09-04T10:56:53", "url": "https://files.pythonhosted.org/packages/44/8c/2e6b8983a090b17424c6b6879ac3882c462fcaeb9faed31658fbcd771f4d/py_pol-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3be5229c2ce4db33b7b43ead56fe56a5", "sha256": "e128de73d18761ed2fda8140a66e888ccc613399c53787687c602b5e8a5cd898" }, "downloads": -1, "filename": "py_pol-0.2.1.tar.gz", "has_sig": false, "md5_digest": "3be5229c2ce4db33b7b43ead56fe56a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2913938, "upload_time": "2019-09-04T10:56:56", "url": "https://files.pythonhosted.org/packages/d5/92/5a564fc73bce4abdf8bf5b3185d56883f3914ed81ff180ecbd9847b67abe/py_pol-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "655ce6412ada1cb80403a1e57c2850c2", "sha256": "bc0e3576ea2df16b3502a84e957f7c13e7ef066978199a5021279ff7067eb21f" }, "downloads": -1, "filename": "py_pol-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "655ce6412ada1cb80403a1e57c2850c2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 63262, "upload_time": "2019-09-12T14:01:28", "url": "https://files.pythonhosted.org/packages/80/75/795ac4a206ca4b3102d65a58a727573fe372058351cd6723c7cd67dea00e/py_pol-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7377865afcee0d91d1498dec4c922b40", "sha256": "abb15d82cb83fd5d0802ccf805c9c6123e0146bc303df1d22347f6843d393b57" }, "downloads": -1, "filename": "py_pol-0.2.2.tar.gz", "has_sig": false, "md5_digest": "7377865afcee0d91d1498dec4c922b40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2968166, "upload_time": "2019-09-12T14:01:32", "url": "https://files.pythonhosted.org/packages/38/a9/8b8a069f2cacc5eeb264bd8c9caf96b374130430f8560d949a87eca19706/py_pol-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "6f49abdf4877dc314feece751d1e3a5d", "sha256": "e1e08c6b5cfafc0331b1d7e552c2a52199028c03c134144f612aa47f9dd5605f" }, "downloads": -1, "filename": "py_pol-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6f49abdf4877dc314feece751d1e3a5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 63275, "upload_time": "2019-09-13T14:02:12", "url": "https://files.pythonhosted.org/packages/20/7a/afd4e307b7571bde2fb5a917771dc4db49ffc927c7f23bf15946463ae234/py_pol-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4013d527ecfdddd8c992ba731c25096", "sha256": "cb856b2f553f0463a3fc152de42abd985ac782040a50dd2ffa14d78e59d385bd" }, "downloads": -1, "filename": "py_pol-0.2.3.tar.gz", "has_sig": false, "md5_digest": "a4013d527ecfdddd8c992ba731c25096", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2995986, "upload_time": "2019-09-13T14:02:14", "url": "https://files.pythonhosted.org/packages/3d/d0/a2c375d9bea0df0a099f492507fb57f99df4466a9d611170e99231208294/py_pol-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6f49abdf4877dc314feece751d1e3a5d", "sha256": "e1e08c6b5cfafc0331b1d7e552c2a52199028c03c134144f612aa47f9dd5605f" }, "downloads": -1, "filename": "py_pol-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6f49abdf4877dc314feece751d1e3a5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 63275, "upload_time": "2019-09-13T14:02:12", "url": "https://files.pythonhosted.org/packages/20/7a/afd4e307b7571bde2fb5a917771dc4db49ffc927c7f23bf15946463ae234/py_pol-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4013d527ecfdddd8c992ba731c25096", "sha256": "cb856b2f553f0463a3fc152de42abd985ac782040a50dd2ffa14d78e59d385bd" }, "downloads": -1, "filename": "py_pol-0.2.3.tar.gz", "has_sig": false, "md5_digest": "a4013d527ecfdddd8c992ba731c25096", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2995986, "upload_time": "2019-09-13T14:02:14", "url": "https://files.pythonhosted.org/packages/3d/d0/a2c375d9bea0df0a099f492507fb57f99df4466a9d611170e99231208294/py_pol-0.2.3.tar.gz" } ] }