Metadata-Version: 2.4
Name: gdsfactoryhub
Version: 0.1.12
Summary: Software Development Kit - SDK for DoData
Author-email: DoPlayDo <contact@doplaydo.com>
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Requires-Dist: dotenv>=0.9.9
Requires-Dist: httpx>=0.28.1
Requires-Dist: matplotlib>=3.10.5
Requires-Dist: orjson>=3.10.18
Requires-Dist: pandas>=2.2.3
Requires-Dist: pillow>=11.2.1
Requires-Dist: postgrest>=1.0.2
Requires-Dist: pyarrow>=20.0.0
Requires-Dist: pydantic-settings
Requires-Dist: tenacity>=9.1.2
Requires-Dist: tqdm>=4.67.1
Provides-Extra: dev
Requires-Dist: build>=1.3.0; extra == 'dev'
Requires-Dist: ipykernel>=6.30.1; extra == 'dev'
Requires-Dist: mkdocs-material>=9.6.16; extra == 'dev'
Requires-Dist: mkdocs-minify-plugin>=0.8.0; extra == 'dev'
Requires-Dist: mkdocs>=1.6.1; extra == 'dev'
Requires-Dist: mkdocstrings-python>=1.16.12; extra == 'dev'
Requires-Dist: mkdocstrings>=0.30.0; extra == 'dev'
Requires-Dist: mkinit>=1.1.0; extra == 'dev'
Requires-Dist: nbconvert>=7.16.6; extra == 'dev'
Requires-Dist: papermill>=2.6.0; extra == 'dev'
Requires-Dist: pre-commit>=4.3.0; extra == 'dev'
Requires-Dist: pymdown-extensions>=10.16.1; extra == 'dev'
Requires-Dist: pyright>=1.1.403; extra == 'dev'
Requires-Dist: pytest>=8.4.1; extra == 'dev'
Requires-Dist: ruff>=0.12.8; extra == 'dev'
Requires-Dist: tbump>=6.11.0; extra == 'dev'
Requires-Dist: twine>=6.1.0; extra == 'dev'
Requires-Dist: uv>=0.8.10; extra == 'dev'
Requires-Dist: wheel>=0.45.1; extra == 'dev'
Description-Content-Type: text/markdown

# GDSFactory Hub 0.1.12

In chip design, you need to efficiently manage multiple types of data, including:

- **Simulations**
- **Layouts**
- **Verification results** (DRC, LVS, etc.)
- **Measurements**
- **Yield and qualification data**

<!-- ![data-wave](https://i.imgur.com/A6l1g3D.png) -->

GDSFactory Hub provides a **cutting-edge data storage solution** designed specifically for the complexities of chip design. Our platform seamlessly integrates into your existing workflow, offering a **scalable, efficient, and organized** way to store, manage, and analyze all your critical data.

By using GDSFactory Hub, you can enhance efficiency, improve collaboration, and streamline your design process.

```{note}
This tool requires an active GDSFactory+ subscription. To learn more, visit [GDSFactory.com](https://GDSFactory.com).
```

<!-- ![data-types](https://i.imgur.com/DVDGNFm.png) -->

![device-die-wafer](https://i.imgur.com/v8wlnFr.png)

## Database Relationships

GDSFactory Hub uses a structured database schema that captures the relationships between different entities in chip design:

```mermaid
flowchart LR
    A["project"]
    A --> B["cell"]
    B --> C["device"]
    C --> D["device_data"]
    D --> E["analysis"]
    A --> F["wafer"]
    F --> G["die"]
    G --> D
    H["function"] --> E
```

This relationship model allows you to:

- **Filter across relationships**: Query device data by project, wafer, or cell attributes
- **Trace data lineage**: Follow the path from analysis results back to the original project
- **Perform complex queries**: Filter analyses by device characteristics, wafer properties, or project settings

## Installation

We support Python 3.11, 3.12, and 3.13 and recommend [VSCode](https://code.visualstudio.com/) IDE and [uv](https://docs.astral.sh/uv/).
If you don't have `uv` install it with the following command:

```bash
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
```

```bash
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

Then install GDSFactory Hub with:

```
uv pip install "gdsfactoryhub" --upgrade
```

Or add it to the dependencies of your current project with:

```
uv add gdsfactoryhub
```

## Setup

Ensure you create a `.env` file in your working directory with the following contents (fill in your details):

```
GDSFACTORY_HUB_API_URL="https://{org}.gdsfactoryhub.com"
GDSFACTORY_HUB_QUERY_URL="https://query.{org}.gdsfactoryhub.com"
GDSFACTORY_HUB_KEY="<same api key as in GDSFactory+>"
```

The `.env` file should be placed in the project where you run the notebooks.

## Run notebooks

To run the notebooks, you can use either VSCode or JupyterLab from your activated virtual environment.

- VSCode: Ensure you select the same Conda Python interpreter where the packages were installed.
- JupyterLab: Launch JupyterLab by running jupyter-lab from the same terminal used for the installation.
