vibetuner 2.26.9__py3-none-any.whl → 2.44.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 +2 -17
- vibetuner/cli/db.py +40 -0
- vibetuner/cli/run.py +126 -110
- vibetuner/cli/scaffold.py +7 -0
- vibetuner/config.py +55 -3
- vibetuner/frontend/__init__.py +1 -0
- vibetuner/frontend/lifespan.py +7 -2
- vibetuner/frontend/middleware.py +0 -25
- vibetuner/frontend/proxy.py +14 -0
- vibetuner/frontend/routes/debug.py +41 -31
- vibetuner/frontend/templates.py +81 -0
- vibetuner/mongo.py +55 -15
- vibetuner/paths.py +16 -13
- vibetuner/services/blob.py +31 -45
- vibetuner/services/email.py +14 -15
- vibetuner/services/s3_storage.py +454 -0
- vibetuner/sqlmodel.py +109 -0
- vibetuner/tasks/lifespan.py +7 -2
- vibetuner/tasks/worker.py +9 -8
- vibetuner/templates/frontend/email_sent.html.jinja +1 -1
- vibetuner/templates/frontend/index.html.jinja +2 -2
- vibetuner/templates/frontend/login.html.jinja +1 -1
- vibetuner/templates/frontend/user/edit.html.jinja +1 -1
- vibetuner/templates/frontend/user/profile.html.jinja +1 -1
- {vibetuner-2.26.9.dist-info → vibetuner-2.44.1.dist-info}/METADATA +39 -29
- {vibetuner-2.26.9.dist-info → vibetuner-2.44.1.dist-info}/RECORD +28 -24
- {vibetuner-2.26.9.dist-info → vibetuner-2.44.1.dist-info}/WHEEL +1 -1
- {vibetuner-2.26.9.dist-info → vibetuner-2.44.1.dist-info}/entry_points.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: vibetuner
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.44.1
|
|
4
4
|
Summary: Core Python framework and blessed dependencies for production-ready FastAPI + MongoDB + HTMX projects
|
|
5
5
|
Keywords: fastapi,mongodb,htmx,web-framework,scaffolding,oauth,background-jobs
|
|
6
6
|
Author: All Tuner Labs, S.L.
|
|
@@ -18,46 +18,50 @@ Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
|
|
|
18
18
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
19
19
|
Requires-Dist: aioboto3>=15.5.0
|
|
20
20
|
Requires-Dist: arel>=0.4.0
|
|
21
|
-
Requires-Dist: asyncer>=0.0.
|
|
22
|
-
Requires-Dist: authlib>=1.6.
|
|
23
|
-
Requires-Dist: beanie[zstd]>=2.0.
|
|
21
|
+
Requires-Dist: asyncer>=0.0.12
|
|
22
|
+
Requires-Dist: authlib>=1.6.6
|
|
23
|
+
Requires-Dist: beanie[zstd]>=2.0.1
|
|
24
24
|
Requires-Dist: click>=8.3.1
|
|
25
|
-
Requires-Dist: copier>=9.
|
|
25
|
+
Requires-Dist: copier>=9.11.0,<9.11.1
|
|
26
26
|
Requires-Dist: email-validator>=2.3.0
|
|
27
|
-
Requires-Dist: fastapi[standard-no-fastapi-cloud-cli]>=0.
|
|
28
|
-
Requires-Dist: granian[pname]>=2.6.
|
|
27
|
+
Requires-Dist: fastapi[standard-no-fastapi-cloud-cli]>=0.128.0
|
|
28
|
+
Requires-Dist: granian[pname]>=2.6.1
|
|
29
29
|
Requires-Dist: httpx[http2]>=0.28.1
|
|
30
30
|
Requires-Dist: itsdangerous>=2.2.0
|
|
31
31
|
Requires-Dist: loguru>=0.7.3
|
|
32
|
-
Requires-Dist: pydantic[email]>=2.12.
|
|
33
|
-
Requires-Dist: pydantic-extra-types[pycountry]>=2.
|
|
32
|
+
Requires-Dist: pydantic[email]>=2.12.5
|
|
33
|
+
Requires-Dist: pydantic-extra-types[pycountry]>=2.11.0
|
|
34
34
|
Requires-Dist: pydantic-settings>=2.12.0
|
|
35
35
|
Requires-Dist: pyyaml>=6.0.3
|
|
36
|
-
Requires-Dist: redis[hiredis]>=7.0
|
|
36
|
+
Requires-Dist: redis[hiredis]>=7.1.0
|
|
37
37
|
Requires-Dist: rich>=14.2.0
|
|
38
|
-
Requires-Dist: sse-starlette>=3.
|
|
38
|
+
Requires-Dist: sse-starlette>=3.1.2
|
|
39
39
|
Requires-Dist: starlette-babel>=1.0.3
|
|
40
40
|
Requires-Dist: starlette-htmx>=0.1.1
|
|
41
41
|
Requires-Dist: streaq[web]<6.0.0
|
|
42
|
-
Requires-Dist: typer-slim[standard]>=0.
|
|
42
|
+
Requires-Dist: typer-slim[standard]>=0.21.1
|
|
43
|
+
Requires-Dist: deprecated>=1.3.1
|
|
44
|
+
Requires-Dist: sqlmodel>=0.0.31
|
|
43
45
|
Requires-Dist: babel>=2.17.0 ; extra == 'dev'
|
|
44
46
|
Requires-Dist: cloudflare>=4.3.1 ; extra == 'dev'
|
|
45
47
|
Requires-Dist: djlint>=1.36.4 ; extra == 'dev'
|
|
46
48
|
Requires-Dist: dunamai>=1.25.0 ; extra == 'dev'
|
|
47
|
-
Requires-Dist: gh-bin>=2.83.
|
|
48
|
-
Requires-Dist: granian[pname,reload]>=2.6.
|
|
49
|
-
Requires-Dist: just-bin>=1.
|
|
50
|
-
Requires-Dist:
|
|
49
|
+
Requires-Dist: gh-bin>=2.83.2 ; extra == 'dev'
|
|
50
|
+
Requires-Dist: granian[pname,reload]>=2.6.1 ; extra == 'dev'
|
|
51
|
+
Requires-Dist: just-bin>=1.46.0 ; extra == 'dev'
|
|
52
|
+
Requires-Dist: prek==0.2.25 ; extra == 'dev'
|
|
51
53
|
Requires-Dist: pysemver>=0.5.0 ; extra == 'dev'
|
|
52
|
-
Requires-Dist: ruff>=0.14.
|
|
53
|
-
Requires-Dist: rumdl>=0.0.
|
|
54
|
+
Requires-Dist: ruff>=0.14.10 ; extra == 'dev'
|
|
55
|
+
Requires-Dist: rumdl>=0.0.211 ; extra == 'dev'
|
|
54
56
|
Requires-Dist: semver>=3.0.4 ; extra == 'dev'
|
|
55
57
|
Requires-Dist: taplo>=0.9.3 ; extra == 'dev'
|
|
56
|
-
Requires-Dist: ty>=0.0.
|
|
58
|
+
Requires-Dist: ty>=0.0.9 ; extra == 'dev'
|
|
57
59
|
Requires-Dist: types-aioboto3[s3,ses]>=15.5.0 ; extra == 'dev'
|
|
58
|
-
Requires-Dist: types-authlib>=1.6.
|
|
60
|
+
Requires-Dist: types-authlib>=1.6.6.20251220 ; extra == 'dev'
|
|
59
61
|
Requires-Dist: types-pyyaml>=6.0.12.20250915 ; extra == 'dev'
|
|
60
|
-
Requires-Dist: uv-bump>=0.
|
|
62
|
+
Requires-Dist: uv-bump>=0.4.0 ; extra == 'dev'
|
|
63
|
+
Requires-Dist: pytest>=9.0.2 ; extra == 'test'
|
|
64
|
+
Requires-Dist: pytest-asyncio>=1.3.0 ; extra == 'test'
|
|
61
65
|
Requires-Python: >=3.11
|
|
62
66
|
Project-URL: Changelog, https://github.com/alltuner/vibetuner/blob/main/CHANGELOG.md
|
|
63
67
|
Project-URL: Documentation, https://vibetuner.alltuner.com/
|
|
@@ -65,6 +69,7 @@ Project-URL: Homepage, https://vibetuner.alltuner.com/
|
|
|
65
69
|
Project-URL: Issues, https://github.com/alltuner/vibetuner/issues
|
|
66
70
|
Project-URL: Repository, https://github.com/alltuner/vibetuner
|
|
67
71
|
Provides-Extra: dev
|
|
72
|
+
Provides-Extra: test
|
|
68
73
|
Description-Content-Type: text/markdown
|
|
69
74
|
|
|
70
75
|
# vibetuner
|
|
@@ -77,13 +82,13 @@ authentication, background jobs, and CLI tools.
|
|
|
77
82
|
|
|
78
83
|
## What is Vibetuner?
|
|
79
84
|
|
|
80
|
-
Vibetuner is a production-ready scaffolding tool for FastAPI
|
|
85
|
+
Vibetuner is a production-ready scaffolding tool for FastAPI web applications.
|
|
81
86
|
This package (`vibetuner`) is the Python component that provides:
|
|
82
87
|
|
|
83
88
|
- Complete web application framework built on FastAPI
|
|
84
|
-
-
|
|
89
|
+
- **Flexible database support**: MongoDB (Beanie ODM) or SQL (SQLModel/SQLAlchemy)
|
|
85
90
|
- OAuth and magic link authentication out of the box
|
|
86
|
-
- Background job processing with Redis + Streaq
|
|
91
|
+
- Background job processing with Redis + Streaq (optional)
|
|
87
92
|
- CLI framework with Typer
|
|
88
93
|
- Email services, blob storage, and more
|
|
89
94
|
|
|
@@ -131,18 +136,20 @@ This will generate a complete project with:
|
|
|
131
136
|
- **`models/`**: User, OAuth, email verification, blob storage models
|
|
132
137
|
- **`services/`**: Email (SES), blob storage (S3)
|
|
133
138
|
- **`tasks/`**: Background job infrastructure
|
|
134
|
-
- **`cli/`**: CLI framework with scaffold, run commands
|
|
139
|
+
- **`cli/`**: CLI framework with scaffold, run, db commands
|
|
135
140
|
- **`config.py`**: Pydantic settings management
|
|
136
|
-
- **`mongo.py`**: MongoDB/Beanie setup
|
|
141
|
+
- **`mongo.py`**: MongoDB/Beanie setup (optional)
|
|
142
|
+
- **`sqlmodel.py`**: SQLModel/SQLAlchemy setup (optional)
|
|
137
143
|
- **`logging.py`**: Structured logging configuration
|
|
138
144
|
|
|
139
145
|
### Blessed Dependencies
|
|
140
146
|
|
|
141
147
|
- **FastAPI** (0.121+): Modern, fast web framework
|
|
142
|
-
- **Beanie**: Async MongoDB ODM with Pydantic
|
|
148
|
+
- **Beanie**: Async MongoDB ODM with Pydantic (optional)
|
|
149
|
+
- **SQLModel** + **SQLAlchemy**: SQL databases - PostgreSQL, MySQL, SQLite (optional)
|
|
143
150
|
- **Authlib**: OAuth 1.0/2.0 client
|
|
144
151
|
- **Granian**: High-performance ASGI server
|
|
145
|
-
- **Redis** + **Streaq**: Background task processing
|
|
152
|
+
- **Redis** + **Streaq**: Background task processing (optional)
|
|
146
153
|
- **Typer**: CLI framework
|
|
147
154
|
- **Rich**: Beautiful terminal output
|
|
148
155
|
- **Loguru**: Structured logging
|
|
@@ -162,6 +169,9 @@ vibetuner scaffold new my-project --defaults
|
|
|
162
169
|
# Update existing project
|
|
163
170
|
vibetuner scaffold update
|
|
164
171
|
|
|
172
|
+
# Database management (SQLModel)
|
|
173
|
+
vibetuner db create-schema # Create SQL database tables
|
|
174
|
+
|
|
165
175
|
# Run development server (in generated projects)
|
|
166
176
|
vibetuner run dev frontend
|
|
167
177
|
vibetuner run dev worker
|
|
@@ -177,7 +187,7 @@ The `[dev]` extra includes all tools needed for development:
|
|
|
177
187
|
|
|
178
188
|
- **Ruff**: Fast linting and formatting
|
|
179
189
|
- **Babel**: i18n message extraction
|
|
180
|
-
- **pre-commit**: Git hooks
|
|
190
|
+
- **pre-commit**: Git hooks (prek is a fast pre-commit drop-in replacement)
|
|
181
191
|
- **Type stubs**: For aioboto3, authlib, PyYAML
|
|
182
192
|
- And more...
|
|
183
193
|
|
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
vibetuner/__init__.py,sha256=rFIVCmxkKTT_g477V8biCw0lgpudyuUabXhYxg189lY,90
|
|
2
2
|
vibetuner/__main__.py,sha256=Ye9oBAgXhcYQ4I4yZli3TIXF5lWQ9yY4tTPs4XnDDUY,29
|
|
3
|
-
vibetuner/cli/__init__.py,sha256=
|
|
4
|
-
vibetuner/cli/
|
|
5
|
-
vibetuner/cli/
|
|
6
|
-
vibetuner/
|
|
3
|
+
vibetuner/cli/__init__.py,sha256=Lt3UAQaT8yA0uQYecT915DS_-FiyHg6xdp4deHuP9Gk,3612
|
|
4
|
+
vibetuner/cli/db.py,sha256=fH4gJjMZv6na8uIPgE5Fiv-cGWedegYTLUB2lTxbTR0,1217
|
|
5
|
+
vibetuner/cli/run.py,sha256=1zN0W-cBNlYq3uP3Say1TG6ex9FkkuSBkI35wGqMTNA,5323
|
|
6
|
+
vibetuner/cli/scaffold.py,sha256=o_2BrJ86ZD1lZIC_fcOvHomLTezzfmneabHIv7vM1YE,5968
|
|
7
|
+
vibetuner/config.py,sha256=wtyHvkN2GLHOHDDqnnJPnFTgj3QZ_kBGkUG7PKcUHWg,5747
|
|
7
8
|
vibetuner/context.py,sha256=h4f4FfkmLlOD6WiSLhx7-IjFvIA4zcrsAp6478l6npg,743
|
|
8
|
-
vibetuner/frontend/__init__.py,sha256=
|
|
9
|
+
vibetuner/frontend/__init__.py,sha256=COZuPRzTFUfxeyWkvmz0GxBBFFvBHtf2mMGmLw5fy2c,3965
|
|
9
10
|
vibetuner/frontend/deps.py,sha256=b3ocC_ryaK2Jp51SfcFqckrXiaL7V-chkFRqLjzgA_c,1296
|
|
10
11
|
vibetuner/frontend/email.py,sha256=k0d7FCZCge5VYOKp3fLsbx7EA5_SrtBkpMs57o4W7u0,1119
|
|
11
12
|
vibetuner/frontend/hotreload.py,sha256=Gl7FIKJaiCVVoyWQqdErBUOKDP1cGBFUpGzqHMiJd10,285
|
|
12
|
-
vibetuner/frontend/lifespan.py,sha256=
|
|
13
|
-
vibetuner/frontend/middleware.py,sha256=
|
|
13
|
+
vibetuner/frontend/lifespan.py,sha256=Gl9tuqRymxs8_nyimlw_bIdM0ofe_XCJA99wI_YYxvw,1244
|
|
14
|
+
vibetuner/frontend/middleware.py,sha256=lmPAgpkPFFFgEnFs4n0N1aQr4V73_JPMBe3NqO8AWQA,3912
|
|
14
15
|
vibetuner/frontend/oauth.py,sha256=EzEwoOZ_8xn_CiqAWpNoEdhV2NPxZKKwF2bA6W6Bkj0,5884
|
|
16
|
+
vibetuner/frontend/proxy.py,sha256=rfoQLz-T59eY_xCEHxo9fzYDaS-cTZrcWbiV_Tm3gZU,654
|
|
15
17
|
vibetuner/frontend/routes/__init__.py,sha256=nHhiylHIUPZ2R-Bd7vXEGHLJBQ7fNuzPTJodjJR3lyc,428
|
|
16
18
|
vibetuner/frontend/routes/auth.py,sha256=vKE-Dm2yPXReaOLvcxfT4a6df1dKUoteZ4p46v8Elm4,4331
|
|
17
|
-
vibetuner/frontend/routes/debug.py,sha256=
|
|
19
|
+
vibetuner/frontend/routes/debug.py,sha256=hqiuRjcLOvL2DdhA83HUzp5svECKjyFB-LoNn7xDiFE,13269
|
|
18
20
|
vibetuner/frontend/routes/health.py,sha256=_XkMpdMNUemu7qzkGkqn5TBnZmGrArA3Xps5CWCcGlg,959
|
|
19
21
|
vibetuner/frontend/routes/language.py,sha256=wHNfdewqWfK-2JLXwglu0Q0b_e00HFGd0A2-PYT44LE,1240
|
|
20
22
|
vibetuner/frontend/routes/meta.py,sha256=pSyIxQsiB0QZSYwCQbS07KhkT5oHC5r9jvjUDIqZRGw,1409
|
|
21
23
|
vibetuner/frontend/routes/user.py,sha256=b8ow6IGnfsHosSwSmEIYZtuQJnW_tacnNjp_aMnqWxU,2666
|
|
22
|
-
vibetuner/frontend/templates.py,sha256=
|
|
24
|
+
vibetuner/frontend/templates.py,sha256=jqMMl1-ECYDW8lyGg3r4dPbd9kZQXy90pUvJxsAIwOg,7616
|
|
23
25
|
vibetuner/logging.py,sha256=9eNofqVtKZCBDS33NbBI7Sv2875gM8MNStTSCjX2AXQ,2409
|
|
24
26
|
vibetuner/models/__init__.py,sha256=JvmQvzDIxaI7zlk-ROCWEbuzxXSUOqCshINUjgu-AfQ,325
|
|
25
27
|
vibetuner/models/blob.py,sha256=F30HFS4Z_Bji_PGPflWIv4dOwqKLsEWQHcjW1Oz_79M,2523
|
|
@@ -29,14 +31,16 @@ vibetuner/models/oauth.py,sha256=BdOZbW47Das9ntHTtRmVdl1lB5zLCcXW2fyVJ-tQ_F8,150
|
|
|
29
31
|
vibetuner/models/registry.py,sha256=O5YG7vOrWluqpH5N7m44v72wbscMhU_Pu3TJw_u0MTk,311
|
|
30
32
|
vibetuner/models/types.py,sha256=Lj3ASEvx5eNgQMcVhNyKQHHolJqDxj2yH8S-M9oa4J8,402
|
|
31
33
|
vibetuner/models/user.py,sha256=ttcSH4mVREPhA6bCFUWXKfJ9_8_Iq3lEYXe3rDrslw4,2696
|
|
32
|
-
vibetuner/mongo.py,sha256=
|
|
33
|
-
vibetuner/paths.py,sha256=
|
|
34
|
+
vibetuner/mongo.py,sha256=f3tVYcDRsIrSCqB340MDA9qt9iesFPAUg0ZUlCGv0l0,2051
|
|
35
|
+
vibetuner/paths.py,sha256=hWWcjwVPNxac74rRuHgHD46CwmQKHJidEALo-euw72k,8360
|
|
34
36
|
vibetuner/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
-
vibetuner/services/blob.py,sha256
|
|
36
|
-
vibetuner/services/email.py,sha256=
|
|
37
|
+
vibetuner/services/blob.py,sha256=mYsMDA04E1fgXLaprWDip28RrxEX60T1G7UT1aMZDBY,5029
|
|
38
|
+
vibetuner/services/email.py,sha256=Y0yKgqki2an7fE6n4hQeROjVglzcqIGBgXICJbKZq0s,1669
|
|
39
|
+
vibetuner/services/s3_storage.py,sha256=purEKXKqb_5iroyDgEWCJ2DRMmG08Jy5tnsc2ZE1An4,15407
|
|
40
|
+
vibetuner/sqlmodel.py,sha256=d0fK9ZlzUGW02rTu5n_k3Buuuu3nI5e5wTmaydnl5CM,3000
|
|
37
41
|
vibetuner/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
-
vibetuner/tasks/lifespan.py,sha256=
|
|
39
|
-
vibetuner/tasks/worker.py,sha256=
|
|
42
|
+
vibetuner/tasks/lifespan.py,sha256=IroLZooVmdtQ6MUad2Dwi_40DGSga5__0SCVbtZAP6g,1031
|
|
43
|
+
vibetuner/tasks/worker.py,sha256=brW92T1kdaoLLNulu9K1Hs82ewCvNcKEbYd_8K0Mdcg,384
|
|
40
44
|
vibetuner/templates/email/magic_link.html.jinja,sha256=DzaCnBsYoau2JQh5enPAa2FMFFTyCwdyiM3vGhBQdtA,553
|
|
41
45
|
vibetuner/templates/email/magic_link.txt.jinja,sha256=dANak9ion1cpILt45V3GcI2qnL_gKFPj7PsZKYV0m5s,200
|
|
42
46
|
vibetuner/templates/frontend/base/favicons.html.jinja,sha256=A7s7YXuE82tRd7ZLJs1jGEGwBRiMPrqlWd507xL1iZg,70
|
|
@@ -51,21 +55,21 @@ vibetuner/templates/frontend/debug/info.html.jinja,sha256=Z9yZxW-dyOZ1kWsY1_ZX7j
|
|
|
51
55
|
vibetuner/templates/frontend/debug/users.html.jinja,sha256=BjTiJbOMadZYZJYvtYW0KeFcYN7ooI7_YylhOnfbLD4,7809
|
|
52
56
|
vibetuner/templates/frontend/debug/version.html.jinja,sha256=pJ-QuDRuvB7X04nC43upZiXLaFCC6vmI5QhRS62rt6k,2901
|
|
53
57
|
vibetuner/templates/frontend/email/magic_link.txt.jinja,sha256=fTVl3Wjfvp3EJAB5DYt01EL_O7o9r8lHedDH05YP44c,192
|
|
54
|
-
vibetuner/templates/frontend/email_sent.html.jinja,sha256=
|
|
55
|
-
vibetuner/templates/frontend/index.html.jinja,sha256=
|
|
58
|
+
vibetuner/templates/frontend/email_sent.html.jinja,sha256=5_Mc3DzgZaGB_SvAHaL7PFRXsGXnBpp1xO9QER7hlOQ,5234
|
|
59
|
+
vibetuner/templates/frontend/index.html.jinja,sha256=SwQPn5oqsZHq7_g4SlgWsrxxVvwuDNVfZ2nuIcRwm4A,921
|
|
56
60
|
vibetuner/templates/frontend/lang/select.html.jinja,sha256=4jHo8QWvMOIeK_KqHzSaDzgvuT3v8MlmjTrrYIl2sjk,224
|
|
57
|
-
vibetuner/templates/frontend/login.html.jinja,sha256=
|
|
61
|
+
vibetuner/templates/frontend/login.html.jinja,sha256=QihHEjCdxOevOQMDeuTTcbqLiBJ4OorzjunA-E4i-J4,5546
|
|
58
62
|
vibetuner/templates/frontend/meta/browserconfig.xml.jinja,sha256=5DE-Dowxw3fRg4UJerW6tVrUYdHWUsUOfS_YucoRVXQ,300
|
|
59
63
|
vibetuner/templates/frontend/meta/robots.txt.jinja,sha256=SUBJqQCOW5FFdD4uIkReo04NcAYnjITLyB4Wk1wBcS4,46
|
|
60
64
|
vibetuner/templates/frontend/meta/site.webmanifest.jinja,sha256=QCg2Z2GXd2AwJ3C8CnW9Brvu3cbXcZiquLNEzA8FsOc,150
|
|
61
65
|
vibetuner/templates/frontend/meta/sitemap.xml.jinja,sha256=IhBjk7p5OdqszyK6DR3eUAdeAucKk2s_PpnOfYxgNCo,170
|
|
62
|
-
vibetuner/templates/frontend/user/edit.html.jinja,sha256=
|
|
63
|
-
vibetuner/templates/frontend/user/profile.html.jinja,sha256=
|
|
66
|
+
vibetuner/templates/frontend/user/edit.html.jinja,sha256=tvr3FcH_iS_o4_S1xSrgHu-sk9GUSYPvyTS-wi4MUVE,5438
|
|
67
|
+
vibetuner/templates/frontend/user/profile.html.jinja,sha256=xjeZB5B_OUFdwx-c2N3mHN0geGW1ghXBpfLjF_u0sy4,9962
|
|
64
68
|
vibetuner/templates/markdown/.placeholder,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
69
|
vibetuner/templates.py,sha256=xRoMb_oyAI5x4kxfpg56UcLKkT8e9HVn-o3KFAu9ISE,5094
|
|
66
70
|
vibetuner/time.py,sha256=3_DtveCCzI20ocTnAlTh2u7FByUXtINaUoQZO-_uZow,1188
|
|
67
71
|
vibetuner/versioning.py,sha256=c7Wg-SM-oJzQqG2RE0O8gZGHzHTgvwqa4yHn3Dk5-Sk,372
|
|
68
|
-
vibetuner-2.
|
|
69
|
-
vibetuner-2.
|
|
70
|
-
vibetuner-2.
|
|
71
|
-
vibetuner-2.
|
|
72
|
+
vibetuner-2.44.1.dist-info/WHEEL,sha256=KSLUh82mDPEPk0Bx0ScXlWL64bc8KmzIPNcpQZFV-6E,79
|
|
73
|
+
vibetuner-2.44.1.dist-info/entry_points.txt,sha256=aKIj9YCCXizjYupx9PeWkUJePg3ncHke_LTS5rmCsfs,49
|
|
74
|
+
vibetuner-2.44.1.dist-info/METADATA,sha256=nfq8u-nFfVyzbs99IpeLmumHYEbx6rx0Ja4VFCr_BZQ,8603
|
|
75
|
+
vibetuner-2.44.1.dist-info/RECORD,,
|
|
File without changes
|