Metadata-Version: 2.4
Name: pulsed-squeezing
Version: 0.1.0
Summary: Theoretical models and visualization tools for pulsed squeezed light
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: h5py>=3.14.0
Requires-Dist: ipykernel>=6.30.0
Requires-Dist: ipympl>=0.9.7
Requires-Dist: ipython>=9.4.0
Requires-Dist: ipywidgets>=8.1.7
Requires-Dist: jupyterlab>=4.4.5
Requires-Dist: jupyterlab-git>=0.51.2
Requires-Dist: line-profiler>=5.0.0
Requires-Dist: lmfit>=1.3.4
Requires-Dist: matplotlib>=3.10.5
Requires-Dist: numexpr>=2.11.0
Requires-Dist: numpy>=2.3.2
Requires-Dist: pandas>=2.3.1
Requires-Dist: qutip>=5.2.0
Requires-Dist: qutip-qip>=0.4.1
Requires-Dist: scipy>=1.16.1
Requires-Dist: tqdm>=4.67.1

# Pulsed Squeezing Simulator

This repository contains a Python simulation framework for **pulsed squeezed light**. It provides theoretical models and example notebooks to explore squeezing in 1D cavities.

---

## Repository Structure

- `theoretical_pulsed.py` — Python file containing 3 main classes  
- `tutorial-notebook.ipynb` — Tutorial notebook demonstrating usage  
- `main-notebook.ipynb` — Main notebook that explains the theory and gives some results interpretation 
- `pyproject.toml` — UV app project configuration for dependencies  
- `uv.lock` — UV lock file to ensure reproducible installs  
- `README.md` — This file  

---

## Classes

All main functionality is implemented in `theoretical_pulsed.py`:

- **TheoreticalPulsedSqueezing** — [Simulate pulsed squeezing in an optical cavity with various input pulse shapes.]  
- **TheoreticalPulsed1D** — [1D parameter sweep for pulsed squeezing simulations.]  
- **PulsedSqueezingVisualizer** — [Visualizer for pulsed squeezing simulations with various pulse shapes.]  

---

## Notebooks

- **`tutorial-notebook.ipynb`** — Step-by-step tutorial showing how to use the classes for simulations.  

---

## Installation

The project uses **UV** to manage Python dependencies. `pyproject.toml` and `uv.lock` define the required packages.
