piccolo 1.22.0__tar.gz → 1.23.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.
- {piccolo-1.22.0 → piccolo-1.23.0}/PKG-INFO +33 -7
- {piccolo-1.22.0 → piccolo-1.23.0}/README.md +1 -1
- piccolo-1.23.0/piccolo/__init__.py +1 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/new.py +3 -0
- piccolo-1.23.0/piccolo/apps/asgi/commands/templates/app/_falcon_app.py.jinja +60 -0
- piccolo-1.23.0/piccolo/apps/asgi/commands/templates/app/_quart_app.py.jinja +119 -0
- piccolo-1.23.0/piccolo/apps/asgi/commands/templates/app/_sanic_app.py.jinja +121 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/app.py.jinja +6 -0
- piccolo-1.23.0/piccolo/apps/asgi/commands/templates/app/home/_falcon_endpoints.py.jinja +19 -0
- piccolo-1.23.0/piccolo/apps/asgi/commands/templates/app/home/_quart_endpoints.py.jinja +18 -0
- piccolo-1.23.0/piccolo/apps/asgi/commands/templates/app/home/_sanic_endpoints.py.jinja +17 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/endpoints.py.jinja +6 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/templates/home.html.jinja_raw +15 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/timestamptz.py +1 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/engine/sqlite.py +14 -2
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo.egg-info/PKG-INFO +33 -7
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo.egg-info/SOURCES.txt +9 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo.egg-info/entry_points.txt +0 -1
- {piccolo-1.22.0 → piccolo-1.23.0}/pyproject.toml +2 -1
- piccolo-1.23.0/tests/columns/test_integer.py +32 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_insert.py +1 -1
- piccolo-1.23.0/tests/test_main.py +9 -0
- piccolo-1.23.0/tests/test_schema.py +183 -0
- piccolo-1.22.0/piccolo/__init__.py +0 -1
- {piccolo-1.22.0 → piccolo-1.23.0}/LICENSE +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/app/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/app/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/app/commands/new.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/app/commands/show_all.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/app/commands/templates/piccolo_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/app/commands/templates/tables.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/app/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/README.md.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/_blacksheep_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/_esmerald_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/_fastapi_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/_lilya_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/_litestar_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/_starlette_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/conftest.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/__init__.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/_blacksheep_endpoints.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/_esmerald_endpoints.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/_lilya_endpoints.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/_litestar_endpoints.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/_starlette_endpoints.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/piccolo_app.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/piccolo_migrations/README.md +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/tables.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/templates/base.html.jinja_raw +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/main.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/piccolo_conf.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/piccolo_conf_test.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/requirements.txt.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/static/favicon.ico +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/static/main.css +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/fixtures/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/fixtures/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/fixtures/commands/dump.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/fixtures/commands/load.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/fixtures/commands/shared.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/fixtures/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/meta/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/meta/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/meta/commands/version.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/meta/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/diffable_table.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/migration_manager.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/operations.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/schema_differ.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/schema_snapshot.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/serialisation.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/auto/serialisation_legacy.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/backwards.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/check.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/clean.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/forwards.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/new.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/commands/templates/migration.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/migrations/tables.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/playground/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/playground/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/playground/commands/run.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/playground/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/project/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/project/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/project/commands/new.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/project/commands/templates/piccolo_conf.py.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/project/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/schema/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/schema/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/schema/commands/exceptions.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/schema/commands/generate.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/schema/commands/graph.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/schema/commands/templates/graphviz.dot.jinja +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/schema/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/shell/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/shell/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/shell/commands/run.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/shell/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/sql_shell/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/sql_shell/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/sql_shell/commands/run.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/sql_shell/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/tester/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/tester/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/tester/commands/run.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/tester/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/commands/change_password.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/commands/change_permissions.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/commands/create.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/commands/list.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/piccolo_migrations/2019-11-14T21-52-21.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/piccolo_migrations/2020-06-11T21-38-55.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/piccolo_migrations/2021-04-30T16-14-15.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/piccolo_migrations/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/user/tables.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/choices.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/column_types.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/combination.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/date.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/interval.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/time.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/timestamp.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/defaults/uuid.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/indexes.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/m2m.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/operators/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/operators/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/operators/comparison.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/operators/math.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/operators/string.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/readable.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/columns/reference.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/conf/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/conf/apps.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/custom_types.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/engine/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/engine/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/engine/cockroach.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/engine/exceptions.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/engine/finder.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/engine/postgres.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/main.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/py.typed +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/functions/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/functions/aggregate.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/functions/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/functions/datetime.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/functions/math.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/functions/string.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/functions/type_conversion.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/alter.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/count.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/create.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/create_index.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/delete.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/drop_index.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/exists.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/indexes.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/insert.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/objects.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/raw.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/refresh.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/select.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/table_exists.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/methods/update.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/mixins.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/operators/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/operators/json.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/query/proxy.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/querystring.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/schema.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/table.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/table_reflection.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/testing/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/testing/model_builder.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/testing/random_builder.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/testing/test_case.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/dictionary.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/encoding.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/graphlib/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/graphlib/_graphlib.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/lazy_loader.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/list.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/naming.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/objects.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/printing.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/pydantic.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/repr.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/sql_values.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/sync.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo/utils/warnings.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo.egg-info/dependency_links.txt +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo.egg-info/requires.txt +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/piccolo.egg-info/top_level.txt +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/profiling/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/profiling/run_profile.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/setup.cfg +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/setup.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/app/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/app/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/app/commands/test_new.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/app/commands/test_show_all.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/asgi/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/asgi/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/asgi/commands/test_new.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/fixtures/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/fixtures/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/fixtures/commands/test_dump_load.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/fixtures/commands/test_shared.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/meta/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/meta/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/meta/commands/test_version.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/integration/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/integration/test_migrations.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/test_diffable_table.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/test_migration_manager.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/test_schema_differ.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/test_schema_snapshot.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/auto/test_serialisation.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/test_base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/test_check.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/test_clean.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/test_forwards_backwards.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/test_migrations/2020-03-31T20-38-22.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/test_migrations/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/commands/test_new.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/migrations/test_migration.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/project/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/project/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/project/commands/test_new.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/schema/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/shell/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/shell/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/shell/commands/test_run.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/sql_shell/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/sql_shell/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/sql_shell/commands/test_run.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/tester/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/user/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/user/commands/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/user/commands/test_change_password.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/user/commands/test_change_permissions.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/user/commands/test_create.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/user/commands/test_list.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/apps/user/test_tables.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/m2m/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/m2m/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/m2m/test_m2m.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/m2m/test_m2m_schema.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_array.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_bigint.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_boolean.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_bytea.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_choices.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_combination.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_date.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_db_column_name.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_defaults.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_double_precision.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_get_sql_value.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_interval.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_json.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_jsonb.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_numeric.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_primary_key.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_readable.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_real.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_reference.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_reserved_column_names.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_smallint.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_time.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_timestamp.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_timestamptz.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_uuid.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/columns/test_varchar.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/conf/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/conf/example.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/conf/test_apps.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/engine/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/engine/test_extra_nodes.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/engine/test_logging.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/engine/test_nested_transaction.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/engine/test_pool.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/engine/test_transaction.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/engine/test_version_parsing.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/mega/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/mega/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/mega/piccolo_migrations/2021-09-20T21-23-25-698988.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/mega/piccolo_migrations/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/mega/tables.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/music/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/music/piccolo_app.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/music/tables.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/example_apps/music/tables_detailed.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/functions/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/functions/base.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/functions/test_datetime.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/functions/test_functions.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/functions/test_math.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/functions/test_string.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/functions/test_type_conversion.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/mixins/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/mixins/test_columns_delegate.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/mixins/test_order_by_delegate.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/operators/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/operators/test_json.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/test_await.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/test_camelcase.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/test_freeze.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/test_gather.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/test_querystring.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/query/test_slots.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/test_create.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/test_get_related.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/test_get_related_readable.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/test_instantiate.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/test_remove.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/test_save.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/instance/test_to_dict.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_all_columns.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_alter.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_batch.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_callback.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_constructor.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_count.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_create.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_create_db_tables.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_create_table_class.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_delete.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_drop_db_tables.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_exists.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_from_dict.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_indexes.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_inheritance.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_join.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_join_on.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_metaclass.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_objects.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_output.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_raw.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_ref.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_refresh.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_repr.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_select.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_str.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_table_exists.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_update.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/table/test_update_self.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/testing/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/testing/test_model_builder.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/testing/test_random_builder.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/testing/test_test_case.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/__init__.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_dictionary.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_encoding.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_lazy_loader.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_list.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_naming.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_printing.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_pydantic.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_sql_values.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_sync.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_table_reflection.py +0 -0
- {piccolo-1.22.0 → piccolo-1.23.0}/tests/utils/test_warnings.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: piccolo
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.23.0
|
4
4
|
Summary: A fast, user friendly ORM and query builder which supports asyncio.
|
5
5
|
Home-page: https://github.com/piccolo-orm/piccolo
|
6
6
|
Author: Daniel Townsend
|
@@ -9,7 +9,6 @@ License: MIT
|
|
9
9
|
Project-URL: Documentation, https://piccolo-orm.readthedocs.io/en/latest/index.html
|
10
10
|
Project-URL: Source, https://github.com/piccolo-orm/piccolo
|
11
11
|
Project-URL: Tracker, https://github.com/piccolo-orm/piccolo/issues
|
12
|
-
Platform: UNKNOWN
|
13
12
|
Classifier: License :: OSI Approved :: MIT License
|
14
13
|
Classifier: Programming Language :: Python
|
15
14
|
Classifier: Programming Language :: Python :: 3
|
@@ -24,13 +23,42 @@ Classifier: Typing :: Typed
|
|
24
23
|
Classifier: Topic :: Database
|
25
24
|
Requires-Python: >=3.9.0
|
26
25
|
Description-Content-Type: text/markdown
|
26
|
+
License-File: LICENSE
|
27
|
+
Requires-Dist: black
|
28
|
+
Requires-Dist: colorama>=0.4.0
|
29
|
+
Requires-Dist: Jinja2>=2.11.0
|
30
|
+
Requires-Dist: targ>=0.3.7
|
31
|
+
Requires-Dist: inflection>=0.5.1
|
32
|
+
Requires-Dist: typing-extensions>=4.3.0
|
33
|
+
Requires-Dist: pydantic[email]==2.*
|
27
34
|
Provides-Extra: orjson
|
35
|
+
Requires-Dist: orjson>=3.5.1; extra == "orjson"
|
28
36
|
Provides-Extra: playground
|
37
|
+
Requires-Dist: ipython; extra == "playground"
|
29
38
|
Provides-Extra: postgres
|
39
|
+
Requires-Dist: asyncpg>=0.30.0; extra == "postgres"
|
30
40
|
Provides-Extra: sqlite
|
41
|
+
Requires-Dist: aiosqlite>=0.16.0; extra == "sqlite"
|
31
42
|
Provides-Extra: uvloop
|
43
|
+
Requires-Dist: uvloop>=0.12.0; sys_platform != "win32" and extra == "uvloop"
|
32
44
|
Provides-Extra: all
|
33
|
-
|
45
|
+
Requires-Dist: orjson>=3.5.1; extra == "all"
|
46
|
+
Requires-Dist: ipython; extra == "all"
|
47
|
+
Requires-Dist: asyncpg>=0.30.0; extra == "all"
|
48
|
+
Requires-Dist: aiosqlite>=0.16.0; extra == "all"
|
49
|
+
Requires-Dist: uvloop>=0.12.0; sys_platform != "win32" and extra == "all"
|
50
|
+
Dynamic: author
|
51
|
+
Dynamic: author-email
|
52
|
+
Dynamic: classifier
|
53
|
+
Dynamic: description
|
54
|
+
Dynamic: description-content-type
|
55
|
+
Dynamic: home-page
|
56
|
+
Dynamic: license
|
57
|
+
Dynamic: project-url
|
58
|
+
Dynamic: provides-extra
|
59
|
+
Dynamic: requires-dist
|
60
|
+
Dynamic: requires-python
|
61
|
+
Dynamic: summary
|
34
62
|
|
35
63
|

