psf


Namepsf JSON
Version 2024.4.24 PyPI version JSON
download
home_pagehttps://www.cgohlke.com
SummaryPoint Spread Function calculations for fluorescence microscopy
upload_time2024-04-26 23:55:20
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.4.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.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/21/f5/a53dc1c780b56c0a6dc4c3a5298f0ca68521acd3acb040e9a02c7f228677/psf-2024.4.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.4.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.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.4.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": "de17e14b17577dd7ce1c3face6affb4bcaf93190d66764e6def5ea257a03f184",
                "md5": "6a0b0b3ffc850db6b09aa1e9e41b139b",
                "sha256": "d3484300f602d1ba3c6b94b3bcc44d0a611c0605a8b5e8b3fdc55578d065d9c0"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6a0b0b3ffc850db6b09aa1e9e41b139b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 32409,
            "upload_time": "2024-04-26T23:54:50",
            "upload_time_iso_8601": "2024-04-26T23:54:50.812199Z",
            "url": "https://files.pythonhosted.org/packages/de/17/e14b17577dd7ce1c3face6affb4bcaf93190d66764e6def5ea257a03f184/psf-2024.4.24-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "486bc97c7171b2cfdb612f3aed58b86667f348f5859a0cd1a79d200bc85203d8",
                "md5": "844d6d1e4858ae3e62d2d04b7589dd38",
                "sha256": "32b02ff718f88e548dc69c77febabce65fbcd5295a55fab974d2469ed915bc3f"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "844d6d1e4858ae3e62d2d04b7589dd38",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 31521,
            "upload_time": "2024-04-26T23:54:52",
            "upload_time_iso_8601": "2024-04-26T23:54:52.688593Z",
            "url": "https://files.pythonhosted.org/packages/48/6b/c97c7171b2cfdb612f3aed58b86667f348f5859a0cd1a79d200bc85203d8/psf-2024.4.24-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "331b54471aae8f0563c5716661a6eb512960b277750583f640b32105ab449bb8",
                "md5": "2c9536af717ae5052ab0d8a92313ad1a",
                "sha256": "0f24572bb9358cd84061c3836003bde56cf6f992a4082acc5f3ee354a6bc230f"
            },
            "downloads": -1,
            "filename": "psf-2024.4.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": "2c9536af717ae5052ab0d8a92313ad1a",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 65106,
            "upload_time": "2024-04-26T23:54:54",
            "upload_time_iso_8601": "2024-04-26T23:54:54.258008Z",
            "url": "https://files.pythonhosted.org/packages/33/1b/54471aae8f0563c5716661a6eb512960b277750583f640b32105ab449bb8/psf-2024.4.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": "04999708f0e58ca2820a907b23a3cf63229af3527675f4484cbc571e58903d32",
                "md5": "a8f8fe4ab4cf780d60cfaadd1f7fe8bd",
                "sha256": "62362710f4048b310db487681ce9f6f25609d28552901fc08ac37bcc36ad143a"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "a8f8fe4ab4cf780d60cfaadd1f7fe8bd",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 29872,
            "upload_time": "2024-04-26T23:54:55",
            "upload_time_iso_8601": "2024-04-26T23:54:55.495551Z",
            "url": "https://files.pythonhosted.org/packages/04/99/9708f0e58ca2820a907b23a3cf63229af3527675f4484cbc571e58903d32/psf-2024.4.24-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "763d9527a358ce6ce62aa705854be2c4d1cecdaa4b26b508cb15159542760d19",
                "md5": "04a4707267fb379e469514d5159d150c",
                "sha256": "06c0136843f83ba80a91352f3599976c9d25ab0372ca4e4f55b45b4db5d69da6"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "04a4707267fb379e469514d5159d150c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 32979,
            "upload_time": "2024-04-26T23:54:57",
            "upload_time_iso_8601": "2024-04-26T23:54:57.024548Z",
            "url": "https://files.pythonhosted.org/packages/76/3d/9527a358ce6ce62aa705854be2c4d1cecdaa4b26b508cb15159542760d19/psf-2024.4.24-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed183a5405e88b546a6a931255f9c84bfe900dffd7af6aa7e47a45c657ccbe01",
                "md5": "279870d414a1fc46255c944acd00bcb6",
                "sha256": "95086083ff8cb947267becc9424666698b5610df2b1474bee8c16bd34e20b590"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "279870d414a1fc46255c944acd00bcb6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 32411,
            "upload_time": "2024-04-26T23:54:58",
            "upload_time_iso_8601": "2024-04-26T23:54:58.782955Z",
            "url": "https://files.pythonhosted.org/packages/ed/18/3a5405e88b546a6a931255f9c84bfe900dffd7af6aa7e47a45c657ccbe01/psf-2024.4.24-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "444f57b7bec2958b913750263ed08f644c21160dbadf46784da3dd6cfcdcf39a",
                "md5": "b39cdcd6dc35944da0eb679ff9517848",
                "sha256": "84d59bbfcdd08efe5cb4e138d5ee8ba5ae1c16cc9094c8bce1faeff3e977bc67"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b39cdcd6dc35944da0eb679ff9517848",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 31518,
            "upload_time": "2024-04-26T23:54:59",
            "upload_time_iso_8601": "2024-04-26T23:54:59.708247Z",
            "url": "https://files.pythonhosted.org/packages/44/4f/57b7bec2958b913750263ed08f644c21160dbadf46784da3dd6cfcdcf39a/psf-2024.4.24-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a0fec5db4cbac4b6050f9b0fc003beb7af5121890ab7716aae2ffb30deafcde",
                "md5": "e8fc3e450316866a332bc9955959a253",
                "sha256": "ceb4b2036c6d72ed60d8bef2893977f75963e1f31a857d280c5247c404160d71"
            },
            "downloads": -1,
            "filename": "psf-2024.4.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": "e8fc3e450316866a332bc9955959a253",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 65977,
            "upload_time": "2024-04-26T23:55:01",
            "upload_time_iso_8601": "2024-04-26T23:55:01.017302Z",
            "url": "https://files.pythonhosted.org/packages/9a/0f/ec5db4cbac4b6050f9b0fc003beb7af5121890ab7716aae2ffb30deafcde/psf-2024.4.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": "452144c2d11f83faf3dea8f7da0103c802850696f75453861e22a643ed01b947",
                "md5": "c21e65bc258eaf221b4f909b5dcb57f3",
                "sha256": "0d47928e042d87ce3ee2f53451834011a9bf8ca10bfc2bf95293ee8c478d04c2"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "c21e65bc258eaf221b4f909b5dcb57f3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 29880,
            "upload_time": "2024-04-26T23:55:02",
            "upload_time_iso_8601": "2024-04-26T23:55:02.463391Z",
            "url": "https://files.pythonhosted.org/packages/45/21/44c2d11f83faf3dea8f7da0103c802850696f75453861e22a643ed01b947/psf-2024.4.24-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d36403d22f0ec934a9bb36b01f2fe8993e100fa78daae7961588d58c0571a26a",
                "md5": "94f070b579a4014c848bae3a6ed074ce",
                "sha256": "82eb231d440bc084f93811823a5a7493d5d9c9e442f914956c67de8b51f4ac90"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "94f070b579a4014c848bae3a6ed074ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 32982,
            "upload_time": "2024-04-26T23:55:04",
            "upload_time_iso_8601": "2024-04-26T23:55:04.008659Z",
            "url": "https://files.pythonhosted.org/packages/d3/64/03d22f0ec934a9bb36b01f2fe8993e100fa78daae7961588d58c0571a26a/psf-2024.4.24-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "eaf4c585ab8026098f0f1eae4e094d84e2da45301a3931ef4c66ad16a14274b2",
                "md5": "829249b1179b37ea91f1c94fcee92a00",
                "sha256": "884d8c3bee3d3ddad6606f3e364d8ab4db5b62e03bf8e64f482bd89ee8a46cbe"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp311-cp311-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "829249b1179b37ea91f1c94fcee92a00",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 28884,
            "upload_time": "2024-04-26T23:55:05",
            "upload_time_iso_8601": "2024-04-26T23:55:05.281580Z",
            "url": "https://files.pythonhosted.org/packages/ea/f4/c585ab8026098f0f1eae4e094d84e2da45301a3931ef4c66ad16a14274b2/psf-2024.4.24-cp311-cp311-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "093806ad291df2185cfc306cb46cff33aa6c4b654e600375862eb0d04051919d",
                "md5": "d9cc33efd2bff13fc4372f9a63c78b7d",
                "sha256": "cdeffdba12eb13a077b17243cf34c46fcaafaaeca6331d7f0471959e4cff6db4"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d9cc33efd2bff13fc4372f9a63c78b7d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 32476,
            "upload_time": "2024-04-26T23:55:06",
            "upload_time_iso_8601": "2024-04-26T23:55:06.767085Z",
            "url": "https://files.pythonhosted.org/packages/09/38/06ad291df2185cfc306cb46cff33aa6c4b654e600375862eb0d04051919d/psf-2024.4.24-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8646f3a6fc007c4c921a433558e0dbdc31198c5750ebdc569b62f53b03615c37",
                "md5": "f993201b66b305128b3bf9cb50be0e38",
                "sha256": "60a57cb548df9ca1ee589c2a205f0353e8a45ddf3169de1a538ffeb7a60986fe"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f993201b66b305128b3bf9cb50be0e38",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 31595,
            "upload_time": "2024-04-26T23:55:07",
            "upload_time_iso_8601": "2024-04-26T23:55:07.865202Z",
            "url": "https://files.pythonhosted.org/packages/86/46/f3a6fc007c4c921a433558e0dbdc31198c5750ebdc569b62f53b03615c37/psf-2024.4.24-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed32fe104d5c2d965f806a35943d39506ab9a4360725ae60336db7fe2ce2f681",
                "md5": "d23d45ad2245ce1174ba87187542bffe",
                "sha256": "865af6f437d40d59f0ce986d0d85044478adde4e937ba67637a97489cb0053b0"
            },
            "downloads": -1,
            "filename": "psf-2024.4.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": "d23d45ad2245ce1174ba87187542bffe",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 66759,
            "upload_time": "2024-04-26T23:55:09",
            "upload_time_iso_8601": "2024-04-26T23:55:09.306092Z",
            "url": "https://files.pythonhosted.org/packages/ed/32/fe104d5c2d965f806a35943d39506ab9a4360725ae60336db7fe2ce2f681/psf-2024.4.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": "5f962e6639070e6b4f16245b4d3d8080ec2c8b92a020feb224ce9e4e774195b4",
                "md5": "8b2dc931d10a2a9a6d87426ed1e48878",
                "sha256": "8c9e8461672549cde40e0ac47bda7ace4b9cbe80fa3aa801ba1d628ce455c62c"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "8b2dc931d10a2a9a6d87426ed1e48878",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 29967,
            "upload_time": "2024-04-26T23:55:10",
            "upload_time_iso_8601": "2024-04-26T23:55:10.348325Z",
            "url": "https://files.pythonhosted.org/packages/5f/96/2e6639070e6b4f16245b4d3d8080ec2c8b92a020feb224ce9e4e774195b4/psf-2024.4.24-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2310764ab9becbfb95a885a1d354295ecece3c55ada6c05b2e9e0e99d4c9871e",
                "md5": "b5b2c790b60eedb7ab46962e2d4c47ae",
                "sha256": "8b9be034f0d7262b49dfdca651912e442d6548f25582b701defa497de0e3558b"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b5b2c790b60eedb7ab46962e2d4c47ae",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 32992,
            "upload_time": "2024-04-26T23:55:11",
            "upload_time_iso_8601": "2024-04-26T23:55:11.396338Z",
            "url": "https://files.pythonhosted.org/packages/23/10/764ab9becbfb95a885a1d354295ecece3c55ada6c05b2e9e0e99d4c9871e/psf-2024.4.24-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a7757ba349d1f3a03e53d1275776a67446441c29ce1093ed55b9ffa134c0630c",
                "md5": "dbfc8d227a6c14b0af76eee8186afd40",
                "sha256": "062312e061ac751d2819c9068d6aec3a9465bd16d4ea265e223b12b48ceead05"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp312-cp312-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "dbfc8d227a6c14b0af76eee8186afd40",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 28922,
            "upload_time": "2024-04-26T23:55:12",
            "upload_time_iso_8601": "2024-04-26T23:55:12.957891Z",
            "url": "https://files.pythonhosted.org/packages/a7/75/7ba349d1f3a03e53d1275776a67446441c29ce1093ed55b9ffa134c0630c/psf-2024.4.24-cp312-cp312-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e0f523d870bc100d19643029b398d88e0a4ec06c30d8f8d2ac9365d03d1f8cc",
                "md5": "c0600b7fde23b444fb0f8ef95dadc31b",
                "sha256": "c2615d4f9fec1dbf0b2e9f82f3376194e2d0a943a8af8d5b48928448cd62ca51"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c0600b7fde23b444fb0f8ef95dadc31b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 32424,
            "upload_time": "2024-04-26T23:55:13",
            "upload_time_iso_8601": "2024-04-26T23:55:13.989300Z",
            "url": "https://files.pythonhosted.org/packages/7e/0f/523d870bc100d19643029b398d88e0a4ec06c30d8f8d2ac9365d03d1f8cc/psf-2024.4.24-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd2096b7ced9229956487b8759725186305c154de8cbedde62aeefb091f35793",
                "md5": "51d668767925ab01f65583d9fc28f38a",
                "sha256": "e69ab130294a31f710296ef1dd09fdedca67cf82dc7cfb68c040c3b26590f719"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "51d668767925ab01f65583d9fc28f38a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 31513,
            "upload_time": "2024-04-26T23:55:15",
            "upload_time_iso_8601": "2024-04-26T23:55:15.472420Z",
            "url": "https://files.pythonhosted.org/packages/dd/20/96b7ced9229956487b8759725186305c154de8cbedde62aeefb091f35793/psf-2024.4.24-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "929dc4d62947293c422d3d18cc88a1ab2354844455b512993f7d231ea0130c5e",
                "md5": "d78c05322eff7d1556bea8c8bb5ed8fb",
                "sha256": "e70c04f213571c81ff5b2c323a75b212e289912b668e69164e7be1ca8a0223dd"
            },
            "downloads": -1,
            "filename": "psf-2024.4.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": "d78c05322eff7d1556bea8c8bb5ed8fb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 64844,
            "upload_time": "2024-04-26T23:55:16",
            "upload_time_iso_8601": "2024-04-26T23:55:16.445597Z",
            "url": "https://files.pythonhosted.org/packages/92/9d/c4d62947293c422d3d18cc88a1ab2354844455b512993f7d231ea0130c5e/psf-2024.4.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": "c0d8951de90c4359214444318e9caafabeaa6fd491258a6e3efc9115e7c73fe0",
                "md5": "f1ce13739ade76d62feaa2f52f1244d3",
                "sha256": "8d351b882441ca3efdf94b29870e272026bf46fb9e858b461a3a5573337aefae"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "f1ce13739ade76d62feaa2f52f1244d3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 29873,
            "upload_time": "2024-04-26T23:55:17",
            "upload_time_iso_8601": "2024-04-26T23:55:17.518008Z",
            "url": "https://files.pythonhosted.org/packages/c0/d8/951de90c4359214444318e9caafabeaa6fd491258a6e3efc9115e7c73fe0/psf-2024.4.24-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ab18ee947b8512c42f0be5a8db0e9b5bf0f82d28b6a61f42ba2e983142c898e5",
                "md5": "628a6e9ca26164c14200c49ea3b04ffc",
                "sha256": "af43b445e4feccd8a5fee9ccf1282902646467ae36911a29fa8044f5fae78a93"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "628a6e9ca26164c14200c49ea3b04ffc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 32976,
            "upload_time": "2024-04-26T23:55:19",
            "upload_time_iso_8601": "2024-04-26T23:55:19.205688Z",
            "url": "https://files.pythonhosted.org/packages/ab/18/ee947b8512c42f0be5a8db0e9b5bf0f82d28b6a61f42ba2e983142c898e5/psf-2024.4.24-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "21f5a53dc1c780b56c0a6dc4c3a5298f0ca68521acd3acb040e9a02c7f228677",
                "md5": "9b19077479a7a9f97f8ec2b19c1c28f4",
                "sha256": "44a6660408d140fb752495d25ceb667efb5322085d7b2447afc8cd25feb6cbe6"
            },
            "downloads": -1,
            "filename": "psf-2024.4.24.tar.gz",
            "has_sig": false,
            "md5_digest": "9b19077479a7a9f97f8ec2b19c1c28f4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 26897,
            "upload_time": "2024-04-26T23:55:20",
            "upload_time_iso_8601": "2024-04-26T23:55:20.760490Z",
            "url": "https://files.pythonhosted.org/packages/21/f5/a53dc1c780b56c0a6dc4c3a5298f0ca68521acd3acb040e9a02c7f228677/psf-2024.4.24.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-26 23:55:20",
    "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.23829s