piccolo 1.27.0__py3-none-any.whl → 1.28.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. piccolo/__init__.py +1 -1
  2. piccolo/apps/app/commands/new.py +3 -3
  3. piccolo/apps/asgi/commands/new.py +1 -2
  4. piccolo/apps/fixtures/commands/dump.py +8 -8
  5. piccolo/apps/fixtures/commands/load.py +5 -5
  6. piccolo/apps/fixtures/commands/shared.py +9 -9
  7. piccolo/apps/migrations/auto/diffable_table.py +12 -12
  8. piccolo/apps/migrations/auto/migration_manager.py +59 -66
  9. piccolo/apps/migrations/auto/operations.py +14 -14
  10. piccolo/apps/migrations/auto/schema_differ.py +35 -34
  11. piccolo/apps/migrations/auto/schema_snapshot.py +3 -4
  12. piccolo/apps/migrations/auto/serialisation.py +27 -24
  13. piccolo/apps/migrations/auto/serialisation_legacy.py +2 -2
  14. piccolo/apps/migrations/commands/backwards.py +1 -2
  15. piccolo/apps/migrations/commands/base.py +12 -12
  16. piccolo/apps/migrations/commands/check.py +2 -3
  17. piccolo/apps/migrations/commands/clean.py +3 -3
  18. piccolo/apps/migrations/commands/forwards.py +1 -2
  19. piccolo/apps/migrations/commands/new.py +6 -6
  20. piccolo/apps/migrations/tables.py +3 -3
  21. piccolo/apps/playground/commands/run.py +29 -13
  22. piccolo/apps/schema/commands/generate.py +49 -49
  23. piccolo/apps/schema/commands/graph.py +5 -5
  24. piccolo/apps/shell/commands/run.py +1 -2
  25. piccolo/apps/sql_shell/commands/run.py +4 -4
  26. piccolo/apps/tester/commands/run.py +3 -3
  27. piccolo/apps/user/commands/change_permissions.py +6 -6
  28. piccolo/apps/user/commands/create.py +7 -7
  29. piccolo/apps/user/commands/list.py +2 -2
  30. piccolo/apps/user/tables.py +8 -8
  31. piccolo/columns/base.py +84 -52
  32. piccolo/columns/choices.py +2 -2
  33. piccolo/columns/column_types.py +297 -175
  34. piccolo/columns/combination.py +15 -12
  35. piccolo/columns/defaults/base.py +4 -4
  36. piccolo/columns/defaults/date.py +4 -3
  37. piccolo/columns/defaults/interval.py +4 -3
  38. piccolo/columns/defaults/time.py +4 -3
  39. piccolo/columns/defaults/timestamp.py +4 -3
  40. piccolo/columns/defaults/timestamptz.py +4 -3
  41. piccolo/columns/defaults/uuid.py +3 -2
  42. piccolo/columns/m2m.py +28 -35
  43. piccolo/columns/readable.py +4 -3
  44. piccolo/columns/reference.py +9 -9
  45. piccolo/conf/apps.py +53 -54
  46. piccolo/custom_types.py +28 -6
  47. piccolo/engine/base.py +14 -14
  48. piccolo/engine/cockroach.py +5 -4
  49. piccolo/engine/finder.py +2 -2
  50. piccolo/engine/postgres.py +20 -19
  51. piccolo/engine/sqlite.py +23 -22
  52. piccolo/query/base.py +30 -29
  53. piccolo/query/functions/__init__.py +12 -0
  54. piccolo/query/functions/aggregate.py +4 -3
  55. piccolo/query/functions/array.py +151 -0
  56. piccolo/query/functions/base.py +3 -3
  57. piccolo/query/functions/datetime.py +22 -22
  58. piccolo/query/functions/string.py +4 -4
  59. piccolo/query/functions/type_conversion.py +30 -15
  60. piccolo/query/methods/alter.py +47 -46
  61. piccolo/query/methods/count.py +11 -10
  62. piccolo/query/methods/create.py +6 -5
  63. piccolo/query/methods/create_index.py +9 -8
  64. piccolo/query/methods/delete.py +7 -6
  65. piccolo/query/methods/drop_index.py +7 -6
  66. piccolo/query/methods/exists.py +6 -5
  67. piccolo/query/methods/indexes.py +4 -4
  68. piccolo/query/methods/insert.py +21 -14
  69. piccolo/query/methods/objects.py +60 -50
  70. piccolo/query/methods/raw.py +7 -6
  71. piccolo/query/methods/refresh.py +8 -7
  72. piccolo/query/methods/select.py +56 -49
  73. piccolo/query/methods/table_exists.py +5 -5
  74. piccolo/query/methods/update.py +8 -7
  75. piccolo/query/mixins.py +56 -61
  76. piccolo/query/operators/json.py +11 -11
  77. piccolo/query/proxy.py +8 -9
  78. piccolo/querystring.py +14 -15
  79. piccolo/schema.py +10 -10
  80. piccolo/table.py +93 -94
  81. piccolo/table_reflection.py +9 -9
  82. piccolo/testing/model_builder.py +12 -11
  83. piccolo/testing/random_builder.py +2 -2
  84. piccolo/testing/test_case.py +4 -4
  85. piccolo/utils/dictionary.py +3 -3
  86. piccolo/utils/encoding.py +5 -5
  87. piccolo/utils/lazy_loader.py +3 -3
  88. piccolo/utils/list.py +7 -8
  89. piccolo/utils/objects.py +4 -6
  90. piccolo/utils/pydantic.py +21 -24
  91. piccolo/utils/sql_values.py +3 -3
  92. piccolo/utils/sync.py +4 -3
  93. piccolo/utils/warnings.py +1 -2
  94. {piccolo-1.27.0.dist-info → piccolo-1.28.0.dist-info}/METADATA +1 -1
  95. {piccolo-1.27.0.dist-info → piccolo-1.28.0.dist-info}/RECORD +122 -121
  96. tests/apps/fixtures/commands/test_dump_load.py +1 -2
  97. tests/apps/migrations/auto/integration/test_migrations.py +32 -7
  98. tests/apps/migrations/auto/test_migration_manager.py +2 -2
  99. tests/apps/migrations/auto/test_schema_differ.py +22 -23
  100. tests/apps/migrations/commands/test_forwards_backwards.py +3 -3
  101. tests/columns/m2m/base.py +2 -2
  102. tests/columns/test_array.py +176 -10
  103. tests/columns/test_boolean.py +2 -4
  104. tests/columns/test_combination.py +29 -1
  105. tests/columns/test_db_column_name.py +2 -2
  106. tests/engine/test_extra_nodes.py +2 -2
  107. tests/engine/test_pool.py +3 -3
  108. tests/engine/test_transaction.py +4 -4
  109. tests/query/test_freeze.py +4 -4
  110. tests/table/instance/test_get_related.py +2 -2
  111. tests/table/test_alter.py +4 -4
  112. tests/table/test_indexes.py +1 -2
  113. tests/table/test_refresh.py +2 -2
  114. tests/table/test_select.py +58 -0
  115. tests/table/test_update.py +3 -3
  116. tests/testing/test_model_builder.py +1 -2
  117. tests/utils/test_pydantic.py +36 -36
  118. tests/utils/test_table_reflection.py +1 -2
  119. {piccolo-1.27.0.dist-info → piccolo-1.28.0.dist-info}/WHEEL +0 -0
  120. {piccolo-1.27.0.dist-info → piccolo-1.28.0.dist-info}/entry_points.txt +0 -0
  121. {piccolo-1.27.0.dist-info → piccolo-1.28.0.dist-info}/licenses/LICENSE +0 -0
  122. {piccolo-1.27.0.dist-info → piccolo-1.28.0.dist-info}/top_level.txt +0 -0
@@ -1,23 +1,23 @@
1
- piccolo/__init__.py,sha256=9UaawscjAdTDGvGc2L9Sq_aPYrpnnI4wx-135tmehQ0,23
2
- piccolo/custom_types.py,sha256=7HMQAze-5mieNLfbQ5QgbRQgR2abR7ol0qehv2SqROY,604
1
+ piccolo/__init__.py,sha256=xu4CW3LmhKRfjg47hg5s7XZDPYKw_3YQKCjwvwcpK1E,23
2
+ piccolo/custom_types.py,sha256=3ceuQZNMQTXVikZzACnJS4eIIgTpwubKg2kaKOshprw,1035
3
3
  piccolo/main.py,sha256=1VsFV67FWTUikPTysp64Fmgd9QBVa_9wcwKfwj2UCEA,5117
4
4
  piccolo/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- piccolo/querystring.py,sha256=kb7RYTvQZEyPsC4GH8vR2b_w35wnM-ita242S0_eyvQ,10013
6
- piccolo/schema.py,sha256=qNNy4tG_HqnXR9t3hHMgYXtGxHabwQAhUpc6RKLJ_gE,7960
7
- piccolo/table.py,sha256=vA4H5oebvpIsUYUpAIOFMqAG8wtNBWmu18zEmbfen0I,50629
8
- piccolo/table_reflection.py,sha256=02baOSLX6f2LEo0kruFZYF_nPPTbIvaCTH_KPGe0DKw,7540
5
+ piccolo/querystring.py,sha256=nOSCh5sTng-dxHr5WdUqf7TwYTrKAgkEP5GcrBmcW9I,10011
6
+ piccolo/schema.py,sha256=2S5SlG9FfAuRKNLA6cADziNcFJ1PeNj5uhc_NJ-_g0I,7953
7
+ piccolo/table.py,sha256=83FMLo3AuR_eePhbu1YXXQPHcJ84n5XaQOys6zesgoU,50438
8
+ piccolo/table_reflection.py,sha256=q3Dp70SI0r8eNduOgVv4u4_W5NwN6A54oYB_2BnyaVY,7535
9
9
  piccolo/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  piccolo/apps/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  piccolo/apps/app/piccolo_app.py,sha256=8z2ITpxQQ-McxSYwQ5H_vyEnRXbY6cyAh2JSqhiylYk,340
