Metadata-Version: 2.3
Name: piel
Version: 0.1.0
Summary: Photonic Integrated Electronics: microservices to codesign photonics, electronics, communications, quantum, and more.
License: MIT
Keywords: piel,photonics,electronics,codesign,quantum,hardware
Author: Dario Quintero
Author-email: darioaquintero@gmail.com
Requires-Python: >=3.10,<3.12
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Provides-Extra: dev
Provides-Extra: tools
Requires-Dist: Click (>=7.0)
Requires-Dist: amaranth (>=0.4.0,<0.5.0) ; extra == "tools" or extra == "dev"
Requires-Dist: amaranth-yosys (>=0.40.0.0.post94,<0.41.0) ; extra == "tools" or extra == "dev"
Requires-Dist: bokeh ; extra == "dev"
Requires-Dist: bump-my-version ; extra == "dev"
Requires-Dist: cocotb (==1.9.1) ; extra == "tools" or extra == "dev"
Requires-Dist: cookiecutter ; extra == "dev"
Requires-Dist: coverage ; extra == "dev"
Requires-Dist: devtools ; extra == "dev"
Requires-Dist: flake8 ; extra == "dev"
Requires-Dist: gdsfactory (==7.27.2) ; extra == "tools" or extra == "dev"
Requires-Dist: gplugins[schematic] (>=0.14.0,<0.15.0) ; extra == "tools" or extra == "dev"
Requires-Dist: hdl21 (>=6.0.0,<7.0.0) ; extra == "tools" or extra == "dev"
Requires-Dist: ipyevents ; extra == "dev"
Requires-Dist: ipytree ; extra == "dev"
Requires-Dist: ipywidgets (>=7.6.0,<9) ; extra == "dev"
Requires-Dist: jax (>=0.4.14,<0.5.0)
Requires-Dist: jaxlib (>=0.4.14,<0.5.0)
Requires-Dist: jaxtyping
Requires-Dist: jupyter ; extra == "dev"
Requires-Dist: jupyter-bokeh ; extra == "dev"
Requires-Dist: jupyter-core ; extra == "dev"
Requires-Dist: jupyter-packaging (>=0.7.9) ; extra == "dev"
Requires-Dist: jupyterlab (>=4.0.0,<5.0.0) ; extra == "dev"
Requires-Dist: jupytext (==1.15.0) ; extra == "dev"
Requires-Dist: kfactory[git,ipy] ; extra == "dev"
Requires-Dist: kweb (>=2.0.1,<3.0.0) ; extra == "dev"
Requires-Dist: matplotlib
Requires-Dist: myst-parser ; extra == "dev"
Requires-Dist: nbsphinx ; extra == "dev"
Requires-Dist: networkx (>=3.1,<4.0)
Requires-Dist: numpy (>=1.24.4,<2.0.0)
Requires-Dist: pandas (>=1.5.3,<2.0.0)
Requires-Dist: pandoc ; extra == "dev"
Requires-Dist: pre-commit ; extra == "dev"
Requires-Dist: pydantic (>=2.0,<3.0)
Requires-Dist: pydata-sphinx-theme (>=0.13.3) ; extra == "dev"
Requires-Dist: pytest (>=3.0) ; extra == "dev"
Requires-Dist: qutip (>=4.7,<5.0) ; extra == "tools" or extra == "dev"
Requires-Dist: ruff (==0.5.5) ; extra == "dev"
Requires-Dist: sax (==0.12.2) ; extra == "tools" or extra == "dev"
Requires-Dist: scikit-rf (>=1.1.0,<2.0.0) ; extra == "tools" or extra == "dev"
Requires-Dist: scipy (>=1.11.4,<2.0.0)
Requires-Dist: setuptools
Requires-Dist: sky130-hdl21 (>=6.0.0,<7.0.0) ; extra == "tools" or extra == "dev"
Requires-Dist: sphinx (>=7.2.1,<8.0.0) ; extra == "dev"
Requires-Dist: sphinx-autoapi ; extra == "dev"
Requires-Dist: sphinx-autobuild ; extra == "dev"
Requires-Dist: sphinx-autodoc-typehints ; extra == "dev"
Requires-Dist: sphinx-book_theme ; extra == "dev"
Requires-Dist: sphinx-copybutton (>=0.5.2) ; extra == "dev"
Requires-Dist: sphinx-gallery ; extra == "dev"
Requires-Dist: sphinx-pydantic ; extra == "dev"
Requires-Dist: sphinx-rtd-theme ; extra == "dev"
Requires-Dist: sphinx-version-warning ; extra == "dev"
Requires-Dist: tabulate ; extra == "tools" or extra == "dev"
Requires-Dist: thewalrus (>=0.20.0,<0.21.0) ; extra == "tools" or extra == "dev"
Requires-Dist: tox ; extra == "dev"
Requires-Dist: vlsirtools (>=6.0.0,<7.0.0) ; extra == "tools" or extra == "dev"
Requires-Dist: watchdog ; extra == "dev"
Requires-Dist: xarray (>=2024.1.0,<2024.10.0)
Project-URL: Homepage, https://github.com/daquintero/piel
Project-URL: Repository, https://github.com/daquintero/piel
Description-Content-Type: text/markdown

# **P**hotonic **I**ntegrated **EL**ectronics
[![PyPI
Name](https://img.shields.io/badge/pypi-piel-blue?style=for-the-badge)](https://pypi.python.org/pypi/piel)
[![PyPI
Version](https://img.shields.io/pypi/v/piel.svg?style=for-the-badge)](https://pypi.python.org/pypi/piel)
[![Documentation
Status](https://readthedocs.org/projects/piel/badge/?style=for-the-badge)](https://piel.readthedocs.io/en/latest/?version=latest)
![Coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/daquintero/605df9da19061593715258b77e06ab9b/raw/piel_coverage.json)
[![MIT](https://img.shields.io/github/license/gdsfactory/gdsfactory?style=for-the-badge)](https://choosealicense.com/licenses/mit/)
[![Black](https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge)](https://github.com/psf/black)

Microservices to codesign photonics, electronics, communications,
quantum, and more.

- Free software: MIT license
- Documentation: <https://piel.readthedocs.io>
- Slack Channel: [Join `#piel` in open-source-silicon.dev](https://join.slack.com/t/open-source-silicon/shared_invite/zt-22rt521qo-C7HUHAXDJ~am33y9ZNOPlg)

## Target functionality

- Co-simulation and optimisation between integrated photonic and
    electronic chip design.
- System interconnection modelling in multiple domains.
- Experimental and simulation metadata/data management & integration.
- Chip and interposer design integration.
- Co-design components to circuits flow.
- Maintain a multi-tool dependency design environment.

`piel` aims to provide an integrated workflow to co-design photonics and
electronics, classically and quantum. It does not aim to replace the
individual functionality of each design tool, but rather provide a glue
to easily connect them all together and extract the system performance.

## Examples

Follow the many [examples in the
documentation](https://piel.readthedocs.io/en/latest/examples.html).

## Microservices Toolset

This package provides interconnection functions to easily co-design
microelectronics through the functionality of the major python-integrated microelectronics projects and
photonics via the [GDSFactory project](https://github.com/gdsfactory/gdsfactory).

![image](docs/_static/img/piel_microservice_structure.png)

Some existing microservice dependency integrations are:

- [amaranth](https://github.com/amaranth-lang/amaranth) - A modern hardware definition language and toolchain based on Python.
- [cocotb](https://github.com/cocotb/cocotb) - a coroutine based
    cosimulation library for writing VHDL and Verilog testbenches in
    Python.
- [hdl21](https://github.com/dan-fritchman/Hdl21) - Analog Hardware
    Description Library in Python
- [GDSFactory](https://github.com/gdsfactory/gdsfactory) - An open
    source platform for end to-end photonic chip design and validation
- [Openlane v2](https://github.com/efabless/openlane2) - The next generation of OpenLane, rewritten from scratch in Python with a modular architecture
- [sax](https://github.com/flaport/sax) - S-parameter based frequency
    domain circuit simulations and optimizations using JAX.
- [thewalrus](https://github.com/XanaduAI/thewalrus) -A library for
    the calculation of hafnians, Hermite polynomials and Gaussian boson
    sampling.
- [qutip](https://github.com/qutip/qutip) - QuTiP: Quantum Toolbox in
    Python

`piel` also provides a common dependency-resolved environment for all these tools, so that you just get started with designing rather than manage dependencies (which is a massive pain). Full flow environment toolsets can use `nix`, `docker`, and `local` installations following the existing open-source design flows.

## Contribution

If you feel dedicated enough to become a project maintainer, or just
want to do a single contribution, let\'s do this together!

