psf


Namepsf JSON
Version 2024.5.24 PyPI version JSON
download
home_pagehttps://www.cgohlke.com
SummaryPoint Spread Function calculations for fluorescence microscopy
upload_time2024-05-25 03:23:57
maintainerNone
docs_urlNone
authorChristoph Gohlke
requires_python>=3.9
licenseBSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Point Spread Function calculations for fluorescence microscopy
==============================================================

Psf is a Python library to calculate Point Spread Functions (PSF) for
fluorescence microscopy.

The psf library is no longer actively developed.

:Author: `Christoph Gohlke <https://www.cgohlke.com>`_
:License: BSD 3-Clause
:Version: 2024.5.24

Quickstart
----------

Install the psf package and all dependencies from the
`Python Package Index <https://pypi.org/project/psf/>`_::

    python -m pip install -U "psf[all]"

See `Examples`_ for using the programming interface.

Source code and support are available on
`GitHub <https://github.com/cgohlke/psf>`_.

Requirements
------------

This revision was tested with the following requirements and dependencies
(other versions may work):

- `CPython <https://www.python.org>`_ 3.9.13, 3.10.11, 3.11.9, 3.12.3
- `NumPy <https://pypi.org/project/numpy/>`_ 1.26.4
- `Matplotlib <https://pypi.org/project/matplotlib/>`_  3.8.4
  (optional for plotting)

Revisions
---------

2024.5.24

- Fix docstring examples not correctly rendered on GitHub.

2024.4.24

- Support NumPy 2.

2024.1.6

- Change PSF.TYPES from dict to set (breaking).

2023.4.26

- Use enums.
- Derive Dimensions from UserDict.
- Add type hints.
- Convert to Google style docstrings.
- Drop support for Python 3.8 and numpy < 1.21 (NEP29).

2022.9.26

- Fix setup.py.

2022.9.12

- Remove support for Python 3.7 (NEP 29).
- Update metadata.

2021.6.6

- Remove support for Python 3.6 (NEP 29).

2020.1.1

- Remove support for Python 2.7 and 3.5.
- Update copyright.

2019.10.14

- Support Python 3.8.

2019.4.22

- Fix setup requirements.
- Fix compiler warning.

References
----------

1. Electromagnetic diffraction in optical systems. II. Structure of the
   image field in an aplanatic system.
   B Richards and E Wolf. Proc R Soc Lond A, 253 (1274), 358-379, 1959.
2. Focal volume optics and experimental artifacts in confocal fluorescence
   correlation spectroscopy.
   S T Hess, W W Webb. Biophys J (83) 2300-17, 2002.
3. Electromagnetic description of image formation in confocal fluorescence
   microscopy.
   T D Viser, S H Wiersma. J Opt Soc Am A (11) 599-608, 1994.
4. Photon counting histogram: one-photon excitation.
   B Huang, T D Perroud, R N Zare. Chem Phys Chem (5), 1523-31, 2004.
   Supporting information: Calculation of the observation volume profile.
5. Gaussian approximations of fluorescence microscope point-spread function
   models.
   B Zhang, J Zerubia, J C Olivo-Marin. Appl. Optics (46) 1819-29, 2007.
6. The SVI-wiki on 3D microscopy, deconvolution, visualization and analysis.
   https://svi.nl/NyquistRate

Examples
--------

