From 696ae7965db1ca3f7c2235280b6fc0a4e84e609c Mon Sep 17 00:00:00 2001 From: jcass77 Date: Mon, 2 Mar 2020 07:24:32 +0200 Subject: [PATCH 01/13] deps: Update dependencies to latest available major versions. --- .pre-commit-config.yaml | 8 ++++---- docs/changelog.md | 6 ++++++ requirements/base.txt | 6 +++--- requirements/local.txt | 10 +++++----- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 53885e2..dc15037 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,12 +1,12 @@ repos: - repo: https://github.com/ambv/black - rev: 19.3b0 + rev: 19.10b0 hooks: - id: black args: [--safe, --quiet] language_version: python3 - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.4.0 + rev: v2.5.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer @@ -15,12 +15,12 @@ repos: exclude: _pytest/debugging.py language_version: python3 - repo: https://gitlab.com/pycqa/flake8 - rev: 3.7.7 + rev: 3.7.9 hooks: - id: flake8 language_version: python3 - repo: https://github.com/asottile/pyupgrade - rev: v1.15.0 + rev: v2.1.0 hooks: - id: pyupgrade args: [--keep-percent-format] diff --git a/docs/changelog.md b/docs/changelog.md index 3b2fc0d..1aa2332 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,6 +2,12 @@ This changelog is used to track all major changes to WTFIX. +## v0.15.0 (UNRELEASED) + +**Enhancements** + +- Update dependencies to latest major versions. + ## v0.14.2 (2019-12-16) **Fixes** diff --git a/requirements/base.txt b/requirements/base.txt index 711ea3e..7e93874 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ -python-dotenv~=0.10.3 # https://github.com/theskumar/python-dotenv +python-dotenv~=0.12 # https://github.com/theskumar/python-dotenv flask-restful~=0.3.7 # https://github.com/flask-restful/flask-restful -requests~=2.22.0 # https://github.com/kennethreitz/requests -gunicorn~=19.9.0 # https://gunicorn.org +requests~=2.23 # https://github.com/kennethreitz/requests +gunicorn~=20.0 # https://gunicorn.org aioredis~=1.3 # https://github.com/aio-libs/aioredis diff --git a/requirements/local.txt b/requirements/local.txt index ff7cb91..ca71c47 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -7,12 +7,12 @@ pytest-sugar~=0.9 # https://github.com/Frozenball/pytest-sugar pytest-socket~=0.3 # https://github.com/miketheman/pytest-socket pytest-env~=0.6 # https://github.com/MobileDynasty/pytest-env pytest-asyncio~=0.9 # https://github.com/pytest-dev/pytest-asyncio -faker~=2.0 # https://github.com/joke2k/faker +faker~=4.0 # https://github.com/joke2k/faker # Code quality # ------------------------------------------------------------------------------ flake8~=3.7 # https://github.com/PyCQA/flake8 -coverage~=4.5 # https://github.com/nedbat/coveragepy -black~=19.3b # https://github.com/ambv/black -pre-commit~=1.15 # https://pre-commit.com -pyupgrade~=1.16 # https://github.com/asottile/pyupgrade +coverage~=5.0 # https://github.com/nedbat/coveragepy +black~=19.10b # https://github.com/ambv/black +pre-commit~=2.1 # https://pre-commit.com +pyupgrade~=2.1 # https://github.com/asottile/pyupgrade From 873fe0dff51f3d56744d20261686dc4687084054 Mon Sep 17 00:00:00 2001 From: jcass77 Date: Mon, 2 Mar 2020 07:27:33 +0200 Subject: [PATCH 02/13] devops: Move to 'bionic' Travis CI environment. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ba471dc..94b097c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -dist: xenial +dist: bionic services: - redis From 9f2bf58ac108e22f308f088617dab1f64e44911b Mon Sep 17 00:00:00 2001 From: jcass77 Date: Wed, 4 Mar 2020 06:54:03 +0200 Subject: [PATCH 03/13] docs: Update README. --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 54b42c8..71f6162 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,7 @@ messages mean that you never need to deal with byte sequences directly. # Create a new Message from a byte sequence received over the wire >>> fields = Field.fields_frombytes(b"35=A\x0198=0\x01108=30\x01553=my_username\x01554=my_password\x01") >>> logon_msg = generic_message_factory(*fields) + >>> str(logon_msg) 'A: {(35, A) | (98, 0) | (108, 30) | (553, my_username) | (554, my_password)}' @@ -134,7 +135,7 @@ messages mean that you never need to deal with byte sequences directly. >>> username Field(553, 'my_username_123') ``` -- Access to the underlying byte sequence when you need it: +- Access the underlying byte sequence when you need it by casting the message back to `bytes`: ```python >>> bytes(logon_msg) @@ -147,12 +148,12 @@ messages mean that you never need to deal with byte sequences directly. >>> f"{logon_msg:t}" 'Logon (A): {MsgType (35): A | EncryptMethod (98): 0 | HeartBtInt (108): 30 | Username (553): my_username | Password (554): my_password | PossDupFlag (43): Y}' - # Most FIX field values can be cast to their corresponding Python built-in type + # Most FIX field types can be cast to equivalent Python built-in types to make processing easier >>> bool(logon_msg.PossDupFlag) is True True ``` -- A very forgiving approach to repeating groups of message tags: +- A very forgiving approach to parsing repeating groups of message tags; with or without pre-defined templates: ```python from wtfix.protocol.common import Tag, MsgType From 26e3be407deac419478aca939eacec3fd6f6c818 Mon Sep 17 00:00:00 2001 From: jcass77 Date: Wed, 4 Mar 2020 08:25:53 +0200 Subject: [PATCH 04/13] docs: Update README. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71f6162..dfde7ca 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ routines or new application features. ```python PIPELINE_APPS = [ + "wtfix.apps.utils.PipelineTerminationApp", # Post-processing / cleanup "my_app.apps.SecretAlgoTradingRecipe", # <-- Your application logic "wtfix.apps.api.RESTfulServiceApp", # REST API for sending messages "wtfix.apps.brokers.RedisPubSubApp", # Redis Pub/Sub broker for sending / receiving messages From 57b1f1dc2706d8453f80ab6a569054de3be55013 Mon Sep 17 00:00:00 2001 From: jcass77 Date: Fri, 6 Mar 2020 03:36:09 +0200 Subject: [PATCH 05/13] deps: Update dependencies. --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index 7e93874..8b2678b 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ python-dotenv~=0.12 # https://github.com/theskumar/python-dotenv -flask-restful~=0.3.7 # https://github.com/flask-restful/flask-restful +flask-restful~=0.3 # https://github.com/flask-restful/flask-restful requests~=2.23 # https://github.com/kennethreitz/requests gunicorn~=20.0 # https://gunicorn.org aioredis~=1.3 # https://github.com/aio-libs/aioredis From abb63b52560f04f7cfa42cd83541de90120378f9 Mon Sep 17 00:00:00 2001 From: jcass77 Date: Fri, 13 Mar 2020 09:31:48 +0200 Subject: [PATCH 06/13] conf: Relax dependency requirements in setup.py --- setup.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index e70866b..906c644 100644 --- a/setup.py +++ b/setup.py @@ -27,11 +27,11 @@ keywords="FIX financial information exchange", packages=find_packages(exclude=["contrib", "docs", "tests"]), install_requires=[ - "python-dotenv~=0.10.3", - "flask-restful~=0.3.7", - "requests~=2.22.0", - "gunicorn~=19.9.0", - "aioredis~=1.3", + "python-dotenv>=0.10.3", + "flask-restful>=0.3.7", + "requests>=2.22", + "gunicorn>=19.9", + "aioredis>=1.3", ], python_requires=">=3.7", project_urls={ From 8f17322773360d2a21b866a1d149390d1a4a030a Mon Sep 17 00:00:00 2001 From: jcass77 Date: Thu, 23 Apr 2020 10:18:25 +0200 Subject: [PATCH 07/13] docs: Fix typo. --- wtfix/core/exceptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wtfix/core/exceptions.py b/wtfix/core/exceptions.py index 8bc25a3..26e2062 100644 --- a/wtfix/core/exceptions.py +++ b/wtfix/core/exceptions.py @@ -49,7 +49,7 @@ class StopMessageProcessing(Exception): Used to stop a message from propagating further up or down the pipeline. This should be used to interrupt message processing during normal operation (i.e. as part of an optimization - or if the message is not relevant to other applications in the pipeline. + or if the message is not relevant to other applications in the pipeline). """ pass From c2173b80e7437e1a01f3774b1a9b0aa4ae87f1e3 Mon Sep 17 00:00:00 2001 From: jcass77 Date: Thu, 23 Apr 2020 16:20:22 +0200 Subject: [PATCH 08/13] deps: Pin broken pytest plugins. --- requirements/local.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/local.txt b/requirements/local.txt index ca71c47..9a6d8f9 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -2,11 +2,11 @@ # Testing # ------------------------------------------------------------------------------ -pytest~=5.0 # https://github.com/pytest-dev/pytest +pytest==5.3.5 # https://github.com/pytest-dev/pytest pytest-sugar~=0.9 # https://github.com/Frozenball/pytest-sugar pytest-socket~=0.3 # https://github.com/miketheman/pytest-socket pytest-env~=0.6 # https://github.com/MobileDynasty/pytest-env -pytest-asyncio~=0.9 # https://github.com/pytest-dev/pytest-asyncio +pytest-asyncio=0.10 # https://github.com/pytest-dev/pytest-asyncio faker~=4.0 # https://github.com/joke2k/faker # Code quality From 01e69a3ce2ac71bc06fbba9f7927b258c22d2dcb Mon Sep 17 00:00:00 2001 From: jcass77 Date: Thu, 23 Apr 2020 16:23:52 +0200 Subject: [PATCH 09/13] deps: Pin broken pytest plugins. --- requirements/local.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/local.txt b/requirements/local.txt index 9a6d8f9..388e2e2 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -6,7 +6,7 @@ pytest==5.3.5 # https://github.com/pytest-dev/pytest pytest-sugar~=0.9 # https://github.com/Frozenball/pytest-sugar pytest-socket~=0.3 # https://github.com/miketheman/pytest-socket pytest-env~=0.6 # https://github.com/MobileDynasty/pytest-env -pytest-asyncio=0.10 # https://github.com/pytest-dev/pytest-asyncio +pytest-asyncio==0.10 # https://github.com/pytest-dev/pytest-asyncio faker~=4.0 # https://github.com/joke2k/faker # Code quality From 39e4d0407bbe5dcdd49c0e3a4ce9ab1d3bb534b2 Mon Sep 17 00:00:00 2001 From: jcass77 Date: Wed, 29 Apr 2020 06:33:35 +0200 Subject: [PATCH 10/13] deps: Un-pin fixed pytest plugins. --- requirements/local.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/local.txt b/requirements/local.txt index 388e2e2..ad9db0d 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -2,11 +2,11 @@ # Testing # ------------------------------------------------------------------------------ -pytest==5.3.5 # https://github.com/pytest-dev/pytest +pytest~=5.4 # https://github.com/pytest-dev/pytest pytest-sugar~=0.9 # https://github.com/Frozenball/pytest-sugar pytest-socket~=0.3 # https://github.com/miketheman/pytest-socket pytest-env~=0.6 # https://github.com/MobileDynasty/pytest-env -pytest-asyncio==0.10 # https://github.com/pytest-dev/pytest-asyncio +pytest-asyncio~=0.11 # https://github.com/pytest-dev/pytest-asyncio faker~=4.0 # https://github.com/joke2k/faker # Code quality From 816840c0add70652634c5ebef731e4a5cf6aec08 Mon Sep 17 00:00:00 2001 From: jcass77 Date: Wed, 29 Apr 2020 06:37:09 +0200 Subject: [PATCH 11/13] devops: Update pre-commit hooks. --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index dc15037..c88d7f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,7 +20,7 @@ repos: - id: flake8 language_version: python3 - repo: https://github.com/asottile/pyupgrade - rev: v2.1.0 + rev: v2.3.0 hooks: - id: pyupgrade args: [--keep-percent-format] From 75c76236c39dce2472875e78fac465a1d2bc72bb Mon Sep 17 00:00:00 2001 From: jcass77 Date: Wed, 29 Apr 2020 06:43:27 +0200 Subject: [PATCH 12/13] deps: Update version dependency. --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index 8b2678b..c7f7e76 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,4 +1,4 @@ -python-dotenv~=0.12 # https://github.com/theskumar/python-dotenv +python-dotenv~=0.13 # https://github.com/theskumar/python-dotenv flask-restful~=0.3 # https://github.com/flask-restful/flask-restful requests~=2.23 # https://github.com/kennethreitz/requests gunicorn~=20.0 # https://gunicorn.org From 2814bf9d5d51693c6e2d9f21633ad3037e9cfabe Mon Sep 17 00:00:00 2001 From: jcass77 Date: Wed, 29 Apr 2020 06:45:44 +0200 Subject: [PATCH 13/13] Prepare release 0.14.3 --- docs/changelog.md | 3 ++- setup.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 1aa2332..e6625df 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,10 +2,11 @@ This changelog is used to track all major changes to WTFIX. -## v0.15.0 (UNRELEASED) +## v0.14.3 (2020-04-29) **Enhancements** +- Relax dependency version requirements in setup.py. - Update dependencies to latest major versions. ## v0.14.2 (2019-12-16) diff --git a/setup.py b/setup.py index 906c644..2004777 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setup( name="wtfix", - version="0.14.2", + version="0.14.3", author="John Cass", author_email="john.cass77@gmail.com", description="The Pythonic Financial Information eXchange (FIX) client for humans.",