py-ste


Namepy-ste JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryA Python package for evolving unitaries and states under the Schrödinger equation using first-order Suzuki-Trotter and computing switching functions.
upload_time2025-09-13 11:59:31
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords evolver evolution suzuki trotter simulation intergrator integration unitary quantum
VCS
bugtrack_url
requirements numpy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PySTE
A Python package for evolving unitaries and states under the Schrödinger equation using first-order Suzuki-Trotter and computing switching functions.

[![Unit Tests](https://github.com/Christopher-K-Long/PySTE/actions/workflows/test-python-package.yml/badge.svg)](https://github.com/Christopher-K-Long/PySTE/actions/workflows/test-python-package.yml)

PySTE stands for Python Suzuki-Trotter-Evolver and is a Python interface to the C++ header-only library [https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver](https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver).

While PySTE has limited functionality in comparison to more fleshed out quantum simulation packages such as [QuTiP](https://qutip.org), it is faster at some tasks:

![benchmark PySTE vs QuTiP](https://pyste.readthedocs.io/en/latest/_images/benchmark_against_qutip.png)

More detailed benchmarks can be found here: [https://PySTE.readthedocs.io/en/latest/benchmarks/index.html](https://PySTE.readthedocs.io/en/latest/benchmarks/index.html)

## Installation

PySTE can be installed as follows:

```bash
pip install py-ste
```

However, the package should be imported as:

```python
import py_ste
```

### Support

Current support:

|                    | macOS Intel | macOS Apple Silicon | Windows 64bit | Windows 32bit | Windows Arm64 | manylinux<br/>musllinux x86_64 | Other Linux |
|--------------------|-----|-----|-----|------|-----|-----|-----|
| CPython 3.8        | ✅ | ✅  | ✅  | ✅  | Build from source | ✅ | Build from source |
| CPython 3.9        | ✅ | ✅  | ✅  | ✅  | Build from source | ✅ | Build from source |
| CPython 3.10       | ✅ | ✅  | ✅  | ✅  | Build from source | ✅ | Build from source |
| CPython 3.11       | ✅ | ✅  | ✅  | ✅  | Build from source | ✅ | Build from source |
| CPython 3.12       | ✅ | ✅  | ✅  | ✅  | Build from source | ✅ | Build from source |
| CPython 3.13       | ✅ | ✅  | ✅  | ✅  | Build from source | ✅ | Build from source |

Currently, the pre-built wheels only include the dynamic evolvers. For the faster static evolvers please build from source.

### Requirements

Requires:
- [NumPy](https://numpy.org/)

Note that [Suzuki-Trotter-Evolver](https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver) and [Eigen3](https://eigen.tuxfamily.org/) are packaged with PySTE and so do not need to be installed separately.

If on Linux and using a conda environment you may encounter an error
```
version `GLIBCXX_...' not found
```
to fix this you also need to execute:
```bash
conda install -c conda-forge libstdcxx-ng
```

#### Additional requirements for testing

- [toml](https://github.com/uiri/toml)
- [PyYAML](https://pyyaml.org/)
- [SciPy](https://scipy.org/)

#### Additional requirements for benchmarking

- [pyperf](https://github.com/psf/pyperf)
- [Matplotlib](https://matplotlib.org/)
- [pandas](https://pandas.pydata.org/)
- [QuTiP](https://qutip.org/)
- [Cython](https://cython.org/)
- [Setuptools](https://setuptools.pypa.io/)
- [filelock](https://github.com/tox-dev/filelock)

### Build from source

There are several flags that can be passed which will rebuild PySTE from source using various optimisations. The flags are:
- ``--config-setting="cmake.define.NCTRL_FIXED_SIZES=RANGE"``\
Defines the strategy used to compile evolvers with a fixed number of controls. The options are:
    - ``OFF``: There will only be evolvers with a dynamic number of controls.
    - ``SINGLE``: There will only be a single evolver with a fixed number of controls specified by ``--config-setting="cmake.define.NCTRL=..."``.
    - ``RANGE`` (**default option**): There will be evolvers with a fixed number of controls in the range $[1,$ ``MAX_NCTRL``$]$ where ``MAX_NCTRL`` can be set with ``--config-setting="cmake.define.MAX_NCTRL=..."``
    - ``POWER``: The evolvers with a fixed number of controls will have a number of controls given by powers in the range $[1,$ ``MAX_POWER_NCTRL``$]$ of the base ``BASE_NCTRL`` where ``MAX_POWER_NCTRL`` can be set with ``--config-setting="cmake.define.MAX_POWER_NCTRL=..."`` and ``BASE_NCTRL`` with ``--config-setting="cmake.define.BASE_NCTRL=..."``
- ``--config-setting="cmake.define.NCTRL=1"``\
The number of controls when using ``--config-setting="cmake.define.NCTRL_FIXED_SIZES=SINGLE"``. A positive integer, by default 1.
- ``--config-setting="cmake.define.MAX_NCTRL=14"``\
The maximum number of controls when using ``--config-setting="cmake.define.NCTRL_FIXED_SIZES=RANGE"``. A positive integer, by default 14.
- ``--config-setting="cmake.define.MAX_POWER_NCTRL=3"``\
The maximum power when using ``--config-setting="cmake.define.NCTRL_FIXED_SIZES=POWER"``. A positive integer, by default 3.
- ``--config-setting="cmake.define.BASE_NCTRL=2"``\
The base of the powers when using ``--config-setting="cmake.define.NCTRL_FIXED_SIZES=POWER"``. A positive integer, by default 2.
- ``--config-setting="cmake.define.DIM_FIXED_SIZES=RANGE"``\
Defines the strategy used to compile evolvers with a fixed vector space dimension. The options are:
    - ``OFF``: There will only be evolvers with a dynamic vector space dimension.
    - ``SINGLE``: There will only be a single evolver with a fixed vector space dimension specified by ``--config-setting="cmake.define.DIM=..."``.
    - ``RANGE`` (**default option**): There will be evolvers with a fixed vector space dimension in the range $[1,$ ``MAX_DIM``$]$ where ``MAX_DIM`` can be set with ``--config-setting="cmake.define.MAX_DIM=..."``
    - ``POWER``: The evolvers with a fixed vector space dimension will have a vector space dimension given by powers in the range $[1,$ ``MAX_POWER_DIM``$]$ of the base ``BASE_DIM`` where ``MAX_POWER_DIM`` can be set with ``--config-setting="cmake.define.MAX_POWER_DIM=..."`` and ``BASE_DIM`` with ``--config-setting="cmake.define.BASE_DIM=..."``
- ``--config-setting="cmake.define.DIM=2"``\
The vector space dimension when using ``--config-setting="cmake.define.DIM_FIXED_SIZES=SINGLE"``. A positive integer, by default 2.
- ``--config-setting="cmake.define.MAX_DIM=16"``\
The maximum vector space dimension when using ``--config-setting="cmake.define.DIM_FIXED_SIZES=RANGE"``. A positive integer, by default 16.
- ``--config-setting="cmake.define.MAX_POWER_DIM=4"``\
The maximum power when using ``--config-setting="cmake.define.DIM_FIXED_SIZES=POWER"``. A positive integer, by default 4.
- ``--config-setting="cmake.define.BASE_DIM=2"``\
The base of the powers when using ``--config-setting="cmake.define.DIM_FIXED_SIZES=POWER"``. A positive integer, by default 2.


For example,
```bash
pip install py-ste \
--config-setting="cmake.define.NCTRL_FIXED_SIZES=SINGLE" \
--config-setting="cmake.define.NCTRL=2" \
--config-setting="cmake.define.DIM_FIXED_SIZES=POWER" \
--config-setting="cmake.define.MAX_POWER_DIM=3" \
--verbose
```
will build PySTE from source and optimises evolvers at compile time with 2 control Hamiltonians acting on a vector space of dimensions 2, 4, and 8. Increasing the number of optimised evolvers increases the compile time. The ``--verbose`` flag allows the progress of the build to be seen. This is useful as the builds can often take a long time.

*Note building from source requires approximately 16GB of RAM.*

## Cloning the repository

PySTE uses git submodules and so should be cloned with the flag `--recurse-submodules` as follows:

```bash
git clone --recurse-submodules https://github.com/Christopher-K-Long/PySTE
```

Alternatively, you can clone the repository normally and then initialise the submodules as follows
```bash
git clone https://github.com/Christopher-K-Long/PySTE
git submodule update --init --recursive
```

## Documentation

Documentation including worked examples can be found at: [https://PySTE.readthedocs.io](https://PySTE.readthedocs.io)

## Source Code

Source code can be found at: [https://github.com/Christopher-K-Long/PySTE](https://github.com/Christopher-K-Long/PySTE)

## Version and Changes

The current version is [`1.1.0`](ChangeLog.md#release-110). Please see the [Change Log](ChangeLog.md) for more details. PySTE uses [semantic versioning](https://semver.org/).

## Acknowledgements
CKL would like to thank [Chris Hall](https://www.linkedin.com/in/chris-hall-1a15131) for useful discussions on the structure of the package.
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "py-ste",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "\"Christopher_K._Long\" <ckl45@cam.ac.uk>",
    "keywords": "evolver, evolution, suzuki, trotter, simulation, intergrator, integration, unitary, quantum",
    "author": null,
    "author_email": "\"Christopher_K._Long\" <ckl45@cam.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/3b/8c/6d194586d5da610059fda6d7d6f69a0eb629005111876a75ddc048aadb5d/py_ste-1.1.0.tar.gz",
    "platform": null,
    "description": "# PySTE\nA Python package for evolving unitaries and states under the Schr\u00f6dinger equation using first-order Suzuki-Trotter and computing switching functions.\n\n[![Unit Tests](https://github.com/Christopher-K-Long/PySTE/actions/workflows/test-python-package.yml/badge.svg)](https://github.com/Christopher-K-Long/PySTE/actions/workflows/test-python-package.yml)\n\nPySTE stands for Python Suzuki-Trotter-Evolver and is a Python interface to the C++ header-only library [https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver](https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver).\n\nWhile PySTE has limited functionality in comparison to more fleshed out quantum simulation packages such as [QuTiP](https://qutip.org), it is faster at some tasks:\n\n![benchmark PySTE vs QuTiP](https://pyste.readthedocs.io/en/latest/_images/benchmark_against_qutip.png)\n\nMore detailed benchmarks can be found here: [https://PySTE.readthedocs.io/en/latest/benchmarks/index.html](https://PySTE.readthedocs.io/en/latest/benchmarks/index.html)\n\n## Installation\n\nPySTE can be installed as follows:\n\n```bash\npip install py-ste\n```\n\nHowever, the package should be imported as:\n\n```python\nimport py_ste\n```\n\n### Support\n\nCurrent support:\n\n| \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0| macOS Intel | macOS Apple Silicon | Windows 64bit | Windows 32bit | Windows Arm64 | manylinux<br/>musllinux x86_64 | Other Linux |\n|--------------------|-----|-----|-----|------|-----|-----|-----|\n| CPython 3.8 \u00a0 \u00a0 \u00a0 \u00a0| \u2705 | \u2705 \u00a0| \u2705 \u00a0| \u2705 \u00a0| Build from source | \u2705 | Build from source |\n| CPython 3.9 \u00a0 \u00a0 \u00a0 \u00a0| \u2705 | \u2705 \u00a0| \u2705 \u00a0| \u2705 \u00a0| Build from source | \u2705 | Build from source |\n| CPython 3.10 \u00a0 \u00a0 \u00a0 | \u2705 | \u2705 \u00a0| \u2705 \u00a0| \u2705 \u00a0| Build from source | \u2705 | Build from source |\n| CPython 3.11 \u00a0 \u00a0 \u00a0 | \u2705 | \u2705 \u00a0| \u2705 \u00a0| \u2705 \u00a0| Build from source | \u2705 | Build from source |\n| CPython 3.12 \u00a0 \u00a0 \u00a0 | \u2705 | \u2705 \u00a0| \u2705 \u00a0| \u2705 \u00a0| Build from source | \u2705 | Build from source |\n| CPython 3.13 \u00a0 \u00a0 \u00a0 | \u2705 | \u2705 \u00a0| \u2705 \u00a0| \u2705 \u00a0| Build from source | \u2705 | Build from source |\n\nCurrently, the pre-built wheels only include the dynamic evolvers. For the faster static evolvers please build from source.\n\n### Requirements\n\nRequires:\n- [NumPy](https://numpy.org/)\n\nNote that [Suzuki-Trotter-Evolver](https://github.com/Christopher-K-Long/Suzuki-Trotter-Evolver) and [Eigen3](https://eigen.tuxfamily.org/) are packaged with PySTE and so do not need to be installed separately.\n\nIf on Linux and using a conda environment you may encounter an error\n```\nversion `GLIBCXX_...' not found\n```\nto fix this you also need to execute:\n```bash\nconda install -c conda-forge libstdcxx-ng\n```\n\n#### Additional requirements for testing\n\n- [toml](https://github.com/uiri/toml)\n- [PyYAML](https://pyyaml.org/)\n- [SciPy](https://scipy.org/)\n\n#### Additional requirements for benchmarking\n\n- [pyperf](https://github.com/psf/pyperf)\n- [Matplotlib](https://matplotlib.org/)\n- [pandas](https://pandas.pydata.org/)\n- [QuTiP](https://qutip.org/)\n- [Cython](https://cython.org/)\n- [Setuptools](https://setuptools.pypa.io/)\n- [filelock](https://github.com/tox-dev/filelock)\n\n### Build from source\n\nThere are several flags that can be passed which will rebuild PySTE from source using various optimisations. The flags are:\n- ``--config-setting=\"cmake.define.NCTRL_FIXED_SIZES=RANGE\"``\\\nDefines the strategy used to compile evolvers with a fixed number of controls. The options are:\n    - ``OFF``: There will only be evolvers with a dynamic number of controls.\n    - ``SINGLE``: There will only be a single evolver with a fixed number of controls specified by ``--config-setting=\"cmake.define.NCTRL=...\"``.\n    - ``RANGE`` (**default option**): There will be evolvers with a fixed number of controls in the range $[1,$ ``MAX_NCTRL``$]$ where ``MAX_NCTRL`` can be set with ``--config-setting=\"cmake.define.MAX_NCTRL=...\"``\n    - ``POWER``: The evolvers with a fixed number of controls will have a number of controls given by powers in the range $[1,$ ``MAX_POWER_NCTRL``$]$ of the base ``BASE_NCTRL`` where ``MAX_POWER_NCTRL`` can be set with ``--config-setting=\"cmake.define.MAX_POWER_NCTRL=...\"`` and ``BASE_NCTRL`` with ``--config-setting=\"cmake.define.BASE_NCTRL=...\"``\n- ``--config-setting=\"cmake.define.NCTRL=1\"``\\\nThe number of controls when using ``--config-setting=\"cmake.define.NCTRL_FIXED_SIZES=SINGLE\"``. A positive integer, by default 1.\n- ``--config-setting=\"cmake.define.MAX_NCTRL=14\"``\\\nThe maximum number of controls when using ``--config-setting=\"cmake.define.NCTRL_FIXED_SIZES=RANGE\"``. A positive integer, by default 14.\n- ``--config-setting=\"cmake.define.MAX_POWER_NCTRL=3\"``\\\nThe maximum power when using ``--config-setting=\"cmake.define.NCTRL_FIXED_SIZES=POWER\"``. A positive integer, by default 3.\n- ``--config-setting=\"cmake.define.BASE_NCTRL=2\"``\\\nThe base of the powers when using ``--config-setting=\"cmake.define.NCTRL_FIXED_SIZES=POWER\"``. A positive integer, by default 2.\n- ``--config-setting=\"cmake.define.DIM_FIXED_SIZES=RANGE\"``\\\nDefines the strategy used to compile evolvers with a fixed vector space dimension. The options are:\n    - ``OFF``: There will only be evolvers with a dynamic vector space dimension.\n    - ``SINGLE``: There will only be a single evolver with a fixed vector space dimension specified by ``--config-setting=\"cmake.define.DIM=...\"``.\n    - ``RANGE`` (**default option**): There will be evolvers with a fixed vector space dimension in the range $[1,$ ``MAX_DIM``$]$ where ``MAX_DIM`` can be set with ``--config-setting=\"cmake.define.MAX_DIM=...\"``\n    - ``POWER``: The evolvers with a fixed vector space dimension will have a vector space dimension given by powers in the range $[1,$ ``MAX_POWER_DIM``$]$ of the base ``BASE_DIM`` where ``MAX_POWER_DIM`` can be set with ``--config-setting=\"cmake.define.MAX_POWER_DIM=...\"`` and ``BASE_DIM`` with ``--config-setting=\"cmake.define.BASE_DIM=...\"``\n- ``--config-setting=\"cmake.define.DIM=2\"``\\\nThe vector space dimension when using ``--config-setting=\"cmake.define.DIM_FIXED_SIZES=SINGLE\"``. A positive integer, by default 2.\n- ``--config-setting=\"cmake.define.MAX_DIM=16\"``\\\nThe maximum vector space dimension when using ``--config-setting=\"cmake.define.DIM_FIXED_SIZES=RANGE\"``. A positive integer, by default 16.\n- ``--config-setting=\"cmake.define.MAX_POWER_DIM=4\"``\\\nThe maximum power when using ``--config-setting=\"cmake.define.DIM_FIXED_SIZES=POWER\"``. A positive integer, by default 4.\n- ``--config-setting=\"cmake.define.BASE_DIM=2\"``\\\nThe base of the powers when using ``--config-setting=\"cmake.define.DIM_FIXED_SIZES=POWER\"``. A positive integer, by default 2.\n\n\nFor example,\n```bash\npip install py-ste \\\n--config-setting=\"cmake.define.NCTRL_FIXED_SIZES=SINGLE\" \\\n--config-setting=\"cmake.define.NCTRL=2\" \\\n--config-setting=\"cmake.define.DIM_FIXED_SIZES=POWER\" \\\n--config-setting=\"cmake.define.MAX_POWER_DIM=3\" \\\n--verbose\n```\nwill build PySTE from source and optimises evolvers at compile time with 2 control Hamiltonians acting on a vector space of dimensions 2, 4, and 8. Increasing the number of optimised evolvers increases the compile time. The ``--verbose`` flag allows the progress of the build to be seen. This is useful as the builds can often take a long time.\n\n*Note building from source requires approximately 16GB of RAM.*\n\n## Cloning the repository\n\nPySTE uses git submodules and so should be cloned with the flag `--recurse-submodules` as follows:\n\n```bash\ngit clone --recurse-submodules https://github.com/Christopher-K-Long/PySTE\n```\n\nAlternatively, you can clone the repository normally and then initialise the submodules as follows\n```bash\ngit clone https://github.com/Christopher-K-Long/PySTE\ngit submodule update --init --recursive\n```\n\n## Documentation\n\nDocumentation including worked examples can be found at: [https://PySTE.readthedocs.io](https://PySTE.readthedocs.io)\n\n## Source Code\n\nSource code can be found at: [https://github.com/Christopher-K-Long/PySTE](https://github.com/Christopher-K-Long/PySTE)\n\n## Version and Changes\n\nThe current version is [`1.1.0`](ChangeLog.md#release-110). Please see the [Change Log](ChangeLog.md) for more details. PySTE uses [semantic versioning](https://semver.org/).\n\n## Acknowledgements\nCKL would like to thank [Chris Hall](https://www.linkedin.com/in/chris-hall-1a15131) for useful discussions on the structure of the package.",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python package for evolving unitaries and states under the Schr\u00f6dinger equation using first-order Suzuki-Trotter and computing switching functions.",
    "version": "1.1.0",
    "project_urls": {
        "Changelog": "https://github.com/Christopher-K-Long/PySTE/blob/main/ChangeLog.md",
        "Documentation": "https://PySTE.readthedocs.io/",
        "Homepage": "https://github.com/Christopher-K-Long/PySTE",
        "Issues": "https://github.com/Christopher-K-Long/PySTE/issues"
    },
    "split_keywords": [
        "evolver",
        " evolution",
        " suzuki",
        " trotter",
        " simulation",
        " intergrator",
        " integration",
        " unitary",
        " quantum"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a41ba793cc1e53a47062db8371c1df7cfca97ef21f8176cf0b7fba918ad71733",
                "md5": "0a585c8d105fe10ae93d434141096ce4",
                "sha256": "ff7739ab639fd23d72ec02810f805e2f8fda169a20e3b45fa92d922469ff485e"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0a585c8d105fe10ae93d434141096ce4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2361860,
            "upload_time": "2025-09-13T11:58:20",
            "upload_time_iso_8601": "2025-09-13T11:58:20.639876Z",
            "url": "https://files.pythonhosted.org/packages/a4/1b/a793cc1e53a47062db8371c1df7cfca97ef21f8176cf0b7fba918ad71733/py_ste-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fa6e52970cf5e9244096980c84b88b717a06b70711309fb166d8bd8ca5593dc6",
                "md5": "3569d589b385cdbb887c60d96e2b7912",
                "sha256": "e99a59010086e32815a2d66683978a403249a02aeba31e2bf38a0bc7023ac788"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3569d589b385cdbb887c60d96e2b7912",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2294991,
            "upload_time": "2025-09-13T11:58:23",
            "upload_time_iso_8601": "2025-09-13T11:58:23.029633Z",
            "url": "https://files.pythonhosted.org/packages/fa/6e/52970cf5e9244096980c84b88b717a06b70711309fb166d8bd8ca5593dc6/py_ste-1.1.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d42f169f763b4d7321890a5da6030c66ac30b708c5f1e775ab9fa3a15aaa7a66",
                "md5": "18b6249eb95a3db06a564477b48a1989",
                "sha256": "7e6321a0dd587bbcf496ba8a72be8e142926887b9c901536a0ce3a0d598bbb6a"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "18b6249eb95a3db06a564477b48a1989",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2392610,
            "upload_time": "2025-09-13T11:58:25",
            "upload_time_iso_8601": "2025-09-13T11:58:25.190947Z",
            "url": "https://files.pythonhosted.org/packages/d4/2f/169f763b4d7321890a5da6030c66ac30b708c5f1e775ab9fa3a15aaa7a66/py_ste-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9844238666a726964b0825f4ce708c54e65d2ea44bc7c829e49d9daeff539793",
                "md5": "a5aa048043fb1b13bce231b7e28622e1",
                "sha256": "e3d582a8c8c1c7af4cf9ca348c52be50360eabfe4f32b37b9764cad693e40ff7"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a5aa048043fb1b13bce231b7e28622e1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 3425041,
            "upload_time": "2025-09-13T11:58:27",
            "upload_time_iso_8601": "2025-09-13T11:58:27.088854Z",
            "url": "https://files.pythonhosted.org/packages/98/44/238666a726964b0825f4ce708c54e65d2ea44bc7c829e49d9daeff539793/py_ste-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dc6fd9965045d1ba1b0ec847c5506ce4ddf78a3d4bc30127538a69feafa1d8c2",
                "md5": "efe48bc2762f79d3aff0ddf5fdc457ab",
                "sha256": "21b2986f973625bb24713e8296aa3d88e2cfddf68004eb378287f94776c72515"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "efe48bc2762f79d3aff0ddf5fdc457ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2834474,
            "upload_time": "2025-09-13T11:58:29",
            "upload_time_iso_8601": "2025-09-13T11:58:29.235350Z",
            "url": "https://files.pythonhosted.org/packages/dc/6f/d9965045d1ba1b0ec847c5506ce4ddf78a3d4bc30127538a69feafa1d8c2/py_ste-1.1.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f5c3329e9ee255cb1f5dadc7d253584f39b6773c5ef67202ad774032374e3e08",
                "md5": "b163c9d80660c27ca9d9cfd541c89f2f",
                "sha256": "36a5a82229f4a8bdcfc5411f76422d53e565df80ace447a96c6675201c734fe2"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b163c9d80660c27ca9d9cfd541c89f2f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 2954864,
            "upload_time": "2025-09-13T11:58:30",
            "upload_time_iso_8601": "2025-09-13T11:58:30.925077Z",
            "url": "https://files.pythonhosted.org/packages/f5/c3/329e9ee255cb1f5dadc7d253584f39b6773c5ef67202ad774032374e3e08/py_ste-1.1.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ee1066072c08014fc74f6917109340a286f394f21f6d0c9d7ab2b01902aa9ef6",
                "md5": "4093753e918e57c1d3aef59151fb3a29",
                "sha256": "5308f1a245c7bce1d70ec83bdcd0de8cf95e35250cbee522fd453cb4e4f2749b"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4093753e918e57c1d3aef59151fb3a29",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2363171,
            "upload_time": "2025-09-13T11:58:33",
            "upload_time_iso_8601": "2025-09-13T11:58:33.248362Z",
            "url": "https://files.pythonhosted.org/packages/ee/10/66072c08014fc74f6917109340a286f394f21f6d0c9d7ab2b01902aa9ef6/py_ste-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c8e861efdfdc9bd272eff412de3f106cc65423a08029b305332d809aa9941921",
                "md5": "2c845c924bbe0dfa89f6508e1f5d9f76",
                "sha256": "67a5770a23cc767ee5e3d6a7928e0c1608089858c6e0615871591eabe5ca29d5"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2c845c924bbe0dfa89f6508e1f5d9f76",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2296237,
            "upload_time": "2025-09-13T11:58:34",
            "upload_time_iso_8601": "2025-09-13T11:58:34.866242Z",
            "url": "https://files.pythonhosted.org/packages/c8/e8/61efdfdc9bd272eff412de3f106cc65423a08029b305332d809aa9941921/py_ste-1.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d8b1e204ee0d58e9bbb3a0170676baf9bf3f54e5e038ffe6181157a778de73e6",
                "md5": "716a1c5071f3ec7495122e1993b4c417",
                "sha256": "c76df5f47f72e164ebbcc591eedc25984c2be6ccafba1dc9c1d10003358b1d3d"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "716a1c5071f3ec7495122e1993b4c417",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2387297,
            "upload_time": "2025-09-13T11:58:37",
            "upload_time_iso_8601": "2025-09-13T11:58:37.149130Z",
            "url": "https://files.pythonhosted.org/packages/d8/b1/e204ee0d58e9bbb3a0170676baf9bf3f54e5e038ffe6181157a778de73e6/py_ste-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8d503673a507cc67669e8edadd6d7e7416eefd0602ba1f98fc3f7ae6ab90f1d2",
                "md5": "e590453245357e276fa31bfd933a9eea",
                "sha256": "bad09ce5d0aed3a96e9607cd91ecb32b7caff20bd51eca147b13a39b168a4b45"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e590453245357e276fa31bfd933a9eea",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 3425988,
            "upload_time": "2025-09-13T11:58:38",
            "upload_time_iso_8601": "2025-09-13T11:58:38.697934Z",
            "url": "https://files.pythonhosted.org/packages/8d/50/3673a507cc67669e8edadd6d7e7416eefd0602ba1f98fc3f7ae6ab90f1d2/py_ste-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "db72b861f0b6f5ea8f263600684bd2a417bca13ddb2babe1d8abadd90e370caf",
                "md5": "ae2f5670de9be7efee7a151c36e126da",
                "sha256": "aa43fd6eb898c7e76a844bebf871ca439bfc600b71aa8797680dc5538b1934f4"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "ae2f5670de9be7efee7a151c36e126da",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2835751,
            "upload_time": "2025-09-13T11:58:40",
            "upload_time_iso_8601": "2025-09-13T11:58:40.902891Z",
            "url": "https://files.pythonhosted.org/packages/db/72/b861f0b6f5ea8f263600684bd2a417bca13ddb2babe1d8abadd90e370caf/py_ste-1.1.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f297e753bf6ee36e68bbf561f3a90d7cbad1cfda9837dabfe6b3c3a8266e5f25",
                "md5": "5db9b1ab1b2af2672c8843c5ee38f7a1",
                "sha256": "57e2bca45f3472c8c3b2c386555bd24cf7ba771d45036d14d2196a526b74f5a1"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5db9b1ab1b2af2672c8843c5ee38f7a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 2955356,
            "upload_time": "2025-09-13T11:58:43",
            "upload_time_iso_8601": "2025-09-13T11:58:43.089729Z",
            "url": "https://files.pythonhosted.org/packages/f2/97/e753bf6ee36e68bbf561f3a90d7cbad1cfda9837dabfe6b3c3a8266e5f25/py_ste-1.1.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d78bc053bfdf59ea802ab37fe266cacf7b964251d5a1c6fc0ef68bf274e79589",
                "md5": "0ac374b095763464009a1e88313713bc",
                "sha256": "2d378d4dc41dd341b4a9c3a3b5c8e705d40bc814339cfb6b91240b507752b8f1"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0ac374b095763464009a1e88313713bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2366423,
            "upload_time": "2025-09-13T11:58:45",
            "upload_time_iso_8601": "2025-09-13T11:58:45.065802Z",
            "url": "https://files.pythonhosted.org/packages/d7/8b/c053bfdf59ea802ab37fe266cacf7b964251d5a1c6fc0ef68bf274e79589/py_ste-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "91ffdc174964e05b27e5ad39e8ed3c7d6cefe2f7738a452b2bdc389b6230a6b4",
                "md5": "596351355e5314165c85c5cf81581cb5",
                "sha256": "96217172a6c160336b14125b404808d74225d2fffef6f1564c494dc39803c180"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "596351355e5314165c85c5cf81581cb5",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2297367,
            "upload_time": "2025-09-13T11:58:47",
            "upload_time_iso_8601": "2025-09-13T11:58:47.154398Z",
            "url": "https://files.pythonhosted.org/packages/91/ff/dc174964e05b27e5ad39e8ed3c7d6cefe2f7738a452b2bdc389b6230a6b4/py_ste-1.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b706bacec33f9d1167fd7363604d1e60353b3a9d29dfec1b6c6896074c8ad218",
                "md5": "00e2bbb6aa8958005df595977ea23126",
                "sha256": "1c1448cf85a3bb87dfa4ddce1bd6cc3b080489956a71699ceba4483f536cb60b"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "00e2bbb6aa8958005df595977ea23126",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2390102,
            "upload_time": "2025-09-13T11:58:49",
            "upload_time_iso_8601": "2025-09-13T11:58:49.300410Z",
            "url": "https://files.pythonhosted.org/packages/b7/06/bacec33f9d1167fd7363604d1e60353b3a9d29dfec1b6c6896074c8ad218/py_ste-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f19d6a020ed7057e1109454ae88da2818b54b5b66710575c2398283a585896c",
                "md5": "f8b34b3893040e40e6a4a832cbd0b5d6",
                "sha256": "e7afbd009709ad40be69287427862dfbdbf1edf1283dd18614614b1476cd0776"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f8b34b3893040e40e6a4a832cbd0b5d6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 3438190,
            "upload_time": "2025-09-13T11:58:51",
            "upload_time_iso_8601": "2025-09-13T11:58:51.858819Z",
            "url": "https://files.pythonhosted.org/packages/2f/19/d6a020ed7057e1109454ae88da2818b54b5b66710575c2398283a585896c/py_ste-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "936cd9d7ff68158ebd61ef50fc64ba424f9de5b2be19a47fd49fdf0dca1eb04f",
                "md5": "d667644ecc1e267d44f78dc7c6defc0f",
                "sha256": "2639c0a073cfcd6177faafb5669c88b080c855535435a1791512fd7c13f5e4b3"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "d667644ecc1e267d44f78dc7c6defc0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2836453,
            "upload_time": "2025-09-13T11:58:54",
            "upload_time_iso_8601": "2025-09-13T11:58:54.026389Z",
            "url": "https://files.pythonhosted.org/packages/93/6c/d9d7ff68158ebd61ef50fc64ba424f9de5b2be19a47fd49fdf0dca1eb04f/py_ste-1.1.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5a632a086a6815fbe39e33c02497c168b4d39d8f7780d7361794d133b617ea7f",
                "md5": "ff027c61296eab201cce71c23aa69415",
                "sha256": "e2396c796230bf1e1746ab761d4c1fa82eacfa4191c8d83ad818fadd2b76029f"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ff027c61296eab201cce71c23aa69415",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 2955905,
            "upload_time": "2025-09-13T11:58:55",
            "upload_time_iso_8601": "2025-09-13T11:58:55.727953Z",
            "url": "https://files.pythonhosted.org/packages/5a/63/2a086a6815fbe39e33c02497c168b4d39d8f7780d7361794d133b617ea7f/py_ste-1.1.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "821b7708d492edb91000254fd14368377abea8b778bf4047acbe71fe508b0747",
                "md5": "6fdada787375ac3c203c0310d0c4292d",
                "sha256": "e432b37817d95c1b60cb3fcdd88e1cca3a9b42349f3bb3bfb5b7eaf3ea41852d"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6fdada787375ac3c203c0310d0c4292d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 2366409,
            "upload_time": "2025-09-13T11:58:57",
            "upload_time_iso_8601": "2025-09-13T11:58:57.458599Z",
            "url": "https://files.pythonhosted.org/packages/82/1b/7708d492edb91000254fd14368377abea8b778bf4047acbe71fe508b0747/py_ste-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d88a3a97c064a8fda20aa5074bad6c8b3e7f7ad388c5a0ac393a579f640403b9",
                "md5": "2ad385ab846ffced5ba54a8364a0f1b0",
                "sha256": "9e60e771c7a13e84cb0a32ffd86591f5f5465ac7a54dec6eacd2f6a486ddae83"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2ad385ab846ffced5ba54a8364a0f1b0",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 2297390,
            "upload_time": "2025-09-13T11:58:59",
            "upload_time_iso_8601": "2025-09-13T11:58:59.069867Z",
            "url": "https://files.pythonhosted.org/packages/d8/8a/3a97c064a8fda20aa5074bad6c8b3e7f7ad388c5a0ac393a579f640403b9/py_ste-1.1.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aeb4cd8926de6c8cff4609ba39cfb60df8b3244b3b836203c03e565be768d948",
                "md5": "2bdcc021f0db240dcaa45d2720e4ffc6",
                "sha256": "70f51f85598c2c3477a26492982721de9af84c39153f0fa9c42297540a54716c"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2bdcc021f0db240dcaa45d2720e4ffc6",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 2390050,
            "upload_time": "2025-09-13T11:59:00",
            "upload_time_iso_8601": "2025-09-13T11:59:00.772740Z",
            "url": "https://files.pythonhosted.org/packages/ae/b4/cd8926de6c8cff4609ba39cfb60df8b3244b3b836203c03e565be768d948/py_ste-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "94c7cb90b3b2e9e20299329026aa67c24460a6a8102262552aafc6fbebee3e8e",
                "md5": "b00717f12da2de1c99cd6d4085974621",
                "sha256": "9b64ac983371ba2219fa02c63581a2942d746fdde5fba5567acbda504c33a525"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b00717f12da2de1c99cd6d4085974621",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 3438293,
            "upload_time": "2025-09-13T11:59:02",
            "upload_time_iso_8601": "2025-09-13T11:59:02.673688Z",
            "url": "https://files.pythonhosted.org/packages/94/c7/cb90b3b2e9e20299329026aa67c24460a6a8102262552aafc6fbebee3e8e/py_ste-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f88137aea6c92135f7802b971848dab8efdae48f00cdee649d348d5318e3dbd9",
                "md5": "93b321165754e8c49800723085fa1576",
                "sha256": "26a0a8643276e1f3888e05733709960ef50f697b0957dd46ef20556cf0f47a52"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "93b321165754e8c49800723085fa1576",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 2836448,
            "upload_time": "2025-09-13T11:59:04",
            "upload_time_iso_8601": "2025-09-13T11:59:04.839797Z",
            "url": "https://files.pythonhosted.org/packages/f8/81/37aea6c92135f7802b971848dab8efdae48f00cdee649d348d5318e3dbd9/py_ste-1.1.0-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "70ca68f39b21ef2eabf68e5f808cd36c16c037cec79b462e5c31941df7309ca7",
                "md5": "00afb31e7fefe39c26d3a14676c9a4cf",
                "sha256": "1a6cbe9e3f4fd21341430da66ff636bc8cf6d30d44870ad83d1f92eb397e7ff4"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "00afb31e7fefe39c26d3a14676c9a4cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 2955904,
            "upload_time": "2025-09-13T11:59:06",
            "upload_time_iso_8601": "2025-09-13T11:59:06.491382Z",
            "url": "https://files.pythonhosted.org/packages/70/ca/68f39b21ef2eabf68e5f808cd36c16c037cec79b462e5c31941df7309ca7/py_ste-1.1.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f809e3f30d97832e8c30b24743f16daf4ff032dd7b5b43dd7087e6bd98d3e15e",
                "md5": "edbe595c1a6b9fee78b3ff8dcdffc880",
                "sha256": "535cff4ea7f9c77832f16554647cc1cdefe0cc4b55a8a1e4332412848facdf41"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "edbe595c1a6b9fee78b3ff8dcdffc880",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2361793,
            "upload_time": "2025-09-13T11:59:08",
            "upload_time_iso_8601": "2025-09-13T11:59:08.073080Z",
            "url": "https://files.pythonhosted.org/packages/f8/09/e3f30d97832e8c30b24743f16daf4ff032dd7b5b43dd7087e6bd98d3e15e/py_ste-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "507e408fe38391ccd3ed92a1eeeb051b6e78deac2229aa88d648ea1141f7c114",
                "md5": "7789128c75e181646f78642e6a42bff5",
                "sha256": "e0f0c7f631aae67a6be268239eefa7a95aba50c008f45422c29f83d3b16866fa"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7789128c75e181646f78642e6a42bff5",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2294913,
            "upload_time": "2025-09-13T11:59:09",
            "upload_time_iso_8601": "2025-09-13T11:59:09.665891Z",
            "url": "https://files.pythonhosted.org/packages/50/7e/408fe38391ccd3ed92a1eeeb051b6e78deac2229aa88d648ea1141f7c114/py_ste-1.1.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f693c613240dff5b8fda632f669dc9613b22ef245b9c593573ad1dbb9478b1b3",
                "md5": "17b91d9d633ca978a569208096888cb0",
                "sha256": "efb9d15ca6a99c281a0f2d35cd311d19a2c4879aaaf7eac63422827b7cc813d7"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "17b91d9d633ca978a569208096888cb0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2392028,
            "upload_time": "2025-09-13T11:59:11",
            "upload_time_iso_8601": "2025-09-13T11:59:11.325247Z",
            "url": "https://files.pythonhosted.org/packages/f6/93/c613240dff5b8fda632f669dc9613b22ef245b9c593573ad1dbb9478b1b3/py_ste-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "efb16f3633eec10f08d3e4cede808ca4af4026d9dff4e901d6ea9fcda898fa3f",
                "md5": "9f88def9d959f02541e32c9a5a43363b",
                "sha256": "74f4c91544e7ad02136dde861a9f312c2619525557d32f29dc0d2a120c59368c"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9f88def9d959f02541e32c9a5a43363b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 3425171,
            "upload_time": "2025-09-13T11:59:13",
            "upload_time_iso_8601": "2025-09-13T11:59:13.318521Z",
            "url": "https://files.pythonhosted.org/packages/ef/b1/6f3633eec10f08d3e4cede808ca4af4026d9dff4e901d6ea9fcda898fa3f/py_ste-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "129d90ca4e889c2fcbcfad0d72bd5b0e3958ce8c7db1f27c670588e6a7752184",
                "md5": "638a8d323463432f2fcf8285fea3be5f",
                "sha256": "feffe11a25aecde5100f1906d87ea0e9a7da8d73b862f6815338cf3829a5f92d"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "638a8d323463432f2fcf8285fea3be5f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2834451,
            "upload_time": "2025-09-13T11:59:15",
            "upload_time_iso_8601": "2025-09-13T11:59:15.212061Z",
            "url": "https://files.pythonhosted.org/packages/12/9d/90ca4e889c2fcbcfad0d72bd5b0e3958ce8c7db1f27c670588e6a7752184/py_ste-1.1.0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "094dfe93f838a926fff83a905039ca7cffdcdaa468eb2d6a8b14e759a8b2d8e5",
                "md5": "bee1167d9ac9612a405906035c09027d",
                "sha256": "01cf57b26f1b54a7b97dcef440f89d9ded8d1cebffdb31f95ea5379430dc5a7c"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "bee1167d9ac9612a405906035c09027d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 2954416,
            "upload_time": "2025-09-13T11:59:17",
            "upload_time_iso_8601": "2025-09-13T11:59:17.288190Z",
            "url": "https://files.pythonhosted.org/packages/09/4d/fe93f838a926fff83a905039ca7cffdcdaa468eb2d6a8b14e759a8b2d8e5/py_ste-1.1.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad4b6283d0260a0005d189f588c8c908b42892ffe5a3080e7d6401aba4d7bd11",
                "md5": "4a89d489518a734590de3481ff50c140",
                "sha256": "a694412f4e2426396bc9ae18b9c6771a4e31d8f9c1ca10f5e0cc9639b316ef88"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4a89d489518a734590de3481ff50c140",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2361919,
            "upload_time": "2025-09-13T11:59:19",
            "upload_time_iso_8601": "2025-09-13T11:59:19.589163Z",
            "url": "https://files.pythonhosted.org/packages/ad/4b/6283d0260a0005d189f588c8c908b42892ffe5a3080e7d6401aba4d7bd11/py_ste-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f7c035ba852bbec255c16a48f61c50a4dc1b5bedde31e00e2db21999207d2aca",
                "md5": "a888e4052793fea0a6af093fd910a913",
                "sha256": "c2c316464cf82f2f08831427cb16f1bb068f5ebb9b5030e5fea818d03565ee88"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a888e4052793fea0a6af093fd910a913",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2295081,
            "upload_time": "2025-09-13T11:59:21",
            "upload_time_iso_8601": "2025-09-13T11:59:21.563091Z",
            "url": "https://files.pythonhosted.org/packages/f7/c0/35ba852bbec255c16a48f61c50a4dc1b5bedde31e00e2db21999207d2aca/py_ste-1.1.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0d347b5d7ac95eec86a0657ca4a219e5de903080cdb6493c63270c4808b0e4df",
                "md5": "332055d7bde4caa77b4d08f7d55e40bb",
                "sha256": "30c43b612b5847f20c59c2e18c778ca4f618637d98d2406bc93745f80b3c8227"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "332055d7bde4caa77b4d08f7d55e40bb",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2392413,
            "upload_time": "2025-09-13T11:59:23",
            "upload_time_iso_8601": "2025-09-13T11:59:23.812495Z",
            "url": "https://files.pythonhosted.org/packages/0d/34/7b5d7ac95eec86a0657ca4a219e5de903080cdb6493c63270c4808b0e4df/py_ste-1.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "362ee93d06cc0f698226f2bb62200eeea0f5d7da6d734926736e76573860af7e",
                "md5": "d662751344bf47c4d8e2e4c40bc3533e",
                "sha256": "ac8f8d8018fde3dc184d51c47e23c5adf4fd7c0125885972d2c6c91cc6c0fe14"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d662751344bf47c4d8e2e4c40bc3533e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 3425663,
            "upload_time": "2025-09-13T11:59:25",
            "upload_time_iso_8601": "2025-09-13T11:59:25.644488Z",
            "url": "https://files.pythonhosted.org/packages/36/2e/e93d06cc0f698226f2bb62200eeea0f5d7da6d734926736e76573860af7e/py_ste-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0b037f5dd4d6d0ee0f73f7d7244161912f5fc84fe3477116758f28abff1c766a",
                "md5": "8d0fd564120194388ec4d5c576205f17",
                "sha256": "05e564a288b1ade351da171e4a291dc9ff255c5e4adc2f6a3986e0bf3558468b"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "8d0fd564120194388ec4d5c576205f17",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2834470,
            "upload_time": "2025-09-13T11:59:27",
            "upload_time_iso_8601": "2025-09-13T11:59:27.466260Z",
            "url": "https://files.pythonhosted.org/packages/0b/03/7f5dd4d6d0ee0f73f7d7244161912f5fc84fe3477116758f28abff1c766a/py_ste-1.1.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "51cc43ef05b64ed7faa29f4224c79494e0f366f08dc371d9d7f5c8d5f71190ad",
                "md5": "fd5762521692bf8e58fc5d4a3fed6c73",
                "sha256": "7dd8e09ac557c0f0acc4b4ae86b43a262c635b160dcf81528219ca30f07e3048"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fd5762521692bf8e58fc5d4a3fed6c73",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 2959687,
            "upload_time": "2025-09-13T11:59:29",
            "upload_time_iso_8601": "2025-09-13T11:59:29.655826Z",
            "url": "https://files.pythonhosted.org/packages/51/cc/43ef05b64ed7faa29f4224c79494e0f366f08dc371d9d7f5c8d5f71190ad/py_ste-1.1.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3b8c6d194586d5da610059fda6d7d6f69a0eb629005111876a75ddc048aadb5d",
                "md5": "ba07cc2a8a0e8ac50dce098038a8f452",
                "sha256": "8bb6d57b9d83c91913a8831ce65e4254a9e4f6c20e926e795320d88e60645be6"
            },
            "downloads": -1,
            "filename": "py_ste-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ba07cc2a8a0e8ac50dce098038a8f452",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 5856584,
            "upload_time": "2025-09-13T11:59:31",
            "upload_time_iso_8601": "2025-09-13T11:59:31.944267Z",
            "url": "https://files.pythonhosted.org/packages/3b/8c/6d194586d5da610059fda6d7d6f69a0eb629005111876a75ddc048aadb5d/py_ste-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-13 11:59:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Christopher-K-Long",
    "github_project": "PySTE",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    "<",
                    "3"
                ],
                [
                    ">=",
                    "1.21"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "py-ste"
}
        
Elapsed time: 2.09587s