GeoAlchemy2 0.17.1__tar.gz → 0.18.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- geoalchemy2-0.18.0/.github/FUNDING.yml +3 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.github/ISSUE_TEMPLATE/bug_report.yaml +4 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.github/ISSUE_TEMPLATE/feature_request.yaml +4 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.github/ISSUE_TEMPLATE/how_to_use.yaml +1 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.github/workflows/test_and_publish.yml +6 -8
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.gitignore +7 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.pre-commit-config.yaml +4 -4
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/CHANGES.txt +20 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0/GeoAlchemy2.egg-info}/PKG-INFO +5 -6
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/GeoAlchemy2.egg-info/SOURCES.txt +3 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/GeoAlchemy2_dev.yml +4 -1
- {geoalchemy2-0.17.1/GeoAlchemy2.egg-info → geoalchemy2-0.18.0}/PKG-INFO +5 -6
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/TEST.rst +15 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/__init__.py +4 -24
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/_functions.py +175 -158
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/_functions_helpers.py +1 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/dialects/common.py +22 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/dialects/geopackage.py +36 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/dialects/mariadb.py +27 -26
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/dialects/mysql.py +36 -8
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/dialects/postgresql.py +101 -31
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/dialects/sqlite.py +74 -5
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/comparator.py +4 -4
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/elements.py +72 -7
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/functions.py +1 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/functions.pyi +666 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/__init__.py +54 -36
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/dialects/mariadb.py +17 -2
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/dialects/mysql.py +2 -2
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/pyproject.toml +0 -3
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/requirements.txt +1 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/setup.py +2 -4
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/Dockerfile +1 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/Dockerfile_mariadb +3 -2
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/build_mariadb.sh +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/helpers/entrypoint.sh +2 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/helpers/init_mariadb.sh +4 -3
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/helpers/install_requirements.sh +12 -15
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/__init__.py +117 -20
- geoalchemy2-0.18.0/tests/benchmarks/test_insert_select.py +419 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/conftest.py +45 -6
- geoalchemy2-0.18.0/tests/gallery/__init__.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_summarystatsagg.py +1 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/schema_fixtures.py +7 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_elements.py +29 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_functional.py +232 -8
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_functional_sqlite.py +1 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_functions.py +3 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_shape.py +1 -1
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tox.ini +7 -9
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.codespellrc +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.coveragerc +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.flake8 +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.github/dependabot.yml +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.github/pull_request_template.md +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/.readthedocs.yaml +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/COPYING.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/GeoAlchemy2.egg-info/dependency_links.txt +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/GeoAlchemy2.egg-info/entry_points.txt +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/GeoAlchemy2.egg-info/not-zip-safe +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/GeoAlchemy2.egg-info/requires.txt +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/GeoAlchemy2.egg-info/top_level.txt +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/MANIFEST.in +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/README.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/RELEASE.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/Makefile +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_static/geoalchemy.png +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_static/geoalchemy.svg +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_static/geoalchemy_small.png +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_static/geoalchemy_small.svg +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_templates/sidebar-about.html +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_templates/sidebar-links.html +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_templates/sidebar-logo.html +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_themes/LICENSE +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_themes/README +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_themes/flask/layout.html +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_themes/flask/relations.html +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_themes/flask/static/flasky.css_t +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_themes/flask/static/small_flask.css +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/_themes/flask/theme.conf +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/admin.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/alembic.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/alembic_helpers.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/changelog.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/conf.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/core_tutorial.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/dialect_specific_features.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/elements.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/index.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/make.bat +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/migrate.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/mysql_mariadb_dialect.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/orm_tutorial.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/plugin.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/shape.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/spatial_functions.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/spatial_operators.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/spatialite_dialect.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/doc/types.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/generate_type_stubs.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/__init__.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/dialects/__init__.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/admin/plugin.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/alembic_helpers.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/exc.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/py.typed +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/shape.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/dialects/__init__.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/dialects/common.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/dialects/geopackage.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/dialects/postgresql.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/types/dialects/sqlite.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/geoalchemy2/utils.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/requirements-doc.txt +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/requirements-mypy.txt +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/requirements-rtd.txt +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/setup.cfg +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/.dockerignore +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/.gitignore +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/build.sh +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/helpers/init_mysql.sh +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/helpers/init_postgres.sh +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/run.sh +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/test_container/run_mariadb.sh +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/alembic_config/alembic.ini +0 -0
- {geoalchemy2-0.17.1/tests/gallery → geoalchemy2-0.18.0/tests/benchmarks}/__init__.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/data/spatialite_ge_4.sqlite +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/data/spatialite_geopackage.gpkg +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/data/spatialite_lt_4.sqlite +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/README.rst +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_decipher_raster.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_disable_wrapping.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_insert_raster.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_length_at_insert.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_orm_mapped_v2.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_raster_transform.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_specific_compilation.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/gallery/test_type_decorator.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_alembic_migrations.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_comparator.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_functional_geopackage.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_functional_mysql.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_functional_postgresql.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_pickle.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_plugin.py +0 -0
- {geoalchemy2-0.17.1 → geoalchemy2-0.18.0}/tests/test_types.py +0 -0
@@ -112,3 +112,7 @@ If the message is a warning, run your program with the ``-Werror`` flag: ``pytho
|
|
112
112
|
- type: markdown
|
113
113
|
attributes:
|
114
114
|
value: "### Thanks! Have a nice day!"
|
115
|
+
|
116
|
+
- type: markdown
|
117
|
+
attributes:
|
118
|
+
value: "Note that a Pull Request to fix this bug would be very welcome if you have the time and skills to do it"
|
@@ -54,3 +54,7 @@ Your requests must include the following features:
|
|
54
54
|
- type: markdown
|
55
55
|
attributes:
|
56
56
|
value: "### Thanks! Have a nice day!"
|
57
|
+
|
58
|
+
- type: markdown
|
59
|
+
attributes:
|
60
|
+
value: "Note that a Pull Request to fix this bug would be very welcome if you have the time and skills to do it"
|
@@ -82,7 +82,7 @@ If the message is a warning, run your program with the ``-Werror`` flag: ``pytho
|
|
82
82
|
id: package_version
|
83
83
|
attributes:
|
84
84
|
label: GeoAlchemy 2 Version in Use
|
85
|
-
description: e.g. 1.4.42, 2.0.2, etc or commit hash
|
85
|
+
description: e.g. 1.4.42, 2.0.2, etc. or commit hash
|
86
86
|
validations:
|
87
87
|
required: true
|
88
88
|
|
@@ -27,17 +27,15 @@ jobs:
|
|
27
27
|
fail-fast: false
|
28
28
|
matrix:
|
29
29
|
python-version: [
|
30
|
-
{"pkg_name": "python==3.7.*", "flag": "3.7"},
|
31
|
-
{"pkg_name": "python==3.8.*", "flag": "3.8"},
|
32
|
-
{"pkg_name": "python==3.9.*", "flag": "3.9"},
|
33
30
|
{"pkg_name": "python==3.10.*", "flag": "3.10"},
|
34
31
|
{"pkg_name": "python==3.11.*", "flag": "3.11"},
|
35
32
|
{"pkg_name": "python==3.12.*", "flag": "3.12"},
|
33
|
+
{"pkg_name": "python==3.13.*", "flag": "3.13"},
|
36
34
|
{"pkg_name": "pypy3.10", "flag": "pypy3.10"},
|
37
35
|
]
|
38
36
|
|
39
37
|
# The type of runner that the job will run on
|
40
|
-
runs-on: ubuntu-
|
38
|
+
runs-on: ubuntu-24.04
|
41
39
|
|
42
40
|
services:
|
43
41
|
postgres:
|
@@ -97,11 +95,11 @@ jobs:
|
|
97
95
|
with:
|
98
96
|
python-version: ${{ matrix.python-version.flag }}
|
99
97
|
|
100
|
-
# Install
|
101
|
-
- name: Install
|
98
|
+
# Install SpatiaLite
|
99
|
+
- name: Install SpatiaLite
|
102
100
|
run: |
|
103
101
|
sudo apt-get update
|
104
|
-
sudo apt-get install -y
|
102
|
+
sudo apt-get install -y libsqlite3-mod-spatialite libgdal-dev gdal-bin rasterio
|
105
103
|
|
106
104
|
# Config PostgreSQL
|
107
105
|
- name: Configure PostgreSQL
|
@@ -155,9 +153,9 @@ jobs:
|
|
155
153
|
PYTEST_MARIADB_DB_URL: mariadb://gis:gis@127.0.0.1:3308/gis
|
156
154
|
run: |
|
157
155
|
if [[ ${{ matrix.python-version.flag }} == 'pypy3.10' ]]; then
|
158
|
-
export PYTEST_ADDOPTS=${PYTEST_ADDOPTS}' --ignore=tests/gallery/test_insert_raster.py'
|
159
156
|
export PYTEST_SPATIALITE3_DB_URL="FAILING URL"
|
160
157
|
export PYTEST_SPATIALITE4_DB_URL="FAILING URL"
|
158
|
+
export PYTEST_GEOPACKAGE_DB_URL="FAILING URL"
|
161
159
|
else
|
162
160
|
export PYTEST_ADDOPTS='--require-all-dialects'
|
163
161
|
fi;
|
@@ -26,6 +26,8 @@ var/
|
|
26
26
|
*.egg-info/
|
27
27
|
.installed.cfg
|
28
28
|
*.egg
|
29
|
+
.env
|
30
|
+
.venv
|
29
31
|
|
30
32
|
# Installer logs
|
31
33
|
pip-log.txt
|
@@ -60,6 +62,11 @@ reports/
|
|
60
62
|
doc/_build/
|
61
63
|
doc/gallery/
|
62
64
|
|
65
|
+
# Mypy
|
66
|
+
.mypy_cache/
|
67
|
+
.dmypy.json
|
68
|
+
dmypy.json
|
69
|
+
|
63
70
|
# Miscellaneous
|
64
71
|
*.csv
|
65
72
|
*.sh
|
@@ -11,15 +11,15 @@ repos:
|
|
11
11
|
- id: end-of-file-fixer
|
12
12
|
- id: trailing-whitespace
|
13
13
|
- repo: https://github.com/pycqa/isort
|
14
|
-
rev:
|
14
|
+
rev: 6.0.1
|
15
15
|
hooks:
|
16
16
|
- id: isort
|
17
17
|
- repo: https://github.com/psf/black
|
18
|
-
rev:
|
18
|
+
rev: 25.1.0
|
19
19
|
hooks:
|
20
20
|
- id: black
|
21
21
|
- repo: https://github.com/codespell-project/codespell
|
22
|
-
rev: v2.
|
22
|
+
rev: v2.4.1
|
23
23
|
hooks:
|
24
24
|
- id: codespell
|
25
25
|
- repo: https://github.com/PyCQA/pydocstyle
|
@@ -29,7 +29,7 @@ repos:
|
|
29
29
|
additional_dependencies: ["tomli"]
|
30
30
|
exclude: "tests"
|
31
31
|
- repo: https://github.com/PyCQA/flake8
|
32
|
-
rev: 7.
|
32
|
+
rev: 7.3.0
|
33
33
|
hooks:
|
34
34
|
- id: flake8
|
35
35
|
ci:
|
@@ -1,6 +1,26 @@
|
|
1
1
|
GeoAlchemy 2 Changelog
|
2
2
|
======================
|
3
3
|
|
4
|
+
0.18.0
|
5
|
+
------
|
6
|
+
|
7
|
+
* Feat: Add support of spatial indexes for Raster type for PostgreSQL @adrien-berchet (#564)
|
8
|
+
* Docs: Fix doc strings for cache enabled - @pjonsson (#562)
|
9
|
+
* Chore: Move reflection type registering @adrien-berchet (#561)
|
10
|
+
* (papacodebear/master) Fix: Remove warning from MySQL/MariaDB reflection @adrien-berchet (#560)
|
11
|
+
* Feat: Handle computed columns @adrien-berchet (#557)
|
12
|
+
* Test: Improve readability of benchmark results @adrien-berchet (#556)
|
13
|
+
* Perf: Define __slots__ in element classes to reduce memory usage of elements @adrien-berchet (#555)
|
14
|
+
* Chore: Create FUNDING.yml @adrien-berchet (#554)
|
15
|
+
* Test: Add more benchmarks @adrien-berchet (#553)
|
16
|
+
* Test: Add benchmark tests @adrien-berchet (#547)
|
17
|
+
* Docs: Update doc to run the tests inside docker container @adrien-berchet (#546)
|
18
|
+
* Perf (mariadb): Stop converting WKB to WKT @adrien-berchet (#545)
|
19
|
+
* Feat: Improve Geometry initializer to make the dimension optional @adrien-berchet (#544)
|
20
|
+
* Feat: Compile literal binds properly @adrien-berchet (#543)
|
21
|
+
* Feat: Add more return types for spatial functions and update some typehints @adrien-berchet (#540)
|
22
|
+
* Build: Deprecate Py<3.10 @adrien-berchet (#538)
|
23
|
+
|
4
24
|
0.17.1
|
5
25
|
------
|
6
26
|
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: GeoAlchemy2
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.18.0
|
4
4
|
Summary: Using SQLAlchemy with Spatial Databases
|
5
5
|
Home-page: https://geoalchemy-2.readthedocs.io/en/stable/
|
6
6
|
Author: Eric Lemoine
|
@@ -13,16 +13,14 @@ Classifier: Development Status :: 4 - Beta
|
|
13
13
|
Classifier: Environment :: Plugins
|
14
14
|
Classifier: Operating System :: OS Independent
|
15
15
|
Classifier: Programming Language :: Python
|
16
|
-
Classifier: Programming Language :: Python :: 3.7
|
17
|
-
Classifier: Programming Language :: Python :: 3.8
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
19
16
|
Classifier: Programming Language :: Python :: 3.10
|
20
17
|
Classifier: Programming Language :: Python :: 3.11
|
21
18
|
Classifier: Programming Language :: Python :: 3.12
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
22
20
|
Classifier: Intended Audience :: Information Technology
|
23
21
|
Classifier: License :: OSI Approved :: MIT License
|
24
22
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
25
|
-
Requires-Python: >=3.
|
23
|
+
Requires-Python: >=3.10
|
26
24
|
License-File: COPYING.rst
|
27
25
|
Requires-Dist: SQLAlchemy>=1.4
|
28
26
|
Requires-Dist: packaging
|
@@ -35,6 +33,7 @@ Dynamic: description
|
|
35
33
|
Dynamic: home-page
|
36
34
|
Dynamic: keywords
|
37
35
|
Dynamic: license
|
36
|
+
Dynamic: license-file
|
38
37
|
Dynamic: project-url
|
39
38
|
Dynamic: provides-extra
|
40
39
|
Dynamic: requires-dist
|
@@ -19,6 +19,7 @@ requirements-rtd.txt
|
|
19
19
|
requirements.txt
|
20
20
|
setup.py
|
21
21
|
tox.ini
|
22
|
+
.github/FUNDING.yml
|
22
23
|
.github/dependabot.yml
|
23
24
|
.github/pull_request_template.md
|
24
25
|
.github/ISSUE_TEMPLATE/bug_report.yaml
|
@@ -126,6 +127,8 @@ tests/test_plugin.py
|
|
126
127
|
tests/test_shape.py
|
127
128
|
tests/test_types.py
|
128
129
|
tests/alembic_config/alembic.ini
|
130
|
+
tests/benchmarks/__init__.py
|
131
|
+
tests/benchmarks/test_insert_select.py
|
129
132
|
tests/data/spatialite_ge_4.sqlite
|
130
133
|
tests/data/spatialite_geopackage.gpkg
|
131
134
|
tests/data/spatialite_lt_4.sqlite
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: GeoAlchemy2
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.18.0
|
4
4
|
Summary: Using SQLAlchemy with Spatial Databases
|
5
5
|
Home-page: https://geoalchemy-2.readthedocs.io/en/stable/
|
6
6
|
Author: Eric Lemoine
|
@@ -13,16 +13,14 @@ Classifier: Development Status :: 4 - Beta
|
|
13
13
|
Classifier: Environment :: Plugins
|
14
14
|
Classifier: Operating System :: OS Independent
|
15
15
|
Classifier: Programming Language :: Python
|
16
|
-
Classifier: Programming Language :: Python :: 3.7
|
17
|
-
Classifier: Programming Language :: Python :: 3.8
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
19
16
|
Classifier: Programming Language :: Python :: 3.10
|
20
17
|
Classifier: Programming Language :: Python :: 3.11
|
21
18
|
Classifier: Programming Language :: Python :: 3.12
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
22
20
|
Classifier: Intended Audience :: Information Technology
|
23
21
|
Classifier: License :: OSI Approved :: MIT License
|
24
22
|
Classifier: Topic :: Scientific/Engineering :: GIS
|
25
|
-
Requires-Python: >=3.
|
23
|
+
Requires-Python: >=3.10
|
26
24
|
License-File: COPYING.rst
|
27
25
|
Requires-Dist: SQLAlchemy>=1.4
|
28
26
|
Requires-Dist: packaging
|
@@ -35,6 +33,7 @@ Dynamic: description
|
|
35
33
|
Dynamic: home-page
|
36
34
|
Dynamic: keywords
|
37
35
|
Dynamic: license
|
36
|
+
Dynamic: license-file
|
38
37
|
Dynamic: project-url
|
39
38
|
Dynamic: provides-extra
|
40
39
|
Dynamic: requires-dist
|
@@ -16,7 +16,15 @@ Install and run the container::
|
|
16
16
|
|
17
17
|
Run the tests inside the container::
|
18
18
|
|
19
|
-
# tox --workdir /output -
|
19
|
+
# tox --workdir /output -v run
|
20
|
+
|
21
|
+
It is also possible to run the tests for a specific Python version.
|
22
|
+
For example, to run the tests for Python 3.10 with the latest version of SQLAlchemy::
|
23
|
+
|
24
|
+
# tox --workdir /output -v run -e py310-sqlalatest
|
25
|
+
|
26
|
+
You can combine `py310`, `py311`, `py312` with `sqla14` or `sqlalatest` to run the tests for
|
27
|
+
Python 3.10, 3.11 or 3.12 with SQLAlchemy 1.4 or 2.*.
|
20
28
|
|
21
29
|
Remove the container and associated data::
|
22
30
|
|
@@ -24,6 +32,12 @@ Remove the container and associated data::
|
|
24
32
|
$ docker image rm geoalchemy2
|
25
33
|
$ docker system prune
|
26
34
|
|
35
|
+
If you want to run the tests for MariaDB, you should use the specific MariaDB image
|
36
|
+
instead of the default image::
|
37
|
+
|
38
|
+
$ ./test_container/build_mariadb.sh
|
39
|
+
$ ./test_container/run_mariadb.sh
|
40
|
+
|
27
41
|
|
28
42
|
Host System
|
29
43
|
===========
|
@@ -20,32 +20,12 @@ from geoalchemy2.types import Raster # noqa
|
|
20
20
|
|
21
21
|
admin.setup_ddl_event_listeners()
|
22
22
|
|
23
|
-
|
24
|
-
# Get version number
|
25
|
-
__version__ = "UNKNOWN VERSION"
|
26
|
-
|
27
|
-
# Attempt to use importlib.metadata first because it's much faster
|
28
|
-
# though it's only available in Python 3.8+ so we'll need to fall
|
29
|
-
# back to pkg_resources for Python 3.7 support
|
30
23
|
try:
|
31
|
-
|
32
|
-
except ImportError:
|
33
|
-
try:
|
34
|
-
from pkg_resources import DistributionNotFound
|
35
|
-
from pkg_resources import get_distribution
|
36
|
-
except ImportError: # pragma: no cover
|
37
|
-
pass
|
38
|
-
else:
|
39
|
-
try:
|
40
|
-
__version__ = get_distribution("GeoAlchemy2").version
|
41
|
-
except DistributionNotFound: # pragma: no cover
|
42
|
-
pass
|
43
|
-
else:
|
44
|
-
try:
|
45
|
-
__version__ = importlib.metadata.version("GeoAlchemy2")
|
46
|
-
except importlib.metadata.PackageNotFoundError: # pragma: no cover
|
47
|
-
pass
|
24
|
+
from importlib.metadata import version
|
48
25
|
|
26
|
+
__version__ = version("geoalchemy2")
|
27
|
+
except ImportError:
|
28
|
+
__version__ = "0.0.0"
|
49
29
|
|
50
30
|
__all__ = [
|
51
31
|
"__version__",
|