12
12
  piccolo/apps/app/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- piccolo/apps/app/commands/new.py,sha256=XzcVBBHiEezIt0VvyNezLDSgcSRDn5rmefdVulReCSk,3382
13
+ piccolo/apps/app/commands/new.py,sha256=DVTdHu9y3yqC1--ZMDJiOwzeJ2wgAFwfzqf_7c_h9ck,3382
14
14
  piccolo/apps/app/commands/show_all.py,sha256=46Hv3SipMT0YeMgAobU62O0mR7xvN1pn7xjU9Y2spKM,252
15
15
  piccolo/apps/app/commands/templates/piccolo_app.py.jinja,sha256=QjaBEQucryT-vCv37Qm47I2hdirGxYE725WUGqF2WR0,592
16
16
  piccolo/apps/app/commands/templates/tables.py.jinja,sha256=revzdrvDDwe78VedBKz0zYSwcsxyv2IURun6q6qmV1Y,32
17
17
  piccolo/apps/asgi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  piccolo/apps/asgi/piccolo_app.py,sha256=7VUvqQJbB-ScO0A62S6MiJmQL9F5DS-SdlqlDLbAblE,217
19
19
  piccolo/apps/asgi/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- piccolo/apps/asgi/commands/new.py,sha256=718mXx7XdDTN0CKK0ZB1WVMkOrQtVfqT5bqO1kDKnRk,4335
20
+ piccolo/apps/asgi/commands/new.py,sha256=6TNnp4Dz4g8tZNsXPv-cMCchRhmFzkUrwXZtiQ6ima8,4314
21
21
  piccolo/apps/asgi/commands/templates/app/README.md.jinja,sha256=As3gNEZt9qcRmTVkjCzNtXJ8r4-3g0fCSe7Q-P39ezI,214
22
22
  piccolo/apps/asgi/commands/templates/app/_blacksheep_app.py.jinja,sha256=ERbVPjjLQWDhXBYzZ_h3WT1Uf0qRL19rFE_NO3i09G0,3213
23
23
  piccolo/apps/asgi/commands/templates/app/_esmerald_app.py.jinja,sha256=fIbD106Us4j2DBv_41PimvFRVw2FuZhOfc3xFPkNjuY,2715
@@ -54,36 +54,36 @@ piccolo/apps/asgi/commands/templates/app/static/main.css,sha256=vudarPLglQ6NOgJi
54
54
  piccolo/apps/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  piccolo/apps/fixtures/piccolo_app.py,sha256=4O1Cznl1zms2gIw2iVjCjidkgCfFcB83nZIAJwcNTtg,268
56
56
  piccolo/apps/fixtures/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- piccolo/apps/fixtures/commands/dump.py,sha256=UFkpV1e3UtayMf57WvFQbVsYpqFwo_gKoQC7oR3jdzc,3669
58
- piccolo/apps/fixtures/commands/load.py,sha256=Qnk8gT9iAcSGac6uALWHY26ikzg2npjGqYHMZGm6hVg,4216
59
- piccolo/apps/fixtures/commands/shared.py,sha256=BMG8ku5FyK5vLewaDYwEfe_5HCnEVz1oKxHfL-GpO08,1462
57
+ piccolo/apps/fixtures/commands/dump.py,sha256=7FJezhspjuKIkh0oWKV8Yj1qKGC7GIuVIkAIRUXfN-o,3663
58
+ piccolo/apps/fixtures/commands/load.py,sha256=-7LlTO22PZO9kktcHruOvV-5txuLwms9izIpJxoay1w,4213
59
+ piccolo/apps/fixtures/commands/shared.py,sha256=FCobEige7n_-SM85sRVsxyUiqoOzJ7IdyXQr8CrZ12o,1461
60
60
  piccolo/apps/meta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  piccolo/apps/meta/piccolo_app.py,sha256=EdAB74BvwpwO9L8DOIMXPly9f4hiW3oaWdzoLNNV2a4,224
62
62
  piccolo/apps/meta/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  piccolo/apps/meta/commands/version.py,sha256=iDStZ7FPd5Da0vIAZrvFTCDev2yCtGBzWhlCdRHSECo,115
64
64
  piccolo/apps/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
65
  piccolo/apps/migrations/piccolo_app.py,sha256=1EcS2ComBPCaMCC2C3WaPR_GqLwt3XiIJNfm5D2hMgo,593
66
- piccolo/apps/migrations/tables.py,sha256=jqBnK-Rk545v1Eu6GaLHTVz7-uwBTUnz2m58OA-mxTc,799
66
+ piccolo/apps/migrations/tables.py,sha256=-sWwllTFzsdrZxgtOwBqtHwmo1uvoaMXdThfcNAcPqA,804
67
67
  piccolo/apps/migrations/auto/__init__.py,sha256=eYb1rZQaalumv_bhbcEe6x3dUglmpFtw7Egg6k7597U,316
68
- piccolo/apps/migrations/auto/diffable_table.py,sha256=1HdqGeWFUYVJ2cJg6DZWOCh67SbgCxFVc554uD7N71A,7405
69
- piccolo/apps/migrations/auto/migration_manager.py,sha256=5M2_01_FsZj6zIGXLEwkyEAPF2e-ICNB2_ZcBWwifCQ,37267
70
- piccolo/apps/migrations/auto/operations.py,sha256=169IrCLR3FtTRxHsEHNg6dTG45lcEM7Aoyy3SwgX_hU,1329
71
- piccolo/apps/migrations/auto/schema_differ.py,sha256=VA1rK-_wNSdyZZgfA3ZOlpVGJCcvLyouKtT9k2YKhiA,26266
72
- piccolo/apps/migrations/auto/schema_snapshot.py,sha256=ZqUg4NpChOeoACKF2gkhqsz1BW3wOWFnzJCccq-CNNQ,4719
73
- piccolo/apps/migrations/auto/serialisation.py,sha256=Jw3WEjT7HF4aLl6-GS6tFIEhItaJWxlw8RIwrL2vxaU,24183
74
- piccolo/apps/migrations/auto/serialisation_legacy.py,sha256=Edqx3YL0RGTsTHLNkHRNnXdfX6ut1h65U7UX2cI_BkE,1752
68
+ piccolo/apps/migrations/auto/diffable_table.py,sha256=Lv5jVD2NCY1APPoCUFd0BMKuTaLeYqnm1N-C7qN1MTU,7389
69
+ piccolo/apps/migrations/auto/migration_manager.py,sha256=Y0qxaUpMYAFOVtdvCtkQ1SalT9cedFp1mqprXe2XURw,37130
70
+ piccolo/apps/migrations/auto/operations.py,sha256=WSefwjii44Zldi-GelQPmWCE7jrgS1d9_GcnBS8eANs,1307
71
+ piccolo/apps/migrations/auto/schema_differ.py,sha256=PEHg4nafla7nsgF_0MHyPi0DdxzG2hxhw8PKG-5uwe0,26249
72
+ piccolo/apps/migrations/auto/schema_snapshot.py,sha256=IHEoospgAY3-R8EkmXRSNv9o6tuU7qKqbsGaVNDckvQ,4694
73
+ piccolo/apps/migrations/auto/serialisation.py,sha256=jQBj-ybKR7Rf85XI3inJfNzvEhoAIvObt8BOTaMtV0E,24277
74
+ piccolo/apps/migrations/auto/serialisation_legacy.py,sha256=c2ZF5NR7yYq2oUVhd_OxiROsn8kw3pFNHf9GqPVc424,1754
75
75
  piccolo/apps/migrations/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- piccolo/apps/migrations/commands/backwards.py,sha256=sBLotsdbwX11dji4H7YWgbaonluZSKBs6V3zFB3l4SY,6654
77
- piccolo/apps/migrations/commands/base.py,sha256=iuF5-PppAVt6eOo0EOtISKuVGsfR3VVcyXCzRYNOcj4,4484
78
- piccolo/apps/migrations/commands/check.py,sha256=JbzKAR_SFEs5dYvW0J_X4jgIpJDAHLIRz364JIZT6eQ,3991
79
- piccolo/apps/migrations/commands/clean.py,sha256=JYs9VwvGN45tXM2iiaqGj3UQFZhJETrWahT0tcpGvBk,2864
80
- piccolo/apps/migrations/commands/forwards.py,sha256=03zGZIG4csf5jFrvl3dos6u0AmNTUkh4q0bf9Zt1Yz8,5427
81
- piccolo/apps/migrations/commands/new.py,sha256=k1cXGeydfrr3_kscwtahv7QdJW_DtTlUNHk7WW4Kfr8,7924
76
+ piccolo/apps/migrations/commands/backwards.py,sha256=2aGqOVDhAMFkmO8t01csXSNlYs-VkfUlJBx6uJirYBg,6633
77
+ piccolo/apps/migrations/commands/base.py,sha256=mQpje0NPEzor6tkXSq466IYecMyMFDLyNUp_uVQhcMY,4477
78
+ piccolo/apps/migrations/commands/check.py,sha256=58mcteQ18FNOQ3f4Tn-e5c7AKZSQa6AT_ehGpjqsbMc,3968
79
+ piccolo/apps/migrations/commands/clean.py,sha256=83fXvpfei895VXzkai5mcjOiIX3cCoQSuco2FLrU7Cs,2863
80
+ piccolo/apps/migrations/commands/forwards.py,sha256=HaRRdKKEKxfhbRTKK4i1ZNR44vi_nVUFAxDvfC-ewNQ,5406
81
+ piccolo/apps/migrations/commands/new.py,sha256=FkOQBwwjO1RLmrTWY0ch0fmfVflqmD9fyYQeheMps8g,7923
82
82
  piccolo/apps/migrations/commands/templates/migration.py.jinja,sha256=wMC8RTIcQj3mjZh3FhuxuIfsqftZ5ivraO9fg-H6fbI,681
