splent-feature-phpmyadmin 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.
@@ -0,0 +1,8 @@
1
+ # Compiled frontend bundles
2
+ recursive-include src/splent_io/splent_feature_phpmyadmin/assets/dist *.js *.css *.map
3
+
4
+ # Jinja templates (feature views + hook fragments)
5
+ recursive-include src/splent_io/splent_feature_phpmyadmin/templates *.html
6
+
7
+ # Alembic migration config and scripts
8
+ recursive-include src/splent_io/splent_feature_phpmyadmin/migrations *.py *.ini *.mako
@@ -0,0 +1,5 @@
1
+ Metadata-Version: 2.4
2
+ Name: splent_feature_phpmyadmin
3
+ Version: 1.0.0
4
+ Requires-Python: >=3.13
5
+ Description-Content-Type: text/markdown
@@ -0,0 +1,63 @@
1
+ [build-system]
2
+ requires = ["setuptools>=80.3.1", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "splent_feature_phpmyadmin"
7
+ version = "1.0.0"
8
+ readme = "README.md"
9
+ requires-python = ">=3.13"
10
+
11
+ dependencies = [
12
+
13
+ ]
14
+
15
+ [tool.setuptools]
16
+ package-dir = { "" = "src" }
17
+ include-package-data = true
18
+
19
+ [tool.setuptools.packages.find]
20
+ where = ["src"]
21
+ exclude = ["*.tests", "*.tests.*"]
22
+
23
+ [tool.splent]
24
+ cli_version = "1.4.5"
25
+
26
+ # ── Feature Contract (auto-generated) ────────────────────────────────────────
27
+ # Do not edit manually — re-run `splent feature:contract --write` to refresh.
28
+ [tool.splent.contract]
29
+ description = "phpMyAdmin database management UI for development"
30
+
31
+ [tool.splent.contract.provides]
32
+ routes = []
33
+ blueprints = []
34
+ models = []
35
+ commands = []
36
+ hooks = ["layout.authenticated_sidebar"]
37
+ services = []
38
+ signals = []
39
+ translations = []
40
+ docker = ["docker-compose.yml"]
41
+
42
+ [tool.splent.contract.requires]
43
+ features = []
44
+ env_vars = ["PMA_HOST_PORT"]
45
+ signals = []
46
+
47
+ [tool.splent.contract.extensible]
48
+ services = []
49
+ templates = []
50
+ models = []
51
+ hooks = ["layout.authenticated_sidebar"]
52
+ routes = false
53
+
54
+ [tool.splent.contract.docker]
55
+ services = ["splent_feature_phpmyadmin"]
56
+ ports = ["${PMA_HOST_PORT}:80"]
57
+ volumes = []
58
+ networks = ["splent_network"]
59
+ build = false
60
+ healthcheck = false
61
+
62
+ [tool.splent.contract.docker.depends_on]
63
+ services = []
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,5 @@
1
+ Metadata-Version: 2.4
2
+ Name: splent_feature_phpmyadmin
3
+ Version: 1.0.0
4
+ Requires-Python: >=3.13
5
+ Description-Content-Type: text/markdown
@@ -0,0 +1,15 @@
1
+ MANIFEST.in
2
+ pyproject.toml
3
+ src/splent_feature_phpmyadmin.egg-info/PKG-INFO
4
+ src/splent_feature_phpmyadmin.egg-info/SOURCES.txt
5
+ src/splent_feature_phpmyadmin.egg-info/dependency_links.txt
6
+ src/splent_feature_phpmyadmin.egg-info/top_level.txt
7
+ src/splent_io/splent_feature_phpmyadmin/__init__.py
8
+ src/splent_io/splent_feature_phpmyadmin/config.py
9
+ src/splent_io/splent_feature_phpmyadmin/hooks.py
10
+ src/splent_io/splent_feature_phpmyadmin/routes.py
11
+ src/splent_io/splent_feature_phpmyadmin/seeders.py
12
+ src/splent_io/splent_feature_phpmyadmin/services.py
13
+ src/splent_io/splent_feature_phpmyadmin/migrations/alembic.ini
14
+ src/splent_io/splent_feature_phpmyadmin/migrations/env.py
15
+ src/splent_io/splent_feature_phpmyadmin/migrations/script.py.mako
@@ -0,0 +1,11 @@
1
+ from splent_framework.blueprints.base_blueprint import create_blueprint
2
+
3
+ phpmyadmin_bp = create_blueprint(__name__)
4
+
5
+
6
+ def init_feature(app):
7
+ pass
8
+
9
+
10
+ def inject_context_vars(app):
11
+ return {}
@@ -0,0 +1,13 @@
1
+ """
2
+ phpMyAdmin feature configuration.
3
+
4
+ Exposes the phpMyAdmin URL so hooks can link to it.
5
+ """
6
+
7
+ import os
8
+
9
+
10
+ def inject_config(app):
11
+ app.config.update({
12
+ "PMA_HOST_PORT": os.getenv("PMA_HOST_PORT", "8081"),
13
+ })
@@ -0,0 +1,17 @@
1
+ from splent_framework.hooks.template_hooks import register_template_hook
2
+ from flask import current_app
3
+
4
+
5
+ def phpmyadmin_sidebar_link():
6
+ port = current_app.config.get("PMA_HOST_PORT", "8081")
7
+ return (
8
+ '<li class="sidebar-item">'
9
+ f'<a class="sidebar-link" href="http://localhost:{port}" target="_blank">'
10
+ '<i class="align-middle" data-feather="database"></i> '
11
+ '<span class="align-middle">phpMyAdmin</span>'
12
+ "</a>"
13
+ "</li>"
14
+ )
15
+
16
+
17
+ register_template_hook("layout.authenticated_sidebar", phpmyadmin_sidebar_link)
@@ -0,0 +1,36 @@
1
+ [alembic]
2
+ script_location = migrations
3
+
4
+ [loggers]
5
+ keys = root,sqlalchemy,alembic
6
+
7
+ [handlers]
8
+ keys = console
9
+
10
+ [formatters]
11
+ keys = generic
12
+
13
+ [logger_root]
14
+ level = WARN
15
+ handlers = console
16
+ qualname =
17
+
18
+ [logger_sqlalchemy]
19
+ level = WARN
20
+ handlers =
21
+ qualname = sqlalchemy.engine
22
+
23
+ [logger_alembic]
24
+ level = INFO
25
+ handlers =
26
+ qualname = alembic
27
+
28
+ [handler_console]
29
+ class = StreamHandler
30
+ args = (sys.stderr,)
31
+ level = NOTSET
32
+ formatter = generic
33
+
34
+ [formatter_generic]
35
+ format = %(levelname)-5.5s [%(name)s] %(message)s
36
+ datefmt = %H:%M:%S
@@ -0,0 +1,9 @@
1
+ """Alembic migration environment for splent_feature_phpmyadmin."""
2
+
3
+ from splent_io.splent_feature_phpmyadmin import models # noqa
4
+ from splent_framework.migrations.feature_env import run_feature_migrations
5
+
6
+ FEATURE_NAME = "splent_feature_phpmyadmin"
7
+ FEATURE_TABLES = set()
8
+
9
+ run_feature_migrations(FEATURE_NAME, FEATURE_TABLES)
@@ -0,0 +1,24 @@
1
+ """${message}
2
+
3
+ Revision ID: ${up_revision}
4
+ Revises: ${down_revision | comma,n}
5
+ Create Date: ${create_date}
6
+
7
+ """
8
+ from alembic import op
9
+ import sqlalchemy as sa
10
+ ${imports if imports else ""}
11
+
12
+ # revision identifiers, used by Alembic.
13
+ revision = ${repr(up_revision)}
14
+ down_revision = ${repr(down_revision)}
15
+ branch_labels = ${repr(branch_labels)}
16
+ depends_on = ${repr(depends_on)}
17
+
18
+
19
+ def upgrade():
20
+ ${upgrades if upgrades else "pass"}
21
+
22
+
23
+ def downgrade():
24
+ ${downgrades if downgrades else "pass"}
@@ -0,0 +1,2 @@
1
+ # No routes — phpMyAdmin runs as an external Docker container.
2
+ # The sidebar hook links directly to its port.
@@ -0,0 +1 @@
1
+ # No seeders — phpMyAdmin has no database models.
@@ -0,0 +1 @@
1
+ # No services — phpMyAdmin is a Docker-only infrastructure feature.