|
36
64
|
|
@@ -128,7 +156,7 @@ Let Piccolo scaffold you an ASGI web app, using Piccolo as the ORM:
|
|
128
156
|
piccolo asgi new
|
129
157
|
```
|
130
158
|
|
131
|
-
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/), [Esmerald](https://esmerald.dev/)
|
159
|
+
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/), [Esmerald](https://esmerald.dev/), [Lilya](https://lilya.dev), [Quart](https://quart.palletsprojects.com/en/latest/), [Falcon](https://falconframework.org/) and [Sanic](https://sanic.dev/en/) are currently supported.
|
132
160
|
|
133
161
|
## Are you a Django user?
|
134
162
|
|
@@ -139,5 +167,3 @@ We have a handy page which shows the equivalent of [common Django queries in Pic
|
|
139
167
|
Our documentation is on [Read the docs](https://piccolo-orm.readthedocs.io/en/latest/piccolo/getting_started/index.html).
|
140
168
|
|
141
169
|
We also have some great [tutorial videos on YouTube](https://www.youtube.com/channel/UCE7x5nm1Iy9KDfXPNrNQ5lA).
|
142
|
-
|
143
|
-
|
@@ -94,7 +94,7 @@ Let Piccolo scaffold you an ASGI web app, using Piccolo as the ORM:
|
|
94
94
|
piccolo asgi new
|
95
95
|
```
|
96
96
|
|
97
|
-
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/), [Esmerald](https://esmerald.dev/)
|
97
|
+
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/), [Esmerald](https://esmerald.dev/), [Lilya](https://lilya.dev), [Quart](https://quart.palletsprojects.com/en/latest/), [Falcon](https://falconframework.org/) and [Sanic](https://sanic.dev/en/) are currently supported.
|
98
98
|
|
99
99
|
## Are you a Django user?
|
100
100
|
|
@@ -0,0 +1 @@
|
|
1
|
+
__VERSION__ = "1.23.0"
|
@@ -17,6 +17,9 @@ ROUTER_DEPENDENCIES = {
|
|
17
17
|
"litestar": ["litestar"],
|
18
18
|
"esmerald": ["esmerald"],
|
19
19
|
"lilya": ["lilya"],
|
20
|
+
"quart": ["quart", "quart_schema"],
|
21
|
+
"falcon": ["falcon"],
|
22
|
+
"sanic": ["sanic", "sanic_ext"],
|
20
23
|
}
|
21
24
|
ROUTERS = list(ROUTER_DEPENDENCIES.keys())
|
22
25
|
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import os
|
2
|
+
import typing as t
|
3
|
+
|
4
|
+
import falcon.asgi
|
5
|
+
from hypercorn.middleware import DispatcherMiddleware
|
6
|
+
from piccolo.engine import engine_finder
|
7
|
+
from piccolo_admin.endpoints import create_admin
|
8
|
+
from piccolo_api.crud.endpoints import PiccoloCRUD
|
9
|
+
|
10
|
+
from home.endpoints import HomeEndpoint
|
11
|
+
from home.piccolo_app import APP_CONFIG
|
12
|
+
from home.tables import Task
|
13
|
+
|
14
|
+
|
15
|
+
async def open_database_connection_pool():
|
16
|
+
try:
|
17
|
+
engine = engine_finder()
|
18
|
+
await engine.start_connection_pool()
|
19
|
+
except Exception:
|
20
|
+
print("Unable to connect to the database")
|
21
|
+
|
22
|
+
|
23
|
+
async def close_database_connection_pool():
|
24
|
+
try:
|
25
|
+
engine = engine_finder()
|
26
|
+
await engine.close_connection_pool()
|
27
|
+
except Exception:
|
28
|
+
print("Unable to connect to the database")
|
29
|
+
|
30
|
+
|
31
|
+
class LifespanMiddleware:
|
32
|
+
async def process_startup(
|
33
|
+
self, scope: t.Dict[str, t.Any], event: t.Dict[str, t.Any]
|
34
|
+
) -> None:
|
35
|
+
await open_database_connection_pool()
|
36
|
+
|
37
|
+
async def process_shutdown(
|
38
|
+
self, scope: t.Dict[str, t.Any], event: t.Dict[str, t.Any]
|
39
|
+
) -> None:
|
40
|
+
await close_database_connection_pool()
|
41
|
+
|
42
|
+
|
43
|
+
app: t.Any = falcon.asgi.App(middleware=LifespanMiddleware())
|
44
|
+
app.add_static_route("/static", directory=os.path.abspath("static"))
|
45
|
+
app.add_route("/", HomeEndpoint())
|
46
|
+
|
47
|
+
PICCOLO_CRUD: t.Any = PiccoloCRUD(table=Task)
|
48
|
+
|
49
|
+
# enable the Admin and PiccoloCrud app using DispatcherMiddleware
|
50
|
+
app = DispatcherMiddleware( # type: ignore
|
51
|
+
{
|
52
|
+
"/admin": create_admin(
|
53
|
+
tables=APP_CONFIG.table_classes,
|
54
|
+
# Required when running under HTTPS:
|
55
|
+
# allowed_hosts=['my_site.com']
|
56
|
+
),
|
57
|
+
"/tasks": PICCOLO_CRUD,
|
58
|
+
"": app,
|
59
|
+
}
|
60
|
+
)
|
@@ -0,0 +1,119 @@
|
|
1
|
+
import typing as t
|
2
|
+
from http import HTTPStatus
|
3
|
+
|
4
|
+
from hypercorn.middleware import DispatcherMiddleware
|
5
|
+
from piccolo.engine import engine_finder
|
6
|
+
from piccolo_admin.endpoints import create_admin
|
7
|
+
from piccolo_api.crud.serializers import create_pydantic_model
|
8
|
+
from quart import Quart
|
9
|
+
from quart_schema import (
|
10
|
+
Info,
|
11
|
+
QuartSchema,
|
12
|
+
hide,
|
13
|
+
tag,
|
14
|
+
validate_request,
|
15
|
+
validate_response,
|
16
|
+
)
|
17
|
+
|
18
|
+
from home.endpoints import index
|
19
|
+
from home.piccolo_app import APP_CONFIG
|
20
|
+
from home.tables import Task
|
21
|
+
|
22
|
+
|
23
|
+
app = Quart(__name__, static_folder="static")
|
24
|
+
QuartSchema(app, info=Info(title="Quart API", version="0.1.0"))
|
25
|
+
|
26
|
+
|
27
|
+
TaskModelIn: t.Any = create_pydantic_model(
|
28
|
+
table=Task,
|
29
|
+
model_name="TaskModelIn",
|
30
|
+
)
|
31
|
+
TaskModelOut: t.Any = create_pydantic_model(
|
32
|
+
table=Task,
|
33
|
+
include_default_columns=True,
|
34
|
+
model_name="TaskModelOut",
|
35
|
+
)
|
36
|
+
|
37
|
+
|
38
|
+
@app.get("/")
|
39
|
+
@hide
|
40
|
+
def home():
|
41
|
+
return index()
|
42
|
+
|
43
|
+
|
44
|
+
@app.get("/tasks/")
|
45
|
+
@validate_response(t.List[TaskModelOut])
|
46
|
+
@tag(["Task"])
|
47
|
+
async def tasks():
|
48
|
+
return await Task.select().order_by(Task._meta.primary_key, ascending=False)
|
49
|
+
|
50
|
+
|
51
|
+
@app.post("/tasks/")
|
52
|
+
@validate_request(TaskModelIn)
|
53
|
+
@validate_response(TaskModelOut)
|
54
|
+
@tag(["Task"])
|
55
|
+
async def create_task(data: TaskModelIn):
|
56
|
+
task = Task(**data.model_dump())
|
57
|
+
await task.save()
|
58
|
+
return task.to_dict(), HTTPStatus.CREATED
|
59
|
+
|
60
|
+
|
61
|
+
@app.put("/tasks/<int:task_id>/")
|
62
|
+
@validate_request(TaskModelIn)
|
63
|
+
@validate_response(TaskModelOut)
|
64
|
+
@tag(["Task"])
|
65
|
+
async def update_task(task_id: int, data: TaskModelIn):
|
66
|
+
task = await Task.objects().get(Task._meta.primary_key == task_id)
|
67
|
+
if not task:
|
68
|
+
return {}, HTTPStatus.NOT_FOUND
|
69
|
+
|
70
|
+
for key, value in data.model_dump().items():
|
71
|
+
setattr(task, key, value)
|
72
|
+
|
73
|
+
await task.save()
|
74
|
+
|
75
|
+
return task.to_dict(), HTTPStatus.OK
|
76
|
+
|
77
|
+
|
78
|
+
@app.delete("/tasks/<int:task_id>/")
|
79
|
+
@validate_response(TaskModelOut)
|
80
|
+
@tag(["Task"])
|
81
|
+
async def delete_task(task_id: int):
|
82
|
+
task = await Task.objects().get(Task._meta.primary_key == task_id)
|
83
|
+
if not task:
|
84
|
+
return {}, HTTPStatus.NOT_FOUND
|
85
|
+
|
86
|
+
await task.remove()
|
87
|
+
|
88
|
+
return {}, HTTPStatus.OK
|
89
|
+
|
90
|
+
|
91
|
+
@app.before_serving
|
92
|
+
async def open_database_connection_pool():
|
93
|
+
try:
|
94
|
+
engine = engine_finder()
|
95
|
+
await engine.start_connection_pool()
|
96
|
+
except Exception:
|
97
|
+
print("Unable to connect to the database")
|
98
|
+
|
99
|
+
|
100
|
+
@app.after_serving
|
101
|
+
async def close_database_connection_pool():
|
102
|
+
try:
|
103
|
+
engine = engine_finder()
|
104
|
+
await engine.close_connection_pool()
|
105
|
+
except Exception:
|
106
|
+
print("Unable to connect to the database")
|
107
|
+
|
108
|
+
|
109
|
+
# enable the admin application using DispatcherMiddleware
|
110
|
+
app = DispatcherMiddleware( # type: ignore
|
111
|
+
{
|
112
|
+
"/admin": create_admin(
|
113
|
+
tables=APP_CONFIG.table_classes,
|
114
|
+
# Required when running under HTTPS:
|
115
|
+
# allowed_hosts=['my_site.com']
|
116
|
+
),
|
117
|
+
"": app,
|
118
|
+
}
|
119
|
+
)
|
@@ -0,0 +1,121 @@
|
|
1
|
+
import asyncio
|
2
|
+
import typing as t
|
3
|
+
|
4
|
+
from hypercorn.middleware import DispatcherMiddleware
|
5
|
+
from piccolo.engine import engine_finder
|
6
|
+
from piccolo_admin.endpoints import create_admin
|
7
|
+
from piccolo_api.crud.serializers import create_pydantic_model
|
8
|
+
from sanic import Request, Sanic, json
|
9
|
+
from sanic_ext import openapi
|
10
|
+
|
11
|
+
from home.endpoints import index
|
12
|
+
from home.piccolo_app import APP_CONFIG
|
13
|
+
from home.tables import Task
|
14
|
+
|
15
|
+
app = Sanic(__name__)
|
16
|
+
app.static("/static/", "static")
|
17
|
+
|
18
|
+
|
19
|
+
TaskModelIn: t.Any = create_pydantic_model(
|
20
|
+
table=Task,
|
21
|
+
model_name="TaskModelIn",
|
22
|
+
)
|
23
|
+
TaskModelOut: t.Any = create_pydantic_model(
|
24
|
+
table=Task,
|
25
|
+
include_default_columns=True,
|
26
|
+
model_name="TaskModelOut",
|
27
|
+
)
|
28
|
+
|
29
|
+
|
30
|
+
@app.get("/")
|
31
|
+
@openapi.exclude()
|
32
|
+
def home(request: Request):
|
33
|
+
return index()
|
34
|
+
|
35
|
+
|
36
|
+
@app.get("/tasks/")
|
37
|
+
@openapi.tag("Task")
|
38
|
+
@openapi.response(200, {"application/json": TaskModelOut.model_json_schema()})
|
39
|
+
async def tasks(request: Request):
|
40
|
+
return json(
|
41
|
+
await Task.select().order_by(Task._meta.primary_key, ascending=False),
|
42
|
+
status=200,
|
43
|
+
)
|
44
|
+
|
45
|
+
|
46
|
+
@app.post("/tasks/")
|
47
|
+
@openapi.definition(
|
48
|
+
body={"application/json": TaskModelIn.model_json_schema()},
|
49
|
+
tag="Task",
|
50
|
+
)
|
51
|
+
@openapi.response(201, {"application/json": TaskModelOut.model_json_schema()})
|
52
|
+
async def create_task(request: Request):
|
53
|
+
task = Task(**request.json)
|
54
|
+
await task.save()
|
55
|
+
return json(task.to_dict(), status=201)
|
56
|
+
|
57
|
+
|
58
|
+
@app.put("/tasks/<task_id:int>/")
|
59
|
+
@openapi.definition(
|
60
|
+
body={"application/json": TaskModelIn.model_json_schema()},
|
61
|
+
tag="Task",
|
62
|
+
)
|
63
|
+
@openapi.response(200, {"application/json": TaskModelOut.model_json_schema()})
|
64
|
+
async def update_task(request: Request, task_id: int):
|
65
|
+
task = await Task.objects().get(Task._meta.primary_key == task_id)
|
66
|
+
if not task:
|
67
|
+
return json({}, status=404)
|
68
|
+
for key, value in request.json.items():
|
69
|
+
setattr(task, key, value)
|
70
|
+
|
71
|
+
await task.save()
|
72
|
+
return json(task.to_dict(), status=200)
|
73
|
+
|
74
|
+
|
75
|
+
@app.delete("/tasks/<task_id:int>/")
|
76
|
+
@openapi.tag("Task")
|
77
|
+
async def delete_task(request: Request, task_id: int):
|
78
|
+
task = await Task.objects().get(Task._meta.primary_key == task_id)
|
79
|
+
if not task:
|
80
|
+
return json({}, status=404)
|
81
|
+
await task.remove()
|
82
|
+
return json({}, status=200)
|
83
|
+
|
84
|
+
|
85
|
+
async def open_database_connection_pool():
|
86
|
+
try:
|
87
|
+
engine = engine_finder()
|
88
|
+
await engine.start_connection_pool()
|
89
|
+
except Exception:
|
90
|
+
print("Unable to connect to the database")
|
91
|
+
|
92
|
+
|
93
|
+
async def close_database_connection_pool():
|
94
|
+
try:
|
95
|
+
engine = engine_finder()
|
96
|
+
await engine.close_connection_pool()
|
97
|
+
except Exception:
|
98
|
+
print("Unable to connect to the database")
|
99
|
+
|
100
|
+
|
101
|
+
@app.after_server_start
|
102
|
+
async def startup(app, loop):
|
103
|
+
await open_database_connection_pool()
|
104
|
+
|
105
|
+
|
106
|
+
@app.before_server_stop
|
107
|
+
async def shutdown(app, loop):
|
108
|
+
await close_database_connection_pool()
|
109
|
+
|
110
|
+
|
111
|
+
# enable the admin application using DispatcherMiddleware
|
112
|
+
app = DispatcherMiddleware( # type: ignore
|
113
|
+
{
|
114
|
+
"/admin": create_admin(
|
115
|
+
tables=APP_CONFIG.table_classes,
|
116
|
+
# Required when running under HTTPS:
|
117
|
+
# allowed_hosts=['my_site.com']
|
118
|
+
),
|
119
|
+
"": app,
|
120
|
+
}
|
121
|
+
)
|
@@ -10,4 +10,10 @@
|
|
10
10
|
{% include '_esmerald_app.py.jinja' %}
|
11
11
|
{% elif router == 'lilya' %}
|
12
12
|
{% include '_lilya_app.py.jinja' %}
|
13
|
+
{% elif router == 'quart' %}
|
14
|
+
{% include '_quart_app.py.jinja' %}
|
15
|
+
{% elif router == 'falcon' %}
|
16
|
+
{% include '_falcon_app.py.jinja' %}
|
17
|
+
{% elif router == 'sanic' %}
|
18
|
+
{% include '_sanic_app.py.jinja' %}
|
13
19
|
{% endif %}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
import falcon
|
4
|
+
import jinja2
|
5
|
+
|
6
|
+
ENVIRONMENT = jinja2.Environment(
|
7
|
+
loader=jinja2.FileSystemLoader(
|
8
|
+
searchpath=os.path.join(os.path.dirname(__file__), "templates")
|
9
|
+
)
|
10
|
+
)
|
11
|
+
|
12
|
+
|
13
|
+
class HomeEndpoint:
|
14
|
+
async def on_get(self, req, resp):
|
15
|
+
template = ENVIRONMENT.get_template("home.html.jinja")
|
16
|
+
content = template.render(title="Piccolo + ASGI",)
|
17
|
+
resp.status = falcon.HTTP_200
|
18
|
+
resp.content_type = "text/html"
|
19
|
+
resp.text = content
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
import jinja2
|
4
|
+
|
5
|
+
from quart import Response
|
6
|
+
|
7
|
+
ENVIRONMENT = jinja2.Environment(
|
8
|
+
loader=jinja2.FileSystemLoader(
|
9
|
+
searchpath=os.path.join(os.path.dirname(__file__), "templates")
|
10
|
+
)
|
11
|
+
)
|
12
|
+
|
13
|
+
|
14
|
+
def index():
|
15
|
+
template = ENVIRONMENT.get_template("home.html.jinja")
|
16
|
+
content = template.render(title="Piccolo + ASGI")
|
17
|
+
return Response(content)
|
18
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import os
|
2
|
+
|
3
|
+
import jinja2
|
4
|
+
|
5
|
+
from sanic import HTTPResponse
|
6
|
+
|
7
|
+
ENVIRONMENT = jinja2.Environment(
|
8
|
+
loader=jinja2.FileSystemLoader(
|
9
|
+
searchpath=os.path.join(os.path.dirname(__file__), "templates")
|
10
|
+
)
|
11
|
+
)
|
12
|
+
|
13
|
+
|
14
|
+
def index():
|
15
|
+
template = ENVIRONMENT.get_template("home.html.jinja")
|
16
|
+
content = template.render(title="Piccolo + ASGI")
|
17
|
+
return HTTPResponse(content)
|
{piccolo-1.22.0 → piccolo-1.23.0}/piccolo/apps/asgi/commands/templates/app/home/endpoints.py.jinja
RENAMED
@@ -8,4 +8,10 @@
|
|
8
8
|
{% include '_esmerald_endpoints.py.jinja' %}
|
9
9
|
{% elif router == 'lilya' %}
|
10
10
|
{% include '_lilya_endpoints.py.jinja' %}
|
11
|
+
{% elif router == 'quart' %}
|
12
|
+
{% include '_quart_endpoints.py.jinja' %}
|
13
|
+
{% elif router == 'falcon' %}
|
14
|
+
{% include '_falcon_endpoints.py.jinja' %}
|
15
|
+
{% elif router == 'sanic' %}
|
16
|
+
{% include '_sanic_endpoints.py.jinja' %}
|
11
17
|
{% endif %}
|
@@ -66,6 +66,21 @@
|
|
66
66
|
<li><a href="/admin/">Admin</a></li>
|
67
67
|
<li><a href="/tasks/">JSON endpoint</a></li>
|
68
68
|
</ul>
|
69
|
+
<h3>Quart</h3>
|
70
|
+
<ul>
|
71
|
+
<li><a href="/admin/">Admin</a></li>
|
72
|
+
<li><a href="/docs">Swagger API</a></li>
|
73
|
+
</ul>
|
74
|
+
<h3>Falcon</h3>
|
75
|
+
<ul>
|
76
|
+
<li><a href="/admin/">Admin</a></li>
|
77
|
+
<li><a href="/tasks/">JSON endpoint</a></li>
|
78
|
+
</ul>
|
79
|
+
<h3>Sanic</h3>
|
80
|
+
<ul>
|
81
|
+
<li><a href="/admin/">Admin</a></li>
|
82
|
+
<li><a href="/docs/swagger">Swagger API</a></li>
|
83
|
+
</ul>
|
69
84
|
</section>
|
70
85
|
</div>
|
71
86
|
{% endblock content %}
|
@@ -173,9 +173,21 @@ def convert_numeric_out(value: str) -> Decimal:
|
|
173
173
|
@decode_to_string
|
174
174
|
def convert_int_out(value: str) -> int:
|
175
175
|
"""
|
176
|
-
Make sure
|
176
|
+
Make sure INTEGER values are actually of type ``int``.
|
177
|
+
|
178
|
+
SQLite doesn't enforce that the values in INTEGER columns are actually
|
179
|
+
integers - they could be strings ('hello'), or floats (1.0).
|
180
|
+
|
181
|
+
There's not much we can do if the value is something like 'hello' - a
|
182
|
+
``ValueError`` is appropriate in this situation.
|
183
|
+
|
184
|
+
For a value like ``1.0``, it seems reasonable to handle this, and return a
|
185
|
+
value of ``1``.
|
186
|
+
|
177
187
|
"""
|
178
|
-
|
188
|
+
# We used to use int(float(value)), but it was incorrect, because float has
|
189
|
+
# limited precision for large numbers.
|
190
|
+
return int(Decimal(value))
|
179
191
|
|
180
192
|
|
181
193
|
@decode_to_string
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: piccolo
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.23.0
|
4
4
|
Summary: A fast, user friendly ORM and query builder which supports asyncio.
|
5
5
|
Home-page: https://github.com/piccolo-orm/piccolo
|
6
6
|
Author: Daniel Townsend
|
@@ -9,7 +9,6 @@ License: MIT
|
|
9
9
|
Project-URL: Documentation, https://piccolo-orm.readthedocs.io/en/latest/index.html
|
10
10
|
Project-URL: Source, https://github.com/piccolo-orm/piccolo
|
11
11
|
Project-URL: Tracker, https://github.com/piccolo-orm/piccolo/issues
|
12
|
-
Platform: UNKNOWN
|
13
12
|
Classifier: License :: OSI Approved :: MIT License
|
14
13
|
Classifier: Programming Language :: Python
|
15
14
|
Classifier: Programming Language :: Python :: 3
|
@@ -24,13 +23,42 @@ Classifier: Typing :: Typed
|
|
24
23
|
Classifier: Topic :: Database
|
25
24
|
Requires-Python: >=3.9.0
|
26
25
|
Description-Content-Type: text/markdown
|
26
|
+
License-File: LICENSE
|
27
|
+
Requires-Dist: black
|
28
|
+
Requires-Dist: colorama>=0.4.0
|
29
|
+
Requires-Dist: Jinja2>=2.11.0
|
30
|
+
Requires-Dist: targ>=0.3.7
|
31
|
+
Requires-Dist: inflection>=0.5.1
|
32
|
+
Requires-Dist: typing-extensions>=4.3.0
|
33
|
+
Requires-Dist: pydantic[email]==2.*
|
27
34
|
Provides-Extra: orjson
|
35
|
+
Requires-Dist: orjson>=3.5.1; extra == "orjson"
|
28
36
|
Provides-Extra: playground
|
37
|
+
Requires-Dist: ipython; extra == "playground"
|
29
38
|
Provides-Extra: postgres
|
39
|
+
Requires-Dist: asyncpg>=0.30.0; extra == "postgres"
|
30
40
|
Provides-Extra: sqlite
|
41
|
+
Requires-Dist: aiosqlite>=0.16.0; extra == "sqlite"
|
31
42
|
Provides-Extra: uvloop
|
43
|
+
Requires-Dist: uvloop>=0.12.0; sys_platform != "win32" and extra == "uvloop"
|
32
44
|
Provides-Extra: all
|
33
|
-
|
45
|
+
Requires-Dist: orjson>=3.5.1; extra == "all"
|
46
|
+
Requires-Dist: ipython; extra == "all"
|
47
|
+
Requires-Dist: asyncpg>=0.30.0; extra == "all"
|
48
|
+
Requires-Dist: aiosqlite>=0.16.0; extra == "all"
|
49
|
+
Requires-Dist: uvloop>=0.12.0; sys_platform != "win32" and extra == "all"
|
50
|
+
Dynamic: author
|
51
|
+
Dynamic: author-email
|
52
|
+
Dynamic: classifier
|
53
|
+
Dynamic: description
|
54
|
+
Dynamic: description-content-type
|
55
|
+
Dynamic: home-page
|
56
|
+
Dynamic: license
|
57
|
+
Dynamic: project-url
|
58
|
+
Dynamic: provides-extra
|
59
|
+
Dynamic: requires-dist
|
60
|
+
Dynamic: requires-python
|
61
|
+
Dynamic: summary
|
34
62
|
|
35
63
|

|
36
64
|
|
@@ -128,7 +156,7 @@ Let Piccolo scaffold you an ASGI web app, using Piccolo as the ORM:
|
|
128
156
|
piccolo asgi new
|
129
157
|
```
|
130
158
|
|
131
|
-
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/), [Esmerald](https://esmerald.dev/)
|
159
|
+
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/), [Esmerald](https://esmerald.dev/), [Lilya](https://lilya.dev), [Quart](https://quart.palletsprojects.com/en/latest/), [Falcon](https://falconframework.org/) and [Sanic](https://sanic.dev/en/) are currently supported.
|
132
160
|
|
133
161
|
## Are you a Django user?
|
134
162
|
|
@@ -139,5 +167,3 @@ We have a handy page which shows the equivalent of [common Django queries in Pic
|
|
139
167
|
Our documentation is on [Read the docs](https://piccolo-orm.readthedocs.io/en/latest/piccolo/getting_started/index.html).
|
140
168
|
|
141
169
|
We also have some great [tutorial videos on YouTube](https://www.youtube.com/channel/UCE7x5nm1Iy9KDfXPNrNQ5lA).
|
142
|
-
|
143
|
-
|
@@ -31,9 +31,12 @@ piccolo/apps/asgi/commands/new.py
|
|
31
31
|
piccolo/apps/asgi/commands/templates/app/README.md.jinja
|
32
32
|
piccolo/apps/asgi/commands/templates/app/_blacksheep_app.py.jinja
|
33
33
|
piccolo/apps/asgi/commands/templates/app/_esmerald_app.py.jinja
|
34
|
+
piccolo/apps/asgi/commands/templates/app/_falcon_app.py.jinja
|
34
35
|
piccolo/apps/asgi/commands/templates/app/_fastapi_app.py.jinja
|
35
36
|
piccolo/apps/asgi/commands/templates/app/_lilya_app.py.jinja
|
36
37
|
piccolo/apps/asgi/commands/templates/app/_litestar_app.py.jinja
|
38
|
+
piccolo/apps/asgi/commands/templates/app/_quart_app.py.jinja
|
39
|
+
piccolo/apps/asgi/commands/templates/app/_sanic_app.py.jinja
|
37
40
|
piccolo/apps/asgi/commands/templates/app/_starlette_app.py.jinja
|
38
41
|
piccolo/apps/asgi/commands/templates/app/app.py.jinja
|
39
42
|
piccolo/apps/asgi/commands/templates/app/conftest.py.jinja
|
@@ -44,8 +47,11 @@ piccolo/apps/asgi/commands/templates/app/requirements.txt.jinja
|
|
44
47
|
piccolo/apps/asgi/commands/templates/app/home/__init__.py.jinja
|
45
48
|
piccolo/apps/asgi/commands/templates/app/home/_blacksheep_endpoints.py.jinja
|
46
49
|
piccolo/apps/asgi/commands/templates/app/home/_esmerald_endpoints.py.jinja
|
50
|
+
piccolo/apps/asgi/commands/templates/app/home/_falcon_endpoints.py.jinja
|
47
51
|
piccolo/apps/asgi/commands/templates/app/home/_lilya_endpoints.py.jinja
|
48
52
|
piccolo/apps/asgi/commands/templates/app/home/_litestar_endpoints.py.jinja
|
53
|
+
piccolo/apps/asgi/commands/templates/app/home/_quart_endpoints.py.jinja
|
54
|
+
piccolo/apps/asgi/commands/templates/app/home/_sanic_endpoints.py.jinja
|
49
55
|
piccolo/apps/asgi/commands/templates/app/home/_starlette_endpoints.py.jinja
|
50
56
|
piccolo/apps/asgi/commands/templates/app/home/endpoints.py.jinja
|
51
57
|
piccolo/apps/asgi/commands/templates/app/home/piccolo_app.py.jinja
|
@@ -205,6 +211,8 @@ piccolo/utils/graphlib/__init__.py
|
|
205
211
|
piccolo/utils/graphlib/_graphlib.py
|
206
212
|
profiling/__init__.py
|
207
213
|
profiling/run_profile.py
|
214
|
+
tests/test_main.py
|
215
|
+
tests/test_schema.py
|
208
216
|
tests/apps/__init__.py
|
209
217
|
tests/apps/app/__init__.py
|
210
218
|
tests/apps/app/commands/__init__.py
|
@@ -269,6 +277,7 @@ tests/columns/test_db_column_name.py
|
|
269
277
|
tests/columns/test_defaults.py
|
270
278
|
tests/columns/test_double_precision.py
|
271
279
|
tests/columns/test_get_sql_value.py
|
280
|
+
tests/columns/test_integer.py
|
272
281
|
tests/columns/test_interval.py
|
273
282
|
tests/columns/test_json.py
|
274
283
|
tests/columns/test_jsonb.py
|