83
83
  piccolo/apps/playground/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
84
  piccolo/apps/playground/piccolo_app.py,sha256=zs6nGxt-lgUF8nEwI0uDTNZDKQqjZaNDH8le5RqrMNE,222
85
85
  piccolo/apps/playground/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
- piccolo/apps/playground/commands/run.py,sha256=lpCbVmXabWBlsgwE-8cK4woIK_78E3nq9CTfA5hEJFI,9014
86
+ piccolo/apps/playground/commands/run.py,sha256=5761m3xLcxR0uSeUSKgQ3V2Pr8LlGB0JAjhGTX9gCVo,9680
87
87
  piccolo/apps/project/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
88
  piccolo/apps/project/piccolo_app.py,sha256=mT3O0m3QcCfS0oOr3jt0QZ9TX6gUavGPjJeNn2C_fdM,220
89
89
  piccolo/apps/project/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -93,114 +93,115 @@ piccolo/apps/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
93
93
  piccolo/apps/schema/piccolo_app.py,sha256=De9eujzB6zWsP6J1gHYUk_f5_DpjvTZVXJsQ3eXBgnA,432
94
94
  piccolo/apps/schema/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
95
  piccolo/apps/schema/commands/exceptions.py,sha256=ZOGL3iV-xtWbWsImXObrXNaKtNPY_Qk1OmaOMOV6Ps0,236
96
- piccolo/apps/schema/commands/generate.py,sha256=xYRz9P4cdahSHzAIiXhXBzg6eUqV0WB2THSRZH7uPhU,30415
97
- piccolo/apps/schema/commands/graph.py,sha256=FuQUPavUXpr-Y_11XRr11DbVLsgK8uG0IN8uBZIe5G4,3190
96
+ piccolo/apps/schema/commands/generate.py,sha256=p5Z1EOUcngfdiCQiU6oFuFmAwVVfSXv9y6uq8E9Jtf0,30332
97
+ piccolo/apps/schema/commands/graph.py,sha256=gZMVUDHt_J6mzJPIl-Kqa3uszJ0X4tQTPfhAPnoZabA,3191
98
98
  piccolo/apps/schema/commands/templates/graphviz.dot.jinja,sha256=-legygtsueOC70aboX35ZJpbCAXcv3E8RXXvFDQTeIY,1443
99
99
  piccolo/apps/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
100
  piccolo/apps/shell/piccolo_app.py,sha256=LjyAvzNreSkeKM02VzR1E78S6QrcPjy1aGRFP-O4T9c,217
101
101
  piccolo/apps/shell/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
- piccolo/apps/shell/commands/run.py,sha256=BiGMnM0wGKNvZOklgQeU_ZhBYWFxtsTQuvVHdod9Lzc,1628
102
+ piccolo/apps/shell/commands/run.py,sha256=H0uVmCAClWZVNAsdr6CS1wPwsPK_qqrOLmrrWh2leRc,1607
103
103
  piccolo/apps/sql_shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
104
104
  piccolo/apps/sql_shell/piccolo_app.py,sha256=uFuMQIPLSMYi7y5x3wG1LPqGmEkwC-dYlmLTKrBaUQQ,221
105
105
  piccolo/apps/sql_shell/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
- piccolo/apps/sql_shell/commands/run.py,sha256=mOt0kuJ_-QhKXrlt0Ceicx4JxxCLlK6OwUyB_HQpLiI,2097
106
+ piccolo/apps/sql_shell/commands/run.py,sha256=LowV_hc0WB0QCF209c7T-yOaLfWX0tUApGRbablPwag,2096
107
107
  piccolo/apps/tester/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
108
  piccolo/apps/tester/piccolo_app.py,sha256=LAAzW3SdVKZjvVXpBxwprYxV0rJbeDD3CB5JpRmHm8k,225
109
109
  piccolo/apps/tester/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
- piccolo/apps/tester/commands/run.py,sha256=phFxim2ogARAviW-YT11y9F-L5SJxSioAIepUzQeAWU,2431
110
+ piccolo/apps/tester/commands/run.py,sha256=A75dgmwdYSDUpK1CjkmNr3-7FaYXK6UBoibjTGfmMEw,2436
111
111
  piccolo/apps/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
112
  piccolo/apps/user/piccolo_app.py,sha256=yfw1J9FEnBWdgGdUdNMnqp06Wzm5_s9TO2r5KLchrLM,842
113
- piccolo/apps/user/tables.py,sha256=QD8FD3qhtBqfFAkAMjQVqTnxrPmwa_V2uzVzk16eRaU,9153
113
+ piccolo/apps/user/tables.py,sha256=_I1QfnXpR6jDBVyu9rI8sq2aGNnm3zS9dzvnUPA46SU,9160
114
114
  piccolo/apps/user/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
115
  piccolo/apps/user/commands/change_password.py,sha256=F7mlhtTUY7uENSK8vds5oibIDJTz7QBQdrl7EB-lF9Q,649
116
- piccolo/apps/user/commands/change_permissions.py,sha256=LScsKJUMJqIi54cZ1SgS9Wb356KB0t7smu94FDXLfVk,1463
117
- piccolo/apps/user/commands/create.py,sha256=7qIFM1KVdbKVUjUtNz1e_LDKwzwaJKNSWzWVP9QQqRQ,2273
118
- piccolo/apps/user/commands/list.py,sha256=wCq7tggaMWwBhDF1adZNUdkZhcWy71UyNBHlaGggREA,1761
116
+ piccolo/apps/user/commands/change_permissions.py,sha256=imM96Dj06gEkHnjUPDjWG_xfX3OfQRZHninuiQHDfbo,1482
117
+ piccolo/apps/user/commands/create.py,sha256=jiSBVqA2OhiMl105fuwuHSnkbZyqDww_CS4FyJ2PGSM,2270
118
+ piccolo/apps/user/commands/list.py,sha256=_ThAC8owe5r-Bg3JYu7hXtEw5-5wJ5dF7ivYj-7QNws,1759
119
119
  piccolo/apps/user/piccolo_migrations/2019-11-14T21-52-21.py,sha256=IPU-9OBkHXNKrUAZN0ANLiXiQ6PCJqGjLJacd0kYimI,2029
120
120
  piccolo/apps/user/piccolo_migrations/2020-06-11T21-38-55.py,sha256=8sKZb05RzWpUYnksZamHIzUh1OR-xSPIjMs7rOxNfg0,938
121
121
  piccolo/apps/user/piccolo_migrations/2021-04-30T16-14-15.py,sha256=Plaj2joEYGXaydY5eRmn_1RsB75ioiTOHxC48tuPyV8,1175
122
122
  piccolo/apps/user/piccolo_migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
123
123
  piccolo/columns/__init__.py,sha256=OYhO_n9anMiU9nL-K6ATq9FhAtm8RyMpqYQ7fTVbhxI,1120
124
- piccolo/columns/base.py,sha256=02hEo9XGkJMQ05vsuYfLF-oJ4fvqG74ucc3GVwVC1oY,32663
125
- piccolo/columns/choices.py,sha256=-HNQuk9vMmVZIPZ5PMeXGTfr23o4nzKPSAkvcG1k0y8,723
126
- piccolo/columns/column_types.py,sha256=7UzDe2kro7cncyUtssNwU35xZ6782vJ-iuAJ9qqbQsM,84920
127
- piccolo/columns/combination.py,sha256=NUOxmYcx84JW-2FcoF1XJVp_4R01aTJyl3waPzfZ4Tc,6955
124
+ piccolo/columns/base.py,sha256=66hsxdiPJQiJ-v0TRSwxUYx3Cbw4BUp84jr6EFaDoOc,33632
125
+ piccolo/columns/choices.py,sha256=ij5cMmslGr0WcFjcFelhdECX1E3n3R7Kl2Tn5bhu_Lc,725
126
+ piccolo/columns/column_types.py,sha256=tzMdgrVgr1iYsFrc85wcMmT0_MYZRRcbdhH11cfZyxc,88240
127
+ piccolo/columns/combination.py,sha256=lTxbrmUCrk_mVsvBPSEV7v72_dPjMs-Y8-MmAJFAifY,7088
128
128
  piccolo/columns/indexes.py,sha256=NfNok3v_791jgDlN28KmhP9ZCjl6031BXmjxV3ovXJk,372
129
- piccolo/columns/m2m.py,sha256=QMeSOnm4DT2cG9U5jC6sOZ6z9DxCWwDyZMSqk0wR2q4,14682
130
- piccolo/columns/readable.py,sha256=hganxUPfIK5ZXn-qgteBxsOJfBJucgr9U0QLsLFYcuI,1562
131
- piccolo/columns/reference.py,sha256=n4SW5CGrUSwsRk2Pm7UbikmKdUHuJ2D5OobQ7Mea1vQ,3669
129
+ piccolo/columns/m2m.py,sha256=FfMS9oBZSrFwHsWxp8lJDj4JD0ukphYa3RPyJDKYyLY,14587
130
+ piccolo/columns/readable.py,sha256=7GefU-8msP1aNFJTdlU7-Y6a1bjSu6YCKKtdBIA2tV0,1609
131
+ piccolo/columns/reference.py,sha256=fNARYM67aAlvuvzysetQot5bgsRYZ2kV0oLGVpDONDc,3673
132
132
  piccolo/columns/defaults/__init__.py,sha256=7hpB13baEJgc1zbZjRKDFr-5hltxM2VGj8KnKfOiS8c,145
