supython 0.1.0__tar.gz → 0.1.1__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.
- {supython-0.1.0 → supython-0.1.1}/PKG-INFO +3 -3
- {supython-0.1.0 → supython-0.1.1}/README.md +2 -2
- {supython-0.1.0 → supython-0.1.1}/pyproject.toml +1 -1
- {supython-0.1.0 → supython-0.1.1}/src/supython/cli.py +4 -2
- {supython-0.1.0 → supython-0.1.1}/src/supython/gen/types_py.py +5 -4
- {supython-0.1.0 → supython-0.1.1}/.gitignore +0 -0
- {supython-0.1.0 → supython-0.1.1}/CHANGELOG.md +0 -0
- {supython-0.1.0 → supython-0.1.1}/LICENSE +0 -0
- {supython-0.1.0 → supython-0.1.1}/SECURITY.md +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/auth.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/auth_templates.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/auth_users.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/db.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/functions.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/jobs.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/ops.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/realtime.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_auth.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_auth_templates.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_auth_users.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_db.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_functions.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_jobs.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_ops.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_realtime.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/service_storage.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/storage.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/api/system.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/audit.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/deps.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/errors.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/schemas.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/session.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/spa.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Alert-dluGVkos.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Alert-dluGVkos.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Audit-Njung3HI.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Audit-Njung3HI.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Backups-DzPlFgrm.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Backups-DzPlFgrm.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Buckets-ByacGkU1.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Buckets-ByacGkU1.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Channels-BoIuTtam.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Channels-BoIuTtam.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/ChevronRight-CtQH1EQ1.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/ChevronRight-CtQH1EQ1.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/CodeViewer-Bqy7-wvH.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/CodeViewer-Bqy7-wvH.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Crons-B67vc39F.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Crons-B67vc39F.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DashboardView-CUTFVL6k.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DashboardView-CUTFVL6k.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DataTable-COAAWEft.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DataTable-COAAWEft.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DescriptionsItem-P8JUDaBs.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DescriptionsItem-P8JUDaBs.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DrawerContent-TpYTFgF1.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DrawerContent-TpYTFgF1.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Empty-cr2r7e2u.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Empty-cr2r7e2u.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/EmptyState-DeDck-OL.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/EmptyState-DeDck-OL.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Grid-hFkp9F4P.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Grid-hFkp9F4P.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Input-DppYTq9C.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Input-DppYTq9C.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Invoke-DW3Nveeh.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Invoke-DW3Nveeh.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/JsonField-DibyJgun.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/JsonField-DibyJgun.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/LoginView-BjLyE3Ds.css +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/LoginView-CoOjECT_.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/LoginView-CoOjECT_.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Logs-D9WYrnIT.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Logs-D9WYrnIT.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Logs-DS1XPa0h.css +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Migrations-DOSC2ddQ.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Migrations-DOSC2ddQ.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/ObjectBrowser-_5w8vOX8.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/ObjectBrowser-_5w8vOX8.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Queue-CywZs6vI.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Queue-CywZs6vI.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/RefreshTokens-Ccjr53jg.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/RefreshTokens-Ccjr53jg.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/RlsEditor-BSlH9vSc.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/RlsEditor-BSlH9vSc.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Routes-BiLXE49D.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Routes-BiLXE49D.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Routes-C-ianIGD.css +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SchemaBrowser-DKy2_KQi.css +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SchemaBrowser-XFvFbtDB.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SchemaBrowser-XFvFbtDB.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Select-DIzZyRZb.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Select-DIzZyRZb.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Space-n5-XcguU.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Space-n5-XcguU.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SqlEditor-b8pTsILY.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SqlEditor-b8pTsILY.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SqlWorkspace-BUS7IntH.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SqlWorkspace-BUS7IntH.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/TableData-CQIagLKn.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/TableData-CQIagLKn.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Tag-D1fOKpTH.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Tag-D1fOKpTH.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Templates-BS-ugkdq.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Templates-BS-ugkdq.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Thing-CEAniuMg.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Thing-CEAniuMg.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Users-wzwajhlh.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Users-wzwajhlh.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/_plugin-vue_export-helper-DGA9ry_j.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/dist-VXIJLCYq.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/dist-VXIJLCYq.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/format-length-CGCY1rMh.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/format-length-CGCY1rMh.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/get-Ca6unauB.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/get-Ca6unauB.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/index-CeE6v959.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/index-CeE6v959.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/pinia-COXwfrOX.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/pinia-COXwfrOX.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/resources-Bt6thQCD.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/resources-Bt6thQCD.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/use-locale-mtgM0a3a.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/use-locale-mtgM0a3a.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/use-merged-state-BvhkaHNX.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/use-merged-state-BvhkaHNX.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useConfirm-tMjvBFXR.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useConfirm-tMjvBFXR.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useResource-C_rJCY8C.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useResource-C_rJCY8C.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useTable-CnZc5zhi.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useTable-CnZc5zhi.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useTable-Dg0XlRlq.css +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useToast-DsZKx0IX.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useToast-DsZKx0IX.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/utils-sbXoq7Ir.js +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/utils-sbXoq7Ir.js.map +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/favicon.svg +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/icons.svg +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/index.html +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/app.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/_email_job.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/providers/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/providers/github.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/providers/google.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/providers/oauth.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/providers/registry.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/ratelimit.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/router.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/schemas.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/auth/service.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/backups/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/backups/_backup_job.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/backups/schemas.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/backups/service.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/body_size.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/client/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/client/_auth.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/client/_client.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/client/_config.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/client/_functions.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/client/_storage.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/client/py.typed +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/db.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/db_admin.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/extensions.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/functions/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/functions/context.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/functions/loader.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/functions/router.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/functions/schemas.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/gen/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/gen/_introspect.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/gen/types_ts.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/health.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/hooks.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/backends.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/context.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/cron.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/cron_inproc.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/decorators.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/registry.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/router.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/schemas.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/service.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jobs/worker.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/jwks.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/keyset.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/logging_config.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/mail.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/mailer.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrate.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0001_extensions_and_roles.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0002_auth_schema.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0003_demo_todos.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0004_auth_v0_2.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0005_storage_schema.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0006_realtime_schema.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0007_jobs_schema.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0008_jobs_last_error.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0009_auth_rate_limits.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0010_worker_heartbeat.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0011_admin_schema.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0012_auth_banned_until.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0013_email_templates.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0014_realtime_payload_warning.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/migrations/0015_backups_schema.sql +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/passwords.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/broker.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/protocol.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/router.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/schemas.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/service.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/topics.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/realtime/websocket.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/init_project.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/Caddyfile.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/README.md.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/apps_hooks.py.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/apps_jobs.py.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/asgi.py.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/docker-compose.prod.yml.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/docker-compose.yml.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/docker_postgres_Dockerfile.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/docker_postgres_postgresql.conf.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/env.example.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/functions_README.md.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/gitignore.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/manage.py.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/migrations/.gitkeep +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/package_init.py.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/settings.py.tmpl +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/secretset.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/security_headers.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/settings.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/settings_module.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/storage/__init__.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/storage/backends.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/storage/router.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/storage/schemas.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/storage/service.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/storage/signing.py +0 -0
- {supython-0.1.0 → supython-0.1.1}/src/supython/tokens.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: supython
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: A lightweight Postgres-first BaaS framework for Python
|
|
5
5
|
Project-URL: Homepage, https://github.com/Tkeby/supython
|
|
6
6
|
Project-URL: Repository, https://github.com/Tkeby/supython
|
|
@@ -172,7 +172,7 @@ supython up
|
|
|
172
172
|
supython dev
|
|
173
173
|
|
|
174
174
|
# 5. (optional) generate typed Python classes from your Postgres schema
|
|
175
|
-
supython gen types --lang py --out
|
|
175
|
+
supython gen types --lang py --out db_schema.py
|
|
176
176
|
|
|
177
177
|
# 6. (optional) bootstrap the admin dashboard
|
|
178
178
|
supython admin create-user
|
|
@@ -609,7 +609,7 @@ supython migrate # apply pending SQL migrations
|
|
|
609
609
|
supython info # print resolved settings
|
|
610
610
|
supython doctor # diagnose roles, extensions, JWKS, grants, migration drift
|
|
611
611
|
supython init <name> # scaffold a new supython project
|
|
612
|
-
supython gen types --lang py --out
|
|
612
|
+
supython gen types --lang py --out db_schema.py # emit typed dataclasses + TypedDicts
|
|
613
613
|
supython gen types --lang ts --out types.ts # emit TypeScript Database interface
|
|
614
614
|
|
|
615
615
|
# Auth & key management
|
|
@@ -114,7 +114,7 @@ supython up
|
|
|
114
114
|
supython dev
|
|
115
115
|
|
|
116
116
|
# 5. (optional) generate typed Python classes from your Postgres schema
|
|
117
|
-
supython gen types --lang py --out
|
|
117
|
+
supython gen types --lang py --out db_schema.py
|
|
118
118
|
|
|
119
119
|
# 6. (optional) bootstrap the admin dashboard
|
|
120
120
|
supython admin create-user
|
|
@@ -551,7 +551,7 @@ supython migrate # apply pending SQL migrations
|
|
|
551
551
|
supython info # print resolved settings
|
|
552
552
|
supython doctor # diagnose roles, extensions, JWKS, grants, migration drift
|
|
553
553
|
supython init <name> # scaffold a new supython project
|
|
554
|
-
supython gen types --lang py --out
|
|
554
|
+
supython gen types --lang py --out db_schema.py # emit typed dataclasses + TypedDicts
|
|
555
555
|
supython gen types --lang ts --out types.ts # emit TypeScript Database interface
|
|
556
556
|
|
|
557
557
|
# Auth & key management
|
|
@@ -124,12 +124,14 @@ def gen_types(
|
|
|
124
124
|
help="Schema to introspect. Repeatable: --schema public --schema auth.",
|
|
125
125
|
),
|
|
126
126
|
out: Path | None = typer.Option( # noqa: B008
|
|
127
|
-
None,
|
|
127
|
+
None,
|
|
128
|
+
"--out",
|
|
129
|
+
help="Output file path. Defaults to db_schema.py (py) or types.ts (ts).",
|
|
128
130
|
),
|
|
129
131
|
) -> None:
|
|
130
132
|
"""Emit typed code mirroring the live Postgres schema."""
|
|
131
133
|
if lang == "py":
|
|
132
|
-
out_path = out or Path("
|
|
134
|
+
out_path = out or Path("db_schema.py")
|
|
133
135
|
renderer = render_types_py
|
|
134
136
|
elif lang == "ts":
|
|
135
137
|
out_path = out or Path("types.ts")
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Render a typed ``
|
|
1
|
+
"""Render a typed ``db_schema.py`` from Postgres schema introspection.
|
|
2
2
|
|
|
3
3
|
Public entry point: :func:`render_types_py`. The returned string is the full
|
|
4
4
|
contents of a self-contained Python module with one ``StrEnum`` per Postgres
|
|
@@ -61,7 +61,7 @@ def _safe_col_name(name: str) -> str:
|
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
async def render_types_py(schemas: list[str]) -> str:
|
|
64
|
-
"""Connect to ``DATABASE_URL`` and return a rendered ``
|
|
64
|
+
"""Connect to ``DATABASE_URL`` and return a rendered ``db_schema.py`` module."""
|
|
65
65
|
s = get_settings()
|
|
66
66
|
conn = await asyncpg.connect(s.database_url)
|
|
67
67
|
try:
|
|
@@ -188,7 +188,7 @@ def _render(
|
|
|
188
188
|
|
|
189
189
|
body.append("")
|
|
190
190
|
body.append(" @classmethod")
|
|
191
|
-
body.append(f' def from_record(cls, record:
|
|
191
|
+
body.append(f' def from_record(cls, record: Mapping[str, Any]) -> "{cls}":')
|
|
192
192
|
body.append(" fields = cls.__dataclass_fields__")
|
|
193
193
|
body.append(
|
|
194
194
|
" return cls(**{f: v for f, v in record.items() if f in fields})"
|
|
@@ -212,6 +212,7 @@ def _render(
|
|
|
212
212
|
|
|
213
213
|
import_lines: list[str] = []
|
|
214
214
|
if has_table:
|
|
215
|
+
import_lines.append("from collections.abc import Mapping")
|
|
215
216
|
import_lines.append("from dataclasses import dataclass")
|
|
216
217
|
|
|
217
218
|
datetime_syms = sorted(
|
|
@@ -224,7 +225,7 @@ def _render(
|
|
|
224
225
|
if enums:
|
|
225
226
|
import_lines.append("from enum import StrEnum")
|
|
226
227
|
typing_syms: set[str] = set()
|
|
227
|
-
if "Any" in imports:
|
|
228
|
+
if "Any" in imports or has_table:
|
|
228
229
|
typing_syms.add("Any")
|
|
229
230
|
if has_table:
|
|
230
231
|
typing_syms.add("TypedDict")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/ChevronRight-CtQH1EQ1.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/CodeViewer-Bqy7-wvH.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DashboardView-CUTFVL6k.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DashboardView-CUTFVL6k.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DataTable-COAAWEft.js.map
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DescriptionsItem-P8JUDaBs.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DescriptionsItem-P8JUDaBs.js.map
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DrawerContent-TpYTFgF1.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/DrawerContent-TpYTFgF1.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/EmptyState-DeDck-OL.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/JsonField-DibyJgun.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/LoginView-CoOjECT_.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Migrations-DOSC2ddQ.js.map
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/ObjectBrowser-_5w8vOX8.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/ObjectBrowser-_5w8vOX8.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/RefreshTokens-Ccjr53jg.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/RefreshTokens-Ccjr53jg.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/RlsEditor-BSlH9vSc.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SchemaBrowser-DKy2_KQi.css
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SchemaBrowser-XFvFbtDB.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SchemaBrowser-XFvFbtDB.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SqlEditor-b8pTsILY.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/SqlWorkspace-BUS7IntH.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/TableData-CQIagLKn.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/Templates-BS-ugkdq.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/format-length-CGCY1rMh.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/format-length-CGCY1rMh.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/resources-Bt6thQCD.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/use-locale-mtgM0a3a.js.map
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/use-merged-state-BvhkaHNX.js
RENAMED
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/use-merged-state-BvhkaHNX.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useConfirm-tMjvBFXR.js.map
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/admin/static/assets/useResource-C_rJCY8C.js.map
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/docker-compose.prod.yml.tmpl
RENAMED
|
File without changes
|
|
File without changes
|
{supython-0.1.0 → supython-0.1.1}/src/supython/scaffold/templates/docker_postgres_Dockerfile.tmpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|