From nobody Tue Mar 08 01:01:26 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 742D61A04E8B; Tue, 8 Mar 2022 01:01:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KCH8Q2vMMz3C2H; Tue, 8 Mar 2022 01:01:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1646701286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GSIGePEL61cUR2rigG/Jcc1CFiTvQ6C1WNpDcqs/fN4=; b=d9PTu9n8MXVSX7h1k55zXpyXo6bj8E6fXb59iTFY8nVjo0SLFH6qWmfsYBu29giy3I45B6 YdotYr7A4AJyqXimj1FZ+SXdDJKfXhBjeE7/F+Aa/JJEv8J3hWvtvnZyZAxYy7DNN+J+DC vCVP6FUO8dn7lKc78gJ1/SvuwtH8m7uDYUnPCymqxmToEw4CH1j8oUhhGdpbxH8G4i0fzF 6rV5aNExZYRSG2bp2KP12M6XhFbBcpiC73uM5YRln0QDL4lDHR+gYORlaoTtD/TJi2GYba 1ejCGwGvtkDg0QKcTXEWr+SOf5myjDKkXoNkSDRaLLWNBtlc+5m2jhSRoSia9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 440D313292; Tue, 8 Mar 2022 01:01:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 22811QJN028702; Tue, 8 Mar 2022 01:01:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22811Q2O028701; Tue, 8 Mar 2022 01:01:26 GMT (envelope-from git) Date: Tue, 8 Mar 2022 01:01:26 GMT Message-Id: <202203080101.22811Q2O028701@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Wen Heping Subject: git: 422f190aeba4 - main - lang/python311: Update to 3.11.0a6 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wen X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 422f190aeba4c98b2f068945bb105b709a2c50a9 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1646701286; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GSIGePEL61cUR2rigG/Jcc1CFiTvQ6C1WNpDcqs/fN4=; b=i1w2lf/73PmVzM9FQeUPSS82bdTwwHeJ2nocoQIkPtdu2OAZQX1/LqRGhc3dRkp5uvwCOr R5A2mC20FV64l6T8M9g16NLwCsTF7ckyhm8T3Wok3DLQnbdMYGwlXNxJsUJnM+PuLPvEdL WHbrrtuNN/yCkBS05S/7k3cTeyUDQ7fCOc6WiiKsxUscmM407fQtx4QmL4uaxzQ5J65nge yPB8rh/mUc3VL72p6GJSp1cxxEJHzycNy4YWmh+0hOtsae8oYEG/+GES9gMPUNqVgssXy5 gqBhXD/rDZ9VJbjoty8PdyPB9HtQvemJPAnUhqPNfTXLwozIfapFWeirINsWhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1646701286; a=rsa-sha256; cv=none; b=wklWyYo4rGwdsSj13cE2skybJAOmVFxxSczDcUw7C9y6VhEsD5e9GN+7ahZzsInxF87nb0 m9PeMygjy7Ijn+r3o+geZfLn+ia6gOA83rPHRBcW3sfJqxezf32yjdnuKQzGRpRXURp3JW H2jzWFFgJtsd6xfHtKnwxQyWrclwu3wCi6xfomruKDudQaibcef6zvzjk4VhcUZZI9QFaj 2vmCJiLzlcjhG/7zQC8/63CFkOekAhRBX9aoeltZcw+zoPSSJMlaDADlKoI89vaxH98rG7 7Hp7ELp+5lviyGy47xbtMGrgtzK3TqsEOrSAh721aRlzZaxv/guqpXJfAe3AzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by wen: URL: https://cgit.FreeBSD.org/ports/commit/?id=422f190aeba4c98b2f068945bb105b709a2c50a9 commit 422f190aeba4c98b2f068945bb105b709a2c50a9 Author: Wen Heping AuthorDate: 2022-03-08 01:00:54 +0000 Commit: Wen Heping CommitDate: 2022-03-08 01:00:54 +0000 lang/python311: Update to 3.11.0a6 --- lang/python311/Makefile.version | 2 +- lang/python311/distinfo | 6 +++--- lang/python311/pkg-plist | 35 ++++++++++++++++++++++++++++++++--- 3 files changed, 36 insertions(+), 7 deletions(-) diff --git a/lang/python311/Makefile.version b/lang/python311/Makefile.version index 95cfa3ed3571..37421d19e06d 100644 --- a/lang/python311/Makefile.version +++ b/lang/python311/Makefile.version @@ -2,4 +2,4 @@ # Do not forget to update python documentation (lang/python-doc-*) # Run "make -C lang/python-doc-html makesum" -PYTHON_DISTVERSION= 3.11.0a5 +PYTHON_DISTVERSION= 3.11.0a6 diff --git a/lang/python311/distinfo b/lang/python311/distinfo index 17be25c09fe0..748b5eadfdcf 100644 --- a/lang/python311/distinfo +++ b/lang/python311/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1644795498 -SHA256 (python/Python-3.11.0a5.tar.xz) = 3dab241811e83f1eae691fd5b567c52b864db0b236ebf245e839250bc3ac399f -SIZE (python/Python-3.11.0a5.tar.xz) = 18829884 +TIMESTAMP = 1646698892 +SHA256 (python/Python-3.11.0a6.tar.xz) = 1c53a2ff75879633e30cac29d2aa6b7a010e355b95f0bf9ac691beccf5f9d12a +SIZE (python/Python-3.11.0a6.tar.xz) = 18754036 diff --git a/lang/python311/pkg-plist b/lang/python311/pkg-plist index 22fe2a7ed20c..0751f846000b 100644 --- a/lang/python311/pkg-plist +++ b/lang/python311/pkg-plist @@ -7,7 +7,6 @@ include/python%%XYDOT%%%%ABI%%/Python.h include/python%%XYDOT%%%%ABI%%/abstract.h include/python%%XYDOT%%%%ABI%%/bltinmodule.h include/python%%XYDOT%%%%ABI%%/boolobject.h -include/python%%XYDOT%%%%ABI%%/buffer.h include/python%%XYDOT%%%%ABI%%/bytearrayobject.h include/python%%XYDOT%%%%ABI%%/bytesobject.h include/python%%XYDOT%%%%ABI%%/ceval.h @@ -100,6 +99,7 @@ include/python%%XYDOT%%%%ABI%%/internal/pycore_genobject.h include/python%%XYDOT%%%%ABI%%/internal/pycore_getopt.h include/python%%XYDOT%%%%ABI%%/internal/pycore_gil.h include/python%%XYDOT%%%%ABI%%/internal/pycore_global_objects.h +include/python%%XYDOT%%%%ABI%%/internal/pycore_global_strings.h include/python%%XYDOT%%%%ABI%%/internal/pycore_hamt.h include/python%%XYDOT%%%%ABI%%/internal/pycore_hashtable.h include/python%%XYDOT%%%%ABI%%/internal/pycore_import.h @@ -150,6 +150,7 @@ include/python%%XYDOT%%%%ABI%%/osdefs.h include/python%%XYDOT%%%%ABI%%/osmodule.h include/python%%XYDOT%%%%ABI%%/patchlevel.h include/python%%XYDOT%%%%ABI%%/py_curses.h +include/python%%XYDOT%%%%ABI%%/pybuffer.h include/python%%XYDOT%%%%ABI%%/pycapsule.h include/python%%XYDOT%%%%ABI%%/pyconfig.h include/python%%XYDOT%%%%ABI%%/pydtrace.h @@ -168,6 +169,7 @@ include/python%%XYDOT%%%%ABI%%/pystrcmp.h include/python%%XYDOT%%%%ABI%%/pystrtod.h include/python%%XYDOT%%%%ABI%%/pythonrun.h include/python%%XYDOT%%%%ABI%%/pythread.h +include/python%%XYDOT%%%%ABI%%/pytypedefs.h include/python%%XYDOT%%%%ABI%%/rangeobject.h include/python%%XYDOT%%%%ABI%%/setobject.h include/python%%XYDOT%%%%ABI%%/sliceobject.h @@ -802,6 +804,9 @@ lib/python%%XYDOT%%/asyncio/__pycache__/subprocess.cpython-%%XY%%.pyc lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/asyncio/__pycache__/tasks.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/asyncio/__pycache__/taskgroups.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/asyncio/__pycache__/taskgroups.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/asyncio/__pycache__/taskgroups.cpython-%%XY%%.pyc lib/python%%XYDOT%%/asyncio/__pycache__/threads.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/asyncio/__pycache__/threads.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/asyncio/__pycache__/threads.cpython-%%XY%%.pyc @@ -843,6 +848,7 @@ lib/python%%XYDOT%%/asyncio/staggered.py lib/python%%XYDOT%%/asyncio/streams.py lib/python%%XYDOT%%/asyncio/subprocess.py lib/python%%XYDOT%%/asyncio/tasks.py +lib/python%%XYDOT%%/asyncio/taskgroups.py lib/python%%XYDOT%%/asyncio/threads.py lib/python%%XYDOT%%/asyncio/transports.py lib/python%%XYDOT%%/asyncio/trsock.py @@ -2434,6 +2440,9 @@ lib/python%%XYDOT%%/idlelib/__pycache__/tree.cpython-%%XY%%.pyc lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/idlelib/__pycache__/undo.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/idlelib/__pycache__/util.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/idlelib/__pycache__/util.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/idlelib/__pycache__/util.cpython-%%XY%%.pyc lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/idlelib/__pycache__/window.cpython-%%XY%%.pyc @@ -2656,6 +2665,9 @@ lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_tree.cpython-%%XY%%.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_undo.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_util.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_util.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_util.cpython-%%XY%%.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_warning.cpython-%%XY%%.pyc @@ -2671,6 +2683,8 @@ lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/test_zzdummy.cpython-%%XY%%.py lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/idlelib/idle_test/example_noext +lib/python%%XYDOT%%/idlelib/idle_test/example_stub.pyi lib/python%%XYDOT%%/idlelib/idle_test/htest.py lib/python%%XYDOT%%/idlelib/idle_test/mock_idle.py lib/python%%XYDOT%%/idlelib/idle_test/mock_tk.py @@ -2729,6 +2743,7 @@ lib/python%%XYDOT%%/idlelib/idle_test/test_textview.py lib/python%%XYDOT%%/idlelib/idle_test/test_tooltip.py lib/python%%XYDOT%%/idlelib/idle_test/test_tree.py lib/python%%XYDOT%%/idlelib/idle_test/test_undo.py +lib/python%%XYDOT%%/idlelib/idle_test/test_util.py lib/python%%XYDOT%%/idlelib/idle_test/test_warning.py lib/python%%XYDOT%%/idlelib/idle_test/test_window.py lib/python%%XYDOT%%/idlelib/idle_test/test_zoomheight.py @@ -2762,6 +2777,7 @@ lib/python%%XYDOT%%/idlelib/textview.py lib/python%%XYDOT%%/idlelib/tooltip.py lib/python%%XYDOT%%/idlelib/tree.py lib/python%%XYDOT%%/idlelib/undo.py +lib/python%%XYDOT%%/idlelib/util.py lib/python%%XYDOT%%/idlelib/window.py lib/python%%XYDOT%%/idlelib/zoomheight.py lib/python%%XYDOT%%/idlelib/zzdummy.py @@ -2949,6 +2965,7 @@ lib/python%%XYDOT%%/lib-dynload/fcntl.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib-dynload/grp.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib-dynload/math.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib-dynload/mmap.cpython-%%XY%%%%ABI%%.so +lib/python%%XYDOT%%/lib-dynload/nis.cpython-%%XY%%.so lib/python%%XYDOT%%/lib-dynload/ossaudiodev.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib-dynload/pyexpat.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib-dynload/readline.cpython-%%XY%%%%ABI%%.so @@ -2961,9 +2978,9 @@ lib/python%%XYDOT%%/lib-dynload/xxlimited.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib-dynload/xxlimited_35.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib-dynload/zlib.cpython-%%XY%%%%ABI%%.so lib/python%%XYDOT%%/lib2to3/Grammar.txt -lib/python%%XYDOT%%/lib2to3/Grammar%%XYZDOT%%.alpha.5.pickle +lib/python%%XYDOT%%/lib2to3/Grammar%%XYZDOT%%.alpha.6.pickle lib/python%%XYDOT%%/lib2to3/PatternGrammar.txt -lib/python%%XYDOT%%/lib2to3/PatternGrammar%%XYZDOT%%.alpha.5.pickle +lib/python%%XYDOT%%/lib2to3/PatternGrammar%%XYZDOT%%.alpha.6.pickle lib/python%%XYDOT%%/lib2to3/__init__.py lib/python%%XYDOT%%/lib2to3/__main__.py lib/python%%XYDOT%%/lib2to3/__pycache__/__init__.cpython-%%XY%%.opt-1.pyc @@ -3561,6 +3578,9 @@ lib/python%%XYDOT%%/test/__pycache__/ann_module6.cpython-%%XY%%.pyc lib/python%%XYDOT%%/test/__pycache__/ann_module7.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/test/__pycache__/ann_module7.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/test/__pycache__/ann_module7.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/test/__pycache__/ann_module8.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/test/__pycache__/ann_module8.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/test/__pycache__/ann_module8.cpython-%%XY%%.pyc lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/test/__pycache__/audiotests.cpython-%%XY%%.pyc @@ -5036,6 +5056,7 @@ lib/python%%XYDOT%%/test/ann_module4.py lib/python%%XYDOT%%/test/ann_module5.py lib/python%%XYDOT%%/test/ann_module6.py lib/python%%XYDOT%%/test/ann_module7.py +lib/python%%XYDOT%%/test/ann_module8.py lib/python%%XYDOT%%/test/audiodata/pluck-alaw.aifc lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.aiff lib/python%%XYDOT%%/test/audiodata/pluck-pcm16.au @@ -5607,6 +5628,9 @@ lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_server.cpython-%%XY%%.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sock_lowlevel.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sock_lowlevel.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sock_lowlevel.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_ssl.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_ssl.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_ssl.cpython-%%XY%%.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_sslproto.cpython-%%XY%%.pyc @@ -5616,6 +5640,9 @@ lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_streams.cpython-%%XY%%.py lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_subprocess.cpython-%%XY%%.pyc +lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_taskgroups.cpython-%%XY%%.opt-1.pyc +lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_taskgroups.cpython-%%XY%%.opt-2.pyc +lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_taskgroups.cpython-%%XY%%.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-1.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.opt-2.pyc lib/python%%XYDOT%%/test/test_asyncio/__pycache__/test_tasks.cpython-%%XY%%.pyc @@ -5658,9 +5685,11 @@ lib/python%%XYDOT%%/test/test_asyncio/test_selector_events.py lib/python%%XYDOT%%/test/test_asyncio/test_sendfile.py lib/python%%XYDOT%%/test/test_asyncio/test_server.py lib/python%%XYDOT%%/test/test_asyncio/test_sock_lowlevel.py +lib/python%%XYDOT%%/test/test_asyncio/test_ssl.py lib/python%%XYDOT%%/test/test_asyncio/test_sslproto.py lib/python%%XYDOT%%/test/test_asyncio/test_streams.py lib/python%%XYDOT%%/test/test_asyncio/test_subprocess.py +lib/python%%XYDOT%%/test/test_asyncio/test_taskgroups.py lib/python%%XYDOT%%/test/test_asyncio/test_tasks.py lib/python%%XYDOT%%/test/test_asyncio/test_threads.py lib/python%%XYDOT%%/test/test_asyncio/test_transports.py