133
- piccolo/columns/defaults/base.py,sha256=z_ZgtSFbLuwqdYdI7dr2n1SeyTJ7M4Ee4Ki7eRaBlVA,1869
134
- piccolo/columns/defaults/date.py,sha256=Duuyi-QJ9Rr72aJkCNnjyO1CJBE-inZNGKnyV8tbLLE,2517
135
- piccolo/columns/defaults/interval.py,sha256=ypaQpgDm1AL0WTMFEgKCt0I-e9ADUYdRRSBl65IJdiw,1987
136
- piccolo/columns/defaults/time.py,sha256=2e0SDjl9_Mrw2YUeLFXDDYhmlC9Qjek3MkhvmWKQFH0,2417
137
- piccolo/columns/defaults/timestamp.py,sha256=O7SDldwDku8Bd3n0JPxUSzYo7FDYrgWgdxI-0o4sOvk,3685
138
- piccolo/columns/defaults/timestamptz.py,sha256=9xCpIbxH4gy8UY8Ucc_OGwN9hOOzXz7PbXKaNQx6UNs,2162
139
- piccolo/columns/defaults/uuid.py,sha256=zBBaXlUsDTKcxRFDWwqgpiDRrYd7ptxC_hf7UqYhRjY,470
133
+ piccolo/columns/defaults/base.py,sha256=sbZwZdg85cTRFqjHeF3uA9zMQIjNClARHUa39GjlatU,1867
134
+ piccolo/columns/defaults/date.py,sha256=nrq0SGodNkhsOO1xoVaFFsvpoCL-XnbPXZnvhgdVBxc,2556
135
+ piccolo/columns/defaults/interval.py,sha256=TxoQgl_z19ItPpxWn5YXY58dfz6tTViU7LwHs_N2TnI,2026
136
+ piccolo/columns/defaults/time.py,sha256=ReCMC1FxZgWw7Kk9695sZka0avVYIpc9xybsKzsFFOI,2456
137
+ piccolo/columns/defaults/timestamp.py,sha256=E69tfoWZdkEotFBJPoFEGwkOwicfjlp81_3MVINnE5M,3724
138
+ piccolo/columns/defaults/timestamptz.py,sha256=QocSOkhfNXoozwiUWzNBIBYzA79HxLPhRrBqVKbWonI,2201
139
+ piccolo/columns/defaults/uuid.py,sha256=kiZ1rZIQkPinSWxSdJZv0Pwzvbji9QGr-LA9yLxvJtE,509
140
140
  piccolo/columns/operators/__init__.py,sha256=fIIm309C7ddqrP-M9oLlfhcZEM4Fx5B203QMzBm0OpM,310
141
141
  piccolo/columns/operators/base.py,sha256=UfaqPd-ieqydrjhvcGYiwHMOKs199tTiT1gFE15DZzo,34
142
142
  piccolo/columns/operators/comparison.py,sha256=G7bI_O-EXqun_zHwbNcZ9z9gsY8OK-0oBKjFqJbHcEc,1338
143
143
  piccolo/columns/operators/math.py,sha256=knsUZzYOVdsFn3bTS0XC0ZzfNObeJcMvZ8Q_QwmGxjU,325
144
144
  piccolo/columns/operators/string.py,sha256=M5ifxHP-ttJaE_wYCl23W5sJof4i5S5_QDIOv34VxDM,142
145
145
  piccolo/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
- piccolo/conf/apps.py,sha256=t5_Wn9A8_NRgSKmkkXqnq36yi-qucnpll41_XeX9nYE,22590
146
+ piccolo/conf/apps.py,sha256=HTs544STjQzklWL20qJGSOg4FotO7vrjWDsaV4Z3Ww8,22519
147
147
  piccolo/engine/__init__.py,sha256=Z0QR5NAA9jTFenY7pEJv1C8jZXBaFZojBUR3z3nx1cw,283
148
- piccolo/engine/base.py,sha256=4NISWRuvgp5ShqJbOEK6g8ok8Ijqtp2gzuM9J6o_wSU,6444
149
- piccolo/engine/cockroach.py,sha256=gGnihplotMZMWqHwRnZYnnbKU3jFrwttwOlNtktoeLE,1522
148
+ piccolo/engine/base.py,sha256=kR7fJVWyey9eSWl5S74_4JV46KfWHHWGq2b9e-XdUTI,6470
149
+ piccolo/engine/cockroach.py,sha256=J7n30ri2OrkhZUCHalXQIpD531WIGDofQ6K7qLRnUpM,1563
150
150
  piccolo/engine/exceptions.py,sha256=X8xZiTF-L9PIqFT-KDXnv1jFIIOZMF8fYK692chttJE,44
151
- piccolo/engine/finder.py,sha256=GjzBNtzRzH79fjtRn7OI3nZiOXE8JfoQWAvHVPrPNx4,507
152
- piccolo/engine/postgres.py,sha256=DekL3KafCdzSAEQ6_EgOiUB1ERXh2xpePYwI9QvmN-c,18955
153
- piccolo/engine/sqlite.py,sha256=Oe0GBrIUSUkutvk5LoXGWC6HFQzKeusfql5-NMssH_s,25735
151
+ piccolo/engine/finder.py,sha256=8q3ORBpREw6o55B7XRoxEM5EqixLtNBjVvwhYDfwd5s,512
152
+ piccolo/engine/postgres.py,sha256=W4Z_M9NrwZfvQNCfQzqRfNzU7gok1GqBjhNhJCuNh5Y,18979
153
+ piccolo/engine/sqlite.py,sha256=s_nPYmPBzS5O4e7nSAifC2LpAN8s86Tekz7HfU6vVhM,25734
154
154
  piccolo/query/__init__.py,sha256=bcsMV4813rMRAIqGv4DxI4eyO4FmpXkDv9dfTk5pt3A,699
155
- piccolo/query/base.py,sha256=sO5VyicbWjgYaQukr6jqUqUUrOctL6QJ1MjcsgDKHXM,14912
155
+ piccolo/query/base.py,sha256=jMo3tlsgv63r0rRNZOiAjkxW0dW0R301OvY42xci08c,14949
156
156
  piccolo/query/constraints.py,sha256=menFcqLKSM4697OSvMRZPsTgxHfR9GTvZZMrGDk2PrA,2601
157
- piccolo/query/mixins.py,sha256=X9HEYnj6uOjgTkGr4vgqTwN_dokJPzVagwbFx385atQ,24468
158
- piccolo/query/proxy.py,sha256=Yq4jNc7IWJvdeO3u7_7iPyRy2WhVj8KsIUcIYHBIi9Q,1839
159
- piccolo/query/functions/__init__.py,sha256=pZkzOIh7Sg9HPNOeegOwAS46Oxt31ATlSVmwn-lxCbc,605
160
- piccolo/query/functions/aggregate.py,sha256=OdjDjr_zyD4S9UbrZ2C3V5mz4OT2sIfAFAdTGr4WL54,4248
161
- piccolo/query/functions/base.py,sha256=Go2bg2r7GaVoyyX-wTb80WEQmtiU4OFYWQlq9eQ6Zcc,478
162
- piccolo/query/functions/datetime.py,sha256=6YSpc_MiZK_019KUhCo01Ss_1AjXJ31M61R9-zKmoZs,6251
157
+ piccolo/query/mixins.py,sha256=FSeqhufhQ51Jbz92eYiZqWNoPfVJNcZuLG0wl0hKJnU,24344
158
+ piccolo/query/proxy.py,sha256=p9AU0hv1AnBufsgzYuHNNYgcVFFe4ImAaSCuJYibmZA,1878
159
+ piccolo/query/functions/__init__.py,sha256=vXK7GiFASJA97e2AL6Zq_TMXBZqwPq51UDWaJk1cVJk,806
160
+ piccolo/query/functions/aggregate.py,sha256=pP-GQ0u0cJ8ou38x7pgAOwppG8XGikg8ucKn_vT3-QQ,4288
161
+ piccolo/query/functions/array.py,sha256=11MJxCtwMP0HzuDqGddW3WU7QiPB5Kki3qZYyR4ibE0,4401
162
+ piccolo/query/functions/base.py,sha256=h2jaM2eWf7bbGsLZVfBo1p_hu9VjtD1FuIVSAWgMJA0,490
163
+ piccolo/query/functions/datetime.py,sha256=LLEmdrJO4nTuxynDLc2O3OrNwVLNwurQka-g9xuvZ5U,6244
163
164
  piccolo/query/functions/math.py,sha256=2Wapq0lpXZh77z0uzXUhnOfmUkbkM0xjQ4tiyuCsbiE,661
164
- piccolo/query/functions/string.py,sha256=X3g_4qomJJCkYOcKcK-zZEqC6qJBrS4VTogPp9Xw4Cs,2506
165
- piccolo/query/functions/type_conversion.py,sha256=OYbZc6TEk6b5yTwCMw2rmZ-UiQiUiWZOyxwMLzUjXwE,2583
165
+ piccolo/query/functions/string.py,sha256=JYGVdzBfZzXfLGzDyhNGiGaQZEvBte39BW7F2xXkjHY,2514
166
+ piccolo/query/functions/type_conversion.py,sha256=X9GEXArOOuH55WNb_SXAp_NLZoxtbPpjulbMZShx280,2987
166
167
  piccolo/query/methods/__init__.py,sha256=tm4gLeV_obDqpgnouVjFbGubbaoJcqm_cbNd4LPo48Q,622
