From 8c21b04846c0dacb42a78c693eb6f6866c132e7a Mon Sep 17 00:00:00 2001 From: Tim Akinbo <41004+takinbo@users.noreply.github.com> Date: Tue, 14 Jan 2020 18:55:00 +0000 Subject: [PATCH 1/2] Sunsetting support for Python 2 --- .travis.yml | 16 +------- README.md | 6 +-- install.sh | 25 ++++++------- test/Dockerfiles/bionic-py2.Dockerfile | 34 ----------------- ...-py2.Dockerfile => centos7-py3.Dockerfile} | 4 +- test/Dockerfiles/fedora27-py2.Dockerfile | 35 ------------------ test/Dockerfiles/stretch-py2.Dockerfile | 37 ------------------- test/Dockerfiles/stretch-py3.Dockerfile | 2 +- test/Dockerfiles/xenial-py2.Dockerfile | 37 ------------------- test/Dockerfiles/xenial-py3.Dockerfile | 2 +- 10 files changed, 20 insertions(+), 178 deletions(-) delete mode 100755 test/Dockerfiles/bionic-py2.Dockerfile rename test/Dockerfiles/{centos7-py2.Dockerfile => centos7-py3.Dockerfile} (89%) delete mode 100755 test/Dockerfiles/fedora27-py2.Dockerfile delete mode 100755 test/Dockerfiles/stretch-py2.Dockerfile delete mode 100755 test/Dockerfiles/xenial-py2.Dockerfile diff --git a/.travis.yml b/.travis.yml index 5a63016..7af0321 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,30 +23,18 @@ matrix: - python3-pip - python-virtualenv - libsodium18 - - os: linux - services: docker - env: DOCKER_IMG_JM=xenial-py2 - os: linux services: docker env: DOCKER_IMG_JM=xenial-py3 - - os: linux - services: docker - env: DOCKER_IMG_JM=bionic-py2 - os: linux services: docker env: DOCKER_IMG_JM=bionic-py3 - - os: linux - services: docker - env: DOCKER_IMG_JM=stretch-py2 - os: linux services: docker env: DOCKER_IMG_JM=stretch-py3 - os: linux services: docker - env: DOCKER_IMG_JM=centos7-py2 - - os: linux - services: docker - env: DOCKER_IMG_JM=fedora27-py2 + env: DOCKER_IMG_JM=centos7-py3 - os: linux services: docker env: DOCKER_IMG_JM=fedora27-py3 @@ -68,7 +56,7 @@ install: - mkdir -p "$HOME/downloads" - mkdir -p "$TRAVIS_BUILD_DIR/deps/cache/" - find "$HOME/downloads" -type f -exec cp -v {} "$TRAVIS_BUILD_DIR/deps/cache/" \; - - on_host do_on linux ./install.sh --develop --python=python3 --with-qt + - on_host do_on linux ./install.sh --develop --with-qt - on_host do_on osx virtualenv --python=python3 jmvenv - on_host find "$TRAVIS_BUILD_DIR/deps/cache/" -type f -exec cp -v {} "$HOME/downloads/" \; before_script: diff --git a/README.md b/README.md index 8341edf..d0eb9d9 100644 --- a/README.md +++ b/README.md @@ -36,11 +36,11 @@ or check the signature in git if you install that way using `git log --show-sign source jmvenv/bin/activate cd scripts -(You can add `-p python2` if you want to use Python2. You can also add `--develop` as an extra flag to `install.sh` to make the Joinmarket code editable in-place.) +(You can add `--develop` as an extra flag to `install.sh` to make the Joinmarket code editable in-place.) You can optionally install a Qt GUI application, you will be prompted to choose this during installation. -Do note, Python 2 is incompatible with the Qt GUI. +Do note, Python 2 is no longer supported as it has reached its end of life. You should now be able to run the scripts like `python wallet-tool.py` etc., just as you did in the previous Joinmarket version. @@ -69,8 +69,6 @@ If you want to use the PayJoin feature to pay/receive money to/from another Join ### Joinmarket-Qt Provides single join and multi-join/tumbler functionality (i.e. "Taker") only, in a GUI. -NOTE: This is currently **only available for Python3**, not Python2 (due to bugs in the PySide2 Python2 implementation). -It's possible but unlikely that the Python2 version will be fixed, but in any case Python2 will be deprecated at some point. If binaries are built, they will be gpg signed and announced on the Releases page. diff --git a/install.sh b/install.sh index e19e389..320d332 100755 --- a/install.sh +++ b/install.sh @@ -20,14 +20,17 @@ deps_install () 'automake' \ 'pkg-config' \ 'libtool' \ - 'libgmp-dev' ) + 'libgmp-dev' \ + 'python3-dev' \ + 'python3-pip' ) + + if ! is_python3; then + echo "Python 2 is no longer supported. Please use a compatible Python 3 version." + return 1 + fi if [[ ${install_os} == 'debian' ]]; then - if is_python3; then - deb_deps_install "${common_deps[@]} python3-dev python3-pip" - else - deb_deps_install "${common_deps[@]} python-dev python-pip" - fi + deb_deps_install "${common_deps[@]}" return "$?" else echo "OS can not be determined. Trying to build." @@ -304,8 +307,8 @@ Usage: "${0}" [options] Options: --develop code remains editable in place (currently always enabled) ---python, -p python version (default: python3) ---with-qt build the Qt GUI (incompatible with python2) +--python, -p python version (only python3 versions are supported) +--with-qt build the Qt GUI --without-qt don't build the Qt GUI " return 1 @@ -314,11 +317,7 @@ Options: shift done - if [[ ${with_qt} == 1 ]] && [[ ${python} == python2* ]]; then - echo "ERROR: Joinmarket-Qt is currently only available for Python 3 - Use the flag '--python=python3' to enable a python3 install." - return 1 - elif [[ ${with_qt} == '' ]] && [[ ${python} == python3* ]]; then + if [[ ${with_qt} == '' ]]; then read -p " INFO: Joinmarket-Qt for GUI Taker and Tumbler modes is available. Install Qt dependencies (~160mb) ? [y|n] : " diff --git a/test/Dockerfiles/bionic-py2.Dockerfile b/test/Dockerfiles/bionic-py2.Dockerfile deleted file mode 100755 index d90872e..0000000 --- a/test/Dockerfiles/bionic-py2.Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -FROM ubuntu:bionic -SHELL ["/bin/bash", "-c"] - -# dependencies -RUN apt-get update -RUN apt-get install -y \ - python-dev python-pip python-virtualenv libsodium23 - -# curl is a better tool -RUN apt-get install -y curl - -RUN useradd --home-dir /home/chaum --create-home --shell /bin/bash --skel /etc/skel/ chaum -ARG core_version -ARG core_dist -ARG repo_name -RUN mkdir -p /home/chaum/${repo_name} -COPY ${repo_name} /home/chaum/${repo_name} -RUN ls -la /home/chaum -RUN chown -R chaum:chaum /home/chaum/${repo_name} -USER chaum - -# copy node software from the host and install -WORKDIR /home/chaum -RUN ls -la . -RUN ls -la ${repo_name} -RUN ls -la ${repo_name}/deps/cache -RUN tar xaf ./${repo_name}/deps/cache/${core_dist} -C /home/chaum -ENV PATH "/home/chaum/bitcoin-${core_version}/bin:${PATH}" -RUN bitcoind --version | head -1 - -# install script -WORKDIR ${repo_name} -RUN virtualenv --python=python2 jmvenv -RUN source jmvenv/bin/activate && ./test/run_tests.sh diff --git a/test/Dockerfiles/centos7-py2.Dockerfile b/test/Dockerfiles/centos7-py3.Dockerfile similarity index 89% rename from test/Dockerfiles/centos7-py2.Dockerfile rename to test/Dockerfiles/centos7-py3.Dockerfile index d3ad0fe..94b5776 100755 --- a/test/Dockerfiles/centos7-py2.Dockerfile +++ b/test/Dockerfiles/centos7-py3.Dockerfile @@ -6,7 +6,7 @@ RUN yum -y groups install 'Development tools' RUN yum -y install epel-release && \ yum -y update RUN yum -y install \ - python-devel python2-pip python-virtualenv libsodium + python3-devel python3-pip python-virtualenv libsodium RUN useradd --home-dir /home/chaum --create-home --shell /bin/bash --skel /etc/skel/ chaum ARG core_version @@ -29,5 +29,5 @@ RUN bitcoind --version | head -1 # install script WORKDIR ${repo_name} -RUN virtualenv --python=python2 jmvenv +RUN virtualenv --python=python3 jmvenv RUN source jmvenv/bin/activate && ./test/run_tests.sh diff --git a/test/Dockerfiles/fedora27-py2.Dockerfile b/test/Dockerfiles/fedora27-py2.Dockerfile deleted file mode 100755 index d7a6f17..0000000 --- a/test/Dockerfiles/fedora27-py2.Dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -FROM fedora:27 -SHELL ["/bin/bash", "-c"] - -# dependencies -RUN dnf -y groups install 'Development tools' -RUN dnf -y install \ - python-devel python-pip python2-virtualenv libsodium - -# needed for build time -# https://stackoverflow.com/questions/34624428/g-error-usr-lib-rpm-redhat-redhat-hardened-cc1-no-such-file-or-directory -RUN dnf -y install redhat-rpm-config - -RUN useradd --home-dir /home/chaum --create-home --shell /bin/bash --skel /etc/skel/ chaum -ARG core_version -ARG core_dist -ARG repo_name -RUN mkdir -p /home/chaum/${repo_name} -COPY ${repo_name} /home/chaum/${repo_name} -RUN ls -la /home/chaum -RUN chown -R chaum:chaum /home/chaum/${repo_name} -USER chaum - -# copy node software from the host and install -WORKDIR /home/chaum -RUN ls -la . -RUN ls -la ${repo_name} -RUN ls -la ${repo_name}/deps/cache -RUN tar xaf ./${repo_name}/deps/cache/${core_dist} -C /home/chaum -ENV PATH "/home/chaum/bitcoin-${core_version}/bin:${PATH}" -RUN bitcoind --version | head -1 - -# install script -WORKDIR ${repo_name} -RUN virtualenv --python=python2 jmvenv -RUN source jmvenv/bin/activate && ./test/run_tests.sh diff --git a/test/Dockerfiles/stretch-py2.Dockerfile b/test/Dockerfiles/stretch-py2.Dockerfile deleted file mode 100755 index 11d2ef9..0000000 --- a/test/Dockerfiles/stretch-py2.Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM debian:stretch -SHELL ["/bin/bash", "-c"] - -# dependencies -RUN apt-get update -RUN apt-get install -y build-essential -RUN apt-get install -y \ - automake pkg-config libtool libgmp-dev -RUN apt-get install -y \ - python-dev python-pip python-virtualenv python-qt4 python-sip - -# curl is a better tool -RUN apt-get install -y curl - -RUN useradd --home-dir /home/chaum --create-home --shell /bin/bash --skel /etc/skel/ chaum -ARG core_version -ARG core_dist -ARG repo_name -RUN mkdir -p /home/chaum/${repo_name} -COPY ${repo_name} /home/chaum/${repo_name} -RUN ls -la /home/chaum -RUN chown -R chaum:chaum /home/chaum/${repo_name} -USER chaum - -# copy node software from the host and install -WORKDIR /home/chaum -RUN ls -la . -RUN ls -la ${repo_name} -RUN ls -la ${repo_name}/deps/cache -RUN tar xaf ./${repo_name}/deps/cache/${core_dist} -C /home/chaum -ENV PATH "/home/chaum/bitcoin-${core_version}/bin:${PATH}" -RUN bitcoind --version | head -1 - -# install script -WORKDIR ${repo_name} -RUN ./install.sh --python=python2 -RUN source jmvenv/bin/activate && ./test/run_tests.sh diff --git a/test/Dockerfiles/stretch-py3.Dockerfile b/test/Dockerfiles/stretch-py3.Dockerfile index 9ec21af..9b7b3b8 100755 --- a/test/Dockerfiles/stretch-py3.Dockerfile +++ b/test/Dockerfiles/stretch-py3.Dockerfile @@ -33,5 +33,5 @@ RUN bitcoind --version | head -1 # install script WORKDIR ${repo_name} -RUN ./install.sh --python=python3 --with-qt +RUN ./install.sh --with-qt RUN source jmvenv/bin/activate && ./test/run_tests.sh diff --git a/test/Dockerfiles/xenial-py2.Dockerfile b/test/Dockerfiles/xenial-py2.Dockerfile deleted file mode 100755 index 22e39a9..0000000 --- a/test/Dockerfiles/xenial-py2.Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM ubuntu:xenial -SHELL ["/bin/bash", "-c"] - -# dependencies -RUN apt-get update -RUN apt-get install -y build-essential -RUN apt-get install -y \ - automake pkg-config libtool libgmp-dev -RUN apt-get install -y \ - python-dev python-pip python-virtualenv python-qt4 python-sip - -# curl is a better tool -RUN apt-get install -y curl - -RUN useradd --home-dir /home/chaum --create-home --shell /bin/bash --skel /etc/skel/ chaum -ARG core_version -ARG core_dist -ARG repo_name -RUN mkdir -p /home/chaum/${repo_name} -COPY ${repo_name} /home/chaum/${repo_name} -RUN ls -la /home/chaum -RUN chown -R chaum:chaum /home/chaum/${repo_name} -USER chaum - -# copy node software from the host and install -WORKDIR /home/chaum -RUN ls -la . -RUN ls -la ${repo_name} -RUN ls -la ${repo_name}/deps/cache -RUN tar xaf ./${repo_name}/deps/cache/${core_dist} -C /home/chaum -ENV PATH "/home/chaum/bitcoin-${core_version}/bin:${PATH}" -RUN bitcoind --version | head -1 - -# install script -WORKDIR ${repo_name} -RUN ./install.sh --python=python2 -RUN source jmvenv/bin/activate && ./test/run_tests.sh diff --git a/test/Dockerfiles/xenial-py3.Dockerfile b/test/Dockerfiles/xenial-py3.Dockerfile index 8e568b8..226505d 100755 --- a/test/Dockerfiles/xenial-py3.Dockerfile +++ b/test/Dockerfiles/xenial-py3.Dockerfile @@ -33,5 +33,5 @@ RUN bitcoind --version | head -1 # install script WORKDIR ${repo_name} -RUN ./install.sh --python=python3 --with-qt +RUN ./install.sh --with-qt RUN source jmvenv/bin/activate && ./test/run_tests.sh From 4bf1f50d4e4226b00fd5a8bd39673faceac9da51 Mon Sep 17 00:00:00 2001 From: James Hilliard Date: Sun, 19 Jan 2020 11:07:44 -0700 Subject: [PATCH 2/2] Remove Python 2 compatibility imports and disable Python 2 installation in setuptools. --- jmbase/jmbase/__init__.py | 3 --- jmbase/jmbase/bigstring.py | 3 --- jmbase/jmbase/commands.py | 3 --- jmbase/jmbase/support.py | 3 --- jmbase/setup.py | 1 + jmbase/test/test_base_support.py | 3 --- jmbase/test/test_commands.py | 3 --- jmbitcoin/jmbitcoin/__init__.py | 3 --- jmbitcoin/jmbitcoin/bech32.py | 3 --- jmbitcoin/jmbitcoin/btscript.py | 3 --- jmbitcoin/jmbitcoin/secp256k1_deterministic.py | 3 --- jmbitcoin/jmbitcoin/secp256k1_main.py | 3 --- jmbitcoin/jmbitcoin/secp256k1_transaction.py | 3 --- jmbitcoin/test/test_addresses.py | 3 --- jmbitcoin/test/test_bech32.py | 3 --- jmbitcoin/test/test_bip32.py | 3 --- jmbitcoin/test/test_btc_formatting.py | 3 --- jmbitcoin/test/test_ecc_signing.py | 3 --- jmbitcoin/test/test_keys.py | 3 --- jmbitcoin/test/test_main.py | 3 --- jmbitcoin/test/test_tx_serialize.py | 3 --- jmclient/jmclient/__init__.py | 3 --- jmclient/jmclient/blockchaininterface.py | 3 --- jmclient/jmclient/cli_options.py | 3 --- jmclient/jmclient/client_protocol.py | 3 --- jmclient/jmclient/commitment_utils.py | 3 --- jmclient/jmclient/configure.py | 3 --- jmclient/jmclient/cryptoengine.py | 5 +---- jmclient/jmclient/electrum_data.py | 3 --- jmclient/jmclient/electruminterface.py | 3 --- jmclient/jmclient/jsonrpc.py | 3 --- jmclient/jmclient/maker.py | 3 --- jmclient/jmclient/old_mnemonic.py | 3 --- jmclient/jmclient/output.py | 3 --- jmclient/jmclient/podle.py | 3 --- jmclient/jmclient/schedule.py | 3 --- jmclient/jmclient/storage.py | 3 --- jmclient/jmclient/support.py | 3 --- jmclient/jmclient/taker.py | 3 --- jmclient/jmclient/taker_utils.py | 5 ++--- jmclient/jmclient/wallet.py | 3 --- jmclient/jmclient/wallet_service.py | 2 -- jmclient/jmclient/wallet_utils.py | 3 --- jmclient/jmclient/yieldgenerator.py | 3 --- jmclient/setup.py | 1 + jmclient/test/commontest.py | 3 --- jmclient/test/taker_test_data.py | 3 --- jmclient/test/test_argon2.py | 3 --- jmclient/test/test_blockchaininterface.py | 3 --- jmclient/test/test_client_protocol.py | 3 --- jmclient/test/test_coinjoin.py | 3 --- jmclient/test/test_commitment_utils.py | 3 --- jmclient/test/test_configure.py | 3 --- jmclient/test/test_core_nohistory_sync.py | 3 --- jmclient/test/test_maker.py | 4 ---- jmclient/test/test_mnemonic.py | 3 --- jmclient/test/test_payjoin.py | 3 --- jmclient/test/test_podle.py | 3 --- jmclient/test/test_schedule.py | 3 --- jmclient/test/test_storage.py | 3 --- jmclient/test/test_support.py | 3 --- jmclient/test/test_taker.py | 3 --- jmclient/test/test_tx_creation.py | 3 --- jmclient/test/test_utxomanager.py | 3 --- jmclient/test/test_valid_addresses.py | 3 --- jmclient/test/test_wallet.py | 3 --- jmclient/test/test_wallets.py | 3 --- jmclient/test/test_walletservice.py | 3 --- jmclient/test/test_yieldgenerator.py | 3 --- jmdaemon/jmdaemon/__init__.py | 3 --- jmdaemon/jmdaemon/daemon_protocol.py | 3 --- jmdaemon/jmdaemon/enc_wrapper.py | 3 --- jmdaemon/jmdaemon/irc.py | 3 --- jmdaemon/jmdaemon/message_channel.py | 3 --- jmdaemon/jmdaemon/orderbookwatch.py | 3 --- jmdaemon/jmdaemon/protocol.py | 3 --- jmdaemon/jmdaemon/socks.py | 3 --- jmdaemon/setup.py | 1 + jmdaemon/test/dummy_mc.py | 3 --- jmdaemon/test/msgdata.py | 3 --- jmdaemon/test/test_daemon_protocol.py | 3 --- jmdaemon/test/test_enc_wrapper.py | 3 --- jmdaemon/test/test_irc_messaging.py | 3 --- jmdaemon/test/test_message_channel.py | 3 --- jmdaemon/test/test_orderbookwatch.py | 3 --- scripts/add-utxo.py | 3 --- scripts/convert_old_wallet.py | 3 --- scripts/joinmarket-qt.py | 3 --- scripts/joinmarketd.py | 3 --- scripts/obwatch/ob-watcher.py | 3 --- scripts/qtsupport.py | 3 --- scripts/receive-payjoin.py | 3 --- scripts/sendpayment.py | 3 --- scripts/sendtomany.py | 3 --- scripts/tumbler.py | 3 --- scripts/wallet-tool.py | 3 --- scripts/yg-privacyenhanced.py | 3 --- scripts/yield-generator-basic.py | 3 --- setupall.py | 3 +++ test/common.py | 3 --- test/test_segwit.py | 3 --- test/ygrunner.py | 3 --- 102 files changed, 9 insertions(+), 295 deletions(-) diff --git a/jmbase/jmbase/__init__.py b/jmbase/jmbase/__init__.py index c34966b..ad3931e 100644 --- a/jmbase/jmbase/__init__.py +++ b/jmbase/jmbase/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from .support import (get_log, chunks, debug_silence, jmprint, joinmarket_alert, core_alert, get_password, diff --git a/jmbase/jmbase/bigstring.py b/jmbase/jmbase/bigstring.py index ecfe9cc..6847c36 100644 --- a/jmbase/jmbase/bigstring.py +++ b/jmbase/jmbase/bigstring.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import itertools from twisted.protocols import amp diff --git a/jmbase/jmbase/commands.py b/jmbase/jmbase/commands.py index 21eb24c..7f00dd6 100644 --- a/jmbase/jmbase/commands.py +++ b/jmbase/jmbase/commands.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 """ Commands defining client-server (daemon) messaging protocol (*not* Joinmarket p2p protocol). diff --git a/jmbase/jmbase/support.py b/jmbase/jmbase/support.py index ecfc0bd..1206c64 100644 --- a/jmbase/jmbase/support.py +++ b/jmbase/jmbase/support.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import logging from getpass import getpass diff --git a/jmbase/setup.py b/jmbase/setup.py index 000a079..6501642 100644 --- a/jmbase/setup.py +++ b/jmbase/setup.py @@ -11,4 +11,5 @@ setup(name='joinmarketbase', packages=['jmbase'], install_requires=['future', 'twisted==19.7.0', 'service-identity', 'chromalog==1.0.5'], + python_requires='>=3.3', zip_safe=False) diff --git a/jmbase/test/test_base_support.py b/jmbase/test/test_base_support.py index f086524..7730dde 100644 --- a/jmbase/test/test_base_support.py +++ b/jmbase/test/test_base_support.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 def test_color_coded_logging(): # TODO diff --git a/jmbase/test/test_commands.py b/jmbase/test/test_commands.py index 70dac85..bc43792 100644 --- a/jmbase/test/test_commands.py +++ b/jmbase/test/test_commands.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from twisted.internet import protocol, reactor, task from twisted.internet.error import (ConnectionLost, ConnectionAborted, ConnectionClosed, ConnectionDone) diff --git a/jmbitcoin/jmbitcoin/__init__.py b/jmbitcoin/jmbitcoin/__init__.py index c4a8d32..7db6dc1 100644 --- a/jmbitcoin/jmbitcoin/__init__.py +++ b/jmbitcoin/jmbitcoin/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * import coincurve as secp256k1 from jmbitcoin.secp256k1_main import * from jmbitcoin.secp256k1_transaction import * diff --git a/jmbitcoin/jmbitcoin/bech32.py b/jmbitcoin/jmbitcoin/bech32.py index 36f3202..8d3f9bf 100644 --- a/jmbitcoin/jmbitcoin/bech32.py +++ b/jmbitcoin/jmbitcoin/bech32.py @@ -19,9 +19,6 @@ # THE SOFTWARE. """Reference implementation for Bech32 and segwit addresses.""" -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 CHARSET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l" diff --git a/jmbitcoin/jmbitcoin/btscript.py b/jmbitcoin/jmbitcoin/btscript.py index 4ef74be..c658c4e 100644 --- a/jmbitcoin/jmbitcoin/btscript.py +++ b/jmbitcoin/jmbitcoin/btscript.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 #OP codes; disabled commented. # push value diff --git a/jmbitcoin/jmbitcoin/secp256k1_deterministic.py b/jmbitcoin/jmbitcoin/secp256k1_deterministic.py index 1407769..fea699f 100644 --- a/jmbitcoin/jmbitcoin/secp256k1_deterministic.py +++ b/jmbitcoin/jmbitcoin/secp256k1_deterministic.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from jmbitcoin.secp256k1_main import * import hmac import hashlib diff --git a/jmbitcoin/jmbitcoin/secp256k1_main.py b/jmbitcoin/jmbitcoin/secp256k1_main.py index ff839fe..931b424 100644 --- a/jmbitcoin/jmbitcoin/secp256k1_main.py +++ b/jmbitcoin/jmbitcoin/secp256k1_main.py @@ -1,7 +1,4 @@ #!/usr/bin/python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import native_bytes, bytes_to_native_str import binascii import hashlib diff --git a/jmbitcoin/jmbitcoin/secp256k1_transaction.py b/jmbitcoin/jmbitcoin/secp256k1_transaction.py index eb5c5f3..5436c74 100644 --- a/jmbitcoin/jmbitcoin/secp256k1_transaction.py +++ b/jmbitcoin/jmbitcoin/secp256k1_transaction.py @@ -1,7 +1,4 @@ #!/usr/bin/python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from past.builtins import basestring from io import BytesIO import binascii diff --git a/jmbitcoin/test/test_addresses.py b/jmbitcoin/test/test_addresses.py index 810f464..d7723b1 100644 --- a/jmbitcoin/test/test_addresses.py +++ b/jmbitcoin/test/test_addresses.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import jmbitcoin as btc import json import pytest diff --git a/jmbitcoin/test/test_bech32.py b/jmbitcoin/test/test_bech32.py index a0d0d51..ec5de0d 100644 --- a/jmbitcoin/test/test_bech32.py +++ b/jmbitcoin/test/test_bech32.py @@ -1,7 +1,4 @@ #!/usr/bin/python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 # Copyright (c) 2017 Pieter Wuille # diff --git a/jmbitcoin/test/test_bip32.py b/jmbitcoin/test/test_bip32.py index d26c07b..d0eb5b1 100644 --- a/jmbitcoin/test/test_bip32.py +++ b/jmbitcoin/test/test_bip32.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import pytest import jmbitcoin as btc import binascii diff --git a/jmbitcoin/test/test_btc_formatting.py b/jmbitcoin/test/test_btc_formatting.py index cc15276..66475d5 100644 --- a/jmbitcoin/test/test_btc_formatting.py +++ b/jmbitcoin/test/test_btc_formatting.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Test bitcoin module data handling''' import jmbitcoin as btc diff --git a/jmbitcoin/test/test_ecc_signing.py b/jmbitcoin/test/test_ecc_signing.py index 0c5b9d8..570a292 100644 --- a/jmbitcoin/test/test_ecc_signing.py +++ b/jmbitcoin/test/test_ecc_signing.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Test ECDSA signing and other key operations, including legacy message signature conversion.''' diff --git a/jmbitcoin/test/test_keys.py b/jmbitcoin/test/test_keys.py index 4514630..06c48fd 100644 --- a/jmbitcoin/test/test_keys.py +++ b/jmbitcoin/test/test_keys.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Public and private key validity and formatting tests.''' import jmbitcoin as btc diff --git a/jmbitcoin/test/test_main.py b/jmbitcoin/test/test_main.py index 61a7dda..5f2bf10 100644 --- a/jmbitcoin/test/test_main.py +++ b/jmbitcoin/test/test_main.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Testing mostly exceptional cases in secp256k1_main. Some of these may represent code that should be removed, TODO.''' diff --git a/jmbitcoin/test/test_tx_serialize.py b/jmbitcoin/test/test_tx_serialize.py index e145a87..225ee5d 100644 --- a/jmbitcoin/test/test_tx_serialize.py +++ b/jmbitcoin/test/test_tx_serialize.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import jmbitcoin as btc import pytest import json diff --git a/jmclient/jmclient/__init__.py b/jmclient/jmclient/__init__.py index 9397197..04d5aa4 100644 --- a/jmclient/jmclient/__init__.py +++ b/jmclient/jmclient/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * import logging diff --git a/jmclient/jmclient/blockchaininterface.py b/jmclient/jmclient/blockchaininterface.py index 4b3b285..12fda22 100644 --- a/jmclient/jmclient/blockchaininterface.py +++ b/jmclient/jmclient/blockchaininterface.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import abc import random diff --git a/jmclient/jmclient/cli_options.py b/jmclient/jmclient/cli_options.py index c9f9bda..f64e6ac 100644 --- a/jmclient/jmclient/cli_options.py +++ b/jmclient/jmclient/cli_options.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import random from optparse import OptionParser, OptionValueError from configparser import NoOptionError diff --git a/jmclient/jmclient/client_protocol.py b/jmclient/jmclient/client_protocol.py index 4aabca8..8783cfc 100644 --- a/jmclient/jmclient/client_protocol.py +++ b/jmclient/jmclient/client_protocol.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems from twisted.internet import protocol, reactor, task from twisted.internet.error import (ConnectionLost, ConnectionAborted, diff --git a/jmclient/jmclient/commitment_utils.py b/jmclient/jmclient/commitment_utils.py index fb67b72..64a80c4 100644 --- a/jmclient/jmclient/commitment_utils.py +++ b/jmclient/jmclient/commitment_utils.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import sys import jmbitcoin as btc diff --git a/jmclient/jmclient/configure.py b/jmclient/jmclient/configure.py index cfd9160..28170b4 100644 --- a/jmclient/jmclient/configure.py +++ b/jmclient/jmclient/configure.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import io import logging diff --git a/jmclient/jmclient/cryptoengine.py b/jmclient/jmclient/cryptoengine.py index 3a434f3..0889d05 100644 --- a/jmclient/jmclient/cryptoengine.py +++ b/jmclient/jmclient/cryptoengine.py @@ -1,9 +1,6 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 -from binascii import unhexlify +from binascii import hexlify, unhexlify from collections import OrderedDict import struct diff --git a/jmclient/jmclient/electrum_data.py b/jmclient/jmclient/electrum_data.py index d45d9d0..393f49c 100644 --- a/jmclient/jmclient/electrum_data.py +++ b/jmclient/jmclient/electrum_data.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 # Default server list from electrum client # https://github.com/spesmilo/electrum, file https://github.com/spesmilo/electrum/blob/7dbd612d5dad13cd6f1c0df32534a578bad331ad/lib/servers.json diff --git a/jmclient/jmclient/electruminterface.py b/jmclient/jmclient/electruminterface.py index 734ba56..6327a98 100644 --- a/jmclient/jmclient/electruminterface.py +++ b/jmclient/jmclient/electruminterface.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import jmbitcoin as btc import json diff --git a/jmclient/jmclient/jsonrpc.py b/jmclient/jmclient/jsonrpc.py index b944912..ad8b1d2 100644 --- a/jmclient/jmclient/jsonrpc.py +++ b/jmclient/jmclient/jsonrpc.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 # Copyright (C) 2013,2015 by Daniel Kraft # Copyright (C) 2014 by phelix / blockchained.com # diff --git a/jmclient/jmclient/maker.py b/jmclient/jmclient/maker.py index 3dcae54..5a3c6f3 100644 --- a/jmclient/jmclient/maker.py +++ b/jmclient/jmclient/maker.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import base64 import pprint diff --git a/jmclient/jmclient/old_mnemonic.py b/jmclient/jmclient/old_mnemonic.py index df8937c..c4be053 100644 --- a/jmclient/jmclient/old_mnemonic.py +++ b/jmclient/jmclient/old_mnemonic.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 # # Electrum - lightweight Bitcoin client # Copyright (C) 2011 thomasv@gitorious diff --git a/jmclient/jmclient/output.py b/jmclient/jmclient/output.py index 94ea565..7242aec 100644 --- a/jmclient/jmclient/output.py +++ b/jmclient/jmclient/output.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from binascii import hexlify diff --git a/jmclient/jmclient/podle.py b/jmclient/jmclient/podle.py index fddec11..eff5dcc 100644 --- a/jmclient/jmclient/podle.py +++ b/jmclient/jmclient/podle.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 #Proof Of Discrete Logarithm Equivalence #For algorithm steps, see https://gist.github.com/AdamISZ/9cbba5e9408d23813ca8 import os diff --git a/jmclient/jmclient/schedule.py b/jmclient/jmclient/schedule.py index 31b7543..92890fc 100644 --- a/jmclient/jmclient/schedule.py +++ b/jmclient/jmclient/schedule.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import copy import random import sys diff --git a/jmclient/jmclient/storage.py b/jmclient/jmclient/storage.py index 48c7d40..5ff0ce7 100644 --- a/jmclient/jmclient/storage.py +++ b/jmclient/jmclient/storage.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import native import os diff --git a/jmclient/jmclient/support.py b/jmclient/jmclient/support.py index 583e851..bdf601c 100644 --- a/jmclient/jmclient/support.py +++ b/jmclient/jmclient/support.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from functools import reduce import random from jmbase.support import get_log diff --git a/jmclient/jmclient/taker.py b/jmclient/jmclient/taker.py index c8c95fc..22d1e44 100644 --- a/jmclient/jmclient/taker.py +++ b/jmclient/jmclient/taker.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import base64 diff --git a/jmclient/jmclient/taker_utils.py b/jmclient/jmclient/taker_utils.py index 94ffe53..6c0cfd6 100644 --- a/jmclient/jmclient/taker_utils.py +++ b/jmclient/jmclient/taker_utils.py @@ -1,14 +1,13 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import logging import pprint import os +import sys import time import numbers from jmbase import get_log, jmprint from .configure import jm_single, validate_address +from .jsonrpc import JsonRpcError from .schedule import human_readable_schedule_entry, tweak_tumble_schedule,\ schedule_to_text from .wallet import BaseWallet, estimate_tx_fee, compute_tx_locktime diff --git a/jmclient/jmclient/wallet.py b/jmclient/jmclient/wallet.py index 04ce77f..7385aa1 100644 --- a/jmclient/jmclient/wallet.py +++ b/jmclient/jmclient/wallet.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from configparser import NoOptionError import warnings diff --git a/jmclient/jmclient/wallet_service.py b/jmclient/jmclient/wallet_service.py index 186b26b..04dbf48 100644 --- a/jmclient/jmclient/wallet_service.py +++ b/jmclient/jmclient/wallet_service.py @@ -1,6 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) import collections import time diff --git a/jmclient/jmclient/wallet_utils.py b/jmclient/jmclient/wallet_utils.py index a6af243..f359864 100644 --- a/jmclient/jmclient/wallet_utils.py +++ b/jmclient/jmclient/wallet_utils.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import json import os diff --git a/jmclient/jmclient/yieldgenerator.py b/jmclient/jmclient/yieldgenerator.py index 5e1eac9..92c7cee 100644 --- a/jmclient/jmclient/yieldgenerator.py +++ b/jmclient/jmclient/yieldgenerator.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import datetime diff --git a/jmclient/setup.py b/jmclient/setup.py index afb4a42..fc28f0d 100644 --- a/jmclient/setup.py +++ b/jmclient/setup.py @@ -12,4 +12,5 @@ setup(name='joinmarketclient', install_requires=['future', 'configparser;python_version<"3.2"', 'joinmarketbase==0.6.1', 'mnemonic', 'argon2_cffi', 'bencoder.pyx>=2.0.0', 'pyaes'], + python_requires='>=3.3', zip_safe=False) diff --git a/jmclient/test/commontest.py b/jmclient/test/commontest.py index ee5507e..463c97b 100644 --- a/jmclient/test/commontest.py +++ b/jmclient/test/commontest.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Some helper functions for testing''' import os diff --git a/jmclient/test/taker_test_data.py b/jmclient/test/taker_test_data.py index 7a6195d..0ee3c09 100644 --- a/jmclient/test/taker_test_data.py +++ b/jmclient/test/taker_test_data.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 #orderbook t_orderbook = [{u'counterparty': u'J6FA1Gj7Ln4vSGne', u'ordertype': u'swreloffer', u'oid': 0, u'minsize': 7500000, u'txfee': 1000, u'maxsize': 599972700, u'cjfee': u'0.0002'}, diff --git a/jmclient/test/test_argon2.py b/jmclient/test/test_argon2.py index 8ad11c2..1f7267b 100644 --- a/jmclient/test/test_argon2.py +++ b/jmclient/test/test_argon2.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from jmclient import Argon2Hash, get_random_bytes diff --git a/jmclient/test/test_blockchaininterface.py b/jmclient/test/test_blockchaininterface.py index 7cd73e0..6cc9124 100644 --- a/jmclient/test/test_blockchaininterface.py +++ b/jmclient/test/test_blockchaininterface.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 """Blockchaininterface functionality tests.""" diff --git a/jmclient/test/test_client_protocol.py b/jmclient/test/test_client_protocol.py index 5176877..0ced712 100644 --- a/jmclient/test/test_client_protocol.py +++ b/jmclient/test/test_client_protocol.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * '''test client-protocol interfacae.''' from jmbase import get_log diff --git a/jmclient/test/test_coinjoin.py b/jmclient/test/test_coinjoin.py index 4e18430..6428a2b 100644 --- a/jmclient/test/test_coinjoin.py +++ b/jmclient/test/test_coinjoin.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 """ Test doing full coinjoins, bypassing IRC diff --git a/jmclient/test/test_commitment_utils.py b/jmclient/test/test_commitment_utils.py index 96ee1fd..31000ab 100644 --- a/jmclient/test/test_commitment_utils.py +++ b/jmclient/test/test_commitment_utils.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from commontest import DummyBlockchainInterface import pytest diff --git a/jmclient/test/test_configure.py b/jmclient/test/test_configure.py index ad5c9aa..cb488d2 100644 --- a/jmclient/test/test_configure.py +++ b/jmclient/test/test_configure.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''test configure module.''' import pytest diff --git a/jmclient/test/test_core_nohistory_sync.py b/jmclient/test/test_core_nohistory_sync.py index 51d4f23..ded8eb1 100644 --- a/jmclient/test/test_core_nohistory_sync.py +++ b/jmclient/test/test_core_nohistory_sync.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Wallet functionality tests.''' """BitcoinCoreNoHistoryInterface functionality tests.""" diff --git a/jmclient/test/test_maker.py b/jmclient/test/test_maker.py index 77b239d..1bc53e9 100644 --- a/jmclient/test/test_maker.py +++ b/jmclient/test/test_maker.py @@ -1,9 +1,5 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 - import jmbitcoin as btc from jmclient import Maker, get_p2sh_vbyte, get_p2pk_vbyte, \ load_test_config, jm_single, WalletService diff --git a/jmclient/test/test_mnemonic.py b/jmclient/test/test_mnemonic.py index 40772f1..15a28e2 100644 --- a/jmclient/test/test_mnemonic.py +++ b/jmclient/test/test_mnemonic.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from jmclient import old_mnemonic import pytest diff --git a/jmclient/test/test_payjoin.py b/jmclient/test/test_payjoin.py index ec5cd14..3670100 100644 --- a/jmclient/test/test_payjoin.py +++ b/jmclient/test/test_payjoin.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 """ Test doing payjoin joins (with message channel layer mocked) diff --git a/jmclient/test/test_podle.py b/jmclient/test/test_podle.py index 1d47c6b..d49fe80 100644 --- a/jmclient/test/test_podle.py +++ b/jmclient/test/test_podle.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Tests of Proof of discrete log equivalence commitments.''' import os import jmbitcoin as bitcoin diff --git a/jmclient/test/test_schedule.py b/jmclient/test/test_schedule.py index 04667b1..fbd8dfa 100644 --- a/jmclient/test/test_schedule.py +++ b/jmclient/test/test_schedule.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''test schedule module.''' import pytest diff --git a/jmclient/test/test_storage.py b/jmclient/test/test_storage.py index 313e277..11e4894 100644 --- a/jmclient/test/test_storage.py +++ b/jmclient/test/test_storage.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from jmclient import storage import pytest diff --git a/jmclient/test/test_support.py b/jmclient/test/test_support.py index 2df4d9f..cbd93b6 100644 --- a/jmclient/test/test_support.py +++ b/jmclient/test/test_support.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''support functions for jmclient tests.''' import pytest diff --git a/jmclient/test/test_taker.py b/jmclient/test/test_taker.py index 660424d..bc00d78 100644 --- a/jmclient/test/test_taker.py +++ b/jmclient/test/test_taker.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems from commontest import DummyBlockchainInterface import jmbitcoin as bitcoin diff --git a/jmclient/test/test_tx_creation.py b/jmclient/test/test_tx_creation.py index 5f61237..d50997d 100644 --- a/jmclient/test/test_tx_creation.py +++ b/jmclient/test/test_tx_creation.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Test of unusual transaction types creation and push to network to check validity.''' diff --git a/jmclient/test/test_utxomanager.py b/jmclient/test/test_utxomanager.py index bc4a2f3..2d3023f 100644 --- a/jmclient/test/test_utxomanager.py +++ b/jmclient/test/test_utxomanager.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from jmclient.wallet import UTXOManager from test_storage import MockStorage diff --git a/jmclient/test/test_valid_addresses.py b/jmclient/test/test_valid_addresses.py index 8719d21..a3d8238 100644 --- a/jmclient/test/test_valid_addresses.py +++ b/jmclient/test/test_valid_addresses.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from jmclient.configure import validate_address, load_test_config from jmclient import jm_single import json diff --git a/jmclient/test/test_wallet.py b/jmclient/test/test_wallet.py index f9f255e..949ca2e 100644 --- a/jmclient/test/test_wallet.py +++ b/jmclient/test/test_wallet.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Wallet functionality tests.''' import os diff --git a/jmclient/test/test_wallets.py b/jmclient/test/test_wallets.py index b3083a5..66d6058 100644 --- a/jmclient/test/test_wallets.py +++ b/jmclient/test/test_wallets.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Wallet functionality tests.''' import os diff --git a/jmclient/test/test_walletservice.py b/jmclient/test/test_walletservice.py index 5ef3ac5..a652a40 100644 --- a/jmclient/test/test_walletservice.py +++ b/jmclient/test/test_walletservice.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Tests of functionality at walletservice layer.''' import os diff --git a/jmclient/test/test_yieldgenerator.py b/jmclient/test/test_yieldgenerator.py index fda5bc9..2fd2539 100644 --- a/jmclient/test/test_yieldgenerator.py +++ b/jmclient/test/test_yieldgenerator.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import unittest diff --git a/jmdaemon/jmdaemon/__init__.py b/jmdaemon/jmdaemon/__init__.py index d4b3c3f..bc7b08b 100644 --- a/jmdaemon/jmdaemon/__init__.py +++ b/jmdaemon/jmdaemon/__init__.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * import logging from .protocol import * diff --git a/jmdaemon/jmdaemon/daemon_protocol.py b/jmdaemon/jmdaemon/daemon_protocol.py index 93deee1..0e502db 100644 --- a/jmdaemon/jmdaemon/daemon_protocol.py +++ b/jmdaemon/jmdaemon/daemon_protocol.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from future.utils import iteritems from .message_channel import MessageChannelCollection diff --git a/jmdaemon/jmdaemon/enc_wrapper.py b/jmdaemon/jmdaemon/enc_wrapper.py index d4244b5..98510a7 100644 --- a/jmdaemon/jmdaemon/enc_wrapper.py +++ b/jmdaemon/jmdaemon/enc_wrapper.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 # A wrapper for public key # authenticated encryption diff --git a/jmdaemon/jmdaemon/irc.py b/jmdaemon/jmdaemon/irc.py index eb80a6a..9e75037 100644 --- a/jmdaemon/jmdaemon/irc.py +++ b/jmdaemon/jmdaemon/irc.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * #TODO: SSL support (can it be done without back-end openssl?) from twisted.internet import reactor, protocol diff --git a/jmdaemon/jmdaemon/message_channel.py b/jmdaemon/jmdaemon/message_channel.py index 424f0db..2e826ac 100644 --- a/jmdaemon/jmdaemon/message_channel.py +++ b/jmdaemon/jmdaemon/message_channel.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import abc import base64 diff --git a/jmdaemon/jmdaemon/orderbookwatch.py b/jmdaemon/jmdaemon/orderbookwatch.py index 53e02c6..566ffb5 100644 --- a/jmdaemon/jmdaemon/orderbookwatch.py +++ b/jmdaemon/jmdaemon/orderbookwatch.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import sqlite3 import sys diff --git a/jmdaemon/jmdaemon/protocol.py b/jmdaemon/jmdaemon/protocol.py index 25b5581..9920e2c 100644 --- a/jmdaemon/jmdaemon/protocol.py +++ b/jmdaemon/jmdaemon/protocol.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 #Protocol version JM_VERSION = 5 diff --git a/jmdaemon/jmdaemon/socks.py b/jmdaemon/jmdaemon/socks.py index 9b5d248..b2f3990 100644 --- a/jmdaemon/jmdaemon/socks.py +++ b/jmdaemon/jmdaemon/socks.py @@ -29,9 +29,6 @@ This module provides a standard socket-like interface for Python for tunneling connections through SOCKS proxies. """ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import socket import struct import random diff --git a/jmdaemon/setup.py b/jmdaemon/setup.py index 1a90a03..3116562 100644 --- a/jmdaemon/setup.py +++ b/jmdaemon/setup.py @@ -10,4 +10,5 @@ setup(name='joinmarketdaemon', license='GPL', packages=['jmdaemon'], install_requires=['future', 'txtorcon', 'pyopenssl', 'libnacl', 'joinmarketbase==0.6.1'], + python_requires='>=3.3', zip_safe=False) diff --git a/jmdaemon/test/dummy_mc.py b/jmdaemon/test/dummy_mc.py index 4142624..2beae98 100644 --- a/jmdaemon/test/dummy_mc.py +++ b/jmdaemon/test/dummy_mc.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * import time diff --git a/jmdaemon/test/msgdata.py b/jmdaemon/test/msgdata.py index 7d68aec..0b3dc67 100644 --- a/jmdaemon/test/msgdata.py +++ b/jmdaemon/test/msgdata.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 #orderbook t_orderbook = [{u'counterparty': u'J5FA1Gj7Ln4vSGne', u'ordertype': u'reloffer', u'oid': 0, u'minsize': 7500000, u'txfee': 1000, u'maxsize': 599972700, u'cjfee': u'0.0002'}, diff --git a/jmdaemon/test/test_daemon_protocol.py b/jmdaemon/test/test_daemon_protocol.py index 1ddd709..321d548 100644 --- a/jmdaemon/test/test_daemon_protocol.py +++ b/jmdaemon/test/test_daemon_protocol.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from future.utils import iteritems '''test daemon-protocol interfacae.''' diff --git a/jmdaemon/test/test_enc_wrapper.py b/jmdaemon/test/test_enc_wrapper.py index 46d6084..74c3bae 100644 --- a/jmdaemon/test/test_enc_wrapper.py +++ b/jmdaemon/test/test_enc_wrapper.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import base64 import string import random diff --git a/jmdaemon/test/test_irc_messaging.py b/jmdaemon/test/test_irc_messaging.py index 5cb28ce..cca5373 100644 --- a/jmdaemon/test/test_irc_messaging.py +++ b/jmdaemon/test/test_irc_messaging.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Tests of joinmarket bots end-to-end (including IRC and bitcoin) ''' import time diff --git a/jmdaemon/test/test_message_channel.py b/jmdaemon/test/test_message_channel.py index e4847f9..617ca9c 100644 --- a/jmdaemon/test/test_message_channel.py +++ b/jmdaemon/test/test_message_channel.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * '''test messagechannel management code.''' import pytest diff --git a/jmdaemon/test/test_orderbookwatch.py b/jmdaemon/test/test_orderbookwatch.py index 088b569..7157fab 100644 --- a/jmdaemon/test/test_orderbookwatch.py +++ b/jmdaemon/test/test_orderbookwatch.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import pytest diff --git a/scripts/add-utxo.py b/scripts/add-utxo.py index bb93cf9..76e3265 100644 --- a/scripts/add-utxo.py +++ b/scripts/add-utxo.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems """A very simple command line tool to import utxos to be used as commitments into joinmarket's commitments.json file, allowing diff --git a/scripts/convert_old_wallet.py b/scripts/convert_old_wallet.py index d356807..c5478ee 100644 --- a/scripts/convert_old_wallet.py +++ b/scripts/convert_old_wallet.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import argparse import json import os.path diff --git a/scripts/joinmarket-qt.py b/scripts/joinmarket-qt.py index 3e03dd9..90e6898 100644 --- a/scripts/joinmarket-qt.py +++ b/scripts/joinmarket-qt.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from future.utils import iteritems ''' diff --git a/scripts/joinmarketd.py b/scripts/joinmarketd.py index 8397163..8296408 100644 --- a/scripts/joinmarketd.py +++ b/scripts/joinmarketd.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import sys from twisted.internet import reactor from twisted.python.log import startLogging diff --git a/scripts/obwatch/ob-watcher.py b/scripts/obwatch/ob-watcher.py index 0263140..4c102b2 100644 --- a/scripts/obwatch/ob-watcher.py +++ b/scripts/obwatch/ob-watcher.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * from future.utils import iteritems from past.builtins import cmp from functools import cmp_to_key diff --git a/scripts/qtsupport.py b/scripts/qtsupport.py index e3f5fc3..08e78a9 100644 --- a/scripts/qtsupport.py +++ b/scripts/qtsupport.py @@ -1,7 +1,4 @@ #!/usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * ''' Qt files for the wizard for initiating a tumbler run. diff --git a/scripts/receive-payjoin.py b/scripts/receive-payjoin.py index 115e321..4123c84 100644 --- a/scripts/receive-payjoin.py +++ b/scripts/receive-payjoin.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from optparse import OptionParser diff --git a/scripts/sendpayment.py b/scripts/sendpayment.py index c941f74..7d7590e 100644 --- a/scripts/sendpayment.py +++ b/scripts/sendpayment.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 """ A sample implementation of a single coinjoin script, diff --git a/scripts/sendtomany.py b/scripts/sendtomany.py index f002f8c..5a70ed2 100644 --- a/scripts/sendtomany.py +++ b/scripts/sendtomany.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 """A simple command line tool to create a bunch of utxos from one (thus giving more potential commitments for a Joinmarket user, although of course it may be useful diff --git a/scripts/tumbler.py b/scripts/tumbler.py index dc39b63..0cd882b 100644 --- a/scripts/tumbler.py +++ b/scripts/tumbler.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 import sys from twisted.internet import reactor diff --git a/scripts/wallet-tool.py b/scripts/wallet-tool.py index 9cded3a..7817b2c 100644 --- a/scripts/wallet-tool.py +++ b/scripts/wallet-tool.py @@ -1,6 +1,3 @@ -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from jmbase import jmprint from jmclient import wallet_tool_main diff --git a/scripts/yg-privacyenhanced.py b/scripts/yg-privacyenhanced.py index 03631c9..de57cc2 100644 --- a/scripts/yg-privacyenhanced.py +++ b/scripts/yg-privacyenhanced.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from future.utils import iteritems import random diff --git a/scripts/yield-generator-basic.py b/scripts/yield-generator-basic.py index 0b76306..2094674 100644 --- a/scripts/yield-generator-basic.py +++ b/scripts/yield-generator-basic.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 from jmbase import jmprint from jmclient import YieldGeneratorBasic, ygmain diff --git a/setupall.py b/setupall.py index 230455d..b52ec1d 100644 --- a/setupall.py +++ b/setupall.py @@ -17,6 +17,9 @@ to libsodium. All modes require and install twisted. """ +if sys.version_info < (3, 3): + raise RuntimeError("This package requres Python 3.3+") + def help(): print("Usage: python setupall.py \n" "Mode is one of:\n" diff --git a/test/common.py b/test/common.py index 6dc8fce..971eb79 100644 --- a/test/common.py +++ b/test/common.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Some helper functions for testing''' import sys diff --git a/test/test_segwit.py b/test/test_segwit.py index 7e9e00e..a222e5f 100644 --- a/test/test_segwit.py +++ b/test/test_segwit.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Test creation of segwit transactions.''' import binascii diff --git a/test/ygrunner.py b/test/ygrunner.py index 7e68327..c55985f 100644 --- a/test/ygrunner.py +++ b/test/ygrunner.py @@ -1,7 +1,4 @@ #! /usr/bin/env python -from __future__ import (absolute_import, division, - print_function, unicode_literals) -from builtins import * # noqa: F401 '''Creates wallets and yield generators in regtest. Provides seed for joinmarket-qt test. This should be run via pytest, even though