<pre style='margin:0'>
petrrr pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/8d20dbfc680b7cc5a6449316d4754943b43e79a2">https://github.com/macports/macports-ports/commit/8d20dbfc680b7cc5a6449316d4754943b43e79a2</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 8d20dbfc680 py-obspy: update to 1.4.1, drop py39 subport
</span>8d20dbfc680 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 8d20dbfc680b7cc5a6449316d4754943b43e79a2
</span>Author: Peter Danecek <peter.danecek@ingv.it>
AuthorDate: Wed Nov 27 15:34:15 2024 +0100
<span style='display:block; white-space:pre;color:#404040;'> py-obspy: update to 1.4.1, drop py39 subport
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> py39 subport dropped due to issue #71411.
</span>---
python/py-obspy/Portfile | 14 ++--
python/py-obspy/files/sqlalchemy2.patch | 118 ++++++++++++++++++++++++++++++++
2 files changed, 126 insertions(+), 6 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-obspy/Portfile b/python/py-obspy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 14388101b34..84fb6e5b03c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-obspy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-obspy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,8 +5,8 @@ PortGroup python 1.0
</span> PortGroup select 1.0
name py-obspy
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.4.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.4.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span>
categories-append science
license LGPL-3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,11 +22,11 @@ long_description \
</span>
homepage https://github.com/obspy/obspy/wiki/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 3e861220a8616ba1e68f16851296c197e3d80b90 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 336a6e1d9a485732b08173cb5dc1dd720a8e53f3b54c180a62bb8ceaa5fe5c06 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 16984057
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 078c909880c7722daa9471779dfb9e4f3e118690 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9cf37b0ce03de43d80398703c006bfddbd709f32e8460a9404b27df998d3f747 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 17035765
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-python.versions 39 310 311 312 313
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python.versions 310 311 312 313
</span>
# aic_simple.c: error: redefinition of āiā
compiler.c_standard 2011
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,6 +50,8 @@ if {${name} ne ${subport}} {
</span> port:py${python.version}-pytest \
port:py${python.version}-pytest-json-report
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles sqlalchemy2.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> test.run yes
test.args -k \"not test_tsindex.py"\
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-obspy/files/sqlalchemy2.patch b/python/py-obspy/files/sqlalchemy2.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6a72d421e54
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-obspy/files/sqlalchemy2.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,118 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- obspy/clients/filesystem/db.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ obspy/clients/filesystem/db.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,22 +11,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import datetime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from sqlalchemy import Column, String, Integer, Float
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-from sqlalchemy.ext.declarative import declarative_base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from sqlalchemy.orm import declarative_base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from sqlalchemy.schema import PrimaryKeyConstraint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# we pinned our dependency to sqlalchemy <2.0 for now, so these warnings are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# irrelevant. eventually code should be migrated to work with sqlalchemy >=2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# as well
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- from sqlalchemy.exc import MovedIn20Warning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-except ImportError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- import warnings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- warnings.filterwarnings('ignore', category=MovedIn20Warning)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Base = declarative_base()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Every declarative class should only be instantiated once. Thus we just use a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- obspy/clients/filesystem/tsindex.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ obspy/clients/filesystem/tsindex.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1544,18 +1544,22 @@ def _fetch_index_rows(self, query_rows=None, bulk_params=None):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Create a CTE that contains the request
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stmts = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.select([
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.select(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(a).label("network"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(b).label("station"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(c).label("location"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(d).label("channel"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal(e).label("starttime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if e != '*' else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal('0000-00-00T00:00:00').label("starttime"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal(f).label("endtime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if f != '*' else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal('5000-00-00T00:00:00').label("endtime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.case(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(e) == '*',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.literal('0000-00-00T00:00:00')),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(e) != '*', sa.literal(e))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ).label("starttime"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.case(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(f) == '*',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.literal('5000-00-00T00:00:00')),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(f) != '*', sa.literal(f))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ).label("endtime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for idx, (a, b, c, d, e, f) in enumerate(query_rows)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ requests = sa.union_all(*stmts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1724,18 +1728,22 @@ def _fetch_summary_rows(self, query_rows):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ request_cte_name = "request_cte"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stmts = [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.select([
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.select(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(a).label("network"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(b).label("station"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(c).label("location"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sa.literal(d).label("channel"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal(e).label("starttime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if e != '*' else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal('0000-00-00T00:00:00').label("starttime"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal(f).label("endtime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if f != '*' else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- sa.literal('5000-00-00T00:00:00').label("endtime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.case(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(e) == '*',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.literal('0000-00-00T00:00:00')),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(e) != '*', sa.literal(e))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ).label("starttime"),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.case(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(f) == '*',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ sa.literal('5000-00-00T00:00:00')),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ (sa.literal(f) != '*', sa.literal(f))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ).label("endtime")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ for idx, (a, b, c, d, e, f) in enumerate(query_rows)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ requests = sa.union_all(*stmts)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- obspy/pytest.ini
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ obspy/pytest.ini
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,14 +22,6 @@ filterwarnings =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ignore:Auto-removal of grids
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # see issue 3164, can be removed when NRL online tests get removed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ignore:(?s).*Direct access to online NRL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# sqlalchemy showing deprecation warnings, seems like big API change with version 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# fixed sqlalchemy<2 for now in setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# also suppressing these warnings directly in clients.filesystem.db because
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# they get raised before test execution during test discovery
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# see https://docs.sqlalchemy.org/en/20/errors.html#error-b8d9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# see https://docs.sqlalchemy.org/en/20/changelog/migration_20.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ignore:Deprecated API features .* are not compatible with SQLAlchemy 2.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ignore:function is now available as sqlalchemy.orm.declarative_base
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ignore DeprecationWarnings and PendingDeprecationWarnings triggered by other modules
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ignore::DeprecationWarning:(?!obspy).*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ignore::PendingDeprecationWarning:(?!obspy).*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ setup.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -92,7 +92,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'matplotlib>=3.3',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'lxml',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'setuptools',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- 'sqlalchemy<2',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ 'sqlalchemy>=1.4',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'decorator',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'requests',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ]
</span></pre><pre style='margin:0'>
</pre>