167
- piccolo/query/methods/alter.py,sha256=tL8IIuEldBwegQOZM5N4IaoO2fH0tYLk8R7ra6PLD3s,18519
168
- piccolo/query/methods/count.py,sha256=Vxn_7Ry-rleC6OGRxh-cLbuEMsy1DNjAZJThGED-_do,1748
169
- piccolo/query/methods/create.py,sha256=hJ-6VVsWczzKDH6fQRN1WmYhcitixuXJ-eNOuCo_JgM,2742
170
- piccolo/query/methods/create_index.py,sha256=gip_cRXZkLfpJqCL7KHk2l_7HLptoa-Ae8qu6I5d5c8,2224
171
- piccolo/query/methods/delete.py,sha256=X11IjaQ4kIPGDtYGVQBqbkm3MP6fDI2WuP4h1ri4zSQ,2256
172
- piccolo/query/methods/drop_index.py,sha256=5x3vHpoOmQ1SMhj6L7snKXX6M9l9j1E1PFSO6LMMkpY,1051
173
- piccolo/query/methods/exists.py,sha256=lTMjtrFPFygZmaPV3sfQKXc3K0sVqJ2S6PDc3fRK6YQ,1203
174
- piccolo/query/methods/indexes.py,sha256=J-QUqaBJwpgahskUH0Cu0Mq7zEKcfVAtDsUVIVX-C4c,943
175
- piccolo/query/methods/insert.py,sha256=ssLJ_wn08KnOwwr7t-VILyn1P4hrvM63CfPIcAJWT5k,4701
176
- piccolo/query/methods/objects.py,sha256=wK3poKXVVTpjFgpVfmumVn9q8Qiqz0PZ4ukm7Ih-CGw,15511
177
- piccolo/query/methods/raw.py,sha256=wQWR8b-yA_Gr-5lqRMZe9BOAAMBAw8CqTx37qVYvM1A,987
178
- piccolo/query/methods/refresh.py,sha256=wg1zghKfwz-VmqK4uWa4GNMiDtK-skTqow591Hb3ONM,5854
179
- piccolo/query/methods/select.py,sha256=41OW-DIE_wr5VdxSusMKNT2aUhzQsCwK2Qh1XqgXHg0,22424
180
- piccolo/query/methods/table_exists.py,sha256=0yb3n6Jd2ovSBWlZ-gl00K4E7Jnbj7J8qAAX5d7hvNk,1259
181
- piccolo/query/methods/update.py,sha256=KNrx5yzY3gshTNzXf392M7Aamz7TPZzZFHLhbDiEDu8,3716
168
+ piccolo/query/methods/alter.py,sha256=hWKvTsZRC1ir5Eaj-cqxErdMZL6BN3_-cB9HvssirE4,18507
169
+ piccolo/query/methods/count.py,sha256=SGGmzouLpkyLQbUIIuoEq12Uq1Iicz_P319Ujjj9TXw,1803
170
+ piccolo/query/methods/create.py,sha256=WtqCQQOuKyzCb5eumfUFYdjoKNHIhZF1uzX2Cu07Vug,2785
171
+ piccolo/query/methods/create_index.py,sha256=tzp9Ar65boTRQnelk14deu_2PlA9aFrGvyKhbpxqFww,2264
172
+ piccolo/query/methods/delete.py,sha256=q1_Tx3FBhihN9ZhnpAYGAZ5ns9Gsg72l8NuMElC7Eck,2313
173
+ piccolo/query/methods/drop_index.py,sha256=Er311t81HHVY1QjOHR2wM0yD5dcVPnrFUoyKfrvsIgg,1095
174
+ piccolo/query/methods/exists.py,sha256=x0DlRs4iO4xOVJ2nDNJGHNjJW6YuzXXsoTDnMRH-4iM,1247
175
+ piccolo/query/methods/indexes.py,sha256=wuCUa4s7kf4WZED_T-bflqpx7_SNQhlxPsrPGbDb7DM,955
176
+ piccolo/query/methods/insert.py,sha256=SYcuZah00aBJ1aw3l3HLId6apTk4QoVmGW-B0_4z32k,4772
177
+ piccolo/query/methods/objects.py,sha256=zGd_xzA3ENXV0jUkvqR5X8_C9YTmtUmmKXBmIUaluqM,15545
178
+ piccolo/query/methods/raw.py,sha256=IfeU7bYOWBh1GWVPDFhEvBFuNX3d09hrVsU8znpVW3I,1038
179
+ piccolo/query/methods/refresh.py,sha256=D6_d3n2Z9FPshvpcEPOg9S2TLCi7eWY_7x5ObZk1Zqk,5901
180
+ piccolo/query/methods/select.py,sha256=pN4aiI2OHt-qYBnYNLcYZBj4UJwrczNtUoZu8hEuY0w,22428
181
+ piccolo/query/methods/table_exists.py,sha256=dVinXCyVISZN5Vc4ItlKK2YbcDb1YzaH20HWCy5Cqa4,1269
182
+ piccolo/query/methods/update.py,sha256=sRSoHU3SMSQQUbScSam8M4lin0RTBA6LrGQA-d4HBFw,3769
182
183
  piccolo/query/operators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
- piccolo/query/operators/json.py,sha256=hdo1M6N9qTHJTJ0sRV9Bwt_iQZTgs4VdCKOPH1sXe-k,3168
184
+ piccolo/query/operators/json.py,sha256=GDLUrMDuHe6XKuzCmvYmkIUUqpQcM-8KMz-peSCLiX4,3182
184
185
  piccolo/testing/__init__.py,sha256=pRFSqRInfx95AakOq54atmvqoB-ue073q2aR8u8zR40,83
185
- piccolo/testing/model_builder.py,sha256=lVEiEe71xrH8SSjzFc2l0s-VaCXHeg9Bo5oAYOEbLrI,6545
186
- piccolo/testing/random_builder.py,sha256=0LkGpanQ7P1R82gLIMQyK9cm1LdZkPvxbShTEf3jeH4,2128
187
- piccolo/testing/test_case.py,sha256=JHQCIAeuO6H2ZbcFHQUhlvUWVFjzKoakDlqVYJvYhtg,3281
186
+ piccolo/testing/model_builder.py,sha256=aHCGLC3cFqiEI8MHZ0kZW3w1pZe8X9V5KyLpP5xSvRA,6567
187
+ piccolo/testing/random_builder.py,sha256=vBa42-q1BhiuudFo1ZhSDXXQP50ZsWXOugQMUw38OFw,2128
188
+ piccolo/testing/test_case.py,sha256=VdC-1uclubtePTuxNQ-KOTF5ODaBdwzLbPuiYI5MD48,3280
188
189
  piccolo/utils/__init__.py,sha256=SDFFraauI9Op8dCRkreQv1dwUcab8Mi1eC-n0EwlTy8,36
189
- piccolo/utils/dictionary.py,sha256=8vRPxgaXadDVhqihP1UxL7nUBgM6Gpe_Eu3xJq7zzGM,1886
190
- piccolo/utils/encoding.py,sha256=CtSODJOkT3TVHfGlTDXozDsClBCJbGGqluc6_UlJ-7c,1761
191
- piccolo/utils/lazy_loader.py,sha256=T8GChEqtKWcBegn-6g_BQ7hOg2Xu1bedFh7Z8E7xcOY,1912
192
- piccolo/utils/list.py,sha256=4hPGiksJWxL226W7gyYBcqVGgMTgVa2jP8zvalc3zw8,1541
190
+ piccolo/utils/dictionary.py,sha256=mhyyhWwxTSxZcEUntgeQKsbrXD3f_KLdwa0NPzgI11k,1878
191
+ piccolo/utils/encoding.py,sha256=GF3bko7BuKc9LzPPAAgBKGosigAGyPRRw4IyNARRbxM,1753
192
+ piccolo/utils/lazy_loader.py,sha256=kxu-VCidMx39smhOlqF7R8E5kILd_cjMez0Jmx63lkI,1912
193
+ piccolo/utils/list.py,sha256=1Xk-KtdF5pp15Wle-tnot8NkXb8CcSmQKydJPvo1dk0,1569
193
194
  piccolo/utils/naming.py,sha256=d7_mMscguK799RMhxFDifRgn8Ply5wiy2k1KkP22WUs,276
194
- piccolo/utils/objects.py,sha256=NjhfH57Q__1xSf4gvLtZFle3Lp0PiqPR7AcsVhkA3MY,1631
195
+ piccolo/utils/objects.py,sha256=vjsoANFzCCu-45zrHvqwIPENo3woBV5G-kh38x4VZGM,1632
195
196
  piccolo/utils/printing.py,sha256=5VWNSfOrIGPh1VM-7fd4K18RGCYk0FQ5o-D4aLhzXZE,1748
196
- piccolo/utils/pydantic.py,sha256=RhoQZ7ddmFmepVcslHXMqmynbSVch7XLKUSgJkLuQS0,12327
197
+ piccolo/utils/pydantic.py,sha256=COS9cWOmPAcHD-F3uu85tKBZZM8n7roo399us6eFTjE,12317
197
198
  piccolo/utils/repr.py,sha256=K3w-TAP9WPx8tbAIB2XDab_C4PHsPrB9TzwWfOHa4cc,787
