vibetuner 2.7.0__py3-none-any.whl → 2.18.1__py3-none-any.whl
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.
Potentially problematic release.
This version of vibetuner might be problematic. Click here for more details.
- vibetuner/cli/__init__.py +13 -2
- vibetuner/cli/run.py +0 -1
- vibetuner/cli/scaffold.py +187 -0
- vibetuner/config.py +27 -11
- vibetuner/context.py +3 -0
- vibetuner/frontend/__init__.py +7 -2
- vibetuner/frontend/lifespan.py +12 -7
- vibetuner/frontend/middleware.py +3 -3
- vibetuner/frontend/routes/auth.py +19 -13
- vibetuner/frontend/routes/debug.py +1 -1
- vibetuner/frontend/routes/health.py +4 -0
- vibetuner/frontend/routes/user.py +1 -1
- vibetuner/mongo.py +1 -1
- vibetuner/paths.py +197 -80
- vibetuner/tasks/worker.py +1 -1
- vibetuner/templates/email/{default/magic_link.html.jinja → magic_link.html.jinja} +2 -1
- vibetuner/templates/frontend/base/favicons.html.jinja +1 -1
- vibetuner/templates/frontend/base/skeleton.html.jinja +5 -2
- vibetuner/templates/frontend/debug/collections.html.jinja +2 -0
- vibetuner/templates/frontend/debug/components/debug_nav.html.jinja +6 -6
- vibetuner/templates/frontend/debug/index.html.jinja +6 -4
- vibetuner/templates/frontend/debug/info.html.jinja +2 -0
- vibetuner/templates/frontend/debug/users.html.jinja +4 -2
- vibetuner/templates/frontend/debug/version.html.jinja +2 -0
- vibetuner/templates/frontend/email_sent.html.jinja +2 -1
- vibetuner/templates/frontend/index.html.jinja +1 -0
- vibetuner/templates/frontend/login.html.jinja +8 -3
- vibetuner/templates/frontend/user/edit.html.jinja +3 -2
- vibetuner/templates/frontend/user/profile.html.jinja +2 -1
- vibetuner/templates.py +9 -15
- vibetuner/versioning.py +1 -1
- vibetuner-2.18.1.dist-info/METADATA +241 -0
- vibetuner-2.18.1.dist-info/RECORD +72 -0
- {vibetuner-2.7.0.dist-info → vibetuner-2.18.1.dist-info}/WHEEL +1 -1
- vibetuner-2.18.1.dist-info/entry_points.txt +3 -0
- vibetuner/frontend/AGENTS.md +0 -113
- vibetuner/frontend/CLAUDE.md +0 -113
- vibetuner/models/AGENTS.md +0 -165
- vibetuner/models/CLAUDE.md +0 -165
- vibetuner/services/AGENTS.md +0 -104
- vibetuner/services/CLAUDE.md +0 -104
- vibetuner/tasks/AGENTS.md +0 -98
- vibetuner/tasks/CLAUDE.md +0 -98
- vibetuner/templates/email/AGENTS.md +0 -48
- vibetuner/templates/email/CLAUDE.md +0 -48
- vibetuner/templates/frontend/AGENTS.md +0 -74
- vibetuner/templates/frontend/CLAUDE.md +0 -74
- vibetuner/templates/markdown/AGENTS.md +0 -29
- vibetuner/templates/markdown/CLAUDE.md +0 -29
- vibetuner-2.7.0.dist-info/METADATA +0 -48
- vibetuner-2.7.0.dist-info/RECORD +0 -84
- /vibetuner/templates/email/{default/magic_link.txt.jinja → magic_link.txt.jinja} +0 -0
vibetuner/tasks/CLAUDE.md
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
# Core Tasks Module
|
|
2
|
-
|
|
3
|
-
**IMMUTABLE SCAFFOLDING CODE** - This is the framework's core background task infrastructure.
|
|
4
|
-
|
|
5
|
-
## What's Here
|
|
6
|
-
|
|
7
|
-
This module contains the scaffolding's core task components:
|
|
8
|
-
|
|
9
|
-
- **worker.py** - Streaq worker setup and configuration
|
|
10
|
-
- **context.py** - Task context management (DB, HTTP client, etc.)
|
|
11
|
-
- ****init**.py** - Task infrastructure exports
|
|
12
|
-
|
|
13
|
-
## Important Rules
|
|
14
|
-
|
|
15
|
-
⚠️ **DO NOT MODIFY** these core task components directly.
|
|
16
|
-
|
|
17
|
-
**For changes to core tasks:**
|
|
18
|
-
|
|
19
|
-
- File an issue at `https://github.com/alltuner/scaffolding`
|
|
20
|
-
- Core changes benefit all projects using the scaffolding
|
|
21
|
-
|
|
22
|
-
**For your application tasks:**
|
|
23
|
-
|
|
24
|
-
- Create them in `src/app/tasks/` instead
|
|
25
|
-
- Import the worker from vibetuner: `from vibetuner.tasks.worker import worker`
|
|
26
|
-
|
|
27
|
-
## Quick Reference
|
|
28
|
-
|
|
29
|
-
Tasks are only available if job queue was enabled during scaffolding.
|
|
30
|
-
|
|
31
|
-
The worker is defined in `src/vibetuner/tasks/worker.py` and should be imported from there in your app tasks.
|
|
32
|
-
|
|
33
|
-
## User Task Pattern (for reference)
|
|
34
|
-
|
|
35
|
-
Your application tasks in `src/app/tasks/` should follow this pattern:
|
|
36
|
-
|
|
37
|
-
```python
|
|
38
|
-
# src/app/tasks/emails.py
|
|
39
|
-
from vibetuner.models import UserModel
|
|
40
|
-
from vibetuner.tasks.worker import worker
|
|
41
|
-
|
|
42
|
-
@worker.task()
|
|
43
|
-
async def send_welcome_email(user_id: str) -> dict[str, str]:
|
|
44
|
-
"""Example background job."""
|
|
45
|
-
|
|
46
|
-
# Access context
|
|
47
|
-
res = await worker.context.http_client.get(url)
|
|
48
|
-
|
|
49
|
-
if user := await UserModel.get(user_id):
|
|
50
|
-
# Perform side effects
|
|
51
|
-
return {"status": "sent", "user": user.email}
|
|
52
|
-
return {"status": "skipped"}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Queueing Tasks
|
|
56
|
-
|
|
57
|
-
```python
|
|
58
|
-
# In your routes: src/app/frontend/routes/auth.py
|
|
59
|
-
from app.tasks.emails import send_welcome_email
|
|
60
|
-
|
|
61
|
-
@router.post("/signup")
|
|
62
|
-
async def signup(email: str):
|
|
63
|
-
user = await create_user(email)
|
|
64
|
-
|
|
65
|
-
task = await send_welcome_email.enqueue(user.id)
|
|
66
|
-
# Optional: await task.result() or check task.id
|
|
67
|
-
|
|
68
|
-
return {"status": "registered", "job_id": task.id}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Note: Import your task functions from `src/app/tasks/` but the worker itself comes from `vibetuner.tasks.worker`.
|
|
72
|
-
|
|
73
|
-
## Worker Management
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
just worker-dev # Run worker locally with auto-reload
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Task Registration
|
|
80
|
-
|
|
81
|
-
Add new task modules at the end of `src/app/tasks/__init__.py`:
|
|
82
|
-
|
|
83
|
-
```python
|
|
84
|
-
# src/app/tasks/__init__.py
|
|
85
|
-
# Import your task modules so decorators register with worker
|
|
86
|
-
from . import emails # noqa: F401
|
|
87
|
-
from . import new_tasks # noqa: F401
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Monitoring
|
|
91
|
-
|
|
92
|
-
```python
|
|
93
|
-
task = await send_digest_email.enqueue(account_id)
|
|
94
|
-
|
|
95
|
-
status = await task.status()
|
|
96
|
-
result = await task.result(timeout=30)
|
|
97
|
-
await task.abort() # Cancel if needed
|
|
98
|
-
```
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Core Email Templates - DO NOT MODIFY
|
|
2
|
-
|
|
3
|
-
**⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
|
|
4
|
-
|
|
5
|
-
## How to Override
|
|
6
|
-
|
|
7
|
-
**NEVER modify files in this directory!** Instead:
|
|
8
|
-
|
|
9
|
-
1. Copy template to your project's `templates/email/`
|
|
10
|
-
2. Maintain the same directory structure
|
|
11
|
-
3. Your version overrides automatically
|
|
12
|
-
|
|
13
|
-
### Example
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Core template (DO NOT EDIT, bundled in vibetuner package):
|
|
17
|
-
vibetuner/templates/email/default/magic_link.html.jinja
|
|
18
|
-
|
|
19
|
-
# Your override (CREATE THIS in your project):
|
|
20
|
-
templates/email/default/magic_link.html.jinja
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Template Structure
|
|
24
|
-
|
|
25
|
-
```text
|
|
26
|
-
vibetuner/email/
|
|
27
|
-
└── default/
|
|
28
|
-
├── magic_link.html.jinja # Passwordless login email (HTML)
|
|
29
|
-
└── magic_link.txt.jinja # Passwordless login email (text)
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Magic Link Email
|
|
33
|
-
|
|
34
|
-
The core provides magic link authentication emails used by the auth system.
|
|
35
|
-
|
|
36
|
-
### Variables Available
|
|
37
|
-
|
|
38
|
-
- `login_url` - The magic link URL for authentication
|
|
39
|
-
- `project_name` - Your project's display name
|
|
40
|
-
|
|
41
|
-
Override these templates to customize branding, styling, and content.
|
|
42
|
-
|
|
43
|
-
## Best Practices
|
|
44
|
-
|
|
45
|
-
1. Always provide both HTML and text versions
|
|
46
|
-
2. Test overrides after scaffolding updates
|
|
47
|
-
3. Keep branding consistent across all emails
|
|
48
|
-
4. Use inline styles for HTML emails
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# Core Email Templates - DO NOT MODIFY
|
|
2
|
-
|
|
3
|
-
**⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
|
|
4
|
-
|
|
5
|
-
## How to Override
|
|
6
|
-
|
|
7
|
-
**NEVER modify files in this directory!** Instead:
|
|
8
|
-
|
|
9
|
-
1. Copy template to your project's `templates/email/`
|
|
10
|
-
2. Maintain the same directory structure
|
|
11
|
-
3. Your version overrides automatically
|
|
12
|
-
|
|
13
|
-
### Example
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Core template (DO NOT EDIT, bundled in vibetuner package):
|
|
17
|
-
vibetuner/templates/email/default/magic_link.html.jinja
|
|
18
|
-
|
|
19
|
-
# Your override (CREATE THIS in your project):
|
|
20
|
-
templates/email/default/magic_link.html.jinja
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Template Structure
|
|
24
|
-
|
|
25
|
-
```text
|
|
26
|
-
vibetuner/email/
|
|
27
|
-
└── default/
|
|
28
|
-
├── magic_link.html.jinja # Passwordless login email (HTML)
|
|
29
|
-
└── magic_link.txt.jinja # Passwordless login email (text)
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Magic Link Email
|
|
33
|
-
|
|
34
|
-
The core provides magic link authentication emails used by the auth system.
|
|
35
|
-
|
|
36
|
-
### Variables Available
|
|
37
|
-
|
|
38
|
-
- `login_url` - The magic link URL for authentication
|
|
39
|
-
- `project_name` - Your project's display name
|
|
40
|
-
|
|
41
|
-
Override these templates to customize branding, styling, and content.
|
|
42
|
-
|
|
43
|
-
## Best Practices
|
|
44
|
-
|
|
45
|
-
1. Always provide both HTML and text versions
|
|
46
|
-
2. Test overrides after scaffolding updates
|
|
47
|
-
3. Keep branding consistent across all emails
|
|
48
|
-
4. Use inline styles for HTML emails
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Core Frontend Templates - DO NOT MODIFY
|
|
2
|
-
|
|
3
|
-
**⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
|
|
4
|
-
|
|
5
|
-
## How to Override
|
|
6
|
-
|
|
7
|
-
**NEVER modify files in this directory!** Instead:
|
|
8
|
-
|
|
9
|
-
1. Copy template to your project's `templates/frontend/`
|
|
10
|
-
2. Maintain the same directory structure
|
|
11
|
-
3. Your version overrides automatically
|
|
12
|
-
|
|
13
|
-
### Example
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Core template (DO NOT EDIT, bundled in vibetuner package):
|
|
17
|
-
vibetuner/templates/frontend/base/footer.html.jinja
|
|
18
|
-
|
|
19
|
-
# Your override (CREATE THIS in your project):
|
|
20
|
-
templates/frontend/base/footer.html.jinja
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
The template system searches in order:
|
|
24
|
-
|
|
25
|
-
1. `templates/frontend/` (your project overrides)
|
|
26
|
-
2. `vibetuner/templates/frontend/` (package defaults)
|
|
27
|
-
|
|
28
|
-
## Template Structure
|
|
29
|
-
|
|
30
|
-
```text
|
|
31
|
-
vibetuner/frontend/
|
|
32
|
-
├── base/ # Core layout
|
|
33
|
-
│ ├── skeleton.html.jinja
|
|
34
|
-
│ ├── header.html.jinja
|
|
35
|
-
│ ├── footer.html.jinja
|
|
36
|
-
│ ├── opengraph.html.jinja
|
|
37
|
-
│ └── favicons.html.jinja
|
|
38
|
-
├── debug/ # Dev tools (DEBUG mode only)
|
|
39
|
-
│ ├── index.html.jinja
|
|
40
|
-
│ ├── info.html.jinja
|
|
41
|
-
│ ├── users.html.jinja
|
|
42
|
-
│ ├── collections.html.jinja
|
|
43
|
-
│ └── version.html.jinja
|
|
44
|
-
├── email/ # Email-related pages
|
|
45
|
-
│ └── magic_link templates
|
|
46
|
-
├── lang/ # Language switcher
|
|
47
|
-
│ └── select.html.jinja
|
|
48
|
-
├── meta/ # SEO and meta files
|
|
49
|
-
│ ├── robots.txt.jinja
|
|
50
|
-
│ ├── sitemap.xml.jinja
|
|
51
|
-
│ ├── site.webmanifest.jinja
|
|
52
|
-
│ └── browserconfig.xml.jinja
|
|
53
|
-
├── user/ # User account pages
|
|
54
|
-
│ ├── profile.html.jinja
|
|
55
|
-
│ └── edit.html.jinja
|
|
56
|
-
├── index.html.jinja # Default homepage
|
|
57
|
-
├── login.html.jinja # Login page
|
|
58
|
-
└── email_sent.html.jinja # Magic link sent confirmation
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Common Overrides
|
|
62
|
-
|
|
63
|
-
- `base/skeleton.html.jinja` - Add meta tags, global CSS/JS
|
|
64
|
-
- `base/header.html.jinja` - Customize navigation
|
|
65
|
-
- `base/footer.html.jinja` - Custom footer
|
|
66
|
-
- `index.html.jinja` - Custom homepage
|
|
67
|
-
|
|
68
|
-
## Best Practices
|
|
69
|
-
|
|
70
|
-
1. Override only what you need
|
|
71
|
-
2. Document why each override exists
|
|
72
|
-
3. Test after `just update-scaffolding`
|
|
73
|
-
4. Use template inheritance and blocks
|
|
74
|
-
5. Keep overrides minimal to ease updates
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Core Frontend Templates - DO NOT MODIFY
|
|
2
|
-
|
|
3
|
-
**⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
|
|
4
|
-
|
|
5
|
-
## How to Override
|
|
6
|
-
|
|
7
|
-
**NEVER modify files in this directory!** Instead:
|
|
8
|
-
|
|
9
|
-
1. Copy template to your project's `templates/frontend/`
|
|
10
|
-
2. Maintain the same directory structure
|
|
11
|
-
3. Your version overrides automatically
|
|
12
|
-
|
|
13
|
-
### Example
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Core template (DO NOT EDIT, bundled in vibetuner package):
|
|
17
|
-
vibetuner/templates/frontend/base/footer.html.jinja
|
|
18
|
-
|
|
19
|
-
# Your override (CREATE THIS in your project):
|
|
20
|
-
templates/frontend/base/footer.html.jinja
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
The template system searches in order:
|
|
24
|
-
|
|
25
|
-
1. `templates/frontend/` (your project overrides)
|
|
26
|
-
2. `vibetuner/templates/frontend/` (package defaults)
|
|
27
|
-
|
|
28
|
-
## Template Structure
|
|
29
|
-
|
|
30
|
-
```text
|
|
31
|
-
vibetuner/frontend/
|
|
32
|
-
├── base/ # Core layout
|
|
33
|
-
│ ├── skeleton.html.jinja
|
|
34
|
-
│ ├── header.html.jinja
|
|
35
|
-
│ ├── footer.html.jinja
|
|
36
|
-
│ ├── opengraph.html.jinja
|
|
37
|
-
│ └── favicons.html.jinja
|
|
38
|
-
├── debug/ # Dev tools (DEBUG mode only)
|
|
39
|
-
│ ├── index.html.jinja
|
|
40
|
-
│ ├── info.html.jinja
|
|
41
|
-
│ ├── users.html.jinja
|
|
42
|
-
│ ├── collections.html.jinja
|
|
43
|
-
│ └── version.html.jinja
|
|
44
|
-
├── email/ # Email-related pages
|
|
45
|
-
│ └── magic_link templates
|
|
46
|
-
├── lang/ # Language switcher
|
|
47
|
-
│ └── select.html.jinja
|
|
48
|
-
├── meta/ # SEO and meta files
|
|
49
|
-
│ ├── robots.txt.jinja
|
|
50
|
-
│ ├── sitemap.xml.jinja
|
|
51
|
-
│ ├── site.webmanifest.jinja
|
|
52
|
-
│ └── browserconfig.xml.jinja
|
|
53
|
-
├── user/ # User account pages
|
|
54
|
-
│ ├── profile.html.jinja
|
|
55
|
-
│ └── edit.html.jinja
|
|
56
|
-
├── index.html.jinja # Default homepage
|
|
57
|
-
├── login.html.jinja # Login page
|
|
58
|
-
└── email_sent.html.jinja # Magic link sent confirmation
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Common Overrides
|
|
62
|
-
|
|
63
|
-
- `base/skeleton.html.jinja` - Add meta tags, global CSS/JS
|
|
64
|
-
- `base/header.html.jinja` - Customize navigation
|
|
65
|
-
- `base/footer.html.jinja` - Custom footer
|
|
66
|
-
- `index.html.jinja` - Custom homepage
|
|
67
|
-
|
|
68
|
-
## Best Practices
|
|
69
|
-
|
|
70
|
-
1. Override only what you need
|
|
71
|
-
2. Document why each override exists
|
|
72
|
-
3. Test after `just update-scaffolding`
|
|
73
|
-
4. Use template inheritance and blocks
|
|
74
|
-
5. Keep overrides minimal to ease updates
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Core Markdown Templates - DO NOT MODIFY
|
|
2
|
-
|
|
3
|
-
**⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
|
|
4
|
-
|
|
5
|
-
## How to Override
|
|
6
|
-
|
|
7
|
-
**NEVER modify files in this directory!** Instead:
|
|
8
|
-
|
|
9
|
-
1. Copy template to your project's `templates/markdown/`
|
|
10
|
-
2. Maintain the same directory structure
|
|
11
|
-
3. Your version overrides automatically
|
|
12
|
-
|
|
13
|
-
### Example
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Core template (if exists, bundled in vibetuner package):
|
|
17
|
-
vibetuner/templates/markdown/default/template.md.jinja
|
|
18
|
-
|
|
19
|
-
# Your override (CREATE THIS in your project):
|
|
20
|
-
templates/markdown/default/template.md.jinja
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Template Structure
|
|
24
|
-
|
|
25
|
-
Currently, no core markdown templates are provided by the package.
|
|
26
|
-
|
|
27
|
-
This directory is a placeholder for potential future package markdown templates.
|
|
28
|
-
|
|
29
|
-
All markdown templates should be created in `templates/markdown/`.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Core Markdown Templates - DO NOT MODIFY
|
|
2
|
-
|
|
3
|
-
**⚠️ IMPORTANT**: Package-managed files. Changes will be lost on package updates.
|
|
4
|
-
|
|
5
|
-
## How to Override
|
|
6
|
-
|
|
7
|
-
**NEVER modify files in this directory!** Instead:
|
|
8
|
-
|
|
9
|
-
1. Copy template to your project's `templates/markdown/`
|
|
10
|
-
2. Maintain the same directory structure
|
|
11
|
-
3. Your version overrides automatically
|
|
12
|
-
|
|
13
|
-
### Example
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
# Core template (if exists, bundled in vibetuner package):
|
|
17
|
-
vibetuner/templates/markdown/default/template.md.jinja
|
|
18
|
-
|
|
19
|
-
# Your override (CREATE THIS in your project):
|
|
20
|
-
templates/markdown/default/template.md.jinja
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Template Structure
|
|
24
|
-
|
|
25
|
-
Currently, no core markdown templates are provided by the package.
|
|
26
|
-
|
|
27
|
-
This directory is a placeholder for potential future package markdown templates.
|
|
28
|
-
|
|
29
|
-
All markdown templates should be created in `templates/markdown/`.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: vibetuner
|
|
3
|
-
Version: 2.7.0
|
|
4
|
-
Summary: Blessed Python dependencies for Vibetuner projects
|
|
5
|
-
Requires-Dist: aioboto3>=15.5.0
|
|
6
|
-
Requires-Dist: arel>=0.4.0
|
|
7
|
-
Requires-Dist: asyncer>=0.0.10
|
|
8
|
-
Requires-Dist: authlib>=1.6.5
|
|
9
|
-
Requires-Dist: beanie[zstd]>=2.0.0
|
|
10
|
-
Requires-Dist: click>=8.3.0
|
|
11
|
-
Requires-Dist: email-validator>=2.3.0
|
|
12
|
-
Requires-Dist: fastapi[standard-no-fastapi-cloud-cli]>=0.120.4
|
|
13
|
-
Requires-Dist: granian[pname]>=2.5.6
|
|
14
|
-
Requires-Dist: httpx[http2]>=0.28.1
|
|
15
|
-
Requires-Dist: itsdangerous>=2.2.0
|
|
16
|
-
Requires-Dist: loguru>=0.7.3
|
|
17
|
-
Requires-Dist: pydantic[email]>=2.12.3
|
|
18
|
-
Requires-Dist: pydantic-extra-types[pycountry]>=2.10.6
|
|
19
|
-
Requires-Dist: pydantic-settings>=2.11.0
|
|
20
|
-
Requires-Dist: pyyaml>=6.0.3
|
|
21
|
-
Requires-Dist: redis[hiredis]>=7.0.1
|
|
22
|
-
Requires-Dist: rich>=14.2.0
|
|
23
|
-
Requires-Dist: sse-starlette>=3.0.3
|
|
24
|
-
Requires-Dist: starlette-babel>=1.0.3
|
|
25
|
-
Requires-Dist: starlette-htmx>=0.1.1
|
|
26
|
-
Requires-Dist: streaq[web]<6.0.0
|
|
27
|
-
Requires-Dist: typer-slim[standard]>=0.20.0
|
|
28
|
-
Requires-Dist: babel>=2.17.0 ; extra == 'dev'
|
|
29
|
-
Requires-Dist: cloudflare>=4.3.1 ; extra == 'dev'
|
|
30
|
-
Requires-Dist: copier>=9.9.0,<9.9.1 ; extra == 'dev'
|
|
31
|
-
Requires-Dist: djlint>=1.36.4 ; extra == 'dev'
|
|
32
|
-
Requires-Dist: dunamai>=1.25.0 ; extra == 'dev'
|
|
33
|
-
Requires-Dist: gh-bin>=2.81.0 ; extra == 'dev'
|
|
34
|
-
Requires-Dist: granian[pname,reload]>=2.5.6 ; extra == 'dev'
|
|
35
|
-
Requires-Dist: just-bin>=1.43.0 ; extra == 'dev'
|
|
36
|
-
Requires-Dist: pre-commit>=4.3.0 ; extra == 'dev'
|
|
37
|
-
Requires-Dist: pysemver>=0.5.0 ; extra == 'dev'
|
|
38
|
-
Requires-Dist: ruff>=0.14.3 ; extra == 'dev'
|
|
39
|
-
Requires-Dist: rumdl>=0.0.170 ; extra == 'dev'
|
|
40
|
-
Requires-Dist: semver>=3.0.4 ; extra == 'dev'
|
|
41
|
-
Requires-Dist: taplo>=0.9.3 ; extra == 'dev'
|
|
42
|
-
Requires-Dist: ty>=0.0.1a25 ; extra == 'dev'
|
|
43
|
-
Requires-Dist: types-aioboto3[s3,ses]>=15.5.0 ; extra == 'dev'
|
|
44
|
-
Requires-Dist: types-authlib>=1.6.5.20251005 ; extra == 'dev'
|
|
45
|
-
Requires-Dist: types-pyyaml>=6.0.12.20250915 ; extra == 'dev'
|
|
46
|
-
Requires-Dist: uv-bump>=0.3.1 ; extra == 'dev'
|
|
47
|
-
Requires-Python: >=3.10
|
|
48
|
-
Provides-Extra: dev
|
vibetuner-2.7.0.dist-info/RECORD
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
vibetuner/__init__.py,sha256=rFIVCmxkKTT_g477V8biCw0lgpudyuUabXhYxg189lY,90
|
|
2
|
-
vibetuner/__main__.py,sha256=Ye9oBAgXhcYQ4I4yZli3TIXF5lWQ9yY4tTPs4XnDDUY,29
|
|
3
|
-
vibetuner/cli/__init__.py,sha256=-DM7TxG9FJKCjTXpNNVSKwtl_Nn3TEg_2OYRJNsLObY,1741
|
|
4
|
-
vibetuner/cli/run.py,sha256=Cq7dkHBByTNVca7PY01R5ZNvtCqRbRM5J6ufTSh_rNo,5044
|
|
5
|
-
vibetuner/config.py,sha256=kkGU0sht9YA_EOnqqg4MVNDykQQwV3mAFJRZPc8ERJM,3491
|
|
6
|
-
vibetuner/context.py,sha256=VdgfX-SFmVwiwKPFID4ElIRnFADTlagqsh9RKXNiLCs,725
|
|
7
|
-
vibetuner/frontend/AGENTS.md,sha256=mds0nTl3RBblTA7EFhC9dxx86mn1FH5ESXNSj_1R1Jk,3253
|
|
8
|
-
vibetuner/frontend/CLAUDE.md,sha256=mds0nTl3RBblTA7EFhC9dxx86mn1FH5ESXNSj_1R1Jk,3253
|
|
9
|
-
vibetuner/frontend/__init__.py,sha256=7-zht4ssnuWyTy3Yv7SO3ikBhZq2H096em4C0TIJ7c8,2807
|
|
10
|
-
vibetuner/frontend/context.py,sha256=yd9mJ8Cj9AUeHE533dofEoyCkw6oSPowdq397whfN_s,169
|
|
11
|
-
vibetuner/frontend/deps.py,sha256=b3ocC_ryaK2Jp51SfcFqckrXiaL7V-chkFRqLjzgA_c,1296
|
|
12
|
-
vibetuner/frontend/email.py,sha256=k0d7FCZCge5VYOKp3fLsbx7EA5_SrtBkpMs57o4W7u0,1119
|
|
13
|
-
vibetuner/frontend/hotreload.py,sha256=Gl7FIKJaiCVVoyWQqdErBUOKDP1cGBFUpGzqHMiJd10,285
|
|
14
|
-
vibetuner/frontend/lifespan.py,sha256=SDLcsfyQoa1H13KeISWPhe3B28oDF9L2TpZnyOos-N0,525
|
|
15
|
-
vibetuner/frontend/middleware.py,sha256=dzurBZ6pWdterjbeypU-H2RT8Y9gDgWow9KxprmhAx8,4951
|
|
16
|
-
vibetuner/frontend/oauth.py,sha256=EzEwoOZ_8xn_CiqAWpNoEdhV2NPxZKKwF2bA6W6Bkj0,5884
|
|
17
|
-
vibetuner/frontend/routes/__init__.py,sha256=nHhiylHIUPZ2R-Bd7vXEGHLJBQ7fNuzPTJodjJR3lyc,428
|
|
18
|
-
vibetuner/frontend/routes/auth.py,sha256=wq69axvOAqzU1QY6u-SFos2J3V_F4IOa-6cDIm0Z_8k,4062
|
|
19
|
-
vibetuner/frontend/routes/debug.py,sha256=1YHM_y0FSfA6RON5acVHmnhtKCFiCj57eAzp5AkYWXc,12735
|
|
20
|
-
vibetuner/frontend/routes/health.py,sha256=U5sA5E2ot-4qbCnNbJs98Djy0D5DvwKsofm68h6LQrI,817
|
|
21
|
-
vibetuner/frontend/routes/language.py,sha256=wHNfdewqWfK-2JLXwglu0Q0b_e00HFGd0A2-PYT44LE,1240
|
|
22
|
-
vibetuner/frontend/routes/meta.py,sha256=pSyIxQsiB0QZSYwCQbS07KhkT5oHC5r9jvjUDIqZRGw,1409
|
|
23
|
-
vibetuner/frontend/routes/user.py,sha256=DnewxYkiU0uiheNrzVyaAWfOk8jreJGTNrGuYf3DVCc,2658
|
|
24
|
-
vibetuner/frontend/templates.py,sha256=1k2jCGBdMx9U9RDcHmuO6fiNEXrRYZ0Mzk51H9XAlrM,5322
|
|
25
|
-
vibetuner/logging.py,sha256=9eNofqVtKZCBDS33NbBI7Sv2875gM8MNStTSCjX2AXQ,2409
|
|
26
|
-
vibetuner/models/AGENTS.md,sha256=5wtNuzZFA8R3A1DGA0ackzO3JsKZPSc_WHuWu8bT-YA,3809
|
|
27
|
-
vibetuner/models/CLAUDE.md,sha256=5wtNuzZFA8R3A1DGA0ackzO3JsKZPSc_WHuWu8bT-YA,3809
|
|
28
|
-
vibetuner/models/__init__.py,sha256=JvmQvzDIxaI7zlk-ROCWEbuzxXSUOqCshINUjgu-AfQ,325
|
|
29
|
-
vibetuner/models/blob.py,sha256=F30HFS4Z_Bji_PGPflWIv4dOwqKLsEWQHcjW1Oz_79M,2523
|
|
30
|
-
vibetuner/models/email_verification.py,sha256=iwDnbPhceugY6vQZwyp0AKCEID61NbAxqA7tdQKHHAI,2488
|
|
31
|
-
vibetuner/models/mixins.py,sha256=934aAcdos_SlDMyiARBV8dhhClgtaVpf0O7OJf4d6YQ,3053
|
|
32
|
-
vibetuner/models/oauth.py,sha256=BdOZbW47Das9ntHTtRmVdl1lB5zLCcXW2fyVJ-tQ_F8,1509
|
|
33
|
-
vibetuner/models/registry.py,sha256=O5YG7vOrWluqpH5N7m44v72wbscMhU_Pu3TJw_u0MTk,311
|
|
34
|
-
vibetuner/models/types.py,sha256=Lj3ASEvx5eNgQMcVhNyKQHHolJqDxj2yH8S-M9oa4J8,402
|
|
35
|
-
vibetuner/models/user.py,sha256=ttcSH4mVREPhA6bCFUWXKfJ9_8_Iq3lEYXe3rDrslw4,2696
|
|
36
|
-
vibetuner/mongo.py,sha256=7Rszo86xJQSyElH5z_qA-Tc8Q0078nthPxG7heUG0gA,512
|
|
37
|
-
vibetuner/paths.py,sha256=BYN59PKbcs8x7b6GD_P9K39pxmZdlnPZ5aRxV4TooNw,3931
|
|
38
|
-
vibetuner/services/AGENTS.md,sha256=-0_QNcASfPv_a2dWMpnAQh4wdH7kgvskuRpxwF7d4Vo,2323
|
|
39
|
-
vibetuner/services/CLAUDE.md,sha256=-0_QNcASfPv_a2dWMpnAQh4wdH7kgvskuRpxwF7d4Vo,2323
|
|
40
|
-
vibetuner/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
-
vibetuner/services/blob.py,sha256=-lEGIWe30yR2IuTfy5bB9Sg_PX0HoYC_WMTQ3VN28gU,5660
|
|
42
|
-
vibetuner/services/email.py,sha256=IavJZS5MI40LlF_cjBpPPRx_S2r1JD4GcFg3-dWkzPA,1626
|
|
43
|
-
vibetuner/tasks/AGENTS.md,sha256=Gn-eUjAU7xnIf0b0p56klw2QR7O7wLyJ5ENoTkBKBeQ,2588
|
|
44
|
-
vibetuner/tasks/CLAUDE.md,sha256=Gn-eUjAU7xnIf0b0p56klw2QR7O7wLyJ5ENoTkBKBeQ,2588
|
|
45
|
-
vibetuner/tasks/__init__.py,sha256=uETtKOA5rJ48NBx-LN4niRJDzkb6--NHAPW3jReHABI,71
|
|
46
|
-
vibetuner/tasks/context.py,sha256=FOFUDWGNo1h8G8qlE-1Gbkh-Kd1z3WZTqSMHkvZ68v8,869
|
|
47
|
-
vibetuner/tasks/worker.py,sha256=UUknSuVl0orXl3hrW8EPpaGgRI8wYoVm-p5FnDki0Gc,437
|
|
48
|
-
vibetuner/templates/email/AGENTS.md,sha256=oRCocZqDM0qKCg6REwU-MwTtDbDTbL5DwpmkshVhIEY,1274
|
|
49
|
-
vibetuner/templates/email/CLAUDE.md,sha256=oRCocZqDM0qKCg6REwU-MwTtDbDTbL5DwpmkshVhIEY,1274
|
|
50
|
-
vibetuner/templates/email/default/magic_link.html.jinja,sha256=7npaw9XzttjAe4Y5pk7J47eZJ3K0vR_h7Dz01YT3Xis,567
|
|
51
|
-
vibetuner/templates/email/default/magic_link.txt.jinja,sha256=dANak9ion1cpILt45V3GcI2qnL_gKFPj7PsZKYV0m5s,200
|
|
52
|
-
vibetuner/templates/frontend/AGENTS.md,sha256=LHUslpKlYJ2eQXY7s3uyuAvhyCIoK_6Qox0O0rwIuaI,2299
|
|
53
|
-
vibetuner/templates/frontend/CLAUDE.md,sha256=LHUslpKlYJ2eQXY7s3uyuAvhyCIoK_6Qox0O0rwIuaI,2299
|
|
54
|
-
vibetuner/templates/frontend/base/favicons.html.jinja,sha256=TIFiB013aWvQN1zMuHK9K_10AS2zjW7ZtWCxJJmD1kg,70
|
|
55
|
-
vibetuner/templates/frontend/base/footer.html.jinja,sha256=P5EKssUk-HHz0yFE3auj1WtSqsJxAzi39XbRxjBtLLg,165
|
|
56
|
-
vibetuner/templates/frontend/base/header.html.jinja,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
|
-
vibetuner/templates/frontend/base/opengraph.html.jinja,sha256=wjmLAE3C4OZqxPhPCce1kD3XDN-BZgp3v0GwlToUoBc,419
|
|
58
|
-
vibetuner/templates/frontend/base/skeleton.html.jinja,sha256=fEMGjE7pXQphsqMlPh-CEXfwNJgjtzbUO_86QvEz92Y,1695
|
|
59
|
-
vibetuner/templates/frontend/debug/collections.html.jinja,sha256=YpvUaqKJDQ_Rre1p-Yh5mc2FBSxUbQRAkAtGCFvQidc,7092
|
|
60
|
-
vibetuner/templates/frontend/debug/components/debug_nav.html.jinja,sha256=czC5xsguAU3m-LC_DDna067B-pJY9k-i7hXRh5hihHY,2963
|
|
61
|
-
vibetuner/templates/frontend/debug/index.html.jinja,sha256=FGIvBfmOGJ0OI2_e8oYiFQ9WCLjy2e-aIxyM6qdIzW8,4890
|
|
62
|
-
vibetuner/templates/frontend/debug/info.html.jinja,sha256=lylzLX-K2TbDq8SmrLOzo8rKUng3njmkwQAgmFNqy5I,14966
|
|
63
|
-
vibetuner/templates/frontend/debug/users.html.jinja,sha256=CqC1lBGsuea-JgIqgeQAHRUILtZbRMCC4kVotifTUc8,7767
|
|
64
|
-
vibetuner/templates/frontend/debug/version.html.jinja,sha256=nLh_zUzkO5OuyYHs_SH3Bu9Fa2b2N-YJLiQBTTmQVJM,2899
|
|
65
|
-
vibetuner/templates/frontend/email/magic_link.txt.jinja,sha256=fTVl3Wjfvp3EJAB5DYt01EL_O7o9r8lHedDH05YP44c,192
|
|
66
|
-
vibetuner/templates/frontend/email_sent.html.jinja,sha256=Cpvzza80v9KmON66hKmhwIgvd9tkhjhM7O8qe0YLjF4,5235
|
|
67
|
-
vibetuner/templates/frontend/index.html.jinja,sha256=P4pcI1JKrr5YBMGbgjTSrKlvORRgzi87VvNKsh1B5GE,924
|
|
68
|
-
vibetuner/templates/frontend/lang/select.html.jinja,sha256=4jHo8QWvMOIeK_KqHzSaDzgvuT3v8MlmjTrrYIl2sjk,224
|
|
69
|
-
vibetuner/templates/frontend/login.html.jinja,sha256=9jzEyeCdB2Xe_braaojf1lCLH0qaLN6-lPUHPoGfGRM,5365
|
|
70
|
-
vibetuner/templates/frontend/meta/browserconfig.xml.jinja,sha256=5DE-Dowxw3fRg4UJerW6tVrUYdHWUsUOfS_YucoRVXQ,300
|
|
71
|
-
vibetuner/templates/frontend/meta/robots.txt.jinja,sha256=SUBJqQCOW5FFdD4uIkReo04NcAYnjITLyB4Wk1wBcS4,46
|
|
72
|
-
vibetuner/templates/frontend/meta/site.webmanifest.jinja,sha256=QCg2Z2GXd2AwJ3C8CnW9Brvu3cbXcZiquLNEzA8FsOc,150
|
|
73
|
-
vibetuner/templates/frontend/meta/sitemap.xml.jinja,sha256=IhBjk7p5OdqszyK6DR3eUAdeAucKk2s_PpnOfYxgNCo,170
|
|
74
|
-
vibetuner/templates/frontend/user/edit.html.jinja,sha256=nMaEjcT7VZy_eHa108HCrsV1KrKXFFa02A2k9RhbHp0,5442
|
|
75
|
-
vibetuner/templates/frontend/user/profile.html.jinja,sha256=A3Tqs6mCtXcCTirZ0ZNGjCs2RM_8g4MP2LkutzsDsxQ,9963
|
|
76
|
-
vibetuner/templates/markdown/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
77
|
-
vibetuner/templates/markdown/AGENTS.md,sha256=jcvoQNazCj-t54s0gr-4_qyxLMP8iPf2urlaAj887n0,814
|
|
78
|
-
vibetuner/templates/markdown/CLAUDE.md,sha256=jcvoQNazCj-t54s0gr-4_qyxLMP8iPf2urlaAj887n0,814
|
|
79
|
-
vibetuner/templates.py,sha256=o4Y83mx-F64pd8oKFUaj_Cgn1a7WJIphld9puqGuDMo,5153
|
|
80
|
-
vibetuner/time.py,sha256=3_DtveCCzI20ocTnAlTh2u7FByUXtINaUoQZO-_uZow,1188
|
|
81
|
-
vibetuner/versioning.py,sha256=vygq-fCbMoTMPTDtiUq8cd5LHkF0Sw6B2iTDbBF4bnE,154
|
|
82
|
-
vibetuner-2.7.0.dist-info/WHEEL,sha256=5w2T7AS2mz1-rW9CNagNYWRCaB0iQqBMYLwKdlgiR4Q,78
|
|
83
|
-
vibetuner-2.7.0.dist-info/METADATA,sha256=T62jJffzG7O-hLlXW2QpX65D7d6jV1E-R6qMgH3DKis,1956
|
|
84
|
-
vibetuner-2.7.0.dist-info/RECORD,,
|
|
File without changes
|