alembic 1.14.0__tar.gz → 1.14.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. {alembic-1.14.0 → alembic-1.14.1}/LICENSE +1 -1
  2. {alembic-1.14.0/alembic.egg-info → alembic-1.14.1}/PKG-INFO +3 -2
  3. {alembic-1.14.0 → alembic-1.14.1}/alembic/__init__.py +1 -1
  4. {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/api.py +2 -2
  5. {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/render.py +4 -3
  6. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/postgresql.py +2 -1
  7. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/sqlite.py +11 -0
  8. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/alembic.ini.mako +4 -2
  9. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/alembic.ini.mako +4 -2
  10. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/alembic.ini.mako +4 -2
  11. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/compat.py +1 -0
  12. {alembic-1.14.0 → alembic-1.14.1/alembic.egg-info}/PKG-INFO +3 -2
  13. {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/requires.txt +1 -0
  14. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/autogenerate.rst +8 -6
  15. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/changelog.rst +28 -0
  16. {alembic-1.14.0/docs/build → alembic-1.14.1/docs/_sources}/naming.rst +2 -0
  17. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/tutorial.rst +5 -5
  18. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/basic.css +1 -1
  19. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/documentation_options.js +1 -1
  20. alembic-1.14.1/docs/_static/pygments.css +152 -0
  21. alembic-1.14.1/docs/_static/scripts/pydata-sphinx-theme.js +2 -0
  22. alembic-1.14.1/docs/_static/styles/pydata-sphinx-theme.css +32 -0
  23. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/webpack-macros.html +7 -7
  24. {alembic-1.14.0 → alembic-1.14.1}/docs/api/autogenerate.html +59 -54
  25. {alembic-1.14.0 → alembic-1.14.1}/docs/api/commands.html +24 -19
  26. {alembic-1.14.0 → alembic-1.14.1}/docs/api/config.html +25 -20
  27. {alembic-1.14.0 → alembic-1.14.1}/docs/api/ddl.html +29 -17
  28. {alembic-1.14.0 → alembic-1.14.1}/docs/api/index.html +22 -17
  29. {alembic-1.14.0 → alembic-1.14.1}/docs/api/operations.html +35 -30
  30. {alembic-1.14.0 → alembic-1.14.1}/docs/api/overview.html +22 -17
  31. {alembic-1.14.0 → alembic-1.14.1}/docs/api/runtime.html +36 -31
  32. {alembic-1.14.0 → alembic-1.14.1}/docs/api/script.html +24 -19
  33. {alembic-1.14.0 → alembic-1.14.1}/docs/autogenerate.html +58 -51
  34. {alembic-1.14.0 → alembic-1.14.1}/docs/batch.html +24 -19
  35. {alembic-1.14.0 → alembic-1.14.1}/docs/branches.html +26 -21
  36. {alembic-1.14.0 → alembic-1.14.1}/docs/build/autogenerate.rst +8 -6
  37. {alembic-1.14.0 → alembic-1.14.1}/docs/build/changelog.rst +28 -0
  38. {alembic-1.14.0 → alembic-1.14.1}/docs/build/conf.py +3 -3
  39. {alembic-1.14.0/docs/_sources → alembic-1.14.1/docs/build}/naming.rst +2 -0
  40. {alembic-1.14.0 → alembic-1.14.1}/docs/build/tutorial.rst +5 -5
  41. {alembic-1.14.0 → alembic-1.14.1}/docs/changelog.html +62 -17
  42. {alembic-1.14.0 → alembic-1.14.1}/docs/cookbook.html +126 -121
  43. {alembic-1.14.0 → alembic-1.14.1}/docs/front.html +22 -17
  44. {alembic-1.14.0 → alembic-1.14.1}/docs/genindex.html +26 -17
  45. {alembic-1.14.0 → alembic-1.14.1}/docs/index.html +27 -17
  46. {alembic-1.14.0 → alembic-1.14.1}/docs/naming.html +31 -24
  47. {alembic-1.14.0 → alembic-1.14.1}/docs/offline.html +27 -22
  48. {alembic-1.14.0 → alembic-1.14.1}/docs/ops.html +53 -48
  49. {alembic-1.14.0 → alembic-1.14.1}/docs/py-modindex.html +22 -17
  50. {alembic-1.14.0 → alembic-1.14.1}/docs/search.html +22 -17
  51. alembic-1.14.1/docs/searchindex.js +1 -0
  52. {alembic-1.14.0 → alembic-1.14.1}/docs/tutorial.html +37 -32
  53. {alembic-1.14.0 → alembic-1.14.1}/setup.cfg +1 -0
  54. {alembic-1.14.0 → alembic-1.14.1}/tests/requirements.py +6 -2
  55. {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_render.py +35 -15
  56. {alembic-1.14.0 → alembic-1.14.1}/tests/test_sqlite.py +5 -0
  57. {alembic-1.14.0 → alembic-1.14.1}/tox.ini +9 -0
  58. alembic-1.14.0/docs/_static/pygments.css +0 -152
  59. alembic-1.14.0/docs/_static/scripts/pydata-sphinx-theme.js +0 -2
  60. alembic-1.14.0/docs/_static/styles/pydata-sphinx-theme.css +0 -32
  61. alembic-1.14.0/docs/searchindex.js +0 -1
  62. {alembic-1.14.0 → alembic-1.14.1}/CHANGES +0 -0
  63. {alembic-1.14.0 → alembic-1.14.1}/MANIFEST.in +0 -0
  64. {alembic-1.14.0 → alembic-1.14.1}/README.rst +0 -0
  65. {alembic-1.14.0 → alembic-1.14.1}/README.unittests.rst +0 -0
  66. {alembic-1.14.0 → alembic-1.14.1}/alembic/__main__.py +0 -0
  67. {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/__init__.py +0 -0
  68. {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/compare.py +0 -0
  69. {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/rewriter.py +0 -0
  70. {alembic-1.14.0 → alembic-1.14.1}/alembic/command.py +0 -0
  71. {alembic-1.14.0 → alembic-1.14.1}/alembic/config.py +0 -0
  72. {alembic-1.14.0 → alembic-1.14.1}/alembic/context.py +0 -0
  73. {alembic-1.14.0 → alembic-1.14.1}/alembic/context.pyi +0 -0
  74. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/__init__.py +0 -0
  75. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/_autogen.py +0 -0
  76. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/base.py +0 -0
  77. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/impl.py +0 -0
  78. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/mssql.py +0 -0
  79. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/mysql.py +0 -0
  80. {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/oracle.py +0 -0
  81. {alembic-1.14.0 → alembic-1.14.1}/alembic/environment.py +0 -0
  82. {alembic-1.14.0 → alembic-1.14.1}/alembic/migration.py +0 -0
  83. {alembic-1.14.0 → alembic-1.14.1}/alembic/op.py +0 -0
  84. {alembic-1.14.0 → alembic-1.14.1}/alembic/op.pyi +0 -0
  85. {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/__init__.py +0 -0
  86. {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/base.py +0 -0
  87. {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/batch.py +0 -0
  88. {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/ops.py +0 -0
  89. {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/schemaobj.py +0 -0
  90. {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/toimpl.py +0 -0
  91. {alembic-1.14.0 → alembic-1.14.1}/alembic/py.typed +0 -0
  92. {alembic-1.14.0 → alembic-1.14.1}/alembic/runtime/__init__.py +0 -0
  93. {alembic-1.14.0 → alembic-1.14.1}/alembic/runtime/environment.py +0 -0
  94. {alembic-1.14.0 → alembic-1.14.1}/alembic/runtime/migration.py +0 -0
  95. {alembic-1.14.0 → alembic-1.14.1}/alembic/script/__init__.py +0 -0
  96. {alembic-1.14.0 → alembic-1.14.1}/alembic/script/base.py +0 -0
  97. {alembic-1.14.0 → alembic-1.14.1}/alembic/script/revision.py +0 -0
  98. {alembic-1.14.0 → alembic-1.14.1}/alembic/script/write_hooks.py +0 -0
  99. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/README +0 -0
  100. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/env.py +0 -0
  101. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/script.py.mako +0 -0
  102. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/README +0 -0
  103. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/env.py +0 -0
  104. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/script.py.mako +0 -0
  105. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/README +0 -0
  106. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/env.py +0 -0
  107. {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/script.py.mako +0 -0
  108. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/__init__.py +0 -0
  109. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/assertions.py +0 -0
  110. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/env.py +0 -0
  111. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/fixtures.py +0 -0
  112. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/plugin/__init__.py +0 -0
  113. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/plugin/bootstrap.py +0 -0
  114. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/requirements.py +0 -0
  115. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/schemacompare.py +0 -0
  116. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/__init__.py +0 -0
  117. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/_autogen_fixtures.py +0 -0
  118. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_comments.py +0 -0
  119. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_computed.py +0 -0
  120. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_diffs.py +0 -0
  121. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_fks.py +0 -0
  122. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_identity.py +0 -0
  123. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_environment.py +0 -0
  124. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_op.py +0 -0
  125. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/util.py +0 -0
  126. {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/warnings.py +0 -0
  127. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/__init__.py +0 -0
  128. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/editor.py +0 -0
  129. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/exc.py +0 -0
  130. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/langhelpers.py +0 -0
  131. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/messaging.py +0 -0
  132. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/pyfiles.py +0 -0
  133. {alembic-1.14.0 → alembic-1.14.1}/alembic/util/sqla_compat.py +0 -0
  134. {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/SOURCES.txt +0 -0
  135. {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/dependency_links.txt +0 -0
  136. {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/entry_points.txt +0 -0
  137. {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/not-zip-safe +0 -0
  138. {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/top_level.txt +0 -0
  139. {alembic-1.14.0 → alembic-1.14.1}/docs/_images/api_overview.png +0 -0
  140. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/autogenerate.rst +0 -0
  141. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/commands.rst +0 -0
  142. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/config.rst +0 -0
  143. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/ddl.rst +0 -0
  144. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/index.rst +0 -0
  145. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/operations.rst +0 -0
  146. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/overview.rst +0 -0
  147. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/runtime.rst +0 -0
  148. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/script.rst +0 -0
  149. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/batch.rst +0 -0
  150. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/branches.rst +0 -0
  151. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/cookbook.rst +0 -0
  152. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/front.rst +0 -0
  153. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/index.rst +0 -0
  154. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/offline.rst +0 -0
  155. {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/ops.rst +0 -0
  156. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/changelog.css +0 -0
  157. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/clipboard.min.js +0 -0
  158. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/copybutton.css +0 -0
  159. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/copybutton.js +0 -0
  160. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/copybutton_funcs.js +0 -0
  161. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/doctools.js +0 -0
  162. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/file.png +0 -0
  163. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/images/logo_colab.png +0 -0
  164. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/language_data.js +0 -0
  165. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/minus.png +0 -0
  166. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/nature_override.css +0 -0
  167. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/plus.png +0 -0
  168. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/sbt-webpack-macros.html +0 -0
  169. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/bootstrap.js +0 -0
  170. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
  171. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/fontawesome.js +0 -0
  172. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/fontawesome.js.LICENSE.txt +0 -0
  173. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/sphinx-book-theme.js +0 -0
  174. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/searchtools.js +0 -0
  175. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/site_custom_css.css +0 -0
  176. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/sphinx_highlight.js +0 -0
  177. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/sphinx_paramlinks.css +0 -0
  178. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/styles/sphinx-book-theme.css +0 -0
  179. {alembic-1.14.0 → alembic-1.14.1}/docs/_static/styles/theme.css +0 -0
  180. {alembic-1.14.0 → alembic-1.14.1}/docs/build/Makefile +0 -0
  181. {alembic-1.14.0 → alembic-1.14.1}/docs/build/_static/nature_override.css +0 -0
  182. {alembic-1.14.0 → alembic-1.14.1}/docs/build/_static/site_custom_css.css +0 -0
  183. {alembic-1.14.0 → alembic-1.14.1}/docs/build/_templates/site_custom_sidebars.html +0 -0
  184. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/api_overview.png +0 -0
  185. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/autogenerate.rst +0 -0
  186. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/commands.rst +0 -0
  187. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/config.rst +0 -0
  188. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/ddl.rst +0 -0
  189. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/index.rst +0 -0
  190. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/operations.rst +0 -0
  191. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/overview.rst +0 -0
  192. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/runtime.rst +0 -0
  193. {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/script.rst +0 -0
  194. {alembic-1.14.0 → alembic-1.14.1}/docs/build/batch.rst +0 -0
  195. {alembic-1.14.0 → alembic-1.14.1}/docs/build/branches.rst +0 -0
  196. {alembic-1.14.0 → alembic-1.14.1}/docs/build/cookbook.rst +0 -0
  197. {alembic-1.14.0 → alembic-1.14.1}/docs/build/front.rst +0 -0
  198. {alembic-1.14.0 → alembic-1.14.1}/docs/build/index.rst +0 -0
  199. {alembic-1.14.0 → alembic-1.14.1}/docs/build/offline.rst +0 -0
  200. {alembic-1.14.0 → alembic-1.14.1}/docs/build/ops.rst +0 -0
  201. {alembic-1.14.0 → alembic-1.14.1}/docs/build/requirements.txt +0 -0
  202. {alembic-1.14.0 → alembic-1.14.1}/docs/build/unreleased/README.txt +0 -0
  203. {alembic-1.14.0 → alembic-1.14.1}/pyproject.toml +0 -0
  204. {alembic-1.14.0 → alembic-1.14.1}/setup.py +0 -0
  205. {alembic-1.14.0 → alembic-1.14.1}/tests/__init__.py +0 -0
  206. {alembic-1.14.0 → alembic-1.14.1}/tests/_large_map.py +0 -0
  207. {alembic-1.14.0 → alembic-1.14.1}/tests/conftest.py +0 -0
  208. {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_composition.py +0 -0
  209. {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_diffs.py +0 -0
  210. {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_indexes.py +0 -0
  211. {alembic-1.14.0 → alembic-1.14.1}/tests/test_batch.py +0 -0
  212. {alembic-1.14.0 → alembic-1.14.1}/tests/test_bulk_insert.py +0 -0
  213. {alembic-1.14.0 → alembic-1.14.1}/tests/test_command.py +0 -0
  214. {alembic-1.14.0 → alembic-1.14.1}/tests/test_config.py +0 -0
  215. {alembic-1.14.0 → alembic-1.14.1}/tests/test_editor.py +0 -0
  216. {alembic-1.14.0 → alembic-1.14.1}/tests/test_environment.py +0 -0
  217. {alembic-1.14.0 → alembic-1.14.1}/tests/test_external_dialect.py +0 -0
  218. {alembic-1.14.0 → alembic-1.14.1}/tests/test_impl.py +0 -0
  219. {alembic-1.14.0 → alembic-1.14.1}/tests/test_messaging.py +0 -0
  220. {alembic-1.14.0 → alembic-1.14.1}/tests/test_mssql.py +0 -0
  221. {alembic-1.14.0 → alembic-1.14.1}/tests/test_mysql.py +0 -0
  222. {alembic-1.14.0 → alembic-1.14.1}/tests/test_offline_environment.py +0 -0
  223. {alembic-1.14.0 → alembic-1.14.1}/tests/test_op.py +0 -0
  224. {alembic-1.14.0 → alembic-1.14.1}/tests/test_op_naming_convention.py +0 -0
  225. {alembic-1.14.0 → alembic-1.14.1}/tests/test_oracle.py +0 -0
  226. {alembic-1.14.0 → alembic-1.14.1}/tests/test_post_write.py +0 -0
  227. {alembic-1.14.0 → alembic-1.14.1}/tests/test_postgresql.py +0 -0
  228. {alembic-1.14.0 → alembic-1.14.1}/tests/test_revision.py +0 -0
  229. {alembic-1.14.0 → alembic-1.14.1}/tests/test_script_consumption.py +0 -0
  230. {alembic-1.14.0 → alembic-1.14.1}/tests/test_script_production.py +0 -0
  231. {alembic-1.14.0 → alembic-1.14.1}/tests/test_stubs.py +0 -0
  232. {alembic-1.14.0 → alembic-1.14.1}/tests/test_suite.py +0 -0
  233. {alembic-1.14.0 → alembic-1.14.1}/tests/test_version_table.py +0 -0
  234. {alembic-1.14.0 → alembic-1.14.1}/tests/test_version_traversal.py +0 -0
  235. {alembic-1.14.0 → alembic-1.14.1}/tools/write_pyi.py +2 -2
@@ -1,4 +1,4 @@
1
- Copyright 2009-2024 Michael Bayer.
1
+ Copyright 2009-2025 Michael Bayer.
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of
4
4
  this software and associated documentation files (the "Software"), to deal in
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: alembic
3
- Version: 1.14.0
3
+ Version: 1.14.1
4
4
  Summary: A database migration tool for SQLAlchemy.
5
5
  Home-page: https://alembic.sqlalchemy.org
6
6
  Author: Mike Bayer
@@ -35,6 +35,7 @@ Requires-Dist: importlib-resources; python_version < "3.9"
35
35
  Requires-Dist: typing-extensions>=4
36
36
  Provides-Extra: tz
37
37
  Requires-Dist: backports.zoneinfo; python_version < "3.9" and extra == "tz"
38
+ Requires-Dist: tzdata; extra == "tz"
38
39
 
39
40
  Alembic is a database migrations tool written by the author
40
41
  of `SQLAlchemy <http://www.sqlalchemy.org>`_. A migrations tool
@@ -1,4 +1,4 @@
1
1
  from . import context
2
2
  from . import op
3
3
 
4
- __version__ = "1.14.0"
4
+ __version__ = "1.14.1"
@@ -277,7 +277,7 @@ class AutogenContext:
277
277
  """Maintains configuration and state that's specific to an
278
278
  autogenerate operation."""
279
279
 
280
- metadata: Optional[MetaData] = None
280
+ metadata: Union[MetaData, Sequence[MetaData], None] = None
281
281
  """The :class:`~sqlalchemy.schema.MetaData` object
282
282
  representing the destination.
283
283
 
@@ -332,7 +332,7 @@ class AutogenContext:
332
332
  def __init__(
333
333
  self,
334
334
  migration_context: MigrationContext,
335
- metadata: Optional[MetaData] = None,
335
+ metadata: Union[MetaData, Sequence[MetaData], None] = None,
336
336
  opts: Optional[Dict[str, Any]] = None,
337
337
  autogenerate: bool = True,
338
338
  ) -> None:
@@ -831,7 +831,10 @@ def _repr_type(
831
831
 
832
832
  mod = type(type_).__module__
833
833
  imports = autogen_context.imports
834
- if mod.startswith("sqlalchemy.dialects"):
834
+
835
+ if not _skip_variants and sqla_compat._type_has_variants(type_):
836
+ return _render_Variant_type(type_, autogen_context)
837
+ elif mod.startswith("sqlalchemy.dialects"):
835
838
  match = re.match(r"sqlalchemy\.dialects\.(\w+)", mod)
836
839
  assert match is not None
837
840
  dname = match.group(1)
@@ -843,8 +846,6 @@ def _repr_type(
843
846
  return "%s.%r" % (dname, type_)
844
847
  elif impl_rt:
845
848
  return impl_rt
846
- elif not _skip_variants and sqla_compat._type_has_variants(type_):
847
- return _render_Variant_type(type_, autogen_context)
848
849
  elif mod.startswith("sqlalchemy."):
849
850
  if "_render_%s_type" % type_.__visit_name__ in globals():
850
851
  fn = globals()["_render_%s_type" % type_.__visit_name__]
@@ -16,6 +16,7 @@ from typing import TYPE_CHECKING
16
16
  from typing import Union
17
17
 
18
18
  from sqlalchemy import Column
19
+ from sqlalchemy import Float
19
20
  from sqlalchemy import literal_column
20
21
  from sqlalchemy import Numeric
21
22
  from sqlalchemy import text
@@ -132,7 +133,7 @@ class PostgresqlImpl(DefaultImpl):
132
133
  metadata_default = metadata_column.server_default.arg
133
134
 
134
135
  if isinstance(metadata_default, str):
135
- if not isinstance(inspector_column.type, Numeric):
136
+ if not isinstance(inspector_column.type, (Numeric, Float)):
136
137
  metadata_default = re.sub(r"^'|'$", "", metadata_default)
137
138
  metadata_default = f"'{metadata_default}'"
138
139
 
@@ -16,6 +16,8 @@ from sqlalchemy import schema
16
16
  from sqlalchemy import sql
17
17
 
18
18
  from .base import alter_table
19
+ from .base import ColumnName
20
+ from .base import format_column_name
19
21
  from .base import format_table_name
20
22
  from .base import RenameTable
21
23
  from .impl import DefaultImpl
@@ -207,6 +209,15 @@ def visit_rename_table(
207
209
  )
208
210
 
209
211
 
212
+ @compiles(ColumnName, "sqlite")
213
+ def visit_column_name(element: ColumnName, compiler: DDLCompiler, **kw) -> str:
214
+ return "%s RENAME COLUMN %s TO %s" % (
215
+ alter_table(compiler, element.table_name, element.schema),
216
+ format_column_name(compiler, element.column_name),
217
+ format_column_name(compiler, element.newname),
218
+ )
219
+
220
+
210
221
  # @compiles(AddColumn, 'sqlite')
211
222
  # def visit_add_column(element, compiler, **kw):
212
223
  # return "%s %s" % (
@@ -15,7 +15,7 @@ prepend_sys_path = .
15
15
 
16
16
  # timezone to use when rendering the date within the migration file
17
17
  # as well as the filename.
18
- # If specified, requires the python>=3.9 or backports.zoneinfo library.
18
+ # If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
19
19
  # Any required deps can installed by adding `alembic[tz]` to the pip requirements
20
20
  # string value is passed to ZoneInfo()
21
21
  # leave blank for localtime
@@ -48,7 +48,9 @@ prepend_sys_path = .
48
48
  # version_path_separator = ;
49
49
  # version_path_separator = space
50
50
  # version_path_separator = newline
51
- version_path_separator = os # Use os.pathsep. Default configuration used for new projects.
51
+ #
52
+ # Use os.pathsep. Default configuration used for new projects.
53
+ version_path_separator = os
52
54
 
53
55
  # set to 'true' to search source files recursively
54
56
  # in each "version_locations" directory
@@ -17,7 +17,7 @@ prepend_sys_path = .
17
17
 
18
18
  # timezone to use when rendering the date within the migration file
19
19
  # as well as the filename.
20
- # If specified, requires the python>=3.9 or backports.zoneinfo library.
20
+ # If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
21
21
  # Any required deps can installed by adding `alembic[tz]` to the pip requirements
22
22
  # string value is passed to ZoneInfo()
23
23
  # leave blank for localtime
@@ -50,7 +50,9 @@ prepend_sys_path = .
50
50
  # version_path_separator = ;
51
51
  # version_path_separator = space
52
52
  # version_path_separator = newline
53
- version_path_separator = os # Use os.pathsep. Default configuration used for new projects.
53
+ #
54
+ # Use os.pathsep. Default configuration used for new projects.
55
+ version_path_separator = os
54
56
 
55
57
  # set to 'true' to search source files recursively
56
58
  # in each "version_locations" directory
@@ -17,7 +17,7 @@ prepend_sys_path = .
17
17
 
18
18
  # timezone to use when rendering the date within the migration file
19
19
  # as well as the filename.
20
- # If specified, requires the python>=3.9 or backports.zoneinfo library.
20
+ # If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
21
21
  # Any required deps can installed by adding `alembic[tz]` to the pip requirements
22
22
  # string value is passed to ZoneInfo()
23
23
  # leave blank for localtime
@@ -50,7 +50,9 @@ prepend_sys_path = .
50
50
  # version_path_separator = ;
51
51
  # version_path_separator = space
52
52
  # version_path_separator = newline
53
- version_path_separator = os # Use os.pathsep. Default configuration used for new projects.
53
+ #
54
+ # Use os.pathsep. Default configuration used for new projects.
55
+ version_path_separator = os
54
56
 
55
57
  # set to 'true' to search source files recursively
56
58
  # in each "version_locations" directory
@@ -24,6 +24,7 @@ if True:
24
24
 
25
25
  is_posix = os.name == "posix"
26
26
 
27
+ py313 = sys.version_info >= (3, 13)
27
28
  py311 = sys.version_info >= (3, 11)
28
29
  py310 = sys.version_info >= (3, 10)
29
30
  py39 = sys.version_info >= (3, 9)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: alembic
3
- Version: 1.14.0
3
+ Version: 1.14.1
4
4
  Summary: A database migration tool for SQLAlchemy.
5
5
  Home-page: https://alembic.sqlalchemy.org
6
6
  Author: Mike Bayer
@@ -35,6 +35,7 @@ Requires-Dist: importlib-resources; python_version < "3.9"
35
35
  Requires-Dist: typing-extensions>=4
36
36
  Provides-Extra: tz
37
37
  Requires-Dist: backports.zoneinfo; python_version < "3.9" and extra == "tz"
38
+ Requires-Dist: tzdata; extra == "tz"
38
39
 
39
40
  Alembic is a database migrations tool written by the author
40
41
  of `SQLAlchemy <http://www.sqlalchemy.org>`_. A migrations tool
@@ -7,6 +7,7 @@ importlib-metadata
7
7
  importlib-resources
8
8
 
9
9
  [tz]
10
+ tzdata
10
11
 
11
12
  [tz:python_version < "3.9"]
12
13
  backports.zoneinfo
@@ -1,10 +1,12 @@
1
1
  Auto Generating Migrations
2
2
  ===========================
3
3
 
4
- Alembic can view the status of the database and compare against the table metadata
5
- in the application, generating the "obvious" migrations based on a comparison. This
6
- is achieved using the ``--autogenerate`` option to the ``alembic revision`` command,
7
- which places so-called *candidate* migrations into our new migrations file. We
4
+ Alembic can view the status of the database (pointed to by ``sqlalchemy.url`` in
5
+ your ``alembic.ini`` file using the *current* schema) and compare against the
6
+ table metadata in the application (your ORM which defines the *proposed* schema),
7
+ generating the "obvious" migrations based on a comparison. This is achieved
8
+ using the ``--autogenerate`` option to the ``alembic revision`` command, which
9
+ places so-called *candidate* migrations into our new migrations file. We
8
10
  review and modify these by hand as needed, then proceed normally.
9
11
 
10
12
  To use autogenerate, we first need to modify our ``env.py`` so that it gets access
@@ -728,8 +730,8 @@ hook runner:
728
730
  The following configuration option is specific to the ``"exec"`` hook runner:
729
731
 
730
732
  * ``executable`` - the name of the executable to invoke. Can be either a
731
- bare executable name which will be searched in ``$PATH``, or a full pathname
732
- to avoid potential issues with path interception.
733
+ bare executable name which will be searched in ``$PATH``, or a full pathname
734
+ to avoid potential issues with path interception.
733
735
 
734
736
  The following options are supported by both ``"console_scripts"`` and ``"exec"``:
735
737
 
@@ -3,6 +3,34 @@
3
3
  Changelog
4
4
  ==========
5
5
 
6
+ .. changelog::
7
+ :version: 1.14.1
8
+ :released: January 19, 2025
9
+
10
+ .. change::
11
+ :tags: bug, environment
12
+ :tickets: 1556
13
+
14
+ Added `tzdata` to `tz` extras, which is required on some platforms such as
15
+ Windows. Pull request courtesy Danipulok.
16
+
17
+ .. change::
18
+ :tags: usecase, sqlite
19
+ :tickets: 1576
20
+
21
+ Modified SQLite's dialect to render "ALTER TABLE <t> RENAME COLUMN" when
22
+ :meth:`.Operations.alter_column` is used with a straight rename, supporting
23
+ SQLite's recently added column rename feature.
24
+
25
+ .. change::
26
+ :tags: bug, autogenerate
27
+ :tickets: 1585
28
+
29
+ Fixed bug where autogen render of a "variant" type would fail to catch the
30
+ variants if the leading type were a dialect-specific type, rather than a
31
+ generic type.
32
+
33
+
6
34
  .. changelog::
7
35
  :version: 1.14.0
8
36
  :released: November 4, 2024
@@ -164,6 +164,8 @@ parameter in ``env.py``, which is normally configured when autogenerate is
164
164
  used::
165
165
 
166
166
  # in your application's model:
167
+ from sqlalchemy import MetaData
168
+ from sqlalchemy.orm import DeclarativeBase
167
169
 
168
170
  class Base(DeclarativeBase):
169
171
  metadata = MetaData(naming_convention={
@@ -141,7 +141,7 @@ The file generated with the "generic" configuration looks like::
141
141
 
142
142
  # timezone to use when rendering the date within the migration file
143
143
  # as well as the filename.
144
- # If specified, requires the python>=3.9 or backports.zoneinfo library.
144
+ # If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
145
145
  # Any required deps can installed by adding `alembic[tz]` to the pip requirements
146
146
  # string value is passed to ZoneInfo()
147
147
  # leave blank for localtime
@@ -204,7 +204,7 @@ The file generated with the "generic" configuration looks like::
204
204
  # hooks = ruff
205
205
  # ruff.type = exec
206
206
  # ruff.executable = %(here)s/.venv/bin/ruff
207
- # ruff.options = --fix REVISION_SCRIPT_FILENAME
207
+ # ruff.options = check --fix REVISION_SCRIPT_FILENAME
208
208
 
209
209
  # Logging configuration
210
210
  [loggers]
@@ -299,9 +299,9 @@ This file contains the following features:
299
299
  * ``timezone`` - an optional timezone name (e.g. ``UTC``, ``EST5EDT``, etc.)
300
300
  that will be applied to the timestamp which renders inside the migration
301
301
  file's comment as well as within the filename. This option requires Python>=3.9
302
- or installing the ``backports.zoneinfo`` library. If ``timezone`` is specified,
303
- the create date object is no longer derived from ``datetime.datetime.now()``
304
- and is instead generated as::
302
+ or installing the ``backports.zoneinfo`` library and the ``tzdata`` library.
303
+ If ``timezone`` is specified, the create date object is no longer derived
304
+ from ``datetime.datetime.now()`` and is instead generated as::
305
305
 
306
306
  datetime.datetime.utcnow().replace(
307
307
  tzinfo=datetime.timezone.utc
@@ -48,7 +48,7 @@ div.sphinxsidebarwrapper {
48
48
 
49
49
  div.sphinxsidebar {
50
50
  float: left;
51
- width: 270px;
51
+ width: 230px;
52
52
  margin-left: -100%;
53
53
  font-size: 90%;
54
54
  word-wrap: break-word;
@@ -1,5 +1,5 @@
1
1
  const DOCUMENTATION_OPTIONS = {
2
- VERSION: '1.14.0',
2
+ VERSION: '1.14.1',
3
3
  LANGUAGE: 'en',
4
4
  COLLAPSE_INDEX: false,
5
5
  BUILDER: 'html',
@@ -0,0 +1,152 @@
1
+ html[data-theme="light"] .highlight pre { line-height: 125%; }
2
+ html[data-theme="light"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
3
+ html[data-theme="light"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
4
+ html[data-theme="light"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
5
+ html[data-theme="light"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
6
+ html[data-theme="light"] .highlight .hll { background-color: #fae4c2 }
7
+ html[data-theme="light"] .highlight { background: #fefefe; color: #080808 }
8
+ html[data-theme="light"] .highlight .c { color: #515151 } /* Comment */
9
+ html[data-theme="light"] .highlight .err { color: #A12236 } /* Error */
10
+ html[data-theme="light"] .highlight .k { color: #6730C5 } /* Keyword */
11
+ html[data-theme="light"] .highlight .l { color: #7F4707 } /* Literal */
12
+ html[data-theme="light"] .highlight .n { color: #080808 } /* Name */
13
+ html[data-theme="light"] .highlight .o { color: #00622F } /* Operator */
14
+ html[data-theme="light"] .highlight .p { color: #080808 } /* Punctuation */
15
+ html[data-theme="light"] .highlight .ch { color: #515151 } /* Comment.Hashbang */
16
+ html[data-theme="light"] .highlight .cm { color: #515151 } /* Comment.Multiline */
17
+ html[data-theme="light"] .highlight .cp { color: #515151 } /* Comment.Preproc */
18
+ html[data-theme="light"] .highlight .cpf { color: #515151 } /* Comment.PreprocFile */
19
+ html[data-theme="light"] .highlight .c1 { color: #515151 } /* Comment.Single */
20
+ html[data-theme="light"] .highlight .cs { color: #515151 } /* Comment.Special */
21
+ html[data-theme="light"] .highlight .gd { color: #005B82 } /* Generic.Deleted */
22
+ html[data-theme="light"] .highlight .ge { font-style: italic } /* Generic.Emph */
23
+ html[data-theme="light"] .highlight .gh { color: #005B82 } /* Generic.Heading */
24
+ html[data-theme="light"] .highlight .gs { font-weight: bold } /* Generic.Strong */
25
+ html[data-theme="light"] .highlight .gu { color: #005B82 } /* Generic.Subheading */
26
+ html[data-theme="light"] .highlight .kc { color: #6730C5 } /* Keyword.Constant */
27
+ html[data-theme="light"] .highlight .kd { color: #6730C5 } /* Keyword.Declaration */
28
+ html[data-theme="light"] .highlight .kn { color: #6730C5 } /* Keyword.Namespace */
29
+ html[data-theme="light"] .highlight .kp { color: #6730C5 } /* Keyword.Pseudo */
30
+ html[data-theme="light"] .highlight .kr { color: #6730C5 } /* Keyword.Reserved */
31
+ html[data-theme="light"] .highlight .kt { color: #7F4707 } /* Keyword.Type */
32
+ html[data-theme="light"] .highlight .ld { color: #7F4707 } /* Literal.Date */
33
+ html[data-theme="light"] .highlight .m { color: #7F4707 } /* Literal.Number */
34
+ html[data-theme="light"] .highlight .s { color: #00622F } /* Literal.String */
35
+ html[data-theme="light"] .highlight .na { color: #912583 } /* Name.Attribute */
36
+ html[data-theme="light"] .highlight .nb { color: #7F4707 } /* Name.Builtin */
37
+ html[data-theme="light"] .highlight .nc { color: #005B82 } /* Name.Class */
38
+ html[data-theme="light"] .highlight .no { color: #005B82 } /* Name.Constant */
39
+ html[data-theme="light"] .highlight .nd { color: #7F4707 } /* Name.Decorator */
40
+ html[data-theme="light"] .highlight .ni { color: #00622F } /* Name.Entity */
41
+ html[data-theme="light"] .highlight .ne { color: #6730C5 } /* Name.Exception */
42
+ html[data-theme="light"] .highlight .nf { color: #005B82 } /* Name.Function */
43
+ html[data-theme="light"] .highlight .nl { color: #7F4707 } /* Name.Label */
44
+ html[data-theme="light"] .highlight .nn { color: #080808 } /* Name.Namespace */
45
+ html[data-theme="light"] .highlight .nx { color: #080808 } /* Name.Other */
46
+ html[data-theme="light"] .highlight .py { color: #005B82 } /* Name.Property */
47
+ html[data-theme="light"] .highlight .nt { color: #005B82 } /* Name.Tag */
48
+ html[data-theme="light"] .highlight .nv { color: #A12236 } /* Name.Variable */
49
+ html[data-theme="light"] .highlight .ow { color: #6730C5 } /* Operator.Word */
50
+ html[data-theme="light"] .highlight .pm { color: #080808 } /* Punctuation.Marker */
51
+ html[data-theme="light"] .highlight .w { color: #080808 } /* Text.Whitespace */
52
+ html[data-theme="light"] .highlight .mb { color: #7F4707 } /* Literal.Number.Bin */
53
+ html[data-theme="light"] .highlight .mf { color: #7F4707 } /* Literal.Number.Float */
54
+ html[data-theme="light"] .highlight .mh { color: #7F4707 } /* Literal.Number.Hex */
55
+ html[data-theme="light"] .highlight .mi { color: #7F4707 } /* Literal.Number.Integer */
56
+ html[data-theme="light"] .highlight .mo { color: #7F4707 } /* Literal.Number.Oct */
57
+ html[data-theme="light"] .highlight .sa { color: #00622F } /* Literal.String.Affix */
58
+ html[data-theme="light"] .highlight .sb { color: #00622F } /* Literal.String.Backtick */
59
+ html[data-theme="light"] .highlight .sc { color: #00622F } /* Literal.String.Char */
60
+ html[data-theme="light"] .highlight .dl { color: #00622F } /* Literal.String.Delimiter */
61
+ html[data-theme="light"] .highlight .sd { color: #00622F } /* Literal.String.Doc */
62
+ html[data-theme="light"] .highlight .s2 { color: #00622F } /* Literal.String.Double */
63
+ html[data-theme="light"] .highlight .se { color: #00622F } /* Literal.String.Escape */
64
+ html[data-theme="light"] .highlight .sh { color: #00622F } /* Literal.String.Heredoc */
65
+ html[data-theme="light"] .highlight .si { color: #00622F } /* Literal.String.Interpol */
66
+ html[data-theme="light"] .highlight .sx { color: #00622F } /* Literal.String.Other */
67
+ html[data-theme="light"] .highlight .sr { color: #A12236 } /* Literal.String.Regex */
68
+ html[data-theme="light"] .highlight .s1 { color: #00622F } /* Literal.String.Single */
69
+ html[data-theme="light"] .highlight .ss { color: #005B82 } /* Literal.String.Symbol */
70
+ html[data-theme="light"] .highlight .bp { color: #7F4707 } /* Name.Builtin.Pseudo */
71
+ html[data-theme="light"] .highlight .fm { color: #005B82 } /* Name.Function.Magic */
72
+ html[data-theme="light"] .highlight .vc { color: #A12236 } /* Name.Variable.Class */
73
+ html[data-theme="light"] .highlight .vg { color: #A12236 } /* Name.Variable.Global */
74
+ html[data-theme="light"] .highlight .vi { color: #A12236 } /* Name.Variable.Instance */
75
+ html[data-theme="light"] .highlight .vm { color: #7F4707 } /* Name.Variable.Magic */
76
+ html[data-theme="light"] .highlight .il { color: #7F4707 } /* Literal.Number.Integer.Long */
77
+ html[data-theme="dark"] .highlight pre { line-height: 125%; }
78
+ html[data-theme="dark"] .highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
79
+ html[data-theme="dark"] .highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
80
+ html[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
81
+ html[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
82
+ html[data-theme="dark"] .highlight .hll { background-color: #ffd9002e }
83
+ html[data-theme="dark"] .highlight { background: #2b2b2b; color: #F8F8F2 }
84
+ html[data-theme="dark"] .highlight .c { color: #FFD900 } /* Comment */
85
+ html[data-theme="dark"] .highlight .err { color: #FFA07A } /* Error */
86
+ html[data-theme="dark"] .highlight .k { color: #DCC6E0 } /* Keyword */
87
+ html[data-theme="dark"] .highlight .l { color: #FFD900 } /* Literal */
88
+ html[data-theme="dark"] .highlight .n { color: #F8F8F2 } /* Name */
89
+ html[data-theme="dark"] .highlight .o { color: #ABE338 } /* Operator */
90
+ html[data-theme="dark"] .highlight .p { color: #F8F8F2 } /* Punctuation */
91
+ html[data-theme="dark"] .highlight .ch { color: #FFD900 } /* Comment.Hashbang */
92
+ html[data-theme="dark"] .highlight .cm { color: #FFD900 } /* Comment.Multiline */
93
+ html[data-theme="dark"] .highlight .cp { color: #FFD900 } /* Comment.Preproc */
94
+ html[data-theme="dark"] .highlight .cpf { color: #FFD900 } /* Comment.PreprocFile */
95
+ html[data-theme="dark"] .highlight .c1 { color: #FFD900 } /* Comment.Single */
96
+ html[data-theme="dark"] .highlight .cs { color: #FFD900 } /* Comment.Special */
97
+ html[data-theme="dark"] .highlight .gd { color: #00E0E0 } /* Generic.Deleted */
98
+ html[data-theme="dark"] .highlight .ge { font-style: italic } /* Generic.Emph */
99
+ html[data-theme="dark"] .highlight .gh { color: #00E0E0 } /* Generic.Heading */
100
+ html[data-theme="dark"] .highlight .gs { font-weight: bold } /* Generic.Strong */
101
+ html[data-theme="dark"] .highlight .gu { color: #00E0E0 } /* Generic.Subheading */
102
+ html[data-theme="dark"] .highlight .kc { color: #DCC6E0 } /* Keyword.Constant */
103
+ html[data-theme="dark"] .highlight .kd { color: #DCC6E0 } /* Keyword.Declaration */
104
+ html[data-theme="dark"] .highlight .kn { color: #DCC6E0 } /* Keyword.Namespace */
105
+ html[data-theme="dark"] .highlight .kp { color: #DCC6E0 } /* Keyword.Pseudo */
106
+ html[data-theme="dark"] .highlight .kr { color: #DCC6E0 } /* Keyword.Reserved */
107
+ html[data-theme="dark"] .highlight .kt { color: #FFD900 } /* Keyword.Type */
108
+ html[data-theme="dark"] .highlight .ld { color: #FFD900 } /* Literal.Date */
109
+ html[data-theme="dark"] .highlight .m { color: #FFD900 } /* Literal.Number */
110
+ html[data-theme="dark"] .highlight .s { color: #ABE338 } /* Literal.String */
111
+ html[data-theme="dark"] .highlight .na { color: #FFD900 } /* Name.Attribute */
112
+ html[data-theme="dark"] .highlight .nb { color: #FFD900 } /* Name.Builtin */
113
+ html[data-theme="dark"] .highlight .nc { color: #00E0E0 } /* Name.Class */
114
+ html[data-theme="dark"] .highlight .no { color: #00E0E0 } /* Name.Constant */
115
+ html[data-theme="dark"] .highlight .nd { color: #FFD900 } /* Name.Decorator */
116
+ html[data-theme="dark"] .highlight .ni { color: #ABE338 } /* Name.Entity */
117
+ html[data-theme="dark"] .highlight .ne { color: #DCC6E0 } /* Name.Exception */
118
+ html[data-theme="dark"] .highlight .nf { color: #00E0E0 } /* Name.Function */
119
+ html[data-theme="dark"] .highlight .nl { color: #FFD900 } /* Name.Label */
120
+ html[data-theme="dark"] .highlight .nn { color: #F8F8F2 } /* Name.Namespace */
121
+ html[data-theme="dark"] .highlight .nx { color: #F8F8F2 } /* Name.Other */
122
+ html[data-theme="dark"] .highlight .py { color: #00E0E0 } /* Name.Property */
123
+ html[data-theme="dark"] .highlight .nt { color: #00E0E0 } /* Name.Tag */
124
+ html[data-theme="dark"] .highlight .nv { color: #FFA07A } /* Name.Variable */
125
+ html[data-theme="dark"] .highlight .ow { color: #DCC6E0 } /* Operator.Word */
126
+ html[data-theme="dark"] .highlight .pm { color: #F8F8F2 } /* Punctuation.Marker */
127
+ html[data-theme="dark"] .highlight .w { color: #F8F8F2 } /* Text.Whitespace */
128
+ html[data-theme="dark"] .highlight .mb { color: #FFD900 } /* Literal.Number.Bin */
129
+ html[data-theme="dark"] .highlight .mf { color: #FFD900 } /* Literal.Number.Float */
130
+ html[data-theme="dark"] .highlight .mh { color: #FFD900 } /* Literal.Number.Hex */
131
+ html[data-theme="dark"] .highlight .mi { color: #FFD900 } /* Literal.Number.Integer */
132
+ html[data-theme="dark"] .highlight .mo { color: #FFD900 } /* Literal.Number.Oct */
133
+ html[data-theme="dark"] .highlight .sa { color: #ABE338 } /* Literal.String.Affix */
134
+ html[data-theme="dark"] .highlight .sb { color: #ABE338 } /* Literal.String.Backtick */
135
+ html[data-theme="dark"] .highlight .sc { color: #ABE338 } /* Literal.String.Char */
136
+ html[data-theme="dark"] .highlight .dl { color: #ABE338 } /* Literal.String.Delimiter */
137
+ html[data-theme="dark"] .highlight .sd { color: #ABE338 } /* Literal.String.Doc */
138
+ html[data-theme="dark"] .highlight .s2 { color: #ABE338 } /* Literal.String.Double */
139
+ html[data-theme="dark"] .highlight .se { color: #ABE338 } /* Literal.String.Escape */
140
+ html[data-theme="dark"] .highlight .sh { color: #ABE338 } /* Literal.String.Heredoc */
141
+ html[data-theme="dark"] .highlight .si { color: #ABE338 } /* Literal.String.Interpol */
142
+ html[data-theme="dark"] .highlight .sx { color: #ABE338 } /* Literal.String.Other */
143
+ html[data-theme="dark"] .highlight .sr { color: #FFA07A } /* Literal.String.Regex */
144
+ html[data-theme="dark"] .highlight .s1 { color: #ABE338 } /* Literal.String.Single */
145
+ html[data-theme="dark"] .highlight .ss { color: #00E0E0 } /* Literal.String.Symbol */
146
+ html[data-theme="dark"] .highlight .bp { color: #FFD900 } /* Name.Builtin.Pseudo */
147
+ html[data-theme="dark"] .highlight .fm { color: #00E0E0 } /* Name.Function.Magic */
148
+ html[data-theme="dark"] .highlight .vc { color: #FFA07A } /* Name.Variable.Class */
149
+ html[data-theme="dark"] .highlight .vg { color: #FFA07A } /* Name.Variable.Global */
150
+ html[data-theme="dark"] .highlight .vi { color: #FFA07A } /* Name.Variable.Instance */
151
+ html[data-theme="dark"] .highlight .vm { color: #FFD900 } /* Name.Variable.Magic */
152
+ html[data-theme="dark"] .highlight .il { color: #FFD900 } /* Literal.Number.Integer.Long */
@@ -0,0 +1,2 @@
1
+ (()=>{"use strict";function e(e){"loading"!=document.readyState?e():document.addEventListener("DOMContentLoaded",e)}const t=e=>"string"==typeof e&&/^[v\d]/.test(e)&&o.test(e),n=(e,t,n)=>{u(n);const o=((e,t)=>{const n=r(e),o=r(t),a=n.pop(),s=o.pop(),i=c(n,o);return 0!==i?i:a&&s?c(a.split("."),s.split(".")):a||s?a?-1:1:0})(e,t);return l[n].includes(o)},o=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,r=e=>{if("string"!=typeof e)throw new TypeError("Invalid argument expected string");const t=e.match(o);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},a=e=>"*"===e||"x"===e||"X"===e,s=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},i=(e,t)=>{if(a(e)||a(t))return 0;const[n,o]=((e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t])(s(e),s(t));return n>o?1:n<o?-1:0},c=(e,t)=>{for(let n=0;n<Math.max(e.length,t.length);n++){const o=i(e[n]||"0",t[n]||"0");if(0!==o)return o}return 0},l={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]},d=Object.keys(l),u=e=>{if("string"!=typeof e)throw new TypeError("Invalid operator type, expected string but got "+typeof e);if(-1===d.indexOf(e))throw new Error(`Invalid operator, expected one of ${d.join("|")}`)};var m=window.matchMedia("(prefers-color-scheme: dark)");function h(e){document.documentElement.dataset.theme=m.matches?"dark":"light"}function p(e){"light"!==e&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto");var t=m.matches?"dark":"light";document.documentElement.dataset.mode=e;var n="auto"==e?t:e;document.documentElement.dataset.theme=n,document.querySelectorAll(".dropdown-menu").forEach((e=>{"dark"===n?e.classList.add("dropdown-menu-dark"):e.classList.remove("dropdown-menu-dark")})),localStorage.setItem("mode",e),localStorage.setItem("theme",n),console.log(`[PST]: Changed to ${e} mode using the ${n} theme.`),m.onchange="auto"==e?h:""}function f(){const e=document.documentElement.dataset.defaultMode||"auto",t=localStorage.getItem("mode")||e;var n,o;p(((o=(n=m.matches?["auto","light","dark"]:["auto","dark","light"]).indexOf(t)+1)===n.length&&(o=0),n[o]))}var g=()=>{let e=document.querySelectorAll("form.bd-search");return e.length?(1==e.length?e[0]:document.querySelector(":not(#pst-search-dialog) > form.bd-search")).querySelector("input"):void 0},v=()=>{const e=g(),t=document.getElementById("pst-search-dialog");e===t.querySelector("input")?t.open?t.close():t.showModal():document.activeElement===e?e.blur():(e.focus(),e.select(),e.scrollIntoView({block:"center"}))},y=0===navigator.platform.indexOf("Mac")||"iPhone"===navigator.platform;const w=({currentTarget:e,clientX:t,clientY:n})=>{if(!e.open)return;const{left:o,right:r,top:a,bottom:s}=e.getBoundingClientRect();(t<o||r<t||n<a||s<n)&&e.close()};var E=()=>"dirhtml"==DOCUMENTATION_OPTIONS.BUILDER?DOCUMENTATION_OPTIONS.pagename.endsWith("index")?`${DOCUMENTATION_OPTIONS.pagename.substring(0,DOCUMENTATION_OPTIONS.pagename.length-5)}`:`${DOCUMENTATION_OPTIONS.pagename}/`:`${DOCUMENTATION_OPTIONS.pagename}.html`;async function T(e){document.querySelector("#bd-header-version-warning").remove();const t=DOCUMENTATION_OPTIONS.VERSION,n=new Date,o=JSON.parse(localStorage.getItem("pst_banner_pref")||"{}");console.debug(`[PST] Dismissing the version warning banner on ${t} starting ${n}.`),o[t]=n,localStorage.setItem("pst_banner_pref",JSON.stringify(o))}async function S(e){e.preventDefault();const t=E();let n=e.currentTarget.getAttribute("href"),o=n.replace(t,"");try{(await fetch(n,{method:"HEAD"})).ok?location.href=n:location.href=o}catch(e){location.href=o}}async function b(){var e=document.querySelectorAll(".version-switcher__button");const o=e.length>0,r=DOCUMENTATION_OPTIONS.hasOwnProperty("theme_switcher_json_url"),a=DOCUMENTATION_OPTIONS.show_version_warning_banner;if(r&&(o||a)){const o=await async function(e){const t=E();try{var n=new URL(e)}catch(o){if(!(o instanceof TypeError))throw o;{"file:"==window.location.protocol&&console.info("[PST] looks like you're viewing this site from a local filesystem, so the version switcher won't work unless you've disabled CORS. See https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/version-dropdown.html");const o=window.location.href.indexOf(t),r=-1==o?window.location.href:window.location.href.substring(0,o);n=new URL(e,r)}}const o=await fetch(n);return await o.json()}(DOCUMENTATION_OPTIONS.theme_switcher_json_url);o&&(function(e,t){const n=E();t.forEach((e=>{e.dataset.activeVersionName="",e.dataset.activeVersion=""}));const o=(e=e.map((e=>(e.match=e.version==DOCUMENTATION_OPTIONS.theme_switcher_version_match,e.preferred=e.preferred||!1,"name"in e||(e.name=e.version),e)))).map((e=>e.preferred&&e.match)).some(Boolean);var r=!1;e.forEach((e=>{const a=document.createElement("a");a.setAttribute("class","dropdown-item list-group-item list-group-item-action py-1"),a.setAttribute("href",`${e.url}${n}`),a.setAttribute("role","option");const s=document.createElement("span");s.textContent=`${e.name}`,a.appendChild(s),a.dataset.versionName=e.name,a.dataset.version=e.version;let i=o&&e.preferred,c=!o&&!r&&e.match;(i||c)&&(a.classList.add("active"),t.forEach((t=>{t.innerText=e.name,t.dataset.activeVersionName=e.name,t.dataset.activeVersion=e.version})),r=!0),document.querySelectorAll(".version-switcher__menu").forEach((e=>{let t=a.cloneNode(!0);t.onclick=S,e.append(t)}))}))}(o,e),a&&function(e){var o=DOCUMENTATION_OPTIONS.VERSION,r=e.filter((e=>e.preferred));if(1!==r.length){const e=0==r.length?"No":"Multiple";return void console.log(`[PST] ${e} versions marked "preferred" found in versions JSON, ignoring.`)}const a=r[0].version,s=r[0].url,i=t(o)&&t(a);if(i&&n(o,a,"="))return void console.log("[PST]: This is the preferred version of the docs, not showing the warning banner.");const c=JSON.parse(localStorage.getItem("pst_banner_pref")||"{}")[o];if(null!=c){const e=new Date(c),t=(new Date-e)/864e5;if(t<14)return void console.info(`[PST] Suppressing version warning banner; was dismissed ${Math.floor(t)} day(s) ago`)}const l=document.querySelector("#bd-header-version-warning"),d=document.createElement("div"),u=document.createElement("div"),m=document.createElement("strong"),h=document.createElement("a"),p=document.createElement("a");d.classList="bd-header-announcement__content ms-auto me-auto",u.classList="sidebar-message",h.classList="btn text-wrap font-weight-bold ms-3 my-1 align-baseline pst-button-link-to-stable-version",h.href=`${s}${E()}`,h.innerText="Switch to stable version",h.onclick=S,p.classList="ms-3 my-1 align-baseline";const f=document.createElement("i");p.append(f),f.classList="fa-solid fa-xmark",p.onclick=T,u.innerText="This is documentation for ";const g=o.includes("dev")||o.includes("rc")||o.includes("pre"),v=i&&n(o,a,">");g||v?m.innerText="an unstable development version":i&&n(o,a,"<")?m.innerText=`an old version (${o})`:m.innerText=o?`version ${o}`:"an unknown version",l.appendChild(d),l.append(p),d.appendChild(u),u.appendChild(m),u.appendChild(document.createTextNode(".")),u.appendChild(h),l.classList.remove("d-none")}(o))}}function O(){const e=()=>{document.querySelectorAll(["pre",".nboutput > .output_area",".cell_output > .output",".jp-RenderedHTMLCommon",".pst-scrollable-table-container"].join(", ")).forEach((e=>{e.tabIndex=e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight?0:-1}))},t=function(e,t){let n=null;return(...t)=>{clearTimeout(n),n=setTimeout((()=>{e(...t)}),300)}}(e);window.addEventListener("resize",t),new MutationObserver(t).observe(document.getElementById("main-content"),{subtree:!0,childList:!0}),e()}async function N(){const e=document.querySelector(".bd-header-announcement"),{pstAnnouncementUrl:t}=e?e.dataset:null;if(t)try{const n=await fetch(t);if(!n.ok)throw new Error(`[PST]: HTTP response status not ok: ${n.status} ${n.statusText}`);const o=await n.text();if(0===o.length)return void console.log(`[PST]: Empty announcement at: ${t}`);e.innerHTML=`<div class="bd-header-announcement__content">${o}</div>`,e.classList.remove("d-none")}catch(e){console.log(`[PST]: Failed to load announcement at: ${t}`),console.error(e)}}e((async function(){await Promise.allSettled([b(),N()]);const e=document.querySelector(".pst-async-banner-revealer");if(!e)return;e.classList.remove("d-none");const t=Array.from(e.children).reduce(((e,t)=>e+t.offsetHeight),0);e.style.setProperty("height",`${t}px`),setTimeout((()=>{e.style.setProperty("height","auto")}),320)})),e((function(){p(document.documentElement.dataset.mode),document.querySelectorAll(".theme-switch-button").forEach((e=>{e.addEventListener("click",f)}))})),e((function(){if(!document.querySelector(".bd-docs-nav"))return;var e=document.querySelector("div.bd-sidebar");let t=parseInt(sessionStorage.getItem("sidebar-scroll-top"),10);if(isNaN(t)){var n=document.querySelector(".bd-docs-nav").querySelectorAll(".active");if(n.length>0){var o=n[n.length-1],r=o.getBoundingClientRect().y-e.getBoundingClientRect().y;if(o.getBoundingClientRect().y>.5*window.innerHeight){let t=.25;e.scrollTop=r-e.clientHeight*t,console.log("[PST]: Scrolled sidebar using last active link...")}}}else e.scrollTop=t,console.log("[PST]: Scrolled sidebar using stored browser position...");window.addEventListener("beforeunload",(()=>{sessionStorage.setItem("sidebar-scroll-top",e.scrollTop)}))})),e((function(){window.addEventListener("activate.bs.scrollspy",(function(){document.querySelectorAll(".bd-toc-nav a").forEach((e=>{e.parentElement.classList.remove("active")})),document.querySelectorAll(".bd-toc-nav a.active").forEach((e=>{e.parentElement.classList.add("active")}))}))})),e((()=>{(()=>{let e=document.querySelectorAll(".search-button__kbd-shortcut");y&&e.forEach((e=>e.querySelector("kbd.kbd-shortcut__modifier").innerText="⌘"))})(),window.addEventListener("keydown",(e=>{let t=g();e.shiftKey||e.altKey||(y?!e.metaKey||e.ctrlKey:e.metaKey||!e.ctrlKey)||!/^k$/i.test(e.key)?document.activeElement===t&&/Escape/i.test(e.key)&&v():(e.preventDefault(),v())}),!0),document.querySelectorAll(".search-button__button").forEach((e=>{e.onclick=v})),document.getElementById("pst-search-dialog").addEventListener("click",w)})),e((function(){const e=document.getElementById("pst-primary-sidebar"),t=document.getElementById("pst-secondary-sidebar"),n=document.getElementById("pst-primary-sidebar-modal"),o=document.getElementById("pst-secondary-sidebar-modal"),r=document.querySelector(".primary-toggle"),a=document.querySelector(".secondary-toggle"),s=(e,t)=>{Array.from(e.childNodes).forEach((e=>t.appendChild(e))),Array.from(e.classList).forEach((n=>{e.classList.remove(n),t.classList.add(n)}))};[[r,n,e],[a,o,t]].forEach((([e,t,n])=>{e&&t&&n&&(e.addEventListener("click",(e=>{e.preventDefault(),e.stopPropagation(),s(n,t),t.showModal()})),t.addEventListener("click",w),t.addEventListener("keydown",(e=>{"Escape"===e.key&&(e.preventDefault(),e.stopPropagation(),t.close())})),t.addEventListener("close",(()=>{s(t,n)})))}))})),"complete"===document.readyState?O():window.addEventListener("load",O)})();
2
+ //# sourceMappingURL=pydata-sphinx-theme.js.map