>>> import psf
>>> args = dict(
...     shape=(32, 32),
...     dims=(4, 4),
...     ex_wavelen=488,
...     em_wavelen=520,
...     num_aperture=1.2,
...     refr_index=1.333,
...     pinhole_radius=0.55,
...     pinhole_shape='round',
... )
>>> obsvol = psf.PSF(psf.GAUSSIAN | psf.CONFOCAL, **args)
>>> obsvol.sigma.ou
(2.588..., 1.370...)
>>> obsvol = psf.PSF(psf.ISOTROPIC | psf.CONFOCAL, **args)
>>> print(obsvol, end='')
PSF
 ISOTROPIC|CONFOCAL
 shape: (32, 32) pixel
 dimensions: (4.00, 4.00) um, (55.64, 61.80) ou, (8.06, 8.06) au
 excitation wavelength: 488.0 nm
 emission wavelength: 520.0 nm
 numeric aperture: 1.20
 refractive index: 1.33
 half cone angle: 64.19 deg
 magnification: 1.00
 underfilling: 1.00
 pinhole radius: 0.550 um, 8.498 ou, 1.1086 au, 4.40 px
 computing time: ... ms
>>> obsvol[0, :3]
array([1.     , 0.51071, 0.04397])
>>> # write the image plane to file
>>> obsvol.slice(0).tofile('_test_slice.bin')
>>> # write a full 3D PSF volume to file
>>> obsvol.volume().tofile('_test_volume.bin')