198
- piccolo/utils/sql_values.py,sha256=pGXmVTw6pWr8q7QA4xs7NiKSwjBzhN--3HXVjQv2SQQ,1749
199
- piccolo/utils/sync.py,sha256=irmdTsYtURZNEBmIP6i2v2PyjgE-gK4t6VSxnBZ75Qo,920
200
- piccolo/utils/warnings.py,sha256=ONrurw3HVCClUuHnpenMjg45dcFesrXqMgG9ifgP4_8,1247
199
+ piccolo/utils/sql_values.py,sha256=soPgT7754op8wXuBmMKKJPPGBgot73QQHkeGZs2HbZg,1762
200
+ piccolo/utils/sync.py,sha256=oLBVx7K-KhxIOT9wRTAcfixQPMfMJTcnvlmBQM7lAzg,963
201
+ piccolo/utils/warnings.py,sha256=W00-Qb8s2bTc9Xk4g4E5Xqp_aBQROVfFEh-RVSozwZg,1226
201
202
  piccolo/utils/graphlib/__init__.py,sha256=SUJ5Yh7LiRun3nkBuLUSVmGNHF6fANrxSoYan0mtYB0,200
202
203
  piccolo/utils/graphlib/_graphlib.py,sha256=9FNGDSmTIEAk86FktniCe_J2yXjSE_sRZHDBAJJAUOw,9677
203
- piccolo-1.27.0.dist-info/licenses/LICENSE,sha256=zFIpi-16uIJ420UMIG75NU0JbDBykvrdnXcj5U_EYBI,1059
204
+ piccolo-1.28.0.dist-info/licenses/LICENSE,sha256=zFIpi-16uIJ420UMIG75NU0JbDBykvrdnXcj5U_EYBI,1059
204
205
  profiling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
205
206
  profiling/run_profile.py,sha256=264qsSFu93NTpExePnKQ9GkcN5fiuRBQ72WOSt0ZHck,829
206
207
  tests/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -213,7 +214,7 @@ tests/apps/asgi/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
213
214
  tests/apps/asgi/commands/test_new.py,sha256=CxlY2TGK-fOAPUroKK4CIXRyBwnsetAehAAIc4wheUE,3097
214
215
  tests/apps/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
216
  tests/apps/fixtures/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
- tests/apps/fixtures/commands/test_dump_load.py,sha256=BXBr38gJgxy5q1iHJD9iUmf8qwg0H2wf583gs0CkEFc,9205
217
+ tests/apps/fixtures/commands/test_dump_load.py,sha256=BCVQweP0nBMUUFOMMmd-qGkekB8XuvOhs7-jVRZBxIs,9184
217
218
  tests/apps/fixtures/commands/test_shared.py,sha256=EvlGh_y7O1iSYdhrVqSC2ZfZNkaIu66g9BYOsDu0Q-s,2171
218
219
  tests/apps/meta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
219
220
  tests/apps/meta/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -222,17 +223,17 @@ tests/apps/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
222
223
  tests/apps/migrations/test_migration.py,sha256=JmPLtf2BCWX3Yofe0GQe40m8I_yWa_-3vk1lDfFDfIo,308
223
224
  tests/apps/migrations/auto/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
225
  tests/apps/migrations/auto/test_diffable_table.py,sha256=p0cKDkfhmu96-rB9bonOlg5bmfQ7U9S2kRppOt4YxyU,3338
225
- tests/apps/migrations/auto/test_migration_manager.py,sha256=j2axKGbUnTRLPqjPdlO01dXbQsltLX-N5Bw0FXHoxMc,37232
226
- tests/apps/migrations/auto/test_schema_differ.py,sha256=UdsaZisA02j15wr1bXkXD6Cqu3p0A23NwFQLXsJdQL4,19391
226
+ tests/apps/migrations/auto/test_migration_manager.py,sha256=ufwDBi7QECdqvhwIpqOYlps5LYH1bg58HvUH6kLbykM,37239
227
+ tests/apps/migrations/auto/test_schema_differ.py,sha256=qE0cTDGJCJcxBF3XkL8hq751EzXlY1MNJa3g5qenhVY,19328
227
228
  tests/apps/migrations/auto/test_schema_snapshot.py,sha256=ZyvGZqn3N3cwd-3S-FME5AJ8buDSHesw7yPIvY6mE5k,6196
228
229
  tests/apps/migrations/auto/test_serialisation.py,sha256=EFkhES1w9h51UCamWrhxs3mf4I718ggeP7Yl5J_UID4,13548
229
230
  tests/apps/migrations/auto/integration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
- tests/apps/migrations/auto/integration/test_migrations.py,sha256=e4GCAfMWvo5-6EM8f-EmAiLLGR62dxCZ8Tp-0bZ_kDQ,47285
231
+ tests/apps/migrations/auto/integration/test_migrations.py,sha256=_rgjIoYvr3KIo0fY4soLCWetxQnLaWO0yOefL9BJvXI,47951
231
232
  tests/apps/migrations/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
233
  tests/apps/migrations/commands/test_base.py,sha256=NgHgVjNd3Hil9eODvW7Ic2D9muTa_grNaH3YpRFfR8I,1829
233
234
  tests/apps/migrations/commands/test_check.py,sha256=hOX_sVk1nfCRfbQ8tJoFEUBFhih9O4QuQLHTp5TQaiY,630
234
235
  tests/apps/migrations/commands/test_clean.py,sha256=lPzLLXhoUyyffY3EQIiyRj-QfP07UVNTha21cEZivfY,1124
235
- tests/apps/migrations/commands/test_forwards_backwards.py,sha256=VklO8Af6F_ASYWFmSS829ls-mKdwBgdeGG_FFIaYtng,8133
236
+ tests/apps/migrations/commands/test_forwards_backwards.py,sha256=JDLMjDCHoLSUUvj93F1vNWGCt1LOzlNG_YePYtdmnl0,8141
236
237
  tests/apps/migrations/commands/test_new.py,sha256=dKXOuU6t_6zziHHLvX_JdM_Oiee2Lc7FEuADZsMlNQA,4249
237
238
  tests/apps/migrations/commands/test_migrations/2020-03-31T20-38-22.py,sha256=f1LIXij_HWVoAz5XwJSGuUKNTyRX1wx8HDUPvV7cab0,579
238
239
  tests/apps/migrations/commands/test_migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -255,15 +256,15 @@ tests/apps/user/commands/test_change_permissions.py,sha256=uVKEiT1EKot3VA2TDETdQ
255
256
  tests/apps/user/commands/test_create.py,sha256=iJ3Tti62rHwvdcTwNXrc5JPam6vR1qxKRdMN456vm3o,2250
256
257
  tests/apps/user/commands/test_list.py,sha256=ipPfGdW6fH7q-Jc7JcYUvlioGmH9GQU0WImZGC2m-XQ,2840
257
258
  tests/columns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
- tests/columns/test_array.py,sha256=niIkAPRQp49bkpbctaMgpcDai4TMAbM9qkrTGhPFsQY,11627
259
+ tests/columns/test_array.py,sha256=4Mc4Awl9_Ld4rj9oP_kBWiQ_7sXO1O7ZOKYSLKOtVvU,16605
259
260
  tests/columns/test_base.py,sha256=CTqCNcrqAJTjLXe3MCZgTczrmB3jcVRcOpU4FilpLoQ,3918
260
261
  tests/columns/test_bigint.py,sha256=KzfiItv0cYQZR35V_TL485AitDnOZQfTzC3C2YCLSn4,1058
261
- tests/columns/test_boolean.py,sha256=6bsZXyAl_6C6NffDlOYzLL7gSpljaV6JFkDgUABh62w,1626
262
+ tests/columns/test_boolean.py,sha256=Me1UQn8pkxiRHS48dB809sKnqRaZI9yB7LPzhwHOIo4,1594
262
263
  tests/columns/test_bytea.py,sha256=doN8S1eFVU4ntSXIg4IgMSZcbvqW1WJ-AEm3OjKLGkI,1382
263
264
  tests/columns/test_choices.py,sha256=q8TLe7nvGERXyGO_XEryEBR-DuWwFY1jPpscsrXjdXo,4066
264
- tests/columns/test_combination.py,sha256=BuBwR7k5X1EkOWraZpjqU6gvtb6ow_k-7N1KQBiW2RA,1681
265
+ tests/columns/test_combination.py,sha256=rG1fTwQXrX86-bnlpt-9krxusTlxbhrlDF5tL1-s1V4,2769
265
266
  tests/columns/test_date.py,sha256=QLC6kJMQwM-1mbUP4ksJVM7P8WwjzGZyynH3rHHdSew,1030
266
- tests/columns/test_db_column_name.py,sha256=0wz6y4GNGy4nhMdHmYzEnChQGpK2UhWFFKrnmmML3Mk,9027
267
+ tests/columns/test_db_column_name.py,sha256=zr4idTAg8cVFw76oW3UhQe6WfLoEVQY-k5VW03OEABQ,9034
267
268
  tests/columns/test_defaults.py,sha256=SUY00eMpYSmEyl6UvGRjd_HwW5wC_tkHrwCDcYzlkUQ,3872
268
269
  tests/columns/test_double_precision.py,sha256=7rhcSfDkb2fBh_zEG4UGwD_GW1sy6U9-8NooHuCS09Q,544
269
270
  tests/columns/test_get_sql_value.py,sha256=mKgsInN374jzV99y9mg_ZiG-AvnJgz36SZi89xL7RZM,1768
@@ -284,18 +285,18 @@ tests/columns/test_timestamptz.py,sha256=P7zblPC6Fjjdk6iOhVUGIKnFFzbbUPVNSY98qbu
284
285
  tests/columns/test_uuid.py,sha256=taFYNvRZjQztMPbTQHYtwQutvcLnKPt6_aUxsf2o04Q,372
