qiskit-ibm-transpiler


Nameqiskit-ibm-transpiler JSON
Version 0.13.1 PyPI version JSON
download
home_pagehttps://github.com/Qiskit/qiskit-ibm-transpiler
SummaryA library to use Qiskit IBM Transpiler (https://quantum.cloud.ibm.com/docs/api/qiskit-ibm-transpiler) and the AI transpiler passes (https://quantum.cloud.ibm.com/docs/guides/ai-transpiler-passes)
upload_time2025-07-21 09:42:49
maintainerNone
docs_urlNone
authorQiskit Development Team
requires_python>=3.8
licenseApache 2.0
keywords qiskit ai transpiler routing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # qiskit_ibm_transpiler

[![PyPI version](https://badge.fury.io/py/qiskit-ibm-transpiler.svg)](https://badge.fury.io/py/qiskit-ibm-transpiler)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

Leverage IBM Quantum's cutting-edge [Qiskit Transpiler Service](https://quantum.cloud.ibm.com/docs/guides/qiskit-transpiler-service) and [AI-powered transpiler passes](https://quantum.cloud.ibm.com/docs/guides/ai-transpiler-passes) to achieve superior circuit optimization through reinforcement learning algorithms.

## ✨ Key Features

- 🧠 **AI-Powered Optimization**: Advanced routing and circuit synthesis using reinforcement learning algorithms 
- ⚡ **Local & Remote Modes**: Run AI passes locally or leverage cloud resources
- ☁️ **Cloud-ready**: Harness IBM Quantum's cloud infrastructure for intensive computations 
- 🎯 **Drop-in Replacement**: Seamlessly integrate with existing Qiskit workflows
- 📈 **Superior Performance**: Our AI models typically outperform traditional heuristic algorithms. [Read the benchmark](https://arxiv.org/abs/2409.08844)

**Note**: The cloud transpilation capabilities are only available for IBM Quantum Premium Plan users. The local mode is available to any user and is enabled by default if the local mode dependencies are installed. Currently in beta release.

## 📦 Installation

### Basic Installation
```bash
pip install qiskit-ibm-transpiler
```

### With Local AI Mode Support

For running AI-powered transpiler passes locally:
```bash
pip install qiskit-ibm-transpiler[ai-local-mode]
```

### 🔐 Authentication

The package automatically authenticates using your [IBM Quantum Platform credentials](https://quantum.cloud.ibm.com/docs/en/guides/cloud-setup) aligned with how [Qiskit Runtime manages it](https://github.com/Qiskit/qiskit-ibm-runtime/tree/0.40.1?tab=readme-ov-file#qiskit-runtime-service-on-ibm-cloud):
- Environment variable: `QISKIT_IBM_TOKEN`
- Configuration file: `~/.qiskit/qiskit-ibm.json` (section: `default-ibm-quantum`)

## 🚀 Quick Start Guide

### Using the Qiskit Transpiler Service

> **Note**: The Qiskit Transpiler Service is currently being migrated. We recommend using local mode instead.

#### Standard Transpilation
```python
from qiskit.circuit.library import EfficientSU2
from qiskit_ibm_transpiler.transpiler_service import TranspilerService

# Create your circuit
circuit = EfficientSU2(101, entanglement="circular", reps=1).decompose()

# Transpile using cloud service
service = TranspilerService(
    backend_name="ibm_torino",  # or any backend you have access to
    ai="false",
    optimization_level=3,
)
transpiled_circuit = service.run(circuit)
```

#### AI-Enhanced Transpiler Passes via Service
```python
from qiskit.circuit.library import EfficientSU2
from qiskit_ibm_transpiler.transpiler_service import TranspilerService

circuit = EfficientSU2(101, entanglement="circular", reps=1).decompose()

# Enable AI optimization for superior results
service = TranspilerService(
    backend_name="ibm_torino",
    ai="true",              # Enable AI passes
    optimization_level=3,
)
optimized_circuit = service.run(circuit)
```

#### Auto AI Mode

```python
from qiskit.circuit.library import EfficientSU2
from qiskit_ibm_transpiler.transpiler_service import TranspilerService

circuit = EfficientSU2(101, entanglement="circular", reps=1).decompose()

# Let the service decide the best transpilation approach
service = TranspilerService(
    backend_name="ibm_torino",
    ai="auto",              # Service decides: AI passes vs standard Qiskit
    optimization_level=3,
)
optimized_circuit = service.run(circuit)
```

With `ai="auto"`, the service intelligently decides whether to apply standard Qiskit heuristic passes or AI-powered passes based on your circuit characteristics.


#### Service Configuration Options

| Parameter | Values | Description |
|-----------|--------|-------------|
| `ai` | `"true"`, `"false"`, `"auto"` | AI transpilation mode |
| `optimization_level` | `1`, `2`, `3` | Optimization intensity |
| `backend_name` | Backend string | Target quantum device |
| `coupling_map` | List of tuples | Custom connectivity |

**Service Limits**:
- Max 1M two-qubit gates per job
- 30-minute transpilation timeout
- 20-minute result retrieval window

> **Note**: Only backends accessible through your IBM Quantum account can be used. Alternatively, specify the `coupling_map` parameter directly.

### Using AI Passes Manually

#### AI Routing Pass

The `AIRouting` pass provides intelligent layout selection and circuit routing using reinforcement learning:

```python
from qiskit.transpiler import PassManager
from qiskit_ibm_transpiler.ai.routing import AIRouting
from qiskit.circuit.library import EfficientSU2

# Local mode execution
ai_routing = PassManager([
    AIRouting(
        backend_name="ibm_torino", 
        optimization_level=3, 
        layout_mode="optimize",
        local_mode=True  # Run locally for faster execution
    )
])

circuit = EfficientSU2(101, entanglement="circular", reps=1).decompose()
routed_circuit = ai_routing.run(circuit)
```

##### Configuration Options

| Parameter | Options | Description |
|-----------|---------|-------------|
| `optimization_level` | 1, 2, 3 | Computational effort (higher = better results, longer time) |
| `layout_mode` | `optimize` | Best for general circuits (default) |
| | `improve` | Uses existing layout as starting point |
| | `keep` | Respects previous layout selection |
| `local_mode` | `True/False` | Run locally or on cloud |

#### AI Circuit Synthesis Passes

Optimize specific circuit blocks using AI-powered synthesis for superior gate count reduction:

```python
from qiskit.transpiler import PassManager
from qiskit_ibm_transpiler.ai.routing import AIRouting
from qiskit_ibm_transpiler.ai.synthesis import (
    AILinearFunctionSynthesis, AIPauliNetworkSynthesis
)
from qiskit_ibm_transpiler.ai.collection import (
    CollectLinearFunctions, CollectPauliNetworks
)
from qiskit.circuit.library import EfficientSU2

# Complete AI-powered transpilation pipeline
ai_pm = PassManager([
    AIRouting(backend_name="ibm_torino", optimization_level=3, layout_mode="optimize"),
    
    # Collect and synthesize linear functions
    CollectLinearFunctions(),
    AILinearFunctionSynthesis(backend_name="ibm_torino", local_mode=True),
    
    # Collect and synthesize Pauli networks
    CollectPauliNetworks(),
    AIPauliNetworkSynthesis(backend_name="ibm_torino", local_mode=True),
])

circuit = EfficientSU2(10, entanglement="full", reps=1).decompose()
optimized_circuit = ai_pm.run(circuit)
```

#### Available Synthesis Passes

| Pass | Circuit Type | Max Qubits | Local Mode |
|------|-------------|------------|------------|
| `AICliffordSynthesis` | H, S, CX gates | 9 | ✅ |
| `AILinearFunctionSynthesis` | CX, SWAP gates | 9 | ✅ |
| `AIPermutationSynthesis` | SWAP gates | 65, 33, 27 | ✅ |
| `AIPauliNetworkSynthesis` | H, S, SX, CX, RX, RY, RZ | 6 | ✅ |


#### Hybrid Heuristic-AI Circuit Transpilation

The qiskit-ibm-transpiler allows you to configure a hybrid pass manager that automatically combines the best of Qiskit's heuristic and AI-powered transpiler passes. This feature behaves similarly to the Qiskit `generate_pass_manager` method:

```python
from qiskit_ibm_transpiler import generate_ai_pass_manager
from qiskit.circuit.library import efficient_su2
from qiskit_ibm_runtime import QiskitRuntimeService

backend = QiskitRuntimeService().backend("ibm_torino")
torino_coupling_map = backend.coupling_map

su2_circuit = efficient_su2(101, entanglement="circular", reps=1)

ai_hybrid_pass_manager = generate_ai_pass_manager(
    coupling_map=torino_coupling_map,
    ai_optimization_level=3,
    optimization_level=3,
    ai_layout_mode="optimize",
)

ai_su2_transpiled_circuit = ai_hybrid_pass_manager.run(su2_circuit)
```

**Configuration Options:**
- `coupling_map`: Specifies which coupling map to use for the transpilation
- `ai_optimization_level`: Level of optimization (1-3) for AI components of the PassManager
- `optimization_level`: Optimization level for heuristic components of the PassManager
- `ai_layout_mode`: How the AI routing handles layout (see AI routing pass section for options)


#### Performance Tuning

**Thread Pool Configuration**:
```python
# Method 1: Per-pass configuration
AILinearFunctionSynthesis(backend_name="ibm_torino", max_threads=20)

# Method 2: Global environment variable
import os
os.environ["AI_TRANSPILER_MAX_THREADS"] = "20"
```

**Smart Replacement**:
- Default: Only replaces if synthesis improves gate count
- Force replacement: `replace_only_if_better=False`

> **Note**: Synthesis passes respect device coupling maps and work seamlessly after routing passes.

## 🔧 Advanced Configuration

### Logging

Customize logging levels for debugging and monitoring:

```python
import logging

# Available levels: NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL
logging.getLogger("qiskit_ibm_transpiler").setLevel(logging.INFO)
```

## 📚 Resources & Support

- 📖 [Official Documentation](https://quantum.cloud.ibm.com/docs/guides/qiskit-transpiler-service)
- 🧠 [AI Transpiler Passes Guide](https://quantum.cloud.ibm.com/docs/guides/ai-transpiler-passes)
- 🎯 [IBM Quantum Platform](https://quantum.cloud.ibm.com/)
- 💡 [Give us feedback](https://qiskit.slack.com/archives/C06KF8YHUAU)

## 📄 Citation

If you use this library in your research, please cite:

```bibtex
@misc{kremer2024practical,
    title={Practical and efficient quantum circuit synthesis and transpiling with Reinforcement Learning},
    author={David Kremer and Victor Villar and Hanhee Paik and Ivan Duran and Ismael Faro and Juan Cruz-Benito},
    year={2024},
    eprint={2405.13196},
    archivePrefix={arXiv},
    primaryClass={quant-ph}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Qiskit/qiskit-ibm-transpiler",
    "name": "qiskit-ibm-transpiler",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "qiskit, ai, transpiler, routing",
    "author": "Qiskit Development Team",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/8a/ac/d6f176107a0a07aeae583dbde3e7812cd31f670f0d285a0167ece51f040e/qiskit_ibm_transpiler-0.13.1.tar.gz",
    "platform": null,
    "description": "# qiskit_ibm_transpiler\n\n[![PyPI version](https://badge.fury.io/py/qiskit-ibm-transpiler.svg)](https://badge.fury.io/py/qiskit-ibm-transpiler)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nLeverage IBM Quantum's cutting-edge [Qiskit Transpiler Service](https://quantum.cloud.ibm.com/docs/guides/qiskit-transpiler-service) and [AI-powered transpiler passes](https://quantum.cloud.ibm.com/docs/guides/ai-transpiler-passes) to achieve superior circuit optimization through reinforcement learning algorithms.\n\n## \u2728 Key Features\n\n- \ud83e\udde0 **AI-Powered Optimization**: Advanced routing and circuit synthesis using reinforcement learning algorithms \n- \u26a1 **Local & Remote Modes**: Run AI passes locally or leverage cloud resources\n- \u2601\ufe0f **Cloud-ready**: Harness IBM Quantum's cloud infrastructure for intensive computations \n- \ud83c\udfaf **Drop-in Replacement**: Seamlessly integrate with existing Qiskit workflows\n- \ud83d\udcc8 **Superior Performance**: Our AI models typically outperform traditional heuristic algorithms. [Read the benchmark](https://arxiv.org/abs/2409.08844)\n\n**Note**: The cloud transpilation capabilities are only available for IBM Quantum Premium Plan users. The local mode is available to any user and is enabled by default if the local mode dependencies are installed. Currently in beta release.\n\n## \ud83d\udce6 Installation\n\n### Basic Installation\n```bash\npip install qiskit-ibm-transpiler\n```\n\n### With Local AI Mode Support\n\nFor running AI-powered transpiler passes locally:\n```bash\npip install qiskit-ibm-transpiler[ai-local-mode]\n```\n\n### \ud83d\udd10 Authentication\n\nThe package automatically authenticates using your [IBM Quantum Platform credentials](https://quantum.cloud.ibm.com/docs/en/guides/cloud-setup) aligned with how [Qiskit Runtime manages it](https://github.com/Qiskit/qiskit-ibm-runtime/tree/0.40.1?tab=readme-ov-file#qiskit-runtime-service-on-ibm-cloud):\n- Environment variable: `QISKIT_IBM_TOKEN`\n- Configuration file: `~/.qiskit/qiskit-ibm.json` (section: `default-ibm-quantum`)\n\n## \ud83d\ude80 Quick Start Guide\n\n### Using the Qiskit Transpiler Service\n\n> **Note**: The Qiskit Transpiler Service is currently being migrated. We recommend using local mode instead.\n\n#### Standard Transpilation\n```python\nfrom qiskit.circuit.library import EfficientSU2\nfrom qiskit_ibm_transpiler.transpiler_service import TranspilerService\n\n# Create your circuit\ncircuit = EfficientSU2(101, entanglement=\"circular\", reps=1).decompose()\n\n# Transpile using cloud service\nservice = TranspilerService(\n    backend_name=\"ibm_torino\",  # or any backend you have access to\n    ai=\"false\",\n    optimization_level=3,\n)\ntranspiled_circuit = service.run(circuit)\n```\n\n#### AI-Enhanced Transpiler Passes via Service\n```python\nfrom qiskit.circuit.library import EfficientSU2\nfrom qiskit_ibm_transpiler.transpiler_service import TranspilerService\n\ncircuit = EfficientSU2(101, entanglement=\"circular\", reps=1).decompose()\n\n# Enable AI optimization for superior results\nservice = TranspilerService(\n    backend_name=\"ibm_torino\",\n    ai=\"true\",              # Enable AI passes\n    optimization_level=3,\n)\noptimized_circuit = service.run(circuit)\n```\n\n#### Auto AI Mode\n\n```python\nfrom qiskit.circuit.library import EfficientSU2\nfrom qiskit_ibm_transpiler.transpiler_service import TranspilerService\n\ncircuit = EfficientSU2(101, entanglement=\"circular\", reps=1).decompose()\n\n# Let the service decide the best transpilation approach\nservice = TranspilerService(\n    backend_name=\"ibm_torino\",\n    ai=\"auto\",              # Service decides: AI passes vs standard Qiskit\n    optimization_level=3,\n)\noptimized_circuit = service.run(circuit)\n```\n\nWith `ai=\"auto\"`, the service intelligently decides whether to apply standard Qiskit heuristic passes or AI-powered passes based on your circuit characteristics.\n\n\n#### Service Configuration Options\n\n| Parameter | Values | Description |\n|-----------|--------|-------------|\n| `ai` | `\"true\"`, `\"false\"`, `\"auto\"` | AI transpilation mode |\n| `optimization_level` | `1`, `2`, `3` | Optimization intensity |\n| `backend_name` | Backend string | Target quantum device |\n| `coupling_map` | List of tuples | Custom connectivity |\n\n**Service Limits**:\n- Max 1M two-qubit gates per job\n- 30-minute transpilation timeout\n- 20-minute result retrieval window\n\n> **Note**: Only backends accessible through your IBM Quantum account can be used. Alternatively, specify the `coupling_map` parameter directly.\n\n### Using AI Passes Manually\n\n#### AI Routing Pass\n\nThe `AIRouting` pass provides intelligent layout selection and circuit routing using reinforcement learning:\n\n```python\nfrom qiskit.transpiler import PassManager\nfrom qiskit_ibm_transpiler.ai.routing import AIRouting\nfrom qiskit.circuit.library import EfficientSU2\n\n# Local mode execution\nai_routing = PassManager([\n    AIRouting(\n        backend_name=\"ibm_torino\", \n        optimization_level=3, \n        layout_mode=\"optimize\",\n        local_mode=True  # Run locally for faster execution\n    )\n])\n\ncircuit = EfficientSU2(101, entanglement=\"circular\", reps=1).decompose()\nrouted_circuit = ai_routing.run(circuit)\n```\n\n##### Configuration Options\n\n| Parameter | Options | Description |\n|-----------|---------|-------------|\n| `optimization_level` | 1, 2, 3 | Computational effort (higher = better results, longer time) |\n| `layout_mode` | `optimize` | Best for general circuits (default) |\n| | `improve` | Uses existing layout as starting point |\n| | `keep` | Respects previous layout selection |\n| `local_mode` | `True/False` | Run locally or on cloud |\n\n#### AI Circuit Synthesis Passes\n\nOptimize specific circuit blocks using AI-powered synthesis for superior gate count reduction:\n\n```python\nfrom qiskit.transpiler import PassManager\nfrom qiskit_ibm_transpiler.ai.routing import AIRouting\nfrom qiskit_ibm_transpiler.ai.synthesis import (\n    AILinearFunctionSynthesis, AIPauliNetworkSynthesis\n)\nfrom qiskit_ibm_transpiler.ai.collection import (\n    CollectLinearFunctions, CollectPauliNetworks\n)\nfrom qiskit.circuit.library import EfficientSU2\n\n# Complete AI-powered transpilation pipeline\nai_pm = PassManager([\n    AIRouting(backend_name=\"ibm_torino\", optimization_level=3, layout_mode=\"optimize\"),\n    \n    # Collect and synthesize linear functions\n    CollectLinearFunctions(),\n    AILinearFunctionSynthesis(backend_name=\"ibm_torino\", local_mode=True),\n    \n    # Collect and synthesize Pauli networks\n    CollectPauliNetworks(),\n    AIPauliNetworkSynthesis(backend_name=\"ibm_torino\", local_mode=True),\n])\n\ncircuit = EfficientSU2(10, entanglement=\"full\", reps=1).decompose()\noptimized_circuit = ai_pm.run(circuit)\n```\n\n#### Available Synthesis Passes\n\n| Pass | Circuit Type | Max Qubits | Local Mode |\n|------|-------------|------------|------------|\n| `AICliffordSynthesis` | H, S, CX gates | 9 | \u2705 |\n| `AILinearFunctionSynthesis` | CX, SWAP gates | 9 | \u2705 |\n| `AIPermutationSynthesis` | SWAP gates | 65, 33, 27 | \u2705 |\n| `AIPauliNetworkSynthesis` | H, S, SX, CX, RX, RY, RZ | 6 | \u2705 |\n\n\n#### Hybrid Heuristic-AI Circuit Transpilation\n\nThe qiskit-ibm-transpiler allows you to configure a hybrid pass manager that automatically combines the best of Qiskit's heuristic and AI-powered transpiler passes. This feature behaves similarly to the Qiskit `generate_pass_manager` method:\n\n```python\nfrom qiskit_ibm_transpiler import generate_ai_pass_manager\nfrom qiskit.circuit.library import efficient_su2\nfrom qiskit_ibm_runtime import QiskitRuntimeService\n\nbackend = QiskitRuntimeService().backend(\"ibm_torino\")\ntorino_coupling_map = backend.coupling_map\n\nsu2_circuit = efficient_su2(101, entanglement=\"circular\", reps=1)\n\nai_hybrid_pass_manager = generate_ai_pass_manager(\n    coupling_map=torino_coupling_map,\n    ai_optimization_level=3,\n    optimization_level=3,\n    ai_layout_mode=\"optimize\",\n)\n\nai_su2_transpiled_circuit = ai_hybrid_pass_manager.run(su2_circuit)\n```\n\n**Configuration Options:**\n- `coupling_map`: Specifies which coupling map to use for the transpilation\n- `ai_optimization_level`: Level of optimization (1-3) for AI components of the PassManager\n- `optimization_level`: Optimization level for heuristic components of the PassManager\n- `ai_layout_mode`: How the AI routing handles layout (see AI routing pass section for options)\n\n\n#### Performance Tuning\n\n**Thread Pool Configuration**:\n```python\n# Method 1: Per-pass configuration\nAILinearFunctionSynthesis(backend_name=\"ibm_torino\", max_threads=20)\n\n# Method 2: Global environment variable\nimport os\nos.environ[\"AI_TRANSPILER_MAX_THREADS\"] = \"20\"\n```\n\n**Smart Replacement**:\n- Default: Only replaces if synthesis improves gate count\n- Force replacement: `replace_only_if_better=False`\n\n> **Note**: Synthesis passes respect device coupling maps and work seamlessly after routing passes.\n\n## \ud83d\udd27 Advanced Configuration\n\n### Logging\n\nCustomize logging levels for debugging and monitoring:\n\n```python\nimport logging\n\n# Available levels: NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL\nlogging.getLogger(\"qiskit_ibm_transpiler\").setLevel(logging.INFO)\n```\n\n## \ud83d\udcda Resources & Support\n\n- \ud83d\udcd6 [Official Documentation](https://quantum.cloud.ibm.com/docs/guides/qiskit-transpiler-service)\n- \ud83e\udde0 [AI Transpiler Passes Guide](https://quantum.cloud.ibm.com/docs/guides/ai-transpiler-passes)\n- \ud83c\udfaf [IBM Quantum Platform](https://quantum.cloud.ibm.com/)\n- \ud83d\udca1 [Give us feedback](https://qiskit.slack.com/archives/C06KF8YHUAU)\n\n## \ud83d\udcc4 Citation\n\nIf you use this library in your research, please cite:\n\n```bibtex\n@misc{kremer2024practical,\n    title={Practical and efficient quantum circuit synthesis and transpiling with Reinforcement Learning},\n    author={David Kremer and Victor Villar and Hanhee Paik and Ivan Duran and Ismael Faro and Juan Cruz-Benito},\n    year={2024},\n    eprint={2405.13196},\n    archivePrefix={arXiv},\n    primaryClass={quant-ph}\n}\n```\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "A library to use Qiskit IBM Transpiler (https://quantum.cloud.ibm.com/docs/api/qiskit-ibm-transpiler) and the AI transpiler passes (https://quantum.cloud.ibm.com/docs/guides/ai-transpiler-passes)",
    "version": "0.13.1",
    "project_urls": {
        "Bug Tracker": "https://github.com/Qiskit/qiskit-ibm-transpiler/issues",
        "Documentation": "https://github.com/Qiskit/qiskit-ibm-transpiler",
        "Homepage": "https://github.com/Qiskit/qiskit-ibm-transpiler",
        "Source Code": "https://github.com/Qiskit/qiskit-ibm-transpiler"
    },
    "split_keywords": [
        "qiskit",
        " ai",
        " transpiler",
        " routing"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a0a44127dccc7ecfca71d0df5310ced026790ffd1e8da196fc360011416bcffa",
                "md5": "b0c8136e9647a1756b5d73d196561889",
                "sha256": "5ebd20cf2b6fea77a2cf0263a113bfe37f4e2ac2a836469e4fe714565f886060"
            },
            "downloads": -1,
            "filename": "qiskit_ibm_transpiler-0.13.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b0c8136e9647a1756b5d73d196561889",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 61069,
            "upload_time": "2025-07-21T09:42:47",
            "upload_time_iso_8601": "2025-07-21T09:42:47.889661Z",
            "url": "https://files.pythonhosted.org/packages/a0/a4/4127dccc7ecfca71d0df5310ced026790ffd1e8da196fc360011416bcffa/qiskit_ibm_transpiler-0.13.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8aacd6f176107a0a07aeae583dbde3e7812cd31f670f0d285a0167ece51f040e",
                "md5": "a1f23b3f80b417c732ebae14230e71bd",
                "sha256": "83631565b3adb6ce3825a82af8b6276e3f5e87d193c6efd01b7edae3bf56b31c"
            },
            "downloads": -1,
            "filename": "qiskit_ibm_transpiler-0.13.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a1f23b3f80b417c732ebae14230e71bd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 46935,
            "upload_time": "2025-07-21T09:42:49",
            "upload_time_iso_8601": "2025-07-21T09:42:49.367763Z",
            "url": "https://files.pythonhosted.org/packages/8a/ac/d6f176107a0a07aeae583dbde3e7812cd31f670f0d285a0167ece51f040e/qiskit_ibm_transpiler-0.13.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-21 09:42:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Qiskit",
    "github_project": "qiskit-ibm-transpiler",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "qiskit-ibm-transpiler"
}
        
Elapsed time: 1.99226s