lucid-framework 0.1.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.
- lucid_framework-0.1.0/.claude/settings.local.json +23 -0
- lucid_framework-0.1.0/.github/CODEOWNERS +1 -0
- lucid_framework-0.1.0/.gitignore +45 -0
- lucid_framework-0.1.0/CHANGELOG.md +30 -0
- lucid_framework-0.1.0/CODEOWNERS +1 -0
- lucid_framework-0.1.0/PKG-INFO +926 -0
- lucid_framework-0.1.0/README.md +892 -0
- lucid_framework-0.1.0/pyproject.toml +56 -0
- lucid_framework-0.1.0/src/lucid/__init__.py +35 -0
- lucid_framework-0.1.0/src/lucid/application.py +82 -0
- lucid_framework-0.1.0/src/lucid/events/__init__.py +4 -0
- lucid_framework-0.1.0/src/lucid/events/app_booted.py +6 -0
- lucid_framework-0.1.0/src/lucid/events/app_booting.py +6 -0
- lucid_framework-0.1.0/src/lucid/service_provider.py +19 -0
- lucid_framework-0.1.0/tests/__init__.py +0 -0
- lucid_framework-0.1.0/tests/test_application.py +51 -0
- lucid_framework-0.1.0/tests/test_configure.py +80 -0
- lucid_framework-0.1.0/tests/test_events.py +118 -0
- lucid_framework-0.1.0/tests/test_integration.py +247 -0
- lucid_framework-0.1.0/tests/test_make.py +66 -0
- lucid_framework-0.1.0/tests/test_providers.py +171 -0
- lucid_framework-0.1.0/tests/test_reexports.py +50 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash(pip show:*)",
|
|
5
|
+
"Bash(python3 -c \"import lucid_container; help\\(lucid_container\\)\")",
|
|
6
|
+
"Bash(python3 -c \"import lucid_pipeline; help\\(lucid_pipeline\\)\")",
|
|
7
|
+
"Bash(python3 -c \"import sys; print\\(sys.path\\)\")",
|
|
8
|
+
"Bash(python3.11 -c \"import lucid_container, lucid_config, lucid_events, lucid_pipeline; print\\('OK'\\)\")",
|
|
9
|
+
"Bash(python3.11:*)",
|
|
10
|
+
"Bash(ls /opt/homebrew/lib/python3.11/site-packages/lucid*)",
|
|
11
|
+
"Bash(xxd)",
|
|
12
|
+
"Bash(.venv/bin/pip install:*)",
|
|
13
|
+
"Bash(mkdir -p /Users/sharik.shaikh/projects/py-packages/lucid-framework/src/lucid/events)",
|
|
14
|
+
"Bash(mkdir -p /Users/sharik.shaikh/projects/py-packages/lucid-framework/tests)",
|
|
15
|
+
"Bash(.venv/bin/pytest:*)",
|
|
16
|
+
"mcp__plugin_context-mode_context-mode__execute_file",
|
|
17
|
+
"mcp__plugin_context-mode_context-mode__execute",
|
|
18
|
+
"Bash(grep:*)",
|
|
19
|
+
"Bash(python -m pytest tests/ -v --tb=short)",
|
|
20
|
+
"mcp__plugin_context-mode_context-mode__batch_execute"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @sharik709
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
*.egg
|
|
7
|
+
*.egg-info/
|
|
8
|
+
dist/
|
|
9
|
+
build/
|
|
10
|
+
.eggs/
|
|
11
|
+
*.whl
|
|
12
|
+
|
|
13
|
+
# Virtual environments
|
|
14
|
+
.venv/
|
|
15
|
+
venv/
|
|
16
|
+
env/
|
|
17
|
+
ENV/
|
|
18
|
+
|
|
19
|
+
# Testing
|
|
20
|
+
.pytest_cache/
|
|
21
|
+
.coverage
|
|
22
|
+
htmlcov/
|
|
23
|
+
.tox/
|
|
24
|
+
|
|
25
|
+
# Type checking
|
|
26
|
+
.mypy_cache/
|
|
27
|
+
|
|
28
|
+
# Linting
|
|
29
|
+
.ruff_cache/
|
|
30
|
+
|
|
31
|
+
# Environment files (personal overrides)
|
|
32
|
+
.env.local
|
|
33
|
+
.env.*.local
|
|
34
|
+
|
|
35
|
+
# IDE
|
|
36
|
+
.vscode/
|
|
37
|
+
.idea/
|
|
38
|
+
*.swp
|
|
39
|
+
*.swo
|
|
40
|
+
|
|
41
|
+
# macOS
|
|
42
|
+
.DS_Store
|
|
43
|
+
|
|
44
|
+
# Distribution
|
|
45
|
+
MANIFEST
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-04-06
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `Application` class — entry point with container, config, and event dispatcher wired at construction
|
|
13
|
+
- `app.configure(defaults, env_path)` — cascading config loading: defaults → `.env` → `.env.local` → environment variables; missing files skipped silently
|
|
14
|
+
- `app.register(ProviderClass)` — instantiates and calls `register()` immediately; raises `RuntimeError` if called after boot
|
|
15
|
+
- `app.boot()` — dispatches `AppBooting`, calls `boot()` on all providers in registration order, sets `is_booted`, dispatches `AppBooted`; idempotent
|
|
16
|
+
- `app.make(abstract)` — shorthand for `app.container.make()`
|
|
17
|
+
- `app.container`, `app.config`, `app.events` — direct property access to core sub-systems
|
|
18
|
+
- `app.is_booted` — bool property indicating boot state
|
|
19
|
+
- `ServiceProvider` base class with `self.app`, `register()`, and `boot()` hooks
|
|
20
|
+
- `AppBooting` event — dispatched at the start of `boot()`, carries `app` reference
|
|
21
|
+
- `AppBooted` event — dispatched after all providers have booted, carries `app` reference
|
|
22
|
+
- Re-exports of the full lucid ecosystem from the top-level `lucid` package: `Container`, `Config`, `ConfigContract`, `Event`, `Dispatcher`, `DispatcherContract`, `Listener`, `AsyncListener`, `Subscriber`, `Pipeline`, `AsyncPipeline`, `Pipe`, `AsyncPipe`
|
|
23
|
+
- 68 tests covering application lifecycle, configuration, container resolution, service providers, lifecycle events, re-exports, and integration scenarios
|
|
24
|
+
|
|
25
|
+
### Dependencies
|
|
26
|
+
|
|
27
|
+
- `lucid-container >= 0.1.0`
|
|
28
|
+
- `lucid-config >= 0.1.0`
|
|
29
|
+
- `lucid-events >= 0.1.0`
|
|
30
|
+
- `lucid-pipeline >= 0.1.0`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
* @sharik709
|