- Drop support for Python 3.6.
+Psycopg 3.0.9 (unreleased)
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Add the `!tzdata` package as a dependency on Windows in order to handle time
+ zones (:ticket:`#223`).
+
+
Current release
---------------
install_requires =
backports.zoneinfo >= 0.2.0; python_version < "3.9"
typing_extensions >= 3.10; python_version < "3.8"
+ tzdata; sys_platform == "win32"
[options.package_data]
psycopg = py.typed
-import sys
import datetime as dt
import pytest
with pytest.raises(psycopg.OperationalError):
conn.info.backend_pid
- @pytest.mark.skipif(sys.platform == "win32", reason="no IANA db on Windows")
def test_timezone(self, conn):
conn.execute("set timezone to 'Europe/Rome'")
tz = conn.info.timezone
-import sys
import datetime as dt
import pytest
)
@pytest.mark.parametrize("fmt_out", pq.Format)
def test_load_datetimetz_tz(self, conn, fmt_out, tzname, expr, tzoff):
- if "/" in tzname and sys.platform == "win32":
- pytest.skip("no IANA db on Windows")
conn.execute("select set_config('TimeZone', %s, true)", [tzname])
cur = conn.cursor(binary=fmt_out)
ts = cur.execute("select %s::timestamptz", [expr]).fetchone()[0]
assert rec[0] == want
assert rec[1] == 11111111
- @pytest.mark.xfail(sys.platform == "win32", reason="no IANA db on Windows")
@pytest.mark.parametrize(
"valname, tzval, tzname",
[