Refer to `psf_example.py` in the source distribution for more examples.

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.cgohlke.com",
    "name": "psf",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Christoph Gohlke",
    "author_email": "cgohlke@cgohlke.com",
    "download_url": "https://files.pythonhosted.org/packages/fd/18/2418f10636e3989016487f7f66edb8902dd45b284ed155ea172a00e0fa9e/psf-2024.5.24.tar.gz",
    "platform": "any",
    "description": "Point Spread Function calculations for fluorescence microscopy\n==============================================================\n\nPsf is a Python library to calculate Point Spread Functions (PSF) for\nfluorescence microscopy.\n\nThe psf library is no longer actively developed.\n\n:Author: `Christoph Gohlke <https://www.cgohlke.com>`_\n:License: BSD 3-Clause\n:Version: 2024.5.24\n\nQuickstart\n----------\n\nInstall the psf package and all dependencies from the\n`Python Package Index <https://pypi.org/project/psf/>`_::\n\n    python -m pip install -U \"psf[all]\"\n\nSee `Examples`_ for using the programming interface.\n\nSource code and support are available on\n`GitHub <https://github.com/cgohlke/psf>`_.\n\nRequirements\n------------\n\nThis revision was tested with the following requirements and dependencies\n(other versions may work):\n\n- `CPython <https://www.python.org>`_ 3.9.13, 3.10.11, 3.11.9, 3.12.3\n- `NumPy <https://pypi.org/project/numpy/>`_ 1.26.4\n- `Matplotlib <https://pypi.org/project/matplotlib/>`_  3.8.4\n  (optional for plotting)\n\nRevisions\n---------\n\n2024.5.24\n\n- Fix docstring examples not correctly rendered on GitHub.\n\n2024.4.24\n\n- Support NumPy 2.\n\n2024.1.6\n\n- Change PSF.TYPES from dict to set (breaking).\n\n2023.4.26\n\n- Use enums.\n- Derive Dimensions from UserDict.\n- Add type hints.\n- Convert to Google style docstrings.\n- Drop support for Python 3.8 and numpy < 1.21 (NEP29).\n\n2022.9.26\n\n- Fix setup.py.\n\n2022.9.12\n\n- Remove support for Python 3.7 (NEP 29).\n- Update metadata.\n\n2021.6.6\n\n- Remove support for Python 3.6 (NEP 29).\n\n2020.1.1\n\n- Remove support for Python 2.7 and 3.5.\n- Update copyright.\n\n2019.10.14\n\n- Support Python 3.8.\n\n2019.4.22\n\n- Fix setup requirements.\n- Fix compiler warning.\n\nReferences\n----------\n\n1. Electromagnetic diffraction in optical systems. II. Structure of the\n   image field in an aplanatic system.\n   B Richards and E Wolf. Proc R Soc Lond A, 253 (1274), 358-379, 1959.\n2. Focal volume optics and experimental artifacts in confocal fluorescence\n   correlation spectroscopy.\n   S T Hess, W W Webb. Biophys J (83) 2300-17, 2002.\n3. Electromagnetic description of image formation in confocal fluorescence\n   microscopy.\n   T D Viser, S H Wiersma. J Opt Soc Am A (11) 599-608, 1994.\n4. Photon counting histogram: one-photon excitation.\n   B Huang, T D Perroud, R N Zare. Chem Phys Chem (5), 1523-31, 2004.\n   Supporting information: Calculation of the observation volume profile.\n5. Gaussian approximations of fluorescence microscope point-spread function\n   models.\n   B Zhang, J Zerubia, J C Olivo-Marin. Appl. Optics (46) 1819-29, 2007.\n6. The SVI-wiki on 3D microscopy, deconvolution, visualization and analysis.\n   https://svi.nl/NyquistRate\n\nExamples\n--------\n\n>>> import psf\n>>> args = dict(\n...     shape=(32, 32),\n...     dims=(4, 4),\n...     ex_wavelen=488,\n...     em_wavelen=520,\n...     num_aperture=1.2,\n...     refr_index=1.333,\n...     pinhole_radius=0.55,\n...     pinhole_shape='round',\n... )\n>>> obsvol = psf.PSF(psf.GAUSSIAN | psf.CONFOCAL, **args)\n>>> obsvol.sigma.ou\n(2.588..., 1.370...)\n>>> obsvol = psf.PSF(psf.ISOTROPIC | psf.CONFOCAL, **args)\n>>> print(obsvol, end='')\nPSF\n ISOTROPIC|CONFOCAL\n shape: (32, 32) pixel\n dimensions: (4.00, 4.00) um, (55.64, 61.80) ou, (8.06, 8.06) au\n excitation wavelength: 488.0 nm\n emission wavelength: 520.0 nm\n numeric aperture: 1.20\n refractive index: 1.33\n half cone angle: 64.19 deg\n magnification: 1.00\n underfilling: 1.00\n pinhole radius: 0.550 um, 8.498 ou, 1.1086 au, 4.40 px\n computing time: ... ms\n>>> obsvol[0, :3]\narray([1.     , 0.51071, 0.04397])\n>>> # write the image plane to file\n>>> obsvol.slice(0).tofile('_test_slice.bin')\n>>> # write a full 3D PSF volume to file\n>>> obsvol.volume().tofile('_test_volume.bin')\n\nRefer to `psf_example.py` in the source distribution for more examples.\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Point Spread Function calculations for fluorescence microscopy",
    "version": "2024.5.24",
    "project_urls": {
        "Bug Tracker": "https://github.com/cgohlke/psf/issues",
        "Homepage": "https://www.cgohlke.com",
        "Source Code": "https://github.com/cgohlke/psf"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7762d0d68bd622537812e9e476a08d3fe87d6058e2b05c2907956521730e7761",
                "md5": "9536826f509970c5baf4e2e83b321a3a",
                "sha256": "c539638f97dedcf06bf9aaf4cbb052256ea5966f520103dfea782a192413c920"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9536826f509970c5baf4e2e83b321a3a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 32689,
            "upload_time": "2024-05-25T03:23:28",
            "upload_time_iso_8601": "2024-05-25T03:23:28.515320Z",
            "url": "https://files.pythonhosted.org/packages/77/62/d0d68bd622537812e9e476a08d3fe87d6058e2b05c2907956521730e7761/psf-2024.5.24-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "acbc663852b9e10fb2611a18a0cf787e0628b0d92182614b71d7ee30a7ca33cb",
                "md5": "42a66a9b1a0cf78f865435d7353100a3",
                "sha256": "a790c8759b18b137873ede6219fb49b354fe7b4e4d1d2dfe1b6105c57d90b56e"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "42a66a9b1a0cf78f865435d7353100a3",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 31796,
            "upload_time": "2024-05-25T03:23:30",
            "upload_time_iso_8601": "2024-05-25T03:23:30.401937Z",
            "url": "https://files.pythonhosted.org/packages/ac/bc/663852b9e10fb2611a18a0cf787e0628b0d92182614b71d7ee30a7ca33cb/psf-2024.5.24-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "61204c26840a28be0f234d7f6666e4da009dc437c535127439f5829ee6c44e4e",
                "md5": "4f43c50e449645b6591d41e48370e466",
                "sha256": "a2d981370da7421f261d09209eac3c90259490c6682b8aefb660fb8326cb5bb7"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4f43c50e449645b6591d41e48370e466",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 63788,
            "upload_time": "2024-05-25T03:23:31",
            "upload_time_iso_8601": "2024-05-25T03:23:31.572821Z",
            "url": "https://files.pythonhosted.org/packages/61/20/4c26840a28be0f234d7f6666e4da009dc437c535127439f5829ee6c44e4e/psf-2024.5.24-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8b25b5224c2f7c9d0a02aecdba432fdc7c6a4bc3956562b030ab33239be7ac2",
                "md5": "bbf44abce66e677b0f3e4df28e31339f",
                "sha256": "1143b9244734c5d6ac6441749623c3d3e0095a475d613dfa661607c7b8fcf5ef"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "bbf44abce66e677b0f3e4df28e31339f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 30130,
            "upload_time": "2024-05-25T03:23:32",
            "upload_time_iso_8601": "2024-05-25T03:23:32.652258Z",
            "url": "https://files.pythonhosted.org/packages/a8/b2/5b5224c2f7c9d0a02aecdba432fdc7c6a4bc3956562b030ab33239be7ac2/psf-2024.5.24-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33f0be88dbabf3efbc89543a69d81f46d535292ef2c58f836f4bc3ba17e8bc41",
                "md5": "e376df57819f47f64602c83647139095",
                "sha256": "ff0dcc32cc1b77ffd8c7dfbed35958611a2538b3f8fada4d3f29b9ea105d74e5"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e376df57819f47f64602c83647139095",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 33224,
            "upload_time": "2024-05-25T03:23:34",
            "upload_time_iso_8601": "2024-05-25T03:23:34.274257Z",
            "url": "https://files.pythonhosted.org/packages/33/f0/be88dbabf3efbc89543a69d81f46d535292ef2c58f836f4bc3ba17e8bc41/psf-2024.5.24-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc29d29d35e450674c813b7385f0f30ab0bc50ec315b7d9b21fd7902a4bc5593",
                "md5": "1aff5c23149b5fd45df234128b43243f",
                "sha256": "b4b92ea153d4ca7688abb154cd0208cc5c98ca064b7a30a01d76c2e44e83aa15"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1aff5c23149b5fd45df234128b43243f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 32688,
            "upload_time": "2024-05-25T03:23:35",
            "upload_time_iso_8601": "2024-05-25T03:23:35.328443Z",
            "url": "https://files.pythonhosted.org/packages/fc/29/d29d35e450674c813b7385f0f30ab0bc50ec315b7d9b21fd7902a4bc5593/psf-2024.5.24-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db1c2b714b2f00be4383e6f3b4f77232e7d43f34863b9f83753ff11fd46c0619",
                "md5": "05d00aa28c8afcc571d608ca3ab08ba0",
                "sha256": "4096d0a280511f3670c0b785cffed048228512737b2b2e879ee4c15d0e4753b5"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "05d00aa28c8afcc571d608ca3ab08ba0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 31798,
            "upload_time": "2024-05-25T03:23:36",
            "upload_time_iso_8601": "2024-05-25T03:23:36.383635Z",
            "url": "https://files.pythonhosted.org/packages/db/1c/2b714b2f00be4383e6f3b4f77232e7d43f34863b9f83753ff11fd46c0619/psf-2024.5.24-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "59294848ffb779726927a0280389a44b0c983c04e8718197539265eb5382b983",
                "md5": "6ed9211080e8362e0ddacdba5965d106",
                "sha256": "89110e1e203ab55d4cc07f10d346c00a90561baa2bded14535377a090c21370c"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6ed9211080e8362e0ddacdba5965d106",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 64712,
            "upload_time": "2024-05-25T03:23:37",
            "upload_time_iso_8601": "2024-05-25T03:23:37.931660Z",
            "url": "https://files.pythonhosted.org/packages/59/29/4848ffb779726927a0280389a44b0c983c04e8718197539265eb5382b983/psf-2024.5.24-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f408decbb2fe02ee8fc10e58d3d7dfe5678bc88f1f369b3243420dca1846f02b",
                "md5": "f299707c38617764e7c86def7fb2d705",
                "sha256": "22c2ac9adbd7b5a852aa6901a6c25ce1b3db03e11300da6a6649f437ac8ef6a7"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "f299707c38617764e7c86def7fb2d705",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 30132,
            "upload_time": "2024-05-25T03:23:39",
            "upload_time_iso_8601": "2024-05-25T03:23:39.455351Z",
            "url": "https://files.pythonhosted.org/packages/f4/08/decbb2fe02ee8fc10e58d3d7dfe5678bc88f1f369b3243420dca1846f02b/psf-2024.5.24-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "83c8d72ad1fd5b9ee79439640017e87e3cdd063e8be6f24fa25c468404688ec0",
                "md5": "2de04d7a442918914a4bc8a387f05c6c",
                "sha256": "a634d585167e93e7c2fa1b6306dd85555a76b9e8f894bb04a67d2adc0df8bcd8"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2de04d7a442918914a4bc8a387f05c6c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 33223,
            "upload_time": "2024-05-25T03:23:40",
            "upload_time_iso_8601": "2024-05-25T03:23:40.494254Z",
            "url": "https://files.pythonhosted.org/packages/83/c8/d72ad1fd5b9ee79439640017e87e3cdd063e8be6f24fa25c468404688ec0/psf-2024.5.24-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6691f244cd7dfb78da974ce8e2ac1cb9fe1b74ba483a5533cc3e02e31b24dc38",
                "md5": "1bc1a5f9b22ca4bf7cd9db348c1f0f36",
                "sha256": "b82dab3a85227bdb055ad1ec4fa3d9ae867ca72c0b93fa35438f36224c837470"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp311-cp311-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "1bc1a5f9b22ca4bf7cd9db348c1f0f36",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 29125,
            "upload_time": "2024-05-25T03:23:42",
            "upload_time_iso_8601": "2024-05-25T03:23:42.181454Z",
            "url": "https://files.pythonhosted.org/packages/66/91/f244cd7dfb78da974ce8e2ac1cb9fe1b74ba483a5533cc3e02e31b24dc38/psf-2024.5.24-cp311-cp311-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ee1a9342d51d426ae6d957f1f8e82ace2e5a24212fb8493adc4f120fc905ff37",
                "md5": "c7f2f8a4cd29ac707ce308825480089e",
                "sha256": "70acfb27dcaf0c6db2c9be1a3613ab2210986c15e1c723d97208b6a36e960825"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c7f2f8a4cd29ac707ce308825480089e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 32756,
            "upload_time": "2024-05-25T03:23:43",
            "upload_time_iso_8601": "2024-05-25T03:23:43.727475Z",
            "url": "https://files.pythonhosted.org/packages/ee/1a/9342d51d426ae6d957f1f8e82ace2e5a24212fb8493adc4f120fc905ff37/psf-2024.5.24-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a652236dc7ba7cafa89ab61a4cf95d39cf9495c955535686458e1a8710a5bb12",
                "md5": "cc25815068124f9ed15a5850d628166b",
                "sha256": "2ab0a1c1d8897bdcf4cae475394f394d123f022cedf61fb4afd620d6a2f3118a"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "cc25815068124f9ed15a5850d628166b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 31891,
            "upload_time": "2024-05-25T03:23:44",
            "upload_time_iso_8601": "2024-05-25T03:23:44.662059Z",
            "url": "https://files.pythonhosted.org/packages/a6/52/236dc7ba7cafa89ab61a4cf95d39cf9495c955535686458e1a8710a5bb12/psf-2024.5.24-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf7b499ca03fed181713575e3c5a63f985c7b596c2a704760e3700757558e604",
                "md5": "d25b3f599d721bdebc9e22957910f0b9",
                "sha256": "4752eadfbf8754569de98ef69fcdea484f69888b512a8b7c3cf05d6ae6bce3c6"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d25b3f599d721bdebc9e22957910f0b9",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 65399,
            "upload_time": "2024-05-25T03:23:45",
            "upload_time_iso_8601": "2024-05-25T03:23:45.625943Z",
            "url": "https://files.pythonhosted.org/packages/cf/7b/499ca03fed181713575e3c5a63f985c7b596c2a704760e3700757558e604/psf-2024.5.24-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d0527b98c11a881d3824ad5e2e402630164903f4de3de2a35c911a5368219503",
                "md5": "4f1216e5f08cbfb4d5ced6e31917de92",
                "sha256": "88763463d1a2977baa6b7d703ea22938cd942df404601a1ada1b1afe0149edca"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "4f1216e5f08cbfb4d5ced6e31917de92",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 30218,
            "upload_time": "2024-05-25T03:23:47",
            "upload_time_iso_8601": "2024-05-25T03:23:47.256273Z",
            "url": "https://files.pythonhosted.org/packages/d0/52/7b98c11a881d3824ad5e2e402630164903f4de3de2a35c911a5368219503/psf-2024.5.24-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "553a6624c03db29199ce371eaf81393732aa26942679227ba5f8eccf44bf83d8",
                "md5": "81e1050293fd03ba95f85a2c133483e1",
                "sha256": "a45a562c2b1524b2751fec587cbb5beeba433cd42e96d13578ebde2e67f2c8d5"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "81e1050293fd03ba95f85a2c133483e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 33239,
            "upload_time": "2024-05-25T03:23:48",
            "upload_time_iso_8601": "2024-05-25T03:23:48.201792Z",
            "url": "https://files.pythonhosted.org/packages/55/3a/6624c03db29199ce371eaf81393732aa26942679227ba5f8eccf44bf83d8/psf-2024.5.24-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "57e033679158138c45f68909a5d16728cb7ad309f86ca0a54a660d017585ee00",
                "md5": "8a47374dbb986052d9a8d22409be987f",
                "sha256": "7076ba484cd1ec099b91cdecf30af5d225b2d8d03ec29c951f3eef2c24bce5d1"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp312-cp312-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "8a47374dbb986052d9a8d22409be987f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 29206,
            "upload_time": "2024-05-25T03:23:49",
            "upload_time_iso_8601": "2024-05-25T03:23:49.849173Z",
            "url": "https://files.pythonhosted.org/packages/57/e0/33679158138c45f68909a5d16728cb7ad309f86ca0a54a660d017585ee00/psf-2024.5.24-cp312-cp312-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3394cc687db475ad9f2f29327b04f189e33c4ae3219e0f40610b3ec650ec910e",
                "md5": "b82baf03a7ae5fa428ffe42cf0a19cd1",
                "sha256": "dd5391a0117c7dae239638e1874d773abf14c6898798dcf1431bbc2683b1cc27"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b82baf03a7ae5fa428ffe42cf0a19cd1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 32686,
            "upload_time": "2024-05-25T03:23:50",
            "upload_time_iso_8601": "2024-05-25T03:23:50.904372Z",
            "url": "https://files.pythonhosted.org/packages/33/94/cc687db475ad9f2f29327b04f189e33c4ae3219e0f40610b3ec650ec910e/psf-2024.5.24-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8ded7ae43b1267bd0c6769246e00c9d586988cfbe364d78e8ab61b7f0d62ebf9",
                "md5": "5297bad83d6c51f9a90e3a59eabd5f1b",
                "sha256": "fd3341e00d00358715d6a3028c897d0dde8c6c7eabae0767eb6d5d76c4d751c0"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5297bad83d6c51f9a90e3a59eabd5f1b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 31793,
            "upload_time": "2024-05-25T03:23:52",
            "upload_time_iso_8601": "2024-05-25T03:23:52.066125Z",
            "url": "https://files.pythonhosted.org/packages/8d/ed/7ae43b1267bd0c6769246e00c9d586988cfbe364d78e8ab61b7f0d62ebf9/psf-2024.5.24-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "30091f584e8e8d36ee032a5a361433d27a597f1ad3aebb15e764eebfb1722f98",
                "md5": "99955173ca79560933218bf25ab88d7c",
                "sha256": "6d32a3220add8fba8a93615160f38158f89f8d3d44950e68846a41b248a2a45b"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "99955173ca79560933218bf25ab88d7c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 63542,
            "upload_time": "2024-05-25T03:23:53",
            "upload_time_iso_8601": "2024-05-25T03:23:53.554212Z",
            "url": "https://files.pythonhosted.org/packages/30/09/1f584e8e8d36ee032a5a361433d27a597f1ad3aebb15e764eebfb1722f98/psf-2024.5.24-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "738c206be0673265f3ef396f88df1aa331bb34b2d95de5882ae0529b422c61ba",
                "md5": "c071be0ba3eb6c961137d1b0ec61e6cb",
                "sha256": "1bb45979f8dd092150500bd71ba3899b305a12d8442cbf0c7ef7d59c98b61669"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "c071be0ba3eb6c961137d1b0ec61e6cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 30130,
            "upload_time": "2024-05-25T03:23:55",
            "upload_time_iso_8601": "2024-05-25T03:23:55.082771Z",
            "url": "https://files.pythonhosted.org/packages/73/8c/206be0673265f3ef396f88df1aa331bb34b2d95de5882ae0529b422c61ba/psf-2024.5.24-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d49b4e0fb192e2ac6615750fa9e08f2c0029f4550d8017e0a5f39f73ca91fca8",
                "md5": "6b89fff15f1ac62c866b6b3cffe2aaef",
                "sha256": "57c79593b0cc2b743c44af5d2d7f4db67a24a3c7fe77e0ae0b1d7e2e616880e7"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6b89fff15f1ac62c866b6b3cffe2aaef",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 33217,
            "upload_time": "2024-05-25T03:23:56",
            "upload_time_iso_8601": "2024-05-25T03:23:56.601891Z",
            "url": "https://files.pythonhosted.org/packages/d4/9b/4e0fb192e2ac6615750fa9e08f2c0029f4550d8017e0a5f39f73ca91fca8/psf-2024.5.24-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fd182418f10636e3989016487f7f66edb8902dd45b284ed155ea172a00e0fa9e",
                "md5": "7af725665202bbb238606d637333effb",
                "sha256": "6ba18a2f7f2af17035f17f49ed39fbf822d05b564aa09015e8656f6b03dbaab7"
            },
            "downloads": -1,
            "filename": "psf-2024.5.24.tar.gz",
            "has_sig": false,
            "md5_digest": "7af725665202bbb238606d637333effb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 27389,
            "upload_time": "2024-05-25T03:23:57",
            "upload_time_iso_8601": "2024-05-25T03:23:57.575169Z",
            "url": "https://files.pythonhosted.org/packages/fd/18/2418f10636e3989016487f7f66edb8902dd45b284ed155ea172a00e0fa9e/psf-2024.5.24.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-25 03:23:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cgohlke",
    "github_project": "psf",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "psf"
}
        
Elapsed time: 0.35141s