mdsasa-bolt


Namemdsasa-bolt JSON
Version 1.1.0 PyPI version JSON
download
home_pageNone
SummaryThis library allows the calculation of a solvent-accessible-surface area of a trajectory
upload_time2025-07-20 06:52:55
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseGPL-2.0
keywords molecular simulations science bioinformatics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MDSASA-Bolt โšก๏ธ

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/maxall41/mdsasa-bolt/python.yml)
![PyPI - Version](https://img.shields.io/pypi/v/mdsasa-bolt)
![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)
![PyPI - Downloads](https://img.shields.io/pypi/dm/mdsasa-bolt)

MDSASA-Bolt is a **high-performance Python library** for computing solvent accessible surface area (SASA) of molecular dynamics trajectories. It's a drop-in replacement for mdakit-sasa that leverages RustSASA under the hood to deliver dramatically improved performance while maintaining full compatibility with MDAnalysis workflows.

# Features

- โšก๏ธ **Ludicrous Speed**: **17x faster** than mdakit-sasa.
- ๐Ÿ”„ **Drop-in Replacement**: Compatible with existing mdakit-sasa workflows.
- ๐Ÿงฌ **MDAnalysis Integration**: Seamlessly works with MDAnalysis Universe and AtomGroup objects.
- ๐Ÿฆ€ **Powered by [RustSASA](https://github.com/maxall41/RustSASA)**: Leverages Rust's performance and safety.
- ๐Ÿงช **Validated**: Tested against Freesasa/mdakit_sasa.
- ๐Ÿ“Š **Trajectory Analysis**: Built for analyzing entire MD trajectories efficiently
- ๐Ÿ **Pure Python API**: Familiar interface for Python developers

# Quick Start

## Installation

```bash
pip install mdsasa-bolt
```

## Basic Usage

```python
import MDAnalysis as mda
from mdsasa_bolt import SASAAnalysis

# Load your trajectory
u = mda.Universe("topology.pdb", "trajectory.dcd")

# Create SASA analysis
sasa_analysis = SASAAnalysis(u, select="protein")

# Run the analysis
sasa_analysis.run()

# Access results
print(f"Mean total SASA: {sasa_analysis.results.mean_total_area:.2f} ลฒ")
print(f"SASA per frame: {sasa_analysis.results.total_area}")
print(f"SASA per residue: {sasa_analysis.results.residue_area}")
```

## Advanced Usage

```python
import MDAnalysis as mda
from mdsasa_bolt import SASAAnalysis

# Load trajectory
u = mda.Universe("system.gro", "trajectory.xtc")

# Analyze specific selection with custom frame range
sasa_analysis = SASAAnalysis(
    u,
    select="resname LYS or resname ARG",  # Only basic residues
)

# Run analysis
sasa_analysis.run(
    start=100,                     # Start from frame 100
    stop=1000,                     # End at frame 1000
    step=10,                       # Analyze every 10th frame
    probe_radius=1.4,              # Custom probe radius Default:1.4
    n_points=960                   # Custom number of points Default: 960
)

# Results are available as numpy arrays
total_sasa_per_frame = sasa_analysis.results.total_area
residue_sasa_matrix = sasa_analysis.results.residue_area  # Shape: (n_frames, n_residues)
mean_total_sasa = sasa_analysis.results.mean_total_area
```

# Performance Benchmarks ๐Ÿš€

Benchmarks were performed using molecular dynamics data for [4IAQ from the GPCRMD database](https://www.gpcrmd.org/view/85/). Hypefine (w/ runs =3) was used to measure the time taken. Results:

| Method | Time | Speedup |
|--------|------|---------|
| **mdsasa-bolt** | **25.939 s ยฑ  0.914 s** | **17x faster** |
| mdakit-sasa | 450.930 s ยฑ  1.215 s  | baseline |

*Test system: MDAnalysisTests trajectory data*

# Validation ๐Ÿ“Š

MDSASA-Bolt has been thoroughly validated against reference implementations to ensure accuracy:

![Comparing SASA results](https://github.com/maxall41/mdsasa-bolt/blob/main/bench/sasa_comparison.png)


MDSASA-Bolt acheives a pearson correlation > 0.99 and an RMSE of 209.14 when compared against mdakit_sasa.

# API Reference

## SASAAnalysis

The main analysis class that integrates with MDAnalysis.

### Parameters

- **universe_or_atomgroup** (*Universe* or *AtomGroup*): MDAnalysis Universe or AtomGroup to analyze
- **select** (*str*, optional): Selection string for atoms (default: "all")
- **start** (*int*, optional): First frame to analyze
- **stop** (*int*, optional): Last frame to analyze
- **step** (*int*, optional): Step size between frames

### Results

After calling `run()`, results are available in the `results` attribute:

- **total_area** (*numpy.ndarray*): Total SASA for each frame
- **residue_area** (*numpy.ndarray*): SASA per residue for each frame (shape: n_frames ร— n_residues)
- **mean_total_area** (*float*): Mean total SASA across all frames

# Contributing

Contributions are welcome! Please feel free to submit pull requests and open issues. As this is an actively developed library, we encourage sharing your thoughts, ideas, suggestions, and feedback.

# โš ๏ธ A Note on Compatibility with mdakit_sasa

Inferring the element of an atom can be quite complicated. mdsasa-bolt does it's best to match the freesasa element inference algorithm, but it may not always be accurate, and may throw an error in some cases where Freesasa will work. Because of this we recommend that you use input files with explicit element information whenever possible.


# License

This project is licensed under the GNU General Public License v2.0 - see the [LICENSE](LICENSE) file for details.

# Acknowledgments

- Built on top of [RustSASA](https://github.com/maxall41/RustSASA) library
- Integrates seamlessly with [MDAnalysis](https://www.mdanalysis.org/)
- Inspired by the [mdakit-sasa](https://github.com/MDAnalysis/mdakit-sasa) project


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mdsasa-bolt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "Maxwell Campbell <max@hearthindustries.io>",
    "keywords": "molecular simulations, science, bioinformatics",
    "author": null,
    "author_email": "Maxwell Campbell <max@hearthindustries.io>",
    "download_url": "https://files.pythonhosted.org/packages/da/23/37a9292aeb79570517f863888b4f8ec5e0eecae6b7ae6371be9b7d35a4d9/mdsasa_bolt-1.1.0.tar.gz",
    "platform": null,
    "description": "# MDSASA-Bolt \u26a1\ufe0f\n\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/maxall41/mdsasa-bolt/python.yml)\n![PyPI - Version](https://img.shields.io/pypi/v/mdsasa-bolt)\n![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/mdsasa-bolt)\n\nMDSASA-Bolt is a **high-performance Python library** for computing solvent accessible surface area (SASA) of molecular dynamics trajectories. It's a drop-in replacement for mdakit-sasa that leverages RustSASA under the hood to deliver dramatically improved performance while maintaining full compatibility with MDAnalysis workflows.\n\n# Features\n\n- \u26a1\ufe0f **Ludicrous Speed**: **17x faster** than mdakit-sasa.\n- \ud83d\udd04 **Drop-in Replacement**: Compatible with existing mdakit-sasa workflows.\n- \ud83e\uddec **MDAnalysis Integration**: Seamlessly works with MDAnalysis Universe and AtomGroup objects.\n- \ud83e\udd80 **Powered by [RustSASA](https://github.com/maxall41/RustSASA)**: Leverages Rust's performance and safety.\n- \ud83e\uddea **Validated**: Tested against Freesasa/mdakit_sasa.\n- \ud83d\udcca **Trajectory Analysis**: Built for analyzing entire MD trajectories efficiently\n- \ud83d\udc0d **Pure Python API**: Familiar interface for Python developers\n\n# Quick Start\n\n## Installation\n\n```bash\npip install mdsasa-bolt\n```\n\n## Basic Usage\n\n```python\nimport MDAnalysis as mda\nfrom mdsasa_bolt import SASAAnalysis\n\n# Load your trajectory\nu = mda.Universe(\"topology.pdb\", \"trajectory.dcd\")\n\n# Create SASA analysis\nsasa_analysis = SASAAnalysis(u, select=\"protein\")\n\n# Run the analysis\nsasa_analysis.run()\n\n# Access results\nprint(f\"Mean total SASA: {sasa_analysis.results.mean_total_area:.2f} \u0172\")\nprint(f\"SASA per frame: {sasa_analysis.results.total_area}\")\nprint(f\"SASA per residue: {sasa_analysis.results.residue_area}\")\n```\n\n## Advanced Usage\n\n```python\nimport MDAnalysis as mda\nfrom mdsasa_bolt import SASAAnalysis\n\n# Load trajectory\nu = mda.Universe(\"system.gro\", \"trajectory.xtc\")\n\n# Analyze specific selection with custom frame range\nsasa_analysis = SASAAnalysis(\n    u,\n    select=\"resname LYS or resname ARG\",  # Only basic residues\n)\n\n# Run analysis\nsasa_analysis.run(\n    start=100,                     # Start from frame 100\n    stop=1000,                     # End at frame 1000\n    step=10,                       # Analyze every 10th frame\n    probe_radius=1.4,              # Custom probe radius Default:1.4\n    n_points=960                   # Custom number of points Default: 960\n)\n\n# Results are available as numpy arrays\ntotal_sasa_per_frame = sasa_analysis.results.total_area\nresidue_sasa_matrix = sasa_analysis.results.residue_area  # Shape: (n_frames, n_residues)\nmean_total_sasa = sasa_analysis.results.mean_total_area\n```\n\n# Performance Benchmarks \ud83d\ude80\n\nBenchmarks were performed using molecular dynamics data for [4IAQ from the GPCRMD database](https://www.gpcrmd.org/view/85/). Hypefine (w/ runs =3) was used to measure the time taken. Results:\n\n| Method | Time | Speedup |\n|--------|------|---------|\n| **mdsasa-bolt** | **25.939 s \u00b1  0.914 s** | **17x faster** |\n| mdakit-sasa | 450.930 s \u00b1  1.215 s  | baseline |\n\n*Test system: MDAnalysisTests trajectory data*\n\n# Validation \ud83d\udcca\n\nMDSASA-Bolt has been thoroughly validated against reference implementations to ensure accuracy:\n\n![Comparing SASA results](https://github.com/maxall41/mdsasa-bolt/blob/main/bench/sasa_comparison.png)\n\n\nMDSASA-Bolt acheives a pearson correlation > 0.99 and an RMSE of 209.14 when compared against mdakit_sasa.\n\n# API Reference\n\n## SASAAnalysis\n\nThe main analysis class that integrates with MDAnalysis.\n\n### Parameters\n\n- **universe_or_atomgroup** (*Universe* or *AtomGroup*): MDAnalysis Universe or AtomGroup to analyze\n- **select** (*str*, optional): Selection string for atoms (default: \"all\")\n- **start** (*int*, optional): First frame to analyze\n- **stop** (*int*, optional): Last frame to analyze\n- **step** (*int*, optional): Step size between frames\n\n### Results\n\nAfter calling `run()`, results are available in the `results` attribute:\n\n- **total_area** (*numpy.ndarray*): Total SASA for each frame\n- **residue_area** (*numpy.ndarray*): SASA per residue for each frame (shape: n_frames \u00d7 n_residues)\n- **mean_total_area** (*float*): Mean total SASA across all frames\n\n# Contributing\n\nContributions are welcome! Please feel free to submit pull requests and open issues. As this is an actively developed library, we encourage sharing your thoughts, ideas, suggestions, and feedback.\n\n# \u26a0\ufe0f A Note on Compatibility with mdakit_sasa\n\nInferring the element of an atom can be quite complicated. mdsasa-bolt does it's best to match the freesasa element inference algorithm, but it may not always be accurate, and may throw an error in some cases where Freesasa will work. Because of this we recommend that you use input files with explicit element information whenever possible.\n\n\n# License\n\nThis project is licensed under the GNU General Public License v2.0 - see the [LICENSE](LICENSE) file for details.\n\n# Acknowledgments\n\n- Built on top of [RustSASA](https://github.com/maxall41/RustSASA) library\n- Integrates seamlessly with [MDAnalysis](https://www.mdanalysis.org/)\n- Inspired by the [mdakit-sasa](https://github.com/MDAnalysis/mdakit-sasa) project\n\n",
    "bugtrack_url": null,
    "license": "GPL-2.0",
    "summary": "This library allows the calculation of a solvent-accessible-surface area of a trajectory",
    "version": "1.1.0",
    "project_urls": null,
    "split_keywords": [
        "molecular simulations",
        " science",
        " bioinformatics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d2a52fe1a8e40ae998c0e5da8e7bba9a44ca001da14a318896a662c709eb360b",
                "md5": "d64abe60feb9d5afa692ed9d869061bf",
                "sha256": "bdd110e4bc8e2fdcf065480282dcd25ec6f1c563a8ab5550237c536f15780c70"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d64abe60feb9d5afa692ed9d869061bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 326058,
            "upload_time": "2025-07-20T06:52:28",
            "upload_time_iso_8601": "2025-07-20T06:52:28.811180Z",
            "url": "https://files.pythonhosted.org/packages/d2/a5/2fe1a8e40ae998c0e5da8e7bba9a44ca001da14a318896a662c709eb360b/mdsasa_bolt-1.1.0-cp311-cp311-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "78237160f1adb27c6242c8b98c8660af7edb1225fa0121563ba73f81340612bd",
                "md5": "3fde08adeb86fd4fdd4ea29983d9b459",
                "sha256": "4b1134f1c300c4844edf2393ae3c5de1bec35cee49f98226fe4fe9c55c541f9e"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "3fde08adeb86fd4fdd4ea29983d9b459",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 314097,
            "upload_time": "2025-07-20T06:52:25",
            "upload_time_iso_8601": "2025-07-20T06:52:25.527067Z",
            "url": "https://files.pythonhosted.org/packages/78/23/7160f1adb27c6242c8b98c8660af7edb1225fa0121563ba73f81340612bd/mdsasa_bolt-1.1.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7e628c2aa00dbf324457c0812058c78fc94f61167768a126fe33348ec16d50d4",
                "md5": "41eb30b89b0d3be15d58089d31756436",
                "sha256": "0dad37e2bb053ac1bec93c607676fffd21e7e3893c3616815e83009e5fc0d9ed"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "41eb30b89b0d3be15d58089d31756436",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 383234,
            "upload_time": "2025-07-20T06:52:13",
            "upload_time_iso_8601": "2025-07-20T06:52:13.673561Z",
            "url": "https://files.pythonhosted.org/packages/7e/62/8c2aa00dbf324457c0812058c78fc94f61167768a126fe33348ec16d50d4/mdsasa_bolt-1.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "77d540c256f1bfc8933f7721b98501a914e06b47c02d91cbbadca6752f9c8a19",
                "md5": "a8b9cb1414ea0bf6579328911acab13a",
                "sha256": "656fe2e4672c127a6371d26778c5ee8bdf2e2d6218e1e1a6b53a9639c5300557"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a8b9cb1414ea0bf6579328911acab13a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 359123,
            "upload_time": "2025-07-20T06:52:20",
            "upload_time_iso_8601": "2025-07-20T06:52:20.114296Z",
            "url": "https://files.pythonhosted.org/packages/77/d5/40c256f1bfc8933f7721b98501a914e06b47c02d91cbbadca6752f9c8a19/mdsasa_bolt-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb79f272871c7e1cad75070e1ee6d25426db0e0ffcd14c7a0b9ba00224ffb4b7",
                "md5": "83e6052dd74481dbe459de1928f011b1",
                "sha256": "a32145cdee6286a7d65e1208b351fa670e831348ae3d87573f7d7fc17dadbf51"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "83e6052dd74481dbe459de1928f011b1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 531428,
            "upload_time": "2025-07-20T06:52:32",
            "upload_time_iso_8601": "2025-07-20T06:52:32.400529Z",
            "url": "https://files.pythonhosted.org/packages/eb/79/f272871c7e1cad75070e1ee6d25426db0e0ffcd14c7a0b9ba00224ffb4b7/mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "391d2e53b0c47d0c90339a83ab406a7a2f0bfeb35746870a5d52f555963ce334",
                "md5": "2a5c32983c7339896ce63e4bb273926c",
                "sha256": "d9aa24495966f9324d45ebe91d8d9326df68ddff3d0ceed0a0ab1da541c791de"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "2a5c32983c7339896ce63e4bb273926c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 622582,
            "upload_time": "2025-07-20T06:52:38",
            "upload_time_iso_8601": "2025-07-20T06:52:38.427728Z",
            "url": "https://files.pythonhosted.org/packages/39/1d/2e53b0c47d0c90339a83ab406a7a2f0bfeb35746870a5d52f555963ce334/mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "edbfcae68b619ceaaabf5ec511911d054d827f57e5b0333fc1ab49608590dceb",
                "md5": "6cb48e1056730442fcfa1026fbcb6eaa",
                "sha256": "91e6eecbfec325e3f49a9055dd6238df143f1067218022905686e3368b66b68c"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "6cb48e1056730442fcfa1026fbcb6eaa",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 559171,
            "upload_time": "2025-07-20T06:52:44",
            "upload_time_iso_8601": "2025-07-20T06:52:44.127045Z",
            "url": "https://files.pythonhosted.org/packages/ed/bf/cae68b619ceaaabf5ec511911d054d827f57e5b0333fc1ab49608590dceb/mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9e14f9c6995bb2c05dbeef540164733ef1787c365c922bbc7f84663da462c689",
                "md5": "6fb0b79bac1c2269513c13a42fad6760",
                "sha256": "1c734c1b5ab38131d3204539924d00d757c0d5c0e0a125c4aacb5646cf19ed89"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6fb0b79bac1c2269513c13a42fad6760",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 530234,
            "upload_time": "2025-07-20T06:52:50",
            "upload_time_iso_8601": "2025-07-20T06:52:50.300358Z",
            "url": "https://files.pythonhosted.org/packages/9e/14/f9c6995bb2c05dbeef540164733ef1787c365c922bbc7f84663da462c689/mdsasa_bolt-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7efbedd1fc9b5ce28d162f7e9dfe5f10a4471f566e9af9ab8fcd37356121ff31",
                "md5": "4bd05bc7adf20d81a6234ae2c4ac3e00",
                "sha256": "bad6d8144b7418f4dbc57b7e22e2938c0c6a194b71f321cb710a1b992b450c64"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "4bd05bc7adf20d81a6234ae2c4ac3e00",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 188776,
            "upload_time": "2025-07-20T06:52:59",
            "upload_time_iso_8601": "2025-07-20T06:52:59.703373Z",
            "url": "https://files.pythonhosted.org/packages/7e/fb/edd1fc9b5ce28d162f7e9dfe5f10a4471f566e9af9ab8fcd37356121ff31/mdsasa_bolt-1.1.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "34f8f923a32824fa3ce3c5ebddd8328d77c538c35ba3643015ee539f0ae8b4b3",
                "md5": "cd7031ba9147b8e36f1324ffc6572498",
                "sha256": "3ecacba81d9f03026ce51d77c14bca85ecf63a5c4606a1c29fd29062376c1bf5"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "cd7031ba9147b8e36f1324ffc6572498",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.11",
            "size": 200089,
            "upload_time": "2025-07-20T06:52:56",
            "upload_time_iso_8601": "2025-07-20T06:52:56.633975Z",
            "url": "https://files.pythonhosted.org/packages/34/f8/f923a32824fa3ce3c5ebddd8328d77c538c35ba3643015ee539f0ae8b4b3/mdsasa_bolt-1.1.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7644276d16d47bc6f714ccf13f18b8ffc4c354765757655e46f7f0eddf868bf6",
                "md5": "fd8fbb55bd2993d64f79cf57a5dfe635",
                "sha256": "1f5f94700533afa7726eb2b30d0ef0edd23abd81b7a19f0bd84861a80c53d6c3"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fd8fbb55bd2993d64f79cf57a5dfe635",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 323429,
            "upload_time": "2025-07-20T06:52:30",
            "upload_time_iso_8601": "2025-07-20T06:52:30.023896Z",
            "url": "https://files.pythonhosted.org/packages/76/44/276d16d47bc6f714ccf13f18b8ffc4c354765757655e46f7f0eddf868bf6/mdsasa_bolt-1.1.0-cp312-cp312-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3f46b5aa1aed0b00d93ddda2c45775362b7c23b2bcc8b705dc04452ab6da17d8",
                "md5": "68b06c8f999aa7ce11764da8cd1e4141",
                "sha256": "8f606c4f6027526253a9a8c88d068555a72cd6dbee1cd97bd356db252acc41a2"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "68b06c8f999aa7ce11764da8cd1e4141",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 310883,
            "upload_time": "2025-07-20T06:52:26",
            "upload_time_iso_8601": "2025-07-20T06:52:26.516914Z",
            "url": "https://files.pythonhosted.org/packages/3f/46/b5aa1aed0b00d93ddda2c45775362b7c23b2bcc8b705dc04452ab6da17d8/mdsasa_bolt-1.1.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5c1cfa7ccbf1631fd52ce089e175da9b0d11e2d04cfad46caff6f6c2e5043549",
                "md5": "1d2a1cdcd9ee94120891fbad3b921124",
                "sha256": "2aff01d9c459910483500e09c7a5c11341e138a21ae5edcdfeab4244746adc35"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "1d2a1cdcd9ee94120891fbad3b921124",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 381778,
            "upload_time": "2025-07-20T06:52:14",
            "upload_time_iso_8601": "2025-07-20T06:52:14.738610Z",
            "url": "https://files.pythonhosted.org/packages/5c/1c/fa7ccbf1631fd52ce089e175da9b0d11e2d04cfad46caff6f6c2e5043549/mdsasa_bolt-1.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0bf6f5c332d59fa86009dada878d7ca545f5ca89fe0b8904f21e04f7af8ffa0e",
                "md5": "c53c59d743c6cf76ce87bff73e9f5928",
                "sha256": "fee070582486094bfa476ccf36c68cdad176538772050170488646173f11e306"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c53c59d743c6cf76ce87bff73e9f5928",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 358676,
            "upload_time": "2025-07-20T06:52:21",
            "upload_time_iso_8601": "2025-07-20T06:52:21.064811Z",
            "url": "https://files.pythonhosted.org/packages/0b/f6/f5c332d59fa86009dada878d7ca545f5ca89fe0b8904f21e04f7af8ffa0e/mdsasa_bolt-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1e8d4ebb39b416de5c33e8797eed797015679e31c0a6e573ae29ce0f13e4df31",
                "md5": "6d030085fcfe808977c613c0885ab135",
                "sha256": "dcc56af0d3f856dbd6006460731c4eef572077b7c825c25f409b407fe14e9e43"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "6d030085fcfe808977c613c0885ab135",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 531352,
            "upload_time": "2025-07-20T06:52:33",
            "upload_time_iso_8601": "2025-07-20T06:52:33.695408Z",
            "url": "https://files.pythonhosted.org/packages/1e/8d/4ebb39b416de5c33e8797eed797015679e31c0a6e573ae29ce0f13e4df31/mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "758fabd106e3d236c8f05994e2d6f2187f4353da0269c1f4645c87959163d7e1",
                "md5": "c7d5e72e4d187a0e5407cc8d6bff7d57",
                "sha256": "7161fb398d59e2c527d1fa1aee07f233446b6d7e308f8dd2ff1ecef463435847"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "c7d5e72e4d187a0e5407cc8d6bff7d57",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 620181,
            "upload_time": "2025-07-20T06:52:39",
            "upload_time_iso_8601": "2025-07-20T06:52:39.679282Z",
            "url": "https://files.pythonhosted.org/packages/75/8f/abd106e3d236c8f05994e2d6f2187f4353da0269c1f4645c87959163d7e1/mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ddcb678ea2d91db9ea275b007bb68ff3af6a016f1d6ac0ab84a7c3edfb3d1f97",
                "md5": "6b704fc324a51b954d41ec00da9aa160",
                "sha256": "1dab555d4ea075e48531ed0f48294d160b63816ec5df59de26336250e0639037"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "6b704fc324a51b954d41ec00da9aa160",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 557618,
            "upload_time": "2025-07-20T06:52:45",
            "upload_time_iso_8601": "2025-07-20T06:52:45.951198Z",
            "url": "https://files.pythonhosted.org/packages/dd/cb/678ea2d91db9ea275b007bb68ff3af6a016f1d6ac0ab84a7c3edfb3d1f97/mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "75e954aead97ce57a190cbd3f4474cbc8a7476173baf04424424858c10dbe225",
                "md5": "341ef70b1b9ec759802cbeb55994ccfe",
                "sha256": "16c26a6b82060e96a61579120b98bbceb75425d26f61c6686e0da10f16685677"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "341ef70b1b9ec759802cbeb55994ccfe",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 529654,
            "upload_time": "2025-07-20T06:52:51",
            "upload_time_iso_8601": "2025-07-20T06:52:51.229208Z",
            "url": "https://files.pythonhosted.org/packages/75/e9/54aead97ce57a190cbd3f4474cbc8a7476173baf04424424858c10dbe225/mdsasa_bolt-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fe78d88334c35d60bb36494b50d18d837e67d9b9380eef1e29a129bf5528f3b2",
                "md5": "acae61aea6a3ee71b9a13f7af401b406",
                "sha256": "218193716a6f543d13b25839f3fece4ef3dd22b7bcda7f393e2a7103b8cd6a85"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "acae61aea6a3ee71b9a13f7af401b406",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 188137,
            "upload_time": "2025-07-20T06:53:00",
            "upload_time_iso_8601": "2025-07-20T06:53:00.540807Z",
            "url": "https://files.pythonhosted.org/packages/fe/78/d88334c35d60bb36494b50d18d837e67d9b9380eef1e29a129bf5528f3b2/mdsasa_bolt-1.1.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1dfce2c4d04fbe12d4a3a62c2ee3287e07c5c0eae15b4422917ba6367cabd9c3",
                "md5": "26810278bf8f807f4cef96c3576a8c5d",
                "sha256": "a1edaf01a4bcfaaae2a1d82a882b547e680c333d7e269b9c4de3ea75d36555a0"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "26810278bf8f807f4cef96c3576a8c5d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.11",
            "size": 199618,
            "upload_time": "2025-07-20T06:52:57",
            "upload_time_iso_8601": "2025-07-20T06:52:57.608562Z",
            "url": "https://files.pythonhosted.org/packages/1d/fc/e2c4d04fbe12d4a3a62c2ee3287e07c5c0eae15b4422917ba6367cabd9c3/mdsasa_bolt-1.1.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "68d3a1c31dc9f9e8c4920fbf2cd34de51c4ad2cdc1caae1147a5228e0df14386",
                "md5": "b431272871b8b227a714560bc3dbfc0f",
                "sha256": "599aec1fb07e39f1d45b1eb368bcf6990342548f81a061bb2cef281f9b805510"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b431272871b8b227a714560bc3dbfc0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 323448,
            "upload_time": "2025-07-20T06:52:31",
            "upload_time_iso_8601": "2025-07-20T06:52:31.448093Z",
            "url": "https://files.pythonhosted.org/packages/68/d3/a1c31dc9f9e8c4920fbf2cd34de51c4ad2cdc1caae1147a5228e0df14386/mdsasa_bolt-1.1.0-cp313-cp313-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d5c91097e36743d9aba38c02c443ea7edf10f012240f6af7027526ccbe0324f1",
                "md5": "c3e98b258548bc23dd18eb6715690b17",
                "sha256": "d69e0882e62ed94671b15f8af2a6dbd6b2e311687876766a437fa7a28c3f4719"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c3e98b258548bc23dd18eb6715690b17",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 310808,
            "upload_time": "2025-07-20T06:52:27",
            "upload_time_iso_8601": "2025-07-20T06:52:27.845598Z",
            "url": "https://files.pythonhosted.org/packages/d5/c9/1097e36743d9aba38c02c443ea7edf10f012240f6af7027526ccbe0324f1/mdsasa_bolt-1.1.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b4d074f0d7356bcdaef79541eb1796aac72671a424f2d1f69abbff78dd1bc8a2",
                "md5": "e80b8d64019a5e88d5b257bb30537c65",
                "sha256": "b9f3d09d689096105c641e608e6f408492ac9f16afd14a5c2d741c80556d51f5"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "e80b8d64019a5e88d5b257bb30537c65",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 381376,
            "upload_time": "2025-07-20T06:52:16",
            "upload_time_iso_8601": "2025-07-20T06:52:16.054635Z",
            "url": "https://files.pythonhosted.org/packages/b4/d0/74f0d7356bcdaef79541eb1796aac72671a424f2d1f69abbff78dd1bc8a2/mdsasa_bolt-1.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b0c0251f42eca6ecb06a476d516a2bc4ef7667567500269dbc779513a99adbca",
                "md5": "b43bec1033f99d0e98d74629c438f3dc",
                "sha256": "b5aec3ebddea21705b5d6f14f055ced97af414ecb69ded8f03c9eff4fc8d053f"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b43bec1033f99d0e98d74629c438f3dc",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 358937,
            "upload_time": "2025-07-20T06:52:22",
            "upload_time_iso_8601": "2025-07-20T06:52:22.284904Z",
            "url": "https://files.pythonhosted.org/packages/b0/c0/251f42eca6ecb06a476d516a2bc4ef7667567500269dbc779513a99adbca/mdsasa_bolt-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "859f4f46b8dd887d229a948ac7e2be742676db64b514e7f566f2a70ea4496ea0",
                "md5": "fdc7857140aa0f89c3e0465bc136eb75",
                "sha256": "8c9340ad4889c7146d381e9a4f1ca9e77994c82b1520984c72446724a71c4961"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "fdc7857140aa0f89c3e0465bc136eb75",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 531485,
            "upload_time": "2025-07-20T06:52:34",
            "upload_time_iso_8601": "2025-07-20T06:52:34.950414Z",
            "url": "https://files.pythonhosted.org/packages/85/9f/4f46b8dd887d229a948ac7e2be742676db64b514e7f566f2a70ea4496ea0/mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3b054df817a4b84ab570937d8bf15248db6e80cf1753f15ebb9d5f6b5e1ab878",
                "md5": "580256752510d02c9407bab0af4e0531",
                "sha256": "0058d2eb1ff71941af3381cd7d06d345f72a3ae947cd7a003341c441c52e1911"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "580256752510d02c9407bab0af4e0531",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 620283,
            "upload_time": "2025-07-20T06:52:40",
            "upload_time_iso_8601": "2025-07-20T06:52:40.703091Z",
            "url": "https://files.pythonhosted.org/packages/3b/05/4df817a4b84ab570937d8bf15248db6e80cf1753f15ebb9d5f6b5e1ab878/mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f81d7a2c5f4c1c6635a1898f730c58403c3d3a67f86940e8a4840277ac8ec5a8",
                "md5": "98793a2ecafcd800048814907d64d049",
                "sha256": "2081f75d5521da19f177e3f005379358736c438a5f6d20f5d6f6f16089cd1574"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "98793a2ecafcd800048814907d64d049",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 556846,
            "upload_time": "2025-07-20T06:52:47",
            "upload_time_iso_8601": "2025-07-20T06:52:47.296211Z",
            "url": "https://files.pythonhosted.org/packages/f8/1d/7a2c5f4c1c6635a1898f730c58403c3d3a67f86940e8a4840277ac8ec5a8/mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ad715a945db54a3bd28c54cf7b6fc349e3923682d5f511ba3b868dfd1b56dfcf",
                "md5": "89452dc88e3028f0e995f8001a7f9a61",
                "sha256": "ab128fd77c38c915cba90cf010f5b838b5b0eeed5d4043094a00593d588c2a05"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "89452dc88e3028f0e995f8001a7f9a61",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 529730,
            "upload_time": "2025-07-20T06:52:52",
            "upload_time_iso_8601": "2025-07-20T06:52:52.384614Z",
            "url": "https://files.pythonhosted.org/packages/ad/71/5a945db54a3bd28c54cf7b6fc349e3923682d5f511ba3b868dfd1b56dfcf/mdsasa_bolt-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "12b607d39dbbc715fb420cbe206e61de7f4518658fdc04846add999f4c0859bc",
                "md5": "61f573e94b6880a471d57be5bc698b13",
                "sha256": "5ebe154d9e48b228ca79d48aca5fbd6288edd2a72139871ebe237a9b0f6d433c"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "61f573e94b6880a471d57be5bc698b13",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 530449,
            "upload_time": "2025-07-20T06:52:36",
            "upload_time_iso_8601": "2025-07-20T06:52:36.079863Z",
            "url": "https://files.pythonhosted.org/packages/12/b6/07d39dbbc715fb420cbe206e61de7f4518658fdc04846add999f4c0859bc/mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f65f44a89c613ebd429acbe59836b82ba7e4f5d3a2819e5a43fa5fed20d85fc3",
                "md5": "bd90a539e94e5db28d47520ee6757db4",
                "sha256": "1e6a78a2294a95a83a0a50cdd9d9b5ba7cf4168429b11e3a583ee179285f6fcb"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "bd90a539e94e5db28d47520ee6757db4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 620683,
            "upload_time": "2025-07-20T06:52:41",
            "upload_time_iso_8601": "2025-07-20T06:52:41.782971Z",
            "url": "https://files.pythonhosted.org/packages/f6/5f/44a89c613ebd429acbe59836b82ba7e4f5d3a2819e5a43fa5fed20d85fc3/mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ee62b0ec4a9c64d565bee7eeed56dcdd2e9847d5fc324bd03a9b274396b42293",
                "md5": "85fecf59c0770317010a958a8e5fea54",
                "sha256": "2cebe4c73e6208c59403f1fbba78bb552ac749f9cffec1bc9355e1c9f74c2867"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "85fecf59c0770317010a958a8e5fea54",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 559068,
            "upload_time": "2025-07-20T06:52:48",
            "upload_time_iso_8601": "2025-07-20T06:52:48.282932Z",
            "url": "https://files.pythonhosted.org/packages/ee/62/b0ec4a9c64d565bee7eeed56dcdd2e9847d5fc324bd03a9b274396b42293/mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "285264caf01ea712244bd0e800208f0dff793e67b840b21668fbc65f451c0608",
                "md5": "f9f76f086bccee26702705a381690359",
                "sha256": "cad423c68f977f858ceef8ed3550d51eb2a6788f3b2c08c56b15f0d14347a68e"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f9f76f086bccee26702705a381690359",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 529632,
            "upload_time": "2025-07-20T06:52:53",
            "upload_time_iso_8601": "2025-07-20T06:52:53.367814Z",
            "url": "https://files.pythonhosted.org/packages/28/52/64caf01ea712244bd0e800208f0dff793e67b840b21668fbc65f451c0608/mdsasa_bolt-1.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0c0e40dee873bd41f0a2e40d0a63b978ac7497b9a5541ccebbe408de1cf586fb",
                "md5": "791269b1b11ea32a4d2c177c2e2bd447",
                "sha256": "0c916f64806bf7ee06ce2cc9f43b35de119f958058e2809f930f22b130c7c38f"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "791269b1b11ea32a4d2c177c2e2bd447",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 188148,
            "upload_time": "2025-07-20T06:53:01",
            "upload_time_iso_8601": "2025-07-20T06:53:01.389645Z",
            "url": "https://files.pythonhosted.org/packages/0c/0e/40dee873bd41f0a2e40d0a63b978ac7497b9a5541ccebbe408de1cf586fb/mdsasa_bolt-1.1.0-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "68c5948a5e731085c09f197c18f6733dbaf327e0d113d98bdb257daddba85117",
                "md5": "05b1dc592a11ed243efe07fb7f4d0de9",
                "sha256": "d0e104d521e8d1a640c14d7257289dd6a849264eedb36cdd16d4cfbb32d3d575"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "05b1dc592a11ed243efe07fb7f4d0de9",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.11",
            "size": 199420,
            "upload_time": "2025-07-20T06:52:58",
            "upload_time_iso_8601": "2025-07-20T06:52:58.837244Z",
            "url": "https://files.pythonhosted.org/packages/68/c5/948a5e731085c09f197c18f6733dbaf327e0d113d98bdb257daddba85117/mdsasa_bolt-1.1.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d3d233e7f5ba2fb37ac897f2a4e9b7b3fb27b6d97c710c907cf4c2ba410caf59",
                "md5": "7103a8bc48a9ad1a780df56355bf6e63",
                "sha256": "f234a3f1e3c7ff3af89d75b1cee18a1a36933d63846a892e888bbd575818b604"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "7103a8bc48a9ad1a780df56355bf6e63",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.11",
            "size": 382039,
            "upload_time": "2025-07-20T06:52:17",
            "upload_time_iso_8601": "2025-07-20T06:52:17.441706Z",
            "url": "https://files.pythonhosted.org/packages/d3/d2/33e7f5ba2fb37ac897f2a4e9b7b3fb27b6d97c710c907cf4c2ba410caf59/mdsasa_bolt-1.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fae366e350909e1cb5198050ed938f6b1899b82f7d20b3a9a5e383505229887f",
                "md5": "4b9d28ebaa5ce107056ed8eebaf85722",
                "sha256": "e215cf787877d775788665c6434164d1f1bef27577c3a43bedd2e472e79696b9"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4b9d28ebaa5ce107056ed8eebaf85722",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.11",
            "size": 358663,
            "upload_time": "2025-07-20T06:52:23",
            "upload_time_iso_8601": "2025-07-20T06:52:23.229526Z",
            "url": "https://files.pythonhosted.org/packages/fa/e3/66e350909e1cb5198050ed938f6b1899b82f7d20b3a9a5e383505229887f/mdsasa_bolt-1.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e2ee7db30fb85360626db4cd2a617af3b934afd647884df741c77aa58ff930f3",
                "md5": "37a7c72eeb06ad958eedd33a501d6c93",
                "sha256": "10401ab5fe0dbba102928452f8f4dfcafb4a158c351a90bdc48d9e22abc423ed"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "has_sig": false,
            "md5_digest": "37a7c72eeb06ad958eedd33a501d6c93",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 384201,
            "upload_time": "2025-07-20T06:52:19",
            "upload_time_iso_8601": "2025-07-20T06:52:19.084393Z",
            "url": "https://files.pythonhosted.org/packages/e2/ee/7db30fb85360626db4cd2a617af3b934afd647884df741c77aa58ff930f3/mdsasa_bolt-1.1.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5a8d4f52a27bcf16fe9b422f0fdd9069e27459e88bce27e783cb2a659b2a4302",
                "md5": "f13575cbe492649ffc2cef43677375d2",
                "sha256": "1dab302b41d22d1ac74ec80b986c1b6229f415486eddf316a78627fa9f59e2f8"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f13575cbe492649ffc2cef43677375d2",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 360049,
            "upload_time": "2025-07-20T06:52:24",
            "upload_time_iso_8601": "2025-07-20T06:52:24.238176Z",
            "url": "https://files.pythonhosted.org/packages/5a/8d/4f52a27bcf16fe9b422f0fdd9069e27459e88bce27e783cb2a659b2a4302/mdsasa_bolt-1.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5790d59fccbe222d2202b4b14570b42981d8039dc1efe0b703fb48cb7faad4fe",
                "md5": "c858518fcc42716e26fecb88543bb8ff",
                "sha256": "8a63a36d1965c5dc0870da30e4a9d3ece73854a7fed880bc988449fa9fed16f6"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c858518fcc42716e26fecb88543bb8ff",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 532456,
            "upload_time": "2025-07-20T06:52:37",
            "upload_time_iso_8601": "2025-07-20T06:52:37.403456Z",
            "url": "https://files.pythonhosted.org/packages/57/90/d59fccbe222d2202b4b14570b42981d8039dc1efe0b703fb48cb7faad4fe/mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "469283c3500b6187378b71d678e16a5ffc65da1fb3ebe3cd856f58f136cec215",
                "md5": "149e5f2bf707a05c0cf0958b18288e5d",
                "sha256": "8e7a2c04ec3243318847da02caccb6b6a15c11fc151a13fd71333581d2068ccc"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "149e5f2bf707a05c0cf0958b18288e5d",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 623030,
            "upload_time": "2025-07-20T06:52:42",
            "upload_time_iso_8601": "2025-07-20T06:52:42.996928Z",
            "url": "https://files.pythonhosted.org/packages/46/92/83c3500b6187378b71d678e16a5ffc65da1fb3ebe3cd856f58f136cec215/mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9dead81edbe6cf282f751dbfa3591851976f53a2bb0c53b21b73dd59cdcae299",
                "md5": "1124d3459dea04f53ed43843dae47f11",
                "sha256": "3486debac3d026cda479b71a45c846e8452d0c648a592bc89a842b5f5d029053"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "1124d3459dea04f53ed43843dae47f11",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 559772,
            "upload_time": "2025-07-20T06:52:49",
            "upload_time_iso_8601": "2025-07-20T06:52:49.331094Z",
            "url": "https://files.pythonhosted.org/packages/9d/ea/d81edbe6cf282f751dbfa3591851976f53a2bb0c53b21b73dd59cdcae299/mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f1d4d1ba3d867f4aaff9d041bad31afb98487fc230c4151e75cc3b5aad96801a",
                "md5": "818add78876e11dbba3edb3755fff4b7",
                "sha256": "4e19a186fe6404ab63f183921b0c30837fead0c20e21bfb8e84d1e1af77d76c1"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "818add78876e11dbba3edb3755fff4b7",
            "packagetype": "bdist_wheel",
            "python_version": "pp311",
            "requires_python": ">=3.11",
            "size": 531083,
            "upload_time": "2025-07-20T06:52:54",
            "upload_time_iso_8601": "2025-07-20T06:52:54.358204Z",
            "url": "https://files.pythonhosted.org/packages/f1/d4/d1ba3d867f4aaff9d041bad31afb98487fc230c4151e75cc3b5aad96801a/mdsasa_bolt-1.1.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "da2337a9292aeb79570517f863888b4f8ec5e0eecae6b7ae6371be9b7d35a4d9",
                "md5": "9157c2c36233292e0ecb157a3e367e08",
                "sha256": "a7934bdbe0e72d80cc3846e854dae21f569223d89f59c3df57b6f966ce872136"
            },
            "downloads": -1,
            "filename": "mdsasa_bolt-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9157c2c36233292e0ecb157a3e367e08",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 2852389,
            "upload_time": "2025-07-20T06:52:55",
            "upload_time_iso_8601": "2025-07-20T06:52:55.375554Z",
            "url": "https://files.pythonhosted.org/packages/da/23/37a9292aeb79570517f863888b4f8ec5e0eecae6b7ae6371be9b7d35a4d9/mdsasa_bolt-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-20 06:52:55",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mdsasa-bolt"
}
        
Elapsed time: 2.12476s