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.
- {alembic-1.14.0 → alembic-1.14.1}/LICENSE +1 -1
- {alembic-1.14.0/alembic.egg-info → alembic-1.14.1}/PKG-INFO +3 -2
- {alembic-1.14.0 → alembic-1.14.1}/alembic/__init__.py +1 -1
- {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/api.py +2 -2
- {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/render.py +4 -3
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/postgresql.py +2 -1
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/sqlite.py +11 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/alembic.ini.mako +4 -2
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/alembic.ini.mako +4 -2
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/alembic.ini.mako +4 -2
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/compat.py +1 -0
- {alembic-1.14.0 → alembic-1.14.1/alembic.egg-info}/PKG-INFO +3 -2
- {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/requires.txt +1 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/autogenerate.rst +8 -6
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/changelog.rst +28 -0
- {alembic-1.14.0/docs/build → alembic-1.14.1/docs/_sources}/naming.rst +2 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/tutorial.rst +5 -5
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/basic.css +1 -1
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/documentation_options.js +1 -1
- alembic-1.14.1/docs/_static/pygments.css +152 -0
- alembic-1.14.1/docs/_static/scripts/pydata-sphinx-theme.js +2 -0
- alembic-1.14.1/docs/_static/styles/pydata-sphinx-theme.css +32 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/webpack-macros.html +7 -7
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/autogenerate.html +59 -54
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/commands.html +24 -19
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/config.html +25 -20
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/ddl.html +29 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/index.html +22 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/operations.html +35 -30
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/overview.html +22 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/runtime.html +36 -31
- {alembic-1.14.0 → alembic-1.14.1}/docs/api/script.html +24 -19
- {alembic-1.14.0 → alembic-1.14.1}/docs/autogenerate.html +58 -51
- {alembic-1.14.0 → alembic-1.14.1}/docs/batch.html +24 -19
- {alembic-1.14.0 → alembic-1.14.1}/docs/branches.html +26 -21
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/autogenerate.rst +8 -6
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/changelog.rst +28 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/conf.py +3 -3
- {alembic-1.14.0/docs/_sources → alembic-1.14.1/docs/build}/naming.rst +2 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/tutorial.rst +5 -5
- {alembic-1.14.0 → alembic-1.14.1}/docs/changelog.html +62 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/cookbook.html +126 -121
- {alembic-1.14.0 → alembic-1.14.1}/docs/front.html +22 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/genindex.html +26 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/index.html +27 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/naming.html +31 -24
- {alembic-1.14.0 → alembic-1.14.1}/docs/offline.html +27 -22
- {alembic-1.14.0 → alembic-1.14.1}/docs/ops.html +53 -48
- {alembic-1.14.0 → alembic-1.14.1}/docs/py-modindex.html +22 -17
- {alembic-1.14.0 → alembic-1.14.1}/docs/search.html +22 -17
- alembic-1.14.1/docs/searchindex.js +1 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/tutorial.html +37 -32
- {alembic-1.14.0 → alembic-1.14.1}/setup.cfg +1 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/requirements.py +6 -2
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_render.py +35 -15
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_sqlite.py +5 -0
- {alembic-1.14.0 → alembic-1.14.1}/tox.ini +9 -0
- alembic-1.14.0/docs/_static/pygments.css +0 -152
- alembic-1.14.0/docs/_static/scripts/pydata-sphinx-theme.js +0 -2
- alembic-1.14.0/docs/_static/styles/pydata-sphinx-theme.css +0 -32
- alembic-1.14.0/docs/searchindex.js +0 -1
- {alembic-1.14.0 → alembic-1.14.1}/CHANGES +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/MANIFEST.in +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/README.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/README.unittests.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/__main__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/compare.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/autogenerate/rewriter.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/command.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/config.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/context.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/context.pyi +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/_autogen.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/base.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/impl.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/mssql.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/mysql.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/ddl/oracle.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/environment.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/migration.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/op.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/op.pyi +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/base.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/batch.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/ops.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/schemaobj.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/operations/toimpl.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/py.typed +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/runtime/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/runtime/environment.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/runtime/migration.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/script/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/script/base.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/script/revision.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/script/write_hooks.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/README +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/env.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/async/script.py.mako +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/README +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/env.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/generic/script.py.mako +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/README +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/env.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/templates/multidb/script.py.mako +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/assertions.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/env.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/fixtures.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/plugin/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/plugin/bootstrap.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/requirements.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/schemacompare.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/_autogen_fixtures.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_comments.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_computed.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_diffs.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_fks.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_autogen_identity.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_environment.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/suite/test_op.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/util.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/testing/warnings.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/editor.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/exc.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/langhelpers.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/messaging.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/pyfiles.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic/util/sqla_compat.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/SOURCES.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/dependency_links.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/entry_points.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/not-zip-safe +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/alembic.egg-info/top_level.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_images/api_overview.png +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/autogenerate.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/commands.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/config.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/ddl.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/index.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/operations.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/overview.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/runtime.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/api/script.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/batch.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/branches.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/cookbook.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/front.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/index.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/offline.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_sources/ops.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/changelog.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/clipboard.min.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/copybutton.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/copybutton.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/copybutton_funcs.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/doctools.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/file.png +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/images/logo_colab.png +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/language_data.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/minus.png +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/nature_override.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/plus.png +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/sbt-webpack-macros.html +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/bootstrap.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/bootstrap.js.LICENSE.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/fontawesome.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/fontawesome.js.LICENSE.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/scripts/sphinx-book-theme.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/searchtools.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/site_custom_css.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/sphinx_highlight.js +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/sphinx_paramlinks.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/styles/sphinx-book-theme.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/_static/styles/theme.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/Makefile +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/_static/nature_override.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/_static/site_custom_css.css +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/_templates/site_custom_sidebars.html +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/api_overview.png +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/autogenerate.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/commands.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/config.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/ddl.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/index.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/operations.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/overview.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/runtime.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/api/script.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/batch.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/branches.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/cookbook.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/front.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/index.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/offline.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/ops.rst +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/requirements.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/docs/build/unreleased/README.txt +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/pyproject.toml +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/setup.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/__init__.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/_large_map.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/conftest.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_composition.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_diffs.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_autogen_indexes.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_batch.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_bulk_insert.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_command.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_config.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_editor.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_environment.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_external_dialect.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_impl.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_messaging.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_mssql.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_mysql.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_offline_environment.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_op.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_op_naming_convention.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_oracle.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_post_write.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_postgresql.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_revision.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_script_consumption.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_script_production.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_stubs.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_suite.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_version_table.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tests/test_version_traversal.py +0 -0
- {alembic-1.14.0 → alembic-1.14.1}/tools/write_pyi.py +2 -2
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: alembic
|
3
|
-
Version: 1.14.
|
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
|
@@ -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:
|
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:
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: alembic
|
3
|
-
Version: 1.14.
|
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,10 +1,12 @@
|
|
1
1
|
Auto Generating Migrations
|
2
2
|
===========================
|
3
3
|
|
4
|
-
Alembic can view the status of the database
|
5
|
-
|
6
|
-
|
7
|
-
|
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
|
303
|
-
the create date object is no longer derived
|
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
|
@@ -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
|