litlaunch 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- litlaunch-1.0.0/.gitattributes +6 -0
- litlaunch-1.0.0/.github/workflows/ci.yml +73 -0
- litlaunch-1.0.0/.gitignore +54 -0
- litlaunch-1.0.0/CHANGELOG.md +177 -0
- litlaunch-1.0.0/LICENSE +24 -0
- litlaunch-1.0.0/PKG-INFO +594 -0
- litlaunch-1.0.0/README.md +558 -0
- litlaunch-1.0.0/docs/architecture.md +221 -0
- litlaunch-1.0.0/docs/assets/screenshots/diagnostics-page-artifacts-events.png +0 -0
- litlaunch-1.0.0/docs/assets/screenshots/diagnostics-page-overview.png +0 -0
- litlaunch-1.0.0/docs/assets/screenshots/diagnostics-page-posture-snapshot.png +0 -0
- litlaunch-1.0.0/docs/browser_support.md +83 -0
- litlaunch-1.0.0/docs/cli.md +459 -0
- litlaunch-1.0.0/docs/diagnostics_page.md +175 -0
- litlaunch-1.0.0/docs/inspect.md +118 -0
- litlaunch-1.0.0/docs/installation.md +54 -0
- litlaunch-1.0.0/docs/integration/packaging_notes.md +98 -0
- litlaunch-1.0.0/docs/integration/rolethread.md +104 -0
- litlaunch-1.0.0/docs/integration.md +23 -0
- litlaunch-1.0.0/docs/overview.md +69 -0
- litlaunch-1.0.0/docs/philosophy.md +60 -0
- litlaunch-1.0.0/docs/quickstart.md +357 -0
- litlaunch-1.0.0/docs/runtime_events.md +99 -0
- litlaunch-1.0.0/docs/security.md +169 -0
- litlaunch-1.0.0/docs/troubleshooting.md +143 -0
- litlaunch-1.0.0/docs/window_monitoring.md +186 -0
- litlaunch-1.0.0/examples/minimal_app/README.md +41 -0
- litlaunch-1.0.0/examples/minimal_app/app.py +57 -0
- litlaunch-1.0.0/pyproject.toml +94 -0
- litlaunch-1.0.0/scripts/check_release.py +601 -0
- litlaunch-1.0.0/src/litlaunch/__init__.py +192 -0
- litlaunch-1.0.0/src/litlaunch/__main__.py +8 -0
- litlaunch-1.0.0/src/litlaunch/_protocols.py +35 -0
- litlaunch-1.0.0/src/litlaunch/artifacts.py +79 -0
- litlaunch-1.0.0/src/litlaunch/backend.py +85 -0
- litlaunch-1.0.0/src/litlaunch/backend_start.py +393 -0
- litlaunch-1.0.0/src/litlaunch/browsers/__init__.py +32 -0
- litlaunch-1.0.0/src/litlaunch/browsers/base.py +126 -0
- litlaunch-1.0.0/src/litlaunch/browsers/chrome.py +97 -0
- litlaunch-1.0.0/src/litlaunch/browsers/default.py +93 -0
- litlaunch-1.0.0/src/litlaunch/browsers/edge.py +89 -0
- litlaunch-1.0.0/src/litlaunch/browsers/launch.py +292 -0
- litlaunch-1.0.0/src/litlaunch/browsers/registry.py +153 -0
- litlaunch-1.0.0/src/litlaunch/cli/__init__.py +5 -0
- litlaunch-1.0.0/src/litlaunch/cli/__main__.py +6 -0
- litlaunch-1.0.0/src/litlaunch/cli/commands.py +498 -0
- litlaunch-1.0.0/src/litlaunch/cli/common.py +105 -0
- litlaunch-1.0.0/src/litlaunch/cli/config.py +430 -0
- litlaunch-1.0.0/src/litlaunch/cli/create.py +179 -0
- litlaunch-1.0.0/src/litlaunch/cli/help.py +384 -0
- litlaunch-1.0.0/src/litlaunch/cli/inspect.py +382 -0
- litlaunch-1.0.0/src/litlaunch/cli/main.py +377 -0
- litlaunch-1.0.0/src/litlaunch/cli/preview.py +324 -0
- litlaunch-1.0.0/src/litlaunch/colors.py +101 -0
- litlaunch-1.0.0/src/litlaunch/config.py +309 -0
- litlaunch-1.0.0/src/litlaunch/console.py +599 -0
- litlaunch-1.0.0/src/litlaunch/console_style.py +76 -0
- litlaunch-1.0.0/src/litlaunch/diagnostics_page.py +1926 -0
- litlaunch-1.0.0/src/litlaunch/events.py +195 -0
- litlaunch-1.0.0/src/litlaunch/exceptions.py +25 -0
- litlaunch-1.0.0/src/litlaunch/exposure.py +254 -0
- litlaunch-1.0.0/src/litlaunch/governance.py +186 -0
- litlaunch-1.0.0/src/litlaunch/health.py +81 -0
- litlaunch-1.0.0/src/litlaunch/inspect/__init__.py +41 -0
- litlaunch-1.0.0/src/litlaunch/inspect/collect.py +680 -0
- litlaunch-1.0.0/src/litlaunch/inspect/models.py +140 -0
- litlaunch-1.0.0/src/litlaunch/inspect/render_bundle.py +50 -0
- litlaunch-1.0.0/src/litlaunch/inspect/render_html.py +288 -0
- litlaunch-1.0.0/src/litlaunch/inspect/render_json.py +16 -0
- litlaunch-1.0.0/src/litlaunch/inspect/streamlit_check.py +33 -0
- litlaunch-1.0.0/src/litlaunch/launcher.py +553 -0
- litlaunch-1.0.0/src/litlaunch/lifecycle.py +83 -0
- litlaunch-1.0.0/src/litlaunch/monitored.py +365 -0
- litlaunch-1.0.0/src/litlaunch/monitored_browser.py +432 -0
- litlaunch-1.0.0/src/litlaunch/monitored_common.py +59 -0
- litlaunch-1.0.0/src/litlaunch/planning.py +109 -0
- litlaunch-1.0.0/src/litlaunch/platforms/__init__.py +15 -0
- litlaunch-1.0.0/src/litlaunch/platforms/detect.py +182 -0
- litlaunch-1.0.0/src/litlaunch/ports.py +130 -0
- litlaunch-1.0.0/src/litlaunch/process.py +98 -0
- litlaunch-1.0.0/src/litlaunch/profiles/__init__.py +9 -0
- litlaunch-1.0.0/src/litlaunch/profiles/core.py +332 -0
- litlaunch-1.0.0/src/litlaunch/profiles/detection.py +89 -0
- litlaunch-1.0.0/src/litlaunch/profiles/rendering.py +207 -0
- litlaunch-1.0.0/src/litlaunch/profiles/state.py +107 -0
- litlaunch-1.0.0/src/litlaunch/profiles/wizard.py +920 -0
- litlaunch-1.0.0/src/litlaunch/profiles/writer.py +267 -0
- litlaunch-1.0.0/src/litlaunch/py.typed +1 -0
- litlaunch-1.0.0/src/litlaunch/redaction.py +143 -0
- litlaunch-1.0.0/src/litlaunch/runtime_console.py +292 -0
- litlaunch-1.0.0/src/litlaunch/session.py +516 -0
- litlaunch-1.0.0/src/litlaunch/shortcut_writer.py +479 -0
- litlaunch-1.0.0/src/litlaunch/shutdown.py +723 -0
- litlaunch-1.0.0/src/litlaunch/streamlit.py +120 -0
- litlaunch-1.0.0/src/litlaunch/transport.py +232 -0
- litlaunch-1.0.0/src/litlaunch/version.py +6 -0
- litlaunch-1.0.0/src/litlaunch/windowing/__init__.py +35 -0
- litlaunch-1.0.0/src/litlaunch/windowing/base.py +137 -0
- litlaunch-1.0.0/src/litlaunch/windowing/noop.py +42 -0
- litlaunch-1.0.0/src/litlaunch/windowing/polling.py +303 -0
- litlaunch-1.0.0/src/litlaunch/windowing/windows.py +302 -0
- litlaunch-1.0.0/tests/integration/test_real_streamlit_smoke.py +41 -0
- litlaunch-1.0.0/tests/test_backend.py +86 -0
- litlaunch-1.0.0/tests/test_browser_base.py +48 -0
- litlaunch-1.0.0/tests/test_browser_detection.py +328 -0
- litlaunch-1.0.0/tests/test_browser_launch.py +286 -0
- litlaunch-1.0.0/tests/test_ci_workflow.py +43 -0
- litlaunch-1.0.0/tests/test_cli.py +3124 -0
- litlaunch-1.0.0/tests/test_config.py +233 -0
- litlaunch-1.0.0/tests/test_console.py +772 -0
- litlaunch-1.0.0/tests/test_diagnostics_page.py +636 -0
- litlaunch-1.0.0/tests/test_events.py +117 -0
- litlaunch-1.0.0/tests/test_examples.py +97 -0
- litlaunch-1.0.0/tests/test_exposure.py +597 -0
- litlaunch-1.0.0/tests/test_health.py +106 -0
- litlaunch-1.0.0/tests/test_imports.py +298 -0
- litlaunch-1.0.0/tests/test_inspect.py +845 -0
- litlaunch-1.0.0/tests/test_launcher_browser.py +40 -0
- litlaunch-1.0.0/tests/test_launcher_runtime.py +1154 -0
- litlaunch-1.0.0/tests/test_lifecycle.py +60 -0
- litlaunch-1.0.0/tests/test_metadata.py +252 -0
- litlaunch-1.0.0/tests/test_monitored.py +639 -0
- litlaunch-1.0.0/tests/test_no_shell_true.py +8 -0
- litlaunch-1.0.0/tests/test_platforms.py +121 -0
- litlaunch-1.0.0/tests/test_ports.py +195 -0
- litlaunch-1.0.0/tests/test_process.py +164 -0
- litlaunch-1.0.0/tests/test_profile_detection.py +71 -0
- litlaunch-1.0.0/tests/test_profile_wizard.py +250 -0
- litlaunch-1.0.0/tests/test_profile_writer.py +259 -0
- litlaunch-1.0.0/tests/test_profiles.py +247 -0
- litlaunch-1.0.0/tests/test_release_hygiene.py +301 -0
- litlaunch-1.0.0/tests/test_session.py +871 -0
- litlaunch-1.0.0/tests/test_shortcut_writer.py +232 -0
- litlaunch-1.0.0/tests/test_shutdown.py +721 -0
- litlaunch-1.0.0/tests/test_streamlit_command.py +207 -0
- litlaunch-1.0.0/tests/test_windowing.py +377 -0
- litlaunch-1.0.0/tests/test_windows_windowing.py +266 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
test:
|
|
13
|
+
name: Test (${{ matrix.os }}, Python ${{ matrix.python-version }})
|
|
14
|
+
runs-on: ${{ matrix.os }}
|
|
15
|
+
timeout-minutes: 15
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
os:
|
|
20
|
+
- windows-latest
|
|
21
|
+
- ubuntu-latest
|
|
22
|
+
- macos-latest
|
|
23
|
+
python-version:
|
|
24
|
+
- "3.10"
|
|
25
|
+
- "3.11"
|
|
26
|
+
- "3.12"
|
|
27
|
+
- "3.13"
|
|
28
|
+
- "3.14"
|
|
29
|
+
|
|
30
|
+
steps:
|
|
31
|
+
- name: Check out repository
|
|
32
|
+
uses: actions/checkout@v6
|
|
33
|
+
|
|
34
|
+
- name: Set up Python
|
|
35
|
+
uses: actions/setup-python@v6
|
|
36
|
+
with:
|
|
37
|
+
python-version: ${{ matrix.python-version }}
|
|
38
|
+
|
|
39
|
+
- name: Install development dependencies
|
|
40
|
+
run: |
|
|
41
|
+
python -m pip install --upgrade pip
|
|
42
|
+
python -m pip install -e ".[dev]"
|
|
43
|
+
|
|
44
|
+
- name: Run tests
|
|
45
|
+
run: python -m pytest
|
|
46
|
+
|
|
47
|
+
- name: Run Ruff lint
|
|
48
|
+
run: python -m ruff check .
|
|
49
|
+
|
|
50
|
+
- name: Check Ruff formatting
|
|
51
|
+
run: python -m ruff format --check .
|
|
52
|
+
|
|
53
|
+
build:
|
|
54
|
+
name: Build and release hygiene
|
|
55
|
+
runs-on: ubuntu-latest
|
|
56
|
+
timeout-minutes: 15
|
|
57
|
+
|
|
58
|
+
steps:
|
|
59
|
+
- name: Check out repository
|
|
60
|
+
uses: actions/checkout@v6
|
|
61
|
+
|
|
62
|
+
- name: Set up Python
|
|
63
|
+
uses: actions/setup-python@v6
|
|
64
|
+
with:
|
|
65
|
+
python-version: "3.14"
|
|
66
|
+
|
|
67
|
+
- name: Install development dependencies
|
|
68
|
+
run: |
|
|
69
|
+
python -m pip install --upgrade pip
|
|
70
|
+
python -m pip install -e ".[dev]"
|
|
71
|
+
|
|
72
|
+
- name: Run release hygiene checks
|
|
73
|
+
run: python scripts/check_release.py
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Python bytecode and cache directories
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
.pytest_cache/
|
|
6
|
+
.ruff_cache/
|
|
7
|
+
.mypy_cache/
|
|
8
|
+
.pyre/
|
|
9
|
+
.pytype/
|
|
10
|
+
.coverage
|
|
11
|
+
.coverage.*
|
|
12
|
+
htmlcov/
|
|
13
|
+
|
|
14
|
+
# Virtual environments
|
|
15
|
+
.venv/
|
|
16
|
+
venv/
|
|
17
|
+
env/
|
|
18
|
+
ENV/
|
|
19
|
+
|
|
20
|
+
# Build and packaging artifacts
|
|
21
|
+
build/
|
|
22
|
+
dist/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
*.egg
|
|
25
|
+
pip-wheel-metadata/
|
|
26
|
+
|
|
27
|
+
# Tooling and test environments
|
|
28
|
+
.tox/
|
|
29
|
+
.nox/
|
|
30
|
+
.hypothesis/
|
|
31
|
+
.claude/
|
|
32
|
+
|
|
33
|
+
# Local environment and secrets
|
|
34
|
+
.env
|
|
35
|
+
.env.*
|
|
36
|
+
!.env.example
|
|
37
|
+
|
|
38
|
+
# Editor and OS metadata
|
|
39
|
+
.idea/
|
|
40
|
+
.vscode/
|
|
41
|
+
*.swp
|
|
42
|
+
*.swo
|
|
43
|
+
.DS_Store
|
|
44
|
+
Thumbs.db
|
|
45
|
+
desktop.ini
|
|
46
|
+
|
|
47
|
+
# Logs and local scratch files
|
|
48
|
+
*.log
|
|
49
|
+
*.tmp
|
|
50
|
+
*.temp
|
|
51
|
+
.litlaunch/
|
|
52
|
+
|
|
53
|
+
# dev personal files
|
|
54
|
+
notes/
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
LitLaunch uses PEP 440 public versions. The `1.0.0` release is the first stable
|
|
4
|
+
LitLaunch release and aligns with the coordinated LitLaunch / RoleThread
|
|
5
|
+
launch.
|
|
6
|
+
|
|
7
|
+
Granular pre-release history is preserved in git. This changelog now presents
|
|
8
|
+
the project history at the level most useful to release users and integrators.
|
|
9
|
+
|
|
10
|
+
## 1.0.0 - Stable
|
|
11
|
+
|
|
12
|
+
- Promoted LitLaunch from the release-candidate line to the first stable
|
|
13
|
+
release, with the PyPI classifier set to
|
|
14
|
+
`Development Status :: 5 - Production/Stable`.
|
|
15
|
+
- Preserved the narrow runtime-governance scope: LitLaunch owns launch
|
|
16
|
+
orchestration, backend lifecycle, browser/app-window strategy, diagnostics,
|
|
17
|
+
profiles, shortcuts, runtime events, shutdown, and support artifacts without
|
|
18
|
+
replacing or securing Streamlit applications.
|
|
19
|
+
|
|
20
|
+
## 1.0.0rc6 - Release Candidate
|
|
21
|
+
|
|
22
|
+
- Refined generated diagnostics pages so runtime event sessions render as
|
|
23
|
+
console-style lifecycle replays near the bottom of the page, with raw JSONL
|
|
24
|
+
still available for support/debug review.
|
|
25
|
+
|
|
26
|
+
## 1.0.0rc5 - Release Candidate
|
|
27
|
+
|
|
28
|
+
- Moved profile loading, writing, detection, and wizard internals into the
|
|
29
|
+
dedicated `litlaunch.profiles` package while preserving top-level profile
|
|
30
|
+
imports, CLI behavior, and profile file compatibility.
|
|
31
|
+
|
|
32
|
+
## 1.0.0rc4 - Release Candidate
|
|
33
|
+
|
|
34
|
+
- Improved generated diagnostics pages with human-readable runtime session
|
|
35
|
+
summaries from runtime event logs while preserving raw JSONL event access and
|
|
36
|
+
event-mix chart support.
|
|
37
|
+
|
|
38
|
+
## 1.0.0rc3 - Release Candidate
|
|
39
|
+
|
|
40
|
+
- Updated generated diagnostics pages to parse native runtime event JSONL logs
|
|
41
|
+
for event-mix charts while preserving legacy/plain event-line support and
|
|
42
|
+
safe malformed-line handling.
|
|
43
|
+
|
|
44
|
+
## 1.0.0rc2 - Release Candidate
|
|
45
|
+
|
|
46
|
+
- Added optional runtime event log support for CLI/profile/Python launches via
|
|
47
|
+
`runtime_event_log`, `--event-log`, and the local JSONL
|
|
48
|
+
`create_runtime_event_file_sink()` helper.
|
|
49
|
+
- Composed runtime event log sinks with app-provided `event_sink` callbacks so
|
|
50
|
+
packaged apps can keep product logs without losing custom integration hooks.
|
|
51
|
+
- Improved generated diagnostics pages with an env-var-first event log resolver
|
|
52
|
+
and fallback path support for app-data or project-local runtime logs.
|
|
53
|
+
- Updated generated diagnostics page charts for Streamlit's `width="stretch"`
|
|
54
|
+
API to avoid `use_container_width` deprecation warnings.
|
|
55
|
+
|
|
56
|
+
## 1.0.0rc1 - Release Candidate
|
|
57
|
+
|
|
58
|
+
Summary:
|
|
59
|
+
|
|
60
|
+
- Feature-complete release candidate for the coordinated LitLaunch / RoleThread
|
|
61
|
+
launch.
|
|
62
|
+
- Stable public API and documentation posture pending final RoleThread
|
|
63
|
+
validation.
|
|
64
|
+
- Package metadata remains Beta for the release-candidate line; the
|
|
65
|
+
Production/Stable classifier is reserved for final `1.0.0`.
|
|
66
|
+
|
|
67
|
+
Highlights:
|
|
68
|
+
|
|
69
|
+
- CLI and Python API launch paths for owned Streamlit runtimes, including
|
|
70
|
+
`litlaunch`, `python -m litlaunch`, `litlaunch run`, profiles, and direct
|
|
71
|
+
`StreamlitLauncher` usage.
|
|
72
|
+
- Managed Chromium browser-window lifecycle for browser mode, using temporary
|
|
73
|
+
profile isolation, controlled Edge/Chrome launch shapes, exact-window
|
|
74
|
+
monitoring, graceful fallback, and no browser-process killing.
|
|
75
|
+
- Webapp/app-window lifecycle monitoring for app-style launches, including
|
|
76
|
+
close-to-shutdown behavior where platform support is available.
|
|
77
|
+
- Browser support boundaries for Microsoft Edge, Chrome/Chromium, default
|
|
78
|
+
browser fallback, app-mode/webapp behavior, and managed browser profiles.
|
|
79
|
+
- Graceful shutdown orchestration with app cleanup requests, loopback-scoped
|
|
80
|
+
shutdown endpoint handling, port release checks, and Ctrl+C reliability.
|
|
81
|
+
- Shutdown hook support, `ShutdownHookStatus`, bounded hook failure reporting,
|
|
82
|
+
hook console visibility controls, and app-owned cleanup messaging through the
|
|
83
|
+
LitLaunch console grammar.
|
|
84
|
+
- Runtime event sink API for structured lifecycle events that packaged apps can
|
|
85
|
+
write to product logs or support trails without scraping console output.
|
|
86
|
+
- Runtime governance layer composing trust mode, runtime exposure,
|
|
87
|
+
acknowledgement state, transport/TLS posture, launch allow/block posture, and
|
|
88
|
+
recommendations.
|
|
89
|
+
- Runtime exposure and transport security diagnostics, including trust modes,
|
|
90
|
+
network-visible host guidance, Streamlit-native TLS detection, plaintext HTTP
|
|
91
|
+
warnings, and honest security-boundary language.
|
|
92
|
+
- Diagnostics and reporting outputs for inspect/report workflows, HTML reports,
|
|
93
|
+
JSON diagnostics, support bundles, privacy warnings, and pattern-based
|
|
94
|
+
redaction limits.
|
|
95
|
+
- Generated Streamlit-native diagnostics/support page API, including
|
|
96
|
+
app-owned generated code, posture cards, operational charts, event trail,
|
|
97
|
+
support artifact controls, and `auto`/`dark`/`light` theme modes.
|
|
98
|
+
- Project-local generated artifact layout under `.litlaunch/`, including
|
|
99
|
+
`.litlaunch/reports/`, `.litlaunch/shortcuts/`, and
|
|
100
|
+
`.litlaunch/tmp/browser-profiles/`.
|
|
101
|
+
- Profile system and profile wizard for repeatable launch behavior, trust
|
|
102
|
+
modes, Streamlit flag passthrough, browser/window options, and guided local
|
|
103
|
+
configuration.
|
|
104
|
+
- Native shortcut generation with Windows `.lnk`, Linux `.desktop`, macOS
|
|
105
|
+
`.app` bundle limited-validation support, and script fallback via
|
|
106
|
+
`--kind script`.
|
|
107
|
+
- Packaged/distributed application positioning and support for workflows built
|
|
108
|
+
with tools such as PyInstaller, Inno Setup, and local desktop-style runtime
|
|
109
|
+
distributions.
|
|
110
|
+
- Console UX polish for normal, verbose, quiet, and no-color output, including
|
|
111
|
+
bounded error/cause/next-step messaging and consistent status grammar.
|
|
112
|
+
- Security/privacy posture hardening around support bundles, credential hygiene,
|
|
113
|
+
diagnostics redaction, internal docs boundaries, and release artifact policy.
|
|
114
|
+
- Release hygiene tooling for classifier/version consistency, credential
|
|
115
|
+
prefix scanning, forbidden archive entries, package artifact inspection,
|
|
116
|
+
twine checks, and installed-wheel smoke validation.
|
|
117
|
+
|
|
118
|
+
## Beta Development Era
|
|
119
|
+
|
|
120
|
+
The 0.91.x line hardened LitLaunch from a capable Streamlit launcher into a
|
|
121
|
+
runtime-governance and operational-launch layer for real applications.
|
|
122
|
+
|
|
123
|
+
Major beta-era work included:
|
|
124
|
+
|
|
125
|
+
- Runtime hardening for backend startup, health checks, browser launch,
|
|
126
|
+
graceful shutdown, port release, and repeated launch/close workflows.
|
|
127
|
+
- Browser lifecycle breakthroughs, including duplicate-tab prevention,
|
|
128
|
+
Streamlit headless ownership, managed Chromium profile isolation,
|
|
129
|
+
Edge/Chrome top-level window detection, first-run prompt suppression, and
|
|
130
|
+
monitored browser-window close-to-shutdown.
|
|
131
|
+
- Webapp/app-window monitoring improvements that made app-mode close behavior
|
|
132
|
+
explicit, testable, and reliable without weakening Ctrl+C shutdown.
|
|
133
|
+
- Runtime governance passes that introduced trust modes, exposure
|
|
134
|
+
classification, acknowledgement enforcement, TLS/transport posture, and
|
|
135
|
+
concise diagnostics summaries.
|
|
136
|
+
- Diagnostics/reporting expansion across inspect, report, HTML, JSON, support
|
|
137
|
+
bundle, browser/platform, runtime exposure, transport security, and
|
|
138
|
+
governance outputs.
|
|
139
|
+
- Generated diagnostics/support page work, moving from a generator API to a
|
|
140
|
+
polished Streamlit-native support surface with artifact controls, event
|
|
141
|
+
trail, operational visuals, and theme modes.
|
|
142
|
+
- Runtime event sink support for app-owned lifecycle trails and packaged-app
|
|
143
|
+
support logs without telemetry or built-in persistence.
|
|
144
|
+
- Profile and shortcut polish, including the profile wizard, profile
|
|
145
|
+
documentation, project-local `.litlaunch/` artifacts, and native shortcut
|
|
146
|
+
outputs.
|
|
147
|
+
- Shutdown hook maturity, including `ShutdownHookStatus`, hook visibility
|
|
148
|
+
controls, normal/verbose console behavior, and bounded hook error reporting.
|
|
149
|
+
- Public docs, CLI help, README/PyPI positioning, packaged-app messaging, and
|
|
150
|
+
cross-platform workflow alignment.
|
|
151
|
+
- Release-readiness hardening, including metadata/classifier checks,
|
|
152
|
+
credential scanning, sdist/wheel hygiene, internal docs visibility, and
|
|
153
|
+
package smoke validation.
|
|
154
|
+
|
|
155
|
+
## Alpha Development Era
|
|
156
|
+
|
|
157
|
+
The early alpha line established LitLaunch's core runtime shape and project
|
|
158
|
+
philosophy.
|
|
159
|
+
|
|
160
|
+
Major alpha-era work included:
|
|
161
|
+
|
|
162
|
+
- Initial `StreamlitLauncher` abstraction for launching Streamlit apps from
|
|
163
|
+
Python while owning the backend process.
|
|
164
|
+
- CLI foundations for launch, inspect, report, browser/platform discovery,
|
|
165
|
+
examples, and workflow help.
|
|
166
|
+
- Browser detection and launch strategies for default browser, Edge,
|
|
167
|
+
Chrome/Chromium, and app-mode/webapp behavior.
|
|
168
|
+
- Basic profile support for repeatable launch configuration and early
|
|
169
|
+
Streamlit flag passthrough.
|
|
170
|
+
- Graceful shutdown groundwork, including cleanup callbacks, backend stop
|
|
171
|
+
orchestration, and port release validation.
|
|
172
|
+
- Early diagnostics/reporting primitives for platform, Streamlit availability,
|
|
173
|
+
browser support, command preview, and app path validation.
|
|
174
|
+
- Packaged-application groundwork for local-first apps, working-directory
|
|
175
|
+
handling, app-mode launches, and installer/runtime integration scenarios.
|
|
176
|
+
- Console rendering foundations with status labels, normal/verbose output
|
|
177
|
+
shaping, and developer-facing troubleshooting guidance.
|
litlaunch-1.0.0/LICENSE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Sierra Cognitive Group, LLC
|
|
4
|
+
|
|
5
|
+
LitLaunch is developed and maintained by LatticeFoundry,
|
|
6
|
+
a software division of Sierra Cognitive Group, LLC.
|
|
7
|
+
|
|
8
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
10
|
+
in the Software without restriction, including without limitation the rights
|
|
11
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
13
|
+
furnished to do so, subject to the following conditions:
|
|
14
|
+
|
|
15
|
+
The above copyright notice and this permission notice shall be included in all
|
|
16
|
+
copies or substantial portions of the Software.
|
|
17
|
+
|
|
18
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
24
|
+
SOFTWARE.
|