Metadata-Version: 2.4
Name: dartflutter
Version: 2.0.0
Summary: Simplified 100% working Dart code and direct runner for Flutter Laboratory Experiments 1 to 10
Author-email: VSRAJHAVEL <vsrajhavel@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/VSRAJHAVEL/FlutterLaboratory
Project-URL: Source, https://github.com/VSRAJHAVEL/FlutterLaboratory
Project-URL: Bug Tracker, https://github.com/VSRAJHAVEL/FlutterLaboratory/issues
Keywords: dart,flutter,dartflutter,widgets,experiments,pypi,education
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Education
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# 🎯 DartFlutter (`dartflutter`)

[![PyPI Version](https://img.shields.io/pypi/v/dartflutter.svg?color=blue)](https://pypi.org/project/dartflutter/)
[![Python Versions](https://img.shields.io/pypi/pyversions/dartflutter.svg)](https://pypi.org/project/dartflutter/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![GitHub Repo](https://img.shields.io/badge/GitHub-VSRAJHAVEL%2FFlutterLaboratory-blue?logo=github)](https://github.com/VSRAJHAVEL/FlutterLaboratory)

A clean, focused Python package containing **simplified, 100% working Dart code and direct launchers for all 10 Flutter Laboratory Experiments**.

---

## 🚀 Installation

```bash
pip install --upgrade dartflutter
```

---

## ⚡ Streamlined CLI Commands

### 1️⃣ View Simplified 100% Working Dart Code (Experiments 1 to 10)
```bash
dartflutter code 1    # Fresh Fruits (Widgets & Layouts)
dartflutter code 2    # Responsive Catalog (LayoutBuilder & GridView)
dartflutter code 3    # Interactive Store (TextField & ChoiceChip)
dartflutter code 4    # Car Mileage Calculator (Form Validation)
dartflutter code 5    # Navigation & Routing (Named Routes & Arguments)
dartflutter code 6    # SQLite Database (Local CRUD Persistence)
dartflutter code 7    # Cloud Firestore (Student Registration)
dartflutter code 8    # Firestore Search (Querying by Reg No / Name)
dartflutter code 9    # Firestore Update (Modifying Existing Records)
dartflutter code 10   # User Login & Authentication (Secure Auth)
```
*(Shortcut: `dartflutter-code 1`)*

---

### 2️⃣ Launch the Direct Flutter App
```bash
dartflutter run 1     # Launches Exp 1 directly on Google Chrome / Desktop
dartflutter run 10    # Launches Exp 10 directly
# Or simply:
dartflutter 1
```
*(Shortcut: `dartflutter-run 1`)*

---

### 3️⃣ Launch the Interactive Mobile Simulator & Dashboard
```bash
dartflutter web       # Launches interactive phone preview in default browser
# Or run with no arguments:
dartflutter
```
*(Shortcut: `dartflutter-web`)*

---

## 📑 Index of All 10 Experiments

| Ex. No. | Title | App Name | Key Widgets & Tech |
| :---: | :--- | :--- | :--- |
| **01** | **Working with Widgets & Layouts** | Fresh Fruits | `Column`, `Container`, `Card`, `ListView.builder` |
| **02** | **Adaptive & Responsive UI Design** | ShopEase Catalog | `LayoutBuilder`, `GridView.builder`, Breakpoints |
| **03** | **Interactivity - Input & Forms** | ShopEase Store | `TextField`, `ChoiceChip`, `setState()` |
| **04** | **Form Validation using Stateful Widgets** | Mileage Calculator | `Form`, `TextFormField`, `GlobalKey<FormState>` |
| **05** | **Navigation & Routing** | ShopEase Navigation | `Navigator.pushNamed`, `ModalRoute`, Named Routes |
| **06** | **Data Persistence Using SQLite** | StudentHub SQLite | Local CRUD persistence, In-Memory Fallback |
| **07** | **Data Persistence Using Cloud Firestore** | StudentHub Firestore | Firestore document persistence, SnackBar |
| **08** | **Searching in Google Firestore** | Student Search | Live query filtering, `where()` conditions |
| **09** | **Update Information in Firestore** | Student Update | Locating documents & updating field values |
| **10** | **Manual User Login with Firestore** | Secure Login | User registration, authentication, state toggle |

---

## 🐍 Python / Jupyter Notebook API Usage

```python
import dartflutter as df

# 1. Print simplified 100% working code for any experiment (1 to 10)
print(df.code(1))
print(df.code(6))

# 2. Launch the direct Flutter app in Google Chrome
df.run(1)

# 3. List all 10 experiments
for exp in df.list_experiments():
    print(f"[{exp['number']:02d}] {exp['title']} ({exp['app_name']})")

# 4. Launch interactive phone dashboard in browser
df.web()
```
