sqlalchemy-cratedb 0.41.0.dev0__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- sqlalchemy_cratedb-0.41.0.dev0/CHANGES.md +354 -0
- sqlalchemy_cratedb-0.41.0.dev0/CODE_OF_CONDUCT.md +76 -0
- sqlalchemy_cratedb-0.41.0.dev0/CONTRIBUTING.md +9 -0
- sqlalchemy_cratedb-0.41.0.dev0/DEVELOP.md +77 -0
- sqlalchemy_cratedb-0.41.0.dev0/LICENSE +178 -0
- sqlalchemy_cratedb-0.41.0.dev0/MANIFEST.in +5 -0
- sqlalchemy_cratedb-0.41.0.dev0/NOTICE +24 -0
- sqlalchemy_cratedb-0.41.0.dev0/PKG-INFO +143 -0
- sqlalchemy_cratedb-0.41.0.dev0/README.md +47 -0
- sqlalchemy_cratedb-0.41.0.dev0/backlog.md +23 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/advanced-querying.rst.txt +335 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/crud.rst.txt +301 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/data-types.rst.txt +87 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/dataframe.rst.txt +258 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/getting-started.rst.txt +211 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/index-all.rst.txt +21 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/index.rst.txt +253 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/inspection-reflection.rst.txt +126 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/install.rst.txt +50 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/migrate-from-crate-client.md.txt +50 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/overview.rst.txt +761 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/support.md.txt +243 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_sources/working-with-types.rst.txt +303 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_static/bundle/main.js.LICENSE.txt +27 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/_static/vendor/furo/scripts/furo.js.LICENSE.txt +7 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/output.txt +13 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.build/robots.txt +4 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/MarkupSafe-3.0.2.dist-info/LICENSE.txt +28 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/MarkupSafe-3.0.2.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/PyYAML-6.0.2.dist-info/top_level.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/alabaster-0.7.16.dist-info/entry_points.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/babel-2.16.0.dist-info/entry_points.txt +20 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/babel-2.16.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/certifi-2024.8.30.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.0.dist-info/entry_points.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/charset_normalizer-3.4.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/colorama-0.4.6.dist-info/licenses/LICENSE.txt +27 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/crate/theme/rtd/crate/static/bundle/main.js.LICENSE.txt +27 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/crate/theme/rtd/crate/static/vendor/furo/scripts/furo.js.LICENSE.txt +7 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/crate_docs_theme-0.36.1.dist-info/namespace_packages.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/crate_docs_theme-0.36.1.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/README.txt +17 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isoamsa.txt +162 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isoamsb.txt +126 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isoamsc.txt +29 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isoamsn.txt +96 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isoamso.txt +62 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isoamsr.txt +191 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isobox.txt +46 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isocyr1.txt +73 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isocyr2.txt +32 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isodia.txt +20 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isogrk1.txt +55 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isogrk2.txt +26 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isogrk3.txt +52 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isogrk4-wide.txt +49 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isogrk4.txt +8 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isolat1.txt +68 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isolat2.txt +128 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isomfrk-wide.txt +58 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isomfrk.txt +11 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isomopf-wide.txt +32 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isomopf.txt +13 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isomscr-wide.txt +58 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isomscr.txt +17 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isonum.txt +82 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isopub.txt +90 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/isotech.txt +168 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/mmlalias.txt +554 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/mmlextra-wide.txt +113 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/mmlextra.txt +87 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/s5defs.txt +68 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/xhtml1-lat1.txt +102 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/xhtml1-special.txt +37 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/parsers/rst/include/xhtml1-symbol.txt +130 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/writers/html4css1/template.txt +8 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/writers/html5_polyglot/template.txt +8 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/writers/pep_html/template.txt +25 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils/writers/s5_html/themes/README.txt +6 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils-0.19.dist-info/COPYING.txt +157 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils-0.19.dist-info/entry_points.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils-0.19.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/docutils_stubs-0.0.22.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/furo/theme/furo/static/scripts/furo.js.LICENSE.txt +7 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/furo-2024.5.6.dist-info/entry_points.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/imagesize-1.4.1.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/importlib_metadata-8.5.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/jinja2-3.1.4.dist-info/LICENSE.txt +28 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/jinja2-3.1.4.dist-info/entry_points.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/linkify_it_py-2.0.3.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/livereload-2.7.0.dist-info/entry_points.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/livereload-2.7.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/markdown_it_py-3.0.0.dist-info/entry_points.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/myst_parser-3.0.1.dist-info/entry_points.txt +10 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt +18 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/pip-24.3.1.dist-info/AUTHORS.txt +799 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/pip-24.3.1.dist-info/LICENSE.txt +20 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/pip-24.3.1.dist-info/entry_points.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/pip-24.3.1.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/pygments-2.18.0.dist-info/entry_points.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/requests-2.32.3.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/setuptools-58.1.0.dist-info/entry_points.txt +56 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/setuptools-58.1.0.dist-info/top_level.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/snowballstemmer-2.2.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx-7.1.2.dist-info/entry_points.txt +6 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_autobuild-2021.3.14.dist-info/entry_points.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_basic_ng-1.0.0b2.dist-info/entry_points.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_basic_ng-1.0.0b2.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_copybutton-0.5.2.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_design/compiled/material-icons_VERSION.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_design_elements-0.4.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_sitemap-2.6.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinx_togglebutton-0.3.2.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinxcontrib_jsmath-1.0.1.dist-info/namespace_packages.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinxcontrib_jsmath-1.0.1.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinxcontrib_mermaid-1.0.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinxcontrib_plantuml-0.30.dist-info/namespace_packages.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinxcontrib_plantuml-0.30.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/sphinxext_opengraph-0.9.1.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/tornado/test/static/robots.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/tornado/test/static_foo.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/tornado-6.4.1.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/uc_micro_py-1.0.3.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/urllib3-2.2.3.dist-info/licenses/LICENSE.txt +21 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/wheel/vendored/vendor.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/wheel-0.45.0.dist-info/LICENSE.txt +21 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/wheel-0.45.0.dist-info/entry_points.txt +6 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/.venv/lib/python3.9/site-packages/zipp-3.21.0.dist-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/common-build/requirements.txt +12 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/docs/_extra/robots.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/docs/requirements.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/.crate-docs/helpers/preview/etc/requirements.txt +3 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/_extra/robots.txt +4 -0
- sqlalchemy_cratedb-0.41.0.dev0/docs/requirements.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/pyproject.toml +296 -0
- sqlalchemy_cratedb-0.41.0.dev0/setup.cfg +7 -0
- sqlalchemy_cratedb-0.41.0.dev0/setup.py +6 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/__init__.py +65 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/compat/__init__.py +0 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/compat/api13.py +152 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/compat/core10.py +253 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/compat/core14.py +337 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/compat/core20.py +423 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/compiler.py +361 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/dialect.py +414 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/predicate.py +96 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/sa_version.py +28 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/support/__init__.py +18 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/support/pandas.py +110 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/support/polyfill.py +130 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/support/util.py +82 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/type/__init__.py +13 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/type/array.py +143 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/type/geo.py +43 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/type/object.py +94 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb/type/vector.py +176 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb.egg-info/PKG-INFO +143 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb.egg-info/SOURCES.txt +166 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb.egg-info/dependency_links.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb.egg-info/entry_points.txt +2 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb.egg-info/requires.txt +40 -0
- sqlalchemy_cratedb-0.41.0.dev0/src/sqlalchemy_cratedb.egg-info/top_level.txt +1 -0
- sqlalchemy_cratedb-0.41.0.dev0/tests/test_error_handling.py +21 -0
- sqlalchemy_cratedb-0.41.0.dev0/tests/test_schema.py +26 -0
- sqlalchemy_cratedb-0.41.0.dev0/tests/test_support_pandas.py +115 -0
- sqlalchemy_cratedb-0.41.0.dev0/tests/test_support_polyfill.py +151 -0
- sqlalchemy_cratedb-0.41.0.dev0/tests/test_support_util.py +51 -0
@@ -0,0 +1,354 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## Unreleased
|
4
|
+
- Dependencies: Updated to `crate-2.0.0`, which uses `orjson` for JSON marshalling
|
5
|
+
|
6
|
+
## 2024/11/04 0.40.1
|
7
|
+
- CI: Verified support on Python 3.13
|
8
|
+
- Dependencies: Updated to `crate-1.0.0.dev2`
|
9
|
+
|
10
|
+
## 2024/10/07 0.40.0
|
11
|
+
- Propagate error traces properly, using the `error_trace` `connect_args` option,
|
12
|
+
by using `crate-1.0.0.dev1`
|
13
|
+
- Use slightly amended `do_execute`, `do_execute_no_params`, `do_executemany`
|
14
|
+
to store their responses into the request context instance
|
15
|
+
|
16
|
+
## 2024/08/29 0.39.0
|
17
|
+
- Added `quote_relation_name` support utility function
|
18
|
+
|
19
|
+
## 2024/06/25 0.38.0
|
20
|
+
- Added/reactivated documentation as `sqlalchemy-cratedb`
|
21
|
+
- Added `CrateIdentifierPreparer`, in order to quote reserved words
|
22
|
+
like `object` properly, for example when used as column names.
|
23
|
+
- Fixed `CrateDialect.get_pk_constraint` to return `list` instead of `set` type
|
24
|
+
- Added re-usable patches and polyfills from application adapters.
|
25
|
+
New utilities: `patch_autoincrement_timestamp`, `refresh_after_dml`,
|
26
|
+
`check_uniqueness_factory`
|
27
|
+
- Added `table_kwargs` context manager to enable pandas/Dask to support
|
28
|
+
CrateDB dialect table options.
|
29
|
+
- Fixed SQL rendering of special DDL table options in `CrateDDLCompiler`.
|
30
|
+
Before, configuring `crate_"translog.durability"` was not possible.
|
31
|
+
- Unlocked supporting timezone-aware `DateTime` fields
|
32
|
+
- Added support for marshalling Python `datetime.date` values on `sa.DateTime` fields
|
33
|
+
|
34
|
+
## 2024/06/13 0.37.0
|
35
|
+
- Added support for CrateDB's [FLOAT_VECTOR] data type and its accompanying
|
36
|
+
[KNN_MATCH] function, for HNSW matches. For SQLAlchemy column definitions,
|
37
|
+
you can use it like `FloatVector(dimensions=1536)`.
|
38
|
+
- Fixed `get_table_names()` reflection method to respect the
|
39
|
+
`schema` query argument in SQLAlchemy connection URLs.
|
40
|
+
|
41
|
+
[FLOAT_VECTOR]: https://cratedb.com/docs/crate/reference/en/latest/general/ddl/data-types.html#float-vector
|
42
|
+
[KNN_MATCH]: https://cratedb.com/docs/crate/reference/en/latest/general/builtins/scalar-functions.html#scalar-knn-match
|
43
|
+
|
44
|
+
## 2024/06/11 0.36.1
|
45
|
+
- Dependencies: Use `crate==1.0.0dev0`
|
46
|
+
|
47
|
+
## 2024/06/11 0.36.0
|
48
|
+
- Dependencies: Use `dask[dataframe]`
|
49
|
+
- Maintenance release after splitting packages `crate-python` vs.
|
50
|
+
`sqlalchemy-cratedb`
|
51
|
+
|
52
|
+
## 2023/09/29 0.34.0
|
53
|
+
|
54
|
+
- Fix handling URL parameters `timeout` and `pool_size`
|
55
|
+
- Improve DDL compiler to ignore foreign key and uniqueness constraints.
|
56
|
+
- Ignore SQL's `FOR UPDATE` clause. Thanks, @surister.
|
57
|
+
|
58
|
+
|
59
|
+
## 2023/07/17 0.33.0
|
60
|
+
|
61
|
+
- Rename leftover occurrences of `Object`. The new symbol to represent
|
62
|
+
CrateDB's `OBJECT` column type is now `ObjectType`.
|
63
|
+
|
64
|
+
- DQL: Use CrateDB's native `ILIKE` operator instead of using SA's
|
65
|
+
generic implementation `lower() LIKE lower()`. Thanks, @hlcianfagna.
|
66
|
+
|
67
|
+
|
68
|
+
## 2023/07/06 0.32.0
|
69
|
+
|
70
|
+
- DDL: Allow turning off column store using `crate_columnstore=False`.
|
71
|
+
Thanks, @fetzerms.
|
72
|
+
|
73
|
+
- DDL: Allow setting `server_default` on columns to enable
|
74
|
+
server-generated defaults. Thanks, @JanLikar.
|
75
|
+
|
76
|
+
- Allow handling datetime values tagged with time zone info when inserting or updating.
|
77
|
+
|
78
|
+
- Fix SQL statement caching for CrateDB's `OBJECT` type. Thanks, @faymarie.
|
79
|
+
|
80
|
+
- Refactor `OBJECT` type to use SQLAlchemy's JSON type infrastructure.
|
81
|
+
|
82
|
+
- Added `insert_bulk` fast-path `INSERT` method for pandas, in
|
83
|
+
order to support efficient batch inserts using CrateDB's "bulk operations" endpoint.
|
84
|
+
|
85
|
+
- Add documentation and software tests for usage with Dask
|
86
|
+
|
87
|
+
|
88
|
+
## 2023/04/18 0.31.1
|
89
|
+
|
90
|
+
- Core: Re-enable support for `INSERT/UPDATE...RETURNING` in
|
91
|
+
SQLAlchemy 2.0 by adding the new `insert_returning` and `update_returning` flags
|
92
|
+
in the CrateDB dialect.
|
93
|
+
|
94
|
+
|
95
|
+
## 2023/03/30 0.31.0
|
96
|
+
|
97
|
+
- Core: Support `INSERT...VALUES` with multiple value sets by enabling
|
98
|
+
`supports_multivalues_insert` on the CrateDB dialect, it is used by pandas'
|
99
|
+
`method="multi"` option
|
100
|
+
|
101
|
+
- Core: Enable the `insertmanyvalues` feature, which lets you control
|
102
|
+
the batch size of `INSERT` operations using the `insertmanyvalues_page_size`
|
103
|
+
engine-, connection-, and statement-options.
|
104
|
+
|
105
|
+
- ORM: Remove support for the legacy `session.bulk_save_objects` API
|
106
|
+
on SQLAlchemy 2.0, in favor of the new `insertmanyvalues` feature. Performance
|
107
|
+
optimizations from `bulk_save()` have been made inherently part of `add_all()`.
|
108
|
+
Note: The legacy mode will still work on SQLAlchemy 1.x, while SQLAlchemy 2.x users
|
109
|
+
MUST switch to the new method now.
|
110
|
+
|
111
|
+
|
112
|
+
## 2023/03/02 0.30.1
|
113
|
+
|
114
|
+
- Fixed SQLAlchemy 2.0 incompatibility with `CrateDialect.{has_schema,has_table}`
|
115
|
+
|
116
|
+
|
117
|
+
## 2023/02/16 0.30.0
|
118
|
+
|
119
|
+
- Added deprecation warning about dropping support for SQLAlchemy 1.3 soon, it
|
120
|
+
is effectively EOL.
|
121
|
+
|
122
|
+
- Added support for SQLAlchemy 2.0. See also [What's New in SQLAlchemy 2.0]
|
123
|
+
and [SQLAlchemy 2.0 migration guide].
|
124
|
+
|
125
|
+
- Updated to geojson 3.0.0.
|
126
|
+
|
127
|
+
[SQLAlchemy 2.0 migration guide]: https://docs.sqlalchemy.org/en/20/changelog/migration_20.html
|
128
|
+
[What's New in SQLAlchemy 2.0]: https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
|
129
|
+
|
130
|
+
|
131
|
+
## 2022/12/08 0.29.0
|
132
|
+
|
133
|
+
- Added support for `crate_index` and `nullable` attributes in
|
134
|
+
ORM column definitions.
|
135
|
+
|
136
|
+
- Added support for converting `TIMESTAMP` columns to timezone-aware
|
137
|
+
`datetime` objects, using the new `time_zone` keyword argument.
|
138
|
+
|
139
|
+
|
140
|
+
## 2022/12/02 0.28.0
|
141
|
+
|
142
|
+
- Added a generic data type converter to the `Cursor` object, for converting
|
143
|
+
fetched data from CrateDB data types to Python data types.
|
144
|
+
|
145
|
+
- Fixed generating appropriate syntax for OFFSET/LIMIT clauses. It was possible
|
146
|
+
that SQL statement clauses like `LIMIT -1` could have been generated. Both
|
147
|
+
PostgreSQL and CrateDB only accept `LIMIT ALL` instead.
|
148
|
+
|
149
|
+
- Added support for ORM computed columns
|
150
|
+
|
151
|
+
|
152
|
+
## 2022/10/10 0.27.2
|
153
|
+
- Improved `CrateDialect.get_pk_constraint` to be compatible
|
154
|
+
with breaking changes in CrateDB >=5.1.0.
|
155
|
+
|
156
|
+
|
157
|
+
## 2022/06/02 0.27.0
|
158
|
+
|
159
|
+
- Added support for Python 3.9 and 3.10.
|
160
|
+
|
161
|
+
- Dropped support for Python 3.4, 3.5 and 3.6.
|
162
|
+
|
163
|
+
- Dropped support for SQLAlchemy 1.1 and 1.2.
|
164
|
+
|
165
|
+
- Dropped support for CrateDB < 2.0.0.
|
166
|
+
|
167
|
+
- Added support for enabling SSL using SQLAlchemy DB URI with parameter
|
168
|
+
`?ssl=true`.
|
169
|
+
|
170
|
+
- Added support for SQLAlchemy 1.4
|
171
|
+
|
172
|
+
### Notes
|
173
|
+
|
174
|
+
For learning about the transition to SQLAlchemy 1.4, we recommend the
|
175
|
+
corresponding documentation [What’s New in SQLAlchemy 1.4?].
|
176
|
+
|
177
|
+
### Breaking changes
|
178
|
+
|
179
|
+
#### Textual column expressions
|
180
|
+
SQLAlchemy 1.4 became stricter on some details. It requires to wrap [CrateDB
|
181
|
+
system columns] like `_score` in a [SQLAlchemy literal_column] type.
|
182
|
+
Before, it was possible to use a query like this:
|
183
|
+
|
184
|
+
session.query(Character.name, '_score')
|
185
|
+
|
186
|
+
It must now be written like:
|
187
|
+
|
188
|
+
session.query(Character.name, sa.literal_column('_score'))
|
189
|
+
|
190
|
+
Otherwise, SQLAlchemy will complain like:
|
191
|
+
|
192
|
+
sqlalchemy.exc.ArgumentError: Textual column expression '_score' should be
|
193
|
+
explicitly declared with text('_score'), or use column('_score') for more
|
194
|
+
specificity
|
195
|
+
|
196
|
+
|
197
|
+
[CrateDB system columns]: https://cratedb.com/docs/crate/reference/en/4.8/general/ddl/system-columns.html
|
198
|
+
[SQLAlchemy literal_column]: https://docs.sqlalchemy.org/en/14/core/sqlelement.html#sqlalchemy.sql.expression.literal_column
|
199
|
+
[What’s New in SQLAlchemy 1.4?]: https://docs.sqlalchemy.org/en/14/changelog/migration_14.html
|
200
|
+
|
201
|
+
|
202
|
+
## 2020/09/28 0.26.0
|
203
|
+
- Propagate connect parameter `pool_size` to urllib3 as `maxsize` parameter
|
204
|
+
in order to make the connection pool size configurable.
|
205
|
+
|
206
|
+
## 2020/08/05 0.25.0
|
207
|
+
- Added support for the `RETURNING` clause. This requires CrateDB 4.2 or greater.
|
208
|
+
In case you use any server side generated columns in your primary key constraint
|
209
|
+
with earlier CrateDB versions, you can turn off this feature by passing
|
210
|
+
`implicit_returning=False` in the `create_engine()` call.
|
211
|
+
- Added support for `geo_point` and `geo_json` types
|
212
|
+
|
213
|
+
## 2020/05/27 0.24.0
|
214
|
+
- Upgraded SQLAlchemy support to 1.3.
|
215
|
+
- Added official Python 3.8 support.
|
216
|
+
- Made it so that the dialect is now aware of the return type of the
|
217
|
+
`date_trunc` function.
|
218
|
+
- Added driver attribute, as SQLAlchemy relies on interfaces having that string for identification.
|
219
|
+
|
220
|
+
## 2019/08/01 0.23.1
|
221
|
+
- Extended the type mapping for the upcoming type name changes in CrateDB 4.0.
|
222
|
+
- Added support for Python 3.7 and made that version the recommended one.
|
223
|
+
|
224
|
+
## 2018/05/02 0.22.0
|
225
|
+
- BREAKING: Dropped support for Python 2.7 and 3.3
|
226
|
+
If you are using this package with Python 2.7 or 3.3 already, you will not be
|
227
|
+
able to install newer versions of this package.
|
228
|
+
- Add support for SQLAlchemy 1.2
|
229
|
+
- Updated `get_table_names()` method to only return tables but not views.
|
230
|
+
This enables compatibility with CrateDB 3.0 and newer.
|
231
|
+
|
232
|
+
## 2018/03/14 0.21.3
|
233
|
+
- Fixed an issue that caused `metadata.create_all(bind=engine)` to fail
|
234
|
+
creating tables that contain an `ObjectArray` column.
|
235
|
+
|
236
|
+
## 2018/01/03 0.21.1
|
237
|
+
- Fixed an issue that prevented the usage of SQLAlchemy types `NUMERIC` and
|
238
|
+
`DECIMAL` as column types.
|
239
|
+
|
240
|
+
## 2017/12/07 0.21.0
|
241
|
+
- Prepared primary key retrieval for CrateDB 2.3.0. Preserved
|
242
|
+
backwards-compatibility for lower versions.
|
243
|
+
|
244
|
+
## 2017/02/02 0.18.0
|
245
|
+
- Added support for `Insert` from select
|
246
|
+
- Support `get_columns` and `get_pk_constraint`
|
247
|
+
|
248
|
+
## 2016/12/19 0.17.0
|
249
|
+
- BREAKING: Dropped support for SQLAlchemy < 1.0.0
|
250
|
+
- Fix: The dialect didn't work properly with alpha and beta
|
251
|
+
versions of sqlalchemy due to a wrong version check
|
252
|
+
(e.g.: sandman2 depends on 1.1.0b3)
|
253
|
+
- Added support for native Arrays
|
254
|
+
- Fix: `sa.inspect(engine).get_table_names` failed due
|
255
|
+
to an attribute error
|
256
|
+
|
257
|
+
## 2016/11/21 0.16.5
|
258
|
+
- Added compatibility for SQLAlchemy version 1.1
|
259
|
+
|
260
|
+
## 2016/10/18 0.16.4
|
261
|
+
- Fix: Updates in nested `OBJECT` columns have been ignored
|
262
|
+
|
263
|
+
## 2016/06/23 0.16.1
|
264
|
+
- Fix: `Date` column type is now correctly created as `TIMESTAMP` column
|
265
|
+
when creating the table
|
266
|
+
|
267
|
+
## 2016/06/09 0.16.0
|
268
|
+
- Added support for serialization of Decimals
|
269
|
+
|
270
|
+
## 2016/05/17 0.15.0
|
271
|
+
- Added support for client certificates
|
272
|
+
- Dropped support for Python 2.6
|
273
|
+
|
274
|
+
## 2016/02/05 0.14.0
|
275
|
+
- Added support for serialization of date and datetime objects
|
276
|
+
|
277
|
+
## 2015/10/12 0.13.5
|
278
|
+
- Fix: use proper `CLUSTERED` clause syntax in `CREATE TABLE` statement
|
279
|
+
|
280
|
+
## 2015/06/29 0.13.3
|
281
|
+
- Fix: Allow `ObjectArray`s to be set to `None`
|
282
|
+
|
283
|
+
## 2015/05/29 0.13.1
|
284
|
+
- Fixed compatibility issues with SQLAlchemy 1.0.x
|
285
|
+
- Map SQLAlchemy's `TEXT` column type to CrateDB's `STRING` type
|
286
|
+
|
287
|
+
## 2015/03/10 0.13.0
|
288
|
+
- Add support for table creation using the SQLAlchemy ORM functionality
|
289
|
+
- Fix: Match predicate now properly handles term literal
|
290
|
+
|
291
|
+
## 2015/02/13 0.12.5
|
292
|
+
- Changed update statement generation to be compatible with CrateDB 0.47.X
|
293
|
+
|
294
|
+
## 2015/02/04 0.12.4
|
295
|
+
- Add missing functionality in `CrateDialect`, including:
|
296
|
+
default schema name, server version info,
|
297
|
+
check if table/schema exists, list all tables/schemas
|
298
|
+
|
299
|
+
## 2014/10/20 0.12.2
|
300
|
+
- Add `match` predicate to support fulltext search
|
301
|
+
|
302
|
+
## 2014/07/14 0.10.3
|
303
|
+
- Fix: Columns that have an onupdate definition are now correctly updated
|
304
|
+
|
305
|
+
## 2014/05/16 0.10.0
|
306
|
+
- Implemented `ANY` operator on object array containment checks
|
307
|
+
|
308
|
+
## 2014/05/13 0.9.5
|
309
|
+
- Bugfix: Updates of complex types will only be rewritten if the dialect
|
310
|
+
is set to `crate`
|
311
|
+
|
312
|
+
## 2014/05/07 0.9.1
|
313
|
+
- use new crate doc theme
|
314
|
+
|
315
|
+
## 2014/03/11 0.4.0
|
316
|
+
- Fix a bug where setting an empty list on a multivalued field results in
|
317
|
+
returning `None` after refreshing the session
|
318
|
+
|
319
|
+
## 2014/01/27 0.3.0
|
320
|
+
- Add the `ObjectArray` type
|
321
|
+
- Rename `Craty` type to `Object`. `Craty` can still be imported to
|
322
|
+
maintain backward compatibility.
|
323
|
+
|
324
|
+
## 2014/01/15 0.2.0
|
325
|
+
- Compatibility adjustments for SQLAlchemy >= 0.9.x
|
326
|
+
|
327
|
+
## 2013/12/06 0.1.9
|
328
|
+
- Support native booleans
|
329
|
+
|
330
|
+
## 2013/11/25 0.1.7
|
331
|
+
- Raise an exception if timezone aware datetime objects are stored
|
332
|
+
|
333
|
+
## 2013/11/08 0.1.3
|
334
|
+
- Fix datetime parsing that didn't work with crate >= 0.18.4 due
|
335
|
+
to the fixed datetime mapping
|
336
|
+
|
337
|
+
## 2013/11/08 0.1.2
|
338
|
+
- Document `count()` and `group_by()` support
|
339
|
+
|
340
|
+
## 2013/10/09 0.0.9
|
341
|
+
- `DateTime` and `Date` can now be nullable
|
342
|
+
|
343
|
+
## 2013/10/04 0.0.8
|
344
|
+
- Fix an ORM error with the `Craty` type and where the `update`
|
345
|
+
statement wasn't correctly generated
|
346
|
+
|
347
|
+
## 2013/10/02 0.0.7
|
348
|
+
- Support the `Date` and `DateTime` types
|
349
|
+
|
350
|
+
## 2013/10/01 0.0.6
|
351
|
+
- Initial release of SQLAlchemy dialect including complex types
|
352
|
+
|
353
|
+
## 2013/09/05 0.0.2
|
354
|
+
- Initial release of Python DBAPI driver
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
2
|
+
|
3
|
+
## Our Pledge
|
4
|
+
|
5
|
+
In the interest of fostering an open and welcoming environment, we as
|
6
|
+
contributors and maintainers pledge to making participation in our project and
|
7
|
+
our community a harassment-free experience for everyone, regardless of age, body
|
8
|
+
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
9
|
+
level of experience, education, socio-economic status, nationality, personal
|
10
|
+
appearance, race, religion, or sexual identity and orientation.
|
11
|
+
|
12
|
+
## Our Standards
|
13
|
+
|
14
|
+
Examples of behavior that contributes to creating a positive environment
|
15
|
+
include:
|
16
|
+
|
17
|
+
* Using welcoming and inclusive language
|
18
|
+
* Being respectful of differing viewpoints and experiences
|
19
|
+
* Gracefully accepting constructive criticism
|
20
|
+
* Focusing on what is best for the community
|
21
|
+
* Showing empathy towards other community members
|
22
|
+
|
23
|
+
Examples of unacceptable behavior by participants include:
|
24
|
+
|
25
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
26
|
+
advances
|
27
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
28
|
+
* Public or private harassment
|
29
|
+
* Publishing others' private information, such as a physical or electronic
|
30
|
+
address, without explicit permission
|
31
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
32
|
+
professional setting
|
33
|
+
|
34
|
+
## Our Responsibilities
|
35
|
+
|
36
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
37
|
+
behavior and are expected to take appropriate and fair corrective action in
|
38
|
+
response to any instances of unacceptable behavior.
|
39
|
+
|
40
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
41
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
42
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
43
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
44
|
+
threatening, offensive, or harmful.
|
45
|
+
|
46
|
+
## Scope
|
47
|
+
|
48
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
49
|
+
when an individual is representing the project or its community. Examples of
|
50
|
+
representing a project or community include using an official project e-mail
|
51
|
+
address, posting via an official social media account, or acting as an appointed
|
52
|
+
representative at an online or offline event. Representation of a project may be
|
53
|
+
further defined and clarified by project maintainers.
|
54
|
+
|
55
|
+
## Enforcement
|
56
|
+
|
57
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
58
|
+
reported by contacting the project team at support@crate.io. All
|
59
|
+
complaints will be reviewed and investigated and will result in a response that
|
60
|
+
is deemed necessary and appropriate to the circumstances. The project team is
|
61
|
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
62
|
+
Further details of specific enforcement policies may be posted separately.
|
63
|
+
|
64
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
65
|
+
faith may face temporary or permanent repercussions as determined by other
|
66
|
+
members of the project's leadership.
|
67
|
+
|
68
|
+
## Attribution
|
69
|
+
|
70
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
71
|
+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
72
|
+
|
73
|
+
[homepage]: https://www.contributor-covenant.org
|
74
|
+
|
75
|
+
For answers to common questions about this code of conduct, see
|
76
|
+
https://www.contributor-covenant.org/faq
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Contributing
|
2
|
+
|
3
|
+
Thank you for your interest in contributing.
|
4
|
+
|
5
|
+
Please see the [CrateDB contribution guide] for more information.
|
6
|
+
Everything in the CrateDB contribution guide applies to this repository.
|
7
|
+
|
8
|
+
|
9
|
+
[CrateDB contribution guide]: https://github.com/crate/crate/blob/master/CONTRIBUTING.rst
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# CrateDB Python developer guide
|
2
|
+
|
3
|
+
## Setup
|
4
|
+
|
5
|
+
To start things off, bootstrap the sandbox environment:
|
6
|
+
|
7
|
+
git clone https://github.com/crate/sqlalchemy-cratedb
|
8
|
+
cd sqlalchemy-cratedb
|
9
|
+
source bootstrap.sh
|
10
|
+
|
11
|
+
This command should automatically install all prerequisites for the
|
12
|
+
development sandbox and drop you into the virtualenv, ready for invoking
|
13
|
+
further commands.
|
14
|
+
|
15
|
+
## Running Tests
|
16
|
+
|
17
|
+
Verify code by running all linters and software tests:
|
18
|
+
|
19
|
+
export CRATEDB_VERSION=latest
|
20
|
+
docker compose -f tests/docker-compose.yml up
|
21
|
+
poe check
|
22
|
+
|
23
|
+
Run specific tests:
|
24
|
+
|
25
|
+
pytest -k SqlAlchemyCompilerTest
|
26
|
+
pytest -k test_score
|
27
|
+
|
28
|
+
# Integration tests, written as doctests.
|
29
|
+
python -m unittest -vvv tests/integration.py
|
30
|
+
|
31
|
+
Format code:
|
32
|
+
|
33
|
+
poe format
|
34
|
+
|
35
|
+
|
36
|
+
## Preparing a release
|
37
|
+
|
38
|
+
On branch `main`:
|
39
|
+
|
40
|
+
- Add a section for the new version in the `CHANGES.md` file.
|
41
|
+
- Commit your changes with a message like `Release x.y.z`.
|
42
|
+
- Create a tag, and push to remote.
|
43
|
+
This will trigger a GitHub action which releases the new version to PyPi.
|
44
|
+
```shell
|
45
|
+
git tag 0.36.1
|
46
|
+
git push --tags
|
47
|
+
```
|
48
|
+
- On GitHub, designate a new release, copying in the relevant section
|
49
|
+
from the CHANGELOG.
|
50
|
+
https://github.com/crate/sqlalchemy-cratedb/releases
|
51
|
+
|
52
|
+
Optionally, build the package and upload to PyPI manually.
|
53
|
+
```shell
|
54
|
+
poe release
|
55
|
+
```
|
56
|
+
|
57
|
+
|
58
|
+
## Writing documentation
|
59
|
+
|
60
|
+
The docs live under the `docs` directory.
|
61
|
+
|
62
|
+
The docs are written with [ReStructuredText] and Markdown,
|
63
|
+
and will be processed with [Sphinx].
|
64
|
+
|
65
|
+
Build the docs by running:
|
66
|
+
|
67
|
+
./bin/sphinx
|
68
|
+
|
69
|
+
The output can then be found in the `out/html` directory.
|
70
|
+
|
71
|
+
The docs are automatically built from Git by [Read the Docs]. There is
|
72
|
+
nothing special you need to do to get the live docs to update.
|
73
|
+
|
74
|
+
|
75
|
+
[Read the Docs]: http://readthedocs.org
|
76
|
+
[ReStructuredText]: https://docutils.sourceforge.net/rst.html
|
77
|
+
[Sphinx]: https://sphinx-doc.org/
|