Metadata-Version: 2.3
Name: qpdk
Version: 0.3.2
Summary: Quantum-RF generic PDK
Keywords: python
Author: gdsfactory
Author-email: gdsfactory <contact@gdsfactory.com>
License: The MIT License (MIT)
         
         Copyright (c) 2024 gdsfactory
         
         Permission is hereby granted, free of charge, to any person obtaining a copy
         of this software and associated documentation files (the "Software"), to deal
         in the Software without restriction, including without limitation the rights
         to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
         copies of the Software, and to permit persons to whom the Software is
         furnished to do so, subject to the following conditions:
         
         The above copyright notice and this permission notice shall be included in all
         copies or substantial portions of the Software.
         
         THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
         IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
         FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
         AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
         LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
         OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
         SOFTWARE.
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: doroutes>=0.2.0
Requires-Dist: gdsfactory~=9.39.0
Requires-Dist: gplugins[meshwell]>=2.0.1 ; extra == 'models'
Requires-Dist: jaxellip ; extra == 'models'
Requires-Dist: optuna ; extra == 'models'
Requires-Dist: pymablock>=2.2.1 ; extra == 'models'
Requires-Dist: ray[tune] ; sys_platform != 'win32' and extra == 'models'
Requires-Dist: sax>=0.16.11 ; extra == 'models'
Requires-Dist: scikit-rf ; extra == 'models'
Requires-Dist: scqubits ; extra == 'models'
Requires-Dist: sympy ; extra == 'models'
Requires-Dist: polars ; extra == 'models'
Requires-Python: >=3.12, <3.14
Provides-Extra: models
Description-Content-Type: text/markdown

# Sample Generic Superconducting Quantum RF PDK

[![Docs](https://github.com/gdsfactory/quantum-rf-pdk/actions/workflows/pages.yml/badge.svg)](https://gdsfactory.github.io/quantum-rf-pdk/)
[![Tests](https://github.com/gdsfactory/quantum-rf-pdk/actions/workflows/test.yml/badge.svg)](https://github.com/gdsfactory/quantum-rf-pdk/actions/workflows/test.yml)
[![Coverage](https://gdsfactory.github.io/quantum-rf-pdk/reports/coverage/coverage.svg)](https://gdsfactory.github.io/quantum-rf-pdk/reports/coverage/)
[![HTML Docs](https://img.shields.io/badge/%F0%9F%93%84_HTML-Docs-blue?style=flat)](https://gdsfactory.github.io/quantum-rf-pdk/)
[![PDF Docs](https://img.shields.io/badge/%F0%9F%93%84_PDF-Docs-blue?style=flat&logo=adobeacrobatreader)](https://gdsfactory.github.io/quantum-rf-pdk/qpdk.pdf)
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/gdsfactory/quantum-rf-pdk/HEAD)
[![PyPI - Version](https://img.shields.io/pypi/v/qpdk?color=blue)](https://pypi.org/p/qpdk)
[![MIT](https://img.shields.io/github/license/gdsfactory/quantum-rf-pdk)](https://choosealicense.com/licenses/mit/)

______________________________________________________________________

A generic process design kit (PDK) for superconducting quantum RF applications based on
[gdsfactory](https://gdsfactory.github.io/gdsfactory/).

## Examples

- [PDK cells in the documentation](https://gdsfactory.github.io/quantum-rf-pdk/cells.html): showcases available
  geometries.
- [`qpdk/samples/`](https://github.com/gdsfactory/quantum-rf-pdk/tree/main/qpdk/samples): contains example layouts and
  simulations.
- [`notebooks/`](https://github.com/gdsfactory/quantum-rf-pdk/tree/main/notebooks): contains notebooks demonstrating
  design and simulation workflows.
- [gsim example notebooks](https://gdsfactory.github.io/gsim/): electromagnetic simulation examples using Palace and
  Meep with gdsfactory.

## Installation

We recommend using [`uv`](https://astral.sh/uv/) for package management. [`just`](https://github.com/casey/just) is used
for project-specific recipes.

### Installation for Users

Install the package with:

```bash
uv pip install qpdk
```

Optional dependencies for the models and simulation tools can be installed with:

```bash
uv pip install qpdk[models]
```

### KLayout Technology Installation

To use the PDK in KLayout (for viewing GDS files with correct layers and technology settings), you should install the
technology files:

```bash
# For contributors (from the repository root)
just install-tech

# For users (after installing qpdk)
python -m qpdk.install_tech
```

> [!NOTE]
> After installation, restart KLayout to ensure the new technology appears.

### Installation for Contributors

Clone the repository and install at least the development dependencies:

```bash
git clone https://github.com/gdsfactory/quantum-rf-pdk.git
cd quantum-rf-pdk
uv sync --group dev
```

> [!NOTE]
> [Git LFS](https://git-lfs.github.com/) must be installed to run all tests locally. Some test data files (e.g., CSV
> files in `tests/models/data/`) are tracked with Git LFS and will not be properly downloaded without it.

#### Testing and Building Documentation

Check out the commands for testing and building documentation with:

```bash
just --list
```

## Documentation

- [Quantum RF PDK documentation (HTML)](https://gdsfactory.github.io/quantum-rf-pdk/)
- [Quantum RF PDK documentation (PDF)](https://gdsfactory.github.io/quantum-rf-pdk/qpdk.pdf)
- [Quantum RF PDK test coverage report](https://gdsfactory.github.io/quantum-rf-pdk/reports/coverage/)
- [gdsfactory documentation](https://gdsfactory.github.io/gdsfactory/)
