Metadata-Version: 2.4
Name: flushout
Version: 0.3.0
Summary: Private ephemeral real-time Python output streaming
License-Expression: MIT
Project-URL: Homepage, https://github.com/souvikm99/flushout
Project-URL: Repository, https://github.com/souvikm99/flushout
Project-URL: Issues, https://github.com/souvikm99/flushout/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
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: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: requests<3,>=2.32
Requires-Dist: websocket-client<2,>=1.8

# Flushout Python SDK

Flushout securely relays Python stdout/stderr to the authenticated owner's live dashboard. Output is ephemeral and is never saved by the service.

```python
import flushout

with flushout.stream(name="training-run"):
    print("Live, not stored")
```

Interactive runs prompt for the portal username and streaming password before capture starts. When the context exits, it also asks whether to email a minimal completion summary to the verified address in your Flushout profile. The email reports success/failure metadata and a bounded exception message; it never includes stdout, stderr, or a traceback.

For unattended runs, choose explicitly:

```python
with flushout.stream(name="nightly-job", notify=True):
    run_job()
```

Alternatively set `FLUSHOUT_NOTIFY=yes`. Notifications require a verified profile email. Notification delivery failures are printed locally and never replace an exception raised by your code.