285
286
  tests/columns/test_varchar.py,sha256=fbwBdimHoGaylfrqkFIgQ5m2q80umSoUNHIwofM6j_c,721
286
287
  tests/columns/m2m/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
287
- tests/columns/m2m/base.py,sha256=QOFeiTu7NPSsBju4ZW3up2utFr1dI5HMhhi2A1MG21o,15016
288
+ tests/columns/m2m/base.py,sha256=CCq52vf1_jyIRjn71i_tEhY_eW_8FKJVLSHgUSfYRjw,15023
288
289
  tests/columns/m2m/test_m2m.py,sha256=0ObmIHUJF6CZoNBznc5xXVr5_BbGBqOmWwtpg8IcPt4,13055
289
290
  tests/columns/m2m/test_m2m_schema.py,sha256=oxu7eAjFFpDjnq9Eq-5OTNmlnsEIMFWx18OItfpVs-s,339
290
291
  tests/conf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
292
  tests/conf/example.py,sha256=K8sTttLpEac8rQlOLDY500IGkHj3P3NoyFbCMnT1EqY,347
292
293
  tests/conf/test_apps.py,sha256=5Cl9zL_nJr5NDS7KiTIIne219RGSouxP2gWhQK99F7A,9925
293
294
  tests/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
294
- tests/engine/test_extra_nodes.py,sha256=xW5gflHzM6ou26DqRSAZoaAbYVzF1IuMkW3vzNmB954,1298
295
+ tests/engine/test_extra_nodes.py,sha256=daquDmBzdDtdyydaNIIQ2iP4vw2Ua9EGBPjZG68QkHk,1301
295
296
  tests/engine/test_logging.py,sha256=VLf9A3QuoV7OhV8lttLDB4gzZemnG63kSr-Uyan005U,1287
296
297
  tests/engine/test_nested_transaction.py,sha256=3J91MvQ_z1d7v-z8_7pAh_zwHGoi_GUtmIDWlGcAZwk,2723
297
- tests/engine/test_pool.py,sha256=ylucZNa3eL8cfrLjxPtduLpOdN_Z0e9Z6Rmrz-XpWp8,3890
298
- tests/engine/test_transaction.py,sha256=VTfQiQKpl_HtSQig6pl5tmBAP0d81z2djU6sYaxr_zE,9893
298
+ tests/engine/test_pool.py,sha256=DYOrS4EUcaID6uJgzKDqQBxrkZlnGdXpGOEcNiKkrwQ,3891
299
+ tests/engine/test_transaction.py,sha256=aekvJ8ymUrYQ2h8h4VHRIxGZSJlyZrK_T7O9foTH7fo,9892
299
300
  tests/engine/test_version_parsing.py,sha256=M1LODAVKHfj1apTMOwoC31LcI4vhiJRs1OO6P0WIsmE,793
300
301
  tests/example_apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
301
302
  tests/example_apps/mega/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -310,7 +311,7 @@ tests/example_apps/music/tables_detailed.py,sha256=1US-6XO5aipmldAqF_ughIH8ju8i_
310
311
  tests/query/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
311
312
  tests/query/test_await.py,sha256=imGazmG0l4qilveNPwsxvYQogFJtos4YB8N9iggPEFU,412
312
313
  tests/query/test_camelcase.py,sha256=AcL2gZera1GfpVJNpuKuh5ZBosNCY_ezPWh6-duU5vU,1765
313
- tests/query/test_freeze.py,sha256=p3iXqHzgV39YWlqzXtZvaDa7iKZaaaelOGX3UZ8CMf0,3887
314
+ tests/query/test_freeze.py,sha256=2wzIIsCGzZN_Rj2-kcOX2hEIMmIB0tSN6tNw1Gnaans,3892
314
315
  tests/query/test_gather.py,sha256=okWANrBoh0Ut1RomWoffiWNpFqiITF6qti-Aa3uYtRk,730
315
316
  tests/query/test_querystring.py,sha256=QrqyjwUlFlf5LrsJ7DgjCruq811I0UvrDFPud6rfZNI,5019
316
317
  tests/query/test_slots.py,sha256=I9ZjAYqAJNSFAWg9UyAqy7bm-Z52KiyQ2C_yHk2qqqI,1010
@@ -328,7 +329,7 @@ tests/query/operators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
328
329
  tests/query/operators/test_json.py,sha256=SEYEdbyF0wB3nvONqyBGFlLe8OhgtSIvxx19P2uJ8Bw,1269
329
330
  tests/table/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
331
  tests/table/test_all_columns.py,sha256=wZ7i9mTT9wKWLE2BoQ9jDbPaqnBHfV-ZlsROp7SZq7k,667
331
- tests/table/test_alter.py,sha256=pMD38BIFfta1vxFqp8YoaRfMxdwxhQSwcxYO4erpUi8,12394
332
+ tests/table/test_alter.py,sha256=3bzQLi9kFlAD3Zt-HkMSlKE4xyPf_r3ZsRjPBV7bBhw,12399
332
333
  tests/table/test_batch.py,sha256=fhBfC5P_vsk1wlmVLeVCDQ8tz9nrny57aIgRnPJ6tlg,4944
333
334
  tests/table/test_callback.py,sha256=mNp4NOQ4PM_PIKn-WLG4HyvN-YHk7w0Ka_Bljg5Ugd4,6381
334
335
  tests/table/test_constructor.py,sha256=zPbzhKQWzzsQQUK7P9WM8OgCi1ndhXedP6rU0tg6XIM,832
@@ -340,7 +341,7 @@ tests/table/test_delete.py,sha256=NTUv3Dgo4cZp2kmIId4eBug3eW1IYVEtvs4AaQS14iA,16
340
341
  tests/table/test_drop_db_tables.py,sha256=0a_aBZ8BMSLnu_DFXE_29X01B0jLdaa_WQ5_qTaZ5XY,1060
341
342
  tests/table/test_exists.py,sha256=AHvhodkRof7PVd4IDdGQ2nyOj_1Cag1Rpg1H84s4jU0,283
342
343
  tests/table/test_from_dict.py,sha256=I4PMxuzgkgi3-adaw9Gr3u5tQHexc31Vrq7RSPcPcJs,840
343
- tests/table/test_indexes.py,sha256=VfM2FqFO8OOaL88QYQRqPX_PPniSBoPFeLPjXZ8jHBk,2073
344
+ tests/table/test_indexes.py,sha256=7KZDUVUa6hAsoBNUDfspWB8nNtuCuAMuFBcufoLpWD4,2052
344
345
  tests/table/test_inheritance.py,sha256=AAkhEhhixVGweGe7ckzj-yypW-cj6D88Cca4-pjkwKw,3110
345
346
  tests/table/test_insert.py,sha256=c7hJ1SsTiW43l_Z5KHSN3894ICzttOAsTfWN9rUOl0k,13696
346
347
  tests/table/test_join.py,sha256=Ukgvjc8NweBGHM7fVFytGQYG9P9thRaMeEvWXYs2Qes,15910
@@ -350,23 +351,23 @@ tests/table/test_objects.py,sha256=ptbeIICOfZ2-Fl6K_Llo1SKIyQ5ngUZ-rZtgll5cMWM,9
350
351
  tests/table/test_output.py,sha256=ZnpPbgVp79JcB6E_ooWQxOpOlhkwNUlMxC-1LSIEc2Y,4304
351
352
  tests/table/test_raw.py,sha256=9PTvYngQi41nYd5lKzkJdTqsEcwrdOXcvZjq-W26CwQ,1683
352
353
  tests/table/test_ref.py,sha256=eYNRnYHzNMXuMbV3B1ca5EidpIg4500q6hr1ccuVaso,269
353
- tests/table/test_refresh.py,sha256=-BaLS6fZiR2RtQaFa7D9WGBjrbrss1-tt5xz1NE_m8E,9250
354
+ tests/table/test_refresh.py,sha256=yn36LV6wXuY6YuIutLgHFE4hl-LIRuWqwCY4WB-wzJg,9253
354
355
  tests/table/test_repr.py,sha256=uahz3_GffGQrf2mDE-4-Pu4AmSLBAyso6-9rbohCl58,446
355
- tests/table/test_select.py,sha256=PcLRtHGEZfYNB0Qm2b9P6NFJOH2lWvviRjsr1cEmsMQ,41503
356
+ tests/table/test_select.py,sha256=C-6S9HIZxMQ9cKWmmG8yDXPR37btdt6AUoZDbvcTYJs,43017
356
357
  tests/table/test_str.py,sha256=eztWNULcjARR1fr9X5n4tojhDNgDfatVyNHwuYrzHAo,1731
357
358
  tests/table/test_table_exists.py,sha256=upv2e9UD32V2QZOShzmcw0reMqRbYiX_jxWx57p25jg,1082
358
- tests/table/test_update.py,sha256=Cqi0xX3kEuJ0k-x_emPGB3arXuGWZ9e3CJ3HPFnw9Zw,20505
359
+ tests/table/test_update.py,sha256=bWt4jMhv3S8fpars0_uW5N-Nq4No5sIKu3M-k0-LZFo,20505
359
360
  tests/table/test_update_self.py,sha256=im6HcM-WLkEhZP0vTL42tYEJZyAZG6gDOxCnbikCBD4,907
360
361
  tests/table/instance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
361
362
  tests/table/instance/test_create.py,sha256=JD0l7L9dDK1FKPhUs6WC_B2bruPR1qQ8aIqXpEbfiUg,1105
362
- tests/table/instance/test_get_related.py,sha256=eracFunh4Qlj5BEkI7OsrOyefRZM0rxrXnFX92VL1ZE,3285
363
+ tests/table/instance/test_get_related.py,sha256=49kaB_6dHUJP7_meBMgn7DblU_fC6IWyMTK-kSMwVVE,3288
363
364
  tests/table/instance/test_get_related_readable.py,sha256=QDMMZykxPsTWcsl8ZIZtmQVLwSGCw7QBilLepAAAnWg,4694
364
365
  tests/table/instance/test_instantiate.py,sha256=jvtaqSa_zN1lHQiykN4EnwitZqkWAbXle5IJtyhKuHY,958
365
366
  tests/table/instance/test_remove.py,sha256=P-8wWodlA2PukdWhaj8x2HYZI1U8Q7oIuFBe2sAkcdo,757
366
367
  tests/table/instance/test_save.py,sha256=ccdDz-bR3aYDa16_RGQP7JTXprgm1mT6-NpF1y3RXyo,4388
367
368
  tests/table/instance/test_to_dict.py,sha256=gkiYkmcI5qcy5E-ERWWmO-Q8uyVSFfcpJ8d53LlzCuI,3442
368
369
  tests/testing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
369
- tests/testing/test_model_builder.py,sha256=bgs-cOYXtnrfgWydU2sZvs2N_Lt2T7La7AAMfIsOev4,6206
370
+ tests/testing/test_model_builder.py,sha256=S0rT7IAmXfrQ6vRQxmkleTrAmsO5fi-tw0SF0l4jBLw,6185
370
371
  tests/testing/test_random_builder.py,sha256=Upz9P1bhICVo0udI6Li-5eEdrXKbv8rMMLe0uK6pqB0,1694
371
372
  tests/testing/test_test_case.py,sha256=qyDWYT44EZNyuWhaZXgSOpX48RaRw5u4FgNi87FYt2k,1691
372
373
  tests/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -376,13 +377,13 @@ tests/utils/test_lazy_loader.py,sha256=wDWhlV2IR6RuTaYCI5eWesz465WqIscYEJjwWnPrh
376
377
  tests/utils/test_list.py,sha256=25UoStmrYS_JDOKsXYqTDc3FUkOe3dUcy51r0I6grK0,769
377
378
  tests/utils/test_naming.py,sha256=ncJdzkMHSVFo2YQLkRhY93WJ8_W_j2pW9tHHL_ZgQcs,661
378
379
  tests/utils/test_printing.py,sha256=W8pQyWX2pEkLdMYWxtibFXJnI4MVsb6XMOTo3DZUuZc,668
379
- tests/utils/test_pydantic.py,sha256=TjKai2_TQklwAPGONGFSY4zYkals_bGiKGBCzTH9ntU,27783
380
+ tests/utils/test_pydantic.py,sha256=fS3rd3rbn54uBN9w22n3-sCcvAMtk3dq54KMo2evMtQ,27726
380
381
  tests/utils/test_sql_values.py,sha256=vzxRmy16FfLZPH-sAQexBvsF9MXB8n4smr14qoEOS5E,2535
381
382
  tests/utils/test_sync.py,sha256=9ytVo56y2vPQePvTeIi9lHIouEhWJbodl1TmzkGFrSo,799
382
- tests/utils/test_table_reflection.py,sha256=SIzuat-IpcVj1GCFyOWKShI8YkhdOPPFH7qVrvfyPNE,3794
383
+ tests/utils/test_table_reflection.py,sha256=bIlwIupyD6XLupf7KYZ1le4EPdft7Jp2ofwF2PHqn60,3771
383
384
  tests/utils/test_warnings.py,sha256=NvSC_cvJ6uZcwAGf1m-hLzETXCqprXELL8zg3TNLVMw,269
384
- piccolo-1.27.0.dist-info/METADATA,sha256=xU5WMX0DSfqyq2GfQCU2KuobQUj9Es0Lah2oUA9n81A,5531
385
- piccolo-1.27.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
386
- piccolo-1.27.0.dist-info/entry_points.txt,sha256=SJPHET4Fi1bN5F3WqcKkv9SClK3_F1I7m4eQjk6AFh0,46
387
- piccolo-1.27.0.dist-info/top_level.txt,sha256=-SR74VGbk43VoPy1HH-mHm97yoGukLK87HE5kdBW6qM,24
388
- piccolo-1.27.0.dist-info/RECORD,,
385
+ piccolo-1.28.0.dist-info/METADATA,sha256=WINpG0xS2r9wGPE2tg3sWgFWiFCeBHqSf-WuJN5La-4,5531
386
+ piccolo-1.28.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
387
+ piccolo-1.28.0.dist-info/entry_points.txt,sha256=SJPHET4Fi1bN5F3WqcKkv9SClK3_F1I7m4eQjk6AFh0,46
388
+ piccolo-1.28.0.dist-info/top_level.txt,sha256=-SR74VGbk43VoPy1HH-mHm97yoGukLK87HE5kdBW6qM,24
389
+ piccolo-1.28.0.dist-info/RECORD,,
@@ -2,7 +2,6 @@ import datetime
2
2
  import decimal
3
3
  import os
4
4
  import tempfile
5
- import typing as t
6
5
  import uuid
7
6
  from unittest import TestCase
8
7
 
@@ -65,7 +64,7 @@ class TestDumpLoad(TestCase):
65
64
  )
66
65
  mega_table.save().run_sync()
67
66
 
68
- def _run_comparison(self, table_class_names: t.List[str]):
67
+ def _run_comparison(self, table_class_names: list[str]):
69
68
  self.insert_rows()
70
69
 
71
70
  json_string = run_sync(
@@ -7,8 +7,9 @@ import random
7
7
  import shutil
8
8
  import tempfile
9
9
  import time
10
- import typing as t
11
10
  import uuid
11
+ from collections.abc import Callable
12
+ from typing import TYPE_CHECKING, Optional
12
13
  from unittest.mock import MagicMock, patch
13
14
 
14
15
  from piccolo.apps.migrations.auto.operations import RenameTable
@@ -55,7 +56,7 @@ from piccolo.table import Table, create_table_class, drop_db_tables_sync
55
56
  from piccolo.utils.sync import run_sync
56
57
  from tests.base import DBTestCase, engines_only, engines_skip
57
58
 
58
- if t.TYPE_CHECKING:
59
+ if TYPE_CHECKING:
59
60
  from piccolo.columns.base import Column
60
61
 
61
62
 
@@ -127,8 +128,8 @@ class MigrationTestCase(DBTestCase):
127
128
 
128
129
  def _test_migrations(
129
130
  self,
130
- table_snapshots: t.List[t.List[t.Type[Table]]],
131
- test_function: t.Optional[t.Callable[[RowMeta], bool]] = None,
131
+ table_snapshots: list[list[type[Table]]],
132
+ test_function: Optional[Callable[[RowMeta], bool]] = None,
132
133
  ):
133
134
  """
134
135
  Writes a migration file to disk and runs it.
@@ -692,9 +693,13 @@ class TestMigrations(MigrationTestCase):
692
693
 
693
694
  def test_array_column_bigint(self):
694
695
  """
695
- There was a bug with using an array of ``BigInt`` - see issue 500 on
696
- GitHub. It's because ``BigInt`` requires access to the parent table to
696
+ There was a bug with using an array of ``BigInt``:
697
+
698
+ http://github.com/piccolo-orm/piccolo/issues/500/
699
+
700
+ It's because ``BigInt`` requires access to the parent table to
697
701
  determine what the column type is.
702
+
698
703
  """
699
704
  self._test_migrations(
700
705
  table_snapshots=[
@@ -705,6 +710,26 @@ class TestMigrations(MigrationTestCase):
705
710
  ]
706
711
  )
707
712
 
713
+ def test_array_base_column_change(self):
714
+ """
715
+ There was a bug when trying to change the base column of an array:
716
+
717
+ https://github.com/piccolo-orm/piccolo/issues/1076
718
+
719
+ It wasn't importing the base column, e.g. for ``Array(Text())`` it
720
+ wasn't importing ``Text``.
721
+
722
+ """
723
+ self._test_migrations(
724
+ table_snapshots=[
725
+ [self.table(column)]
726
+ for column in [
727
+ Array(base_column=Varchar()),
728
+ Array(base_column=Text()),
729
+ ]
730
+ ]
731
+ )
732
+
708
733
  ###########################################################################
709
734
 
710
735
  # We deliberately don't test setting JSON or JSONB columns as indexes, as
@@ -1088,7 +1113,7 @@ class TestForeignKeySelf(MigrationTestCase):
1088
1113
  id = UUID(primary_key=True)
1089
1114
  table_a: ForeignKey[TableA] = ForeignKey("self")
1090
1115
 
1091
- self.table_classes: t.List[t.Type[Table]] = [TableA]
1116
+ self.table_classes: list[type[Table]] = [TableA]
1092
1117
 
1093
1118
  def tearDown(self):
1094
1119
  drop_db_tables_sync(Migration, *self.table_classes)
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  import random
3
- import typing as t
4
3
  from io import StringIO
4
+ from typing import Optional
5
5
  from unittest import IsolatedAsyncioTestCase, TestCase
6
6
  from unittest.mock import MagicMock, patch
7
7
 
@@ -307,7 +307,7 @@ class TestMigrationManager(DBTestCase):
307
307
  response = self.run_sync("SELECT * FROM manager;")
308
308
  self.assertEqual(response, [{"id": 1, "name": "Dave"}])
309
309
 
310
- row_id: t.Optional[int] = None
310
+ row_id: Optional[int] = None
311
311
  if engine_is("cockroach"):
312
312
  row_id = self.run_sync(
313
313
  "INSERT INTO manager VALUES (default, 'Dave', 'dave@me.com') RETURNING id;" # noqa: E501