Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xbr more codegen #1462

Merged
merged 4 commits into from
Feb 23, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
bumps deps; update changelog
  • Loading branch information
oberstet committed Feb 20, 2021
commit ef805b551083c9b672e1663e1e1140df6d58dbfb
12 changes: 5 additions & 7 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ jobs:
sudo apt update
sudo apt install libenchant-dev libbz2-dev libsnappy-dev libunwind-dev

- name: Set up Python 3.8
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: '3.8'
python-version: '3.x'
architecture: 'x64'

- name: Install Python package dependencies
Expand Down Expand Up @@ -61,9 +61,7 @@ jobs:
# os: [ubuntu-20.04, macos-latest, windows-latest]

# https://github.com/actions/setup-python#specifying-a-pypy-version
# python-version: ['3.6', '3.7', '3.8', '3.9', 'pypy-3.6', 'pypy-3.7']
# framework: ['asyncio', 'tw189', 'tw1910', 'tw203', 'twtrunk']
python-version: ['3.6', '3.9', 'pypy-3.7']
python-version: ['3.7', '3.9', 'pypy-3.7']
framework: ['asyncio', 'tw203', 'twtrunk']

# https://github.blog/changelog/2020-04-15-github-actions-new-workflow-features/
Expand Down Expand Up @@ -120,10 +118,10 @@ jobs:
sudo apt update
sudo apt install libenchant-dev libbz2-dev libsnappy-dev libunwind-dev

- name: Set up Python 3.8
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: '3.8'
python-version: '3.x'
architecture: 'x64'

- name: Install Python package dependencies
Expand Down
4 changes: 3 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ You can use **Autobahn\|Python** to create clients and servers in Python speakin

.. note::

**Autobahn\|Python** up to version v19.11.2 also supported Python 2 and 3.4+.
**Autobahn\|Python** up to version v19.11.2 supported Python 2 and 3.4+,
and up to version v20.7.1 supported Python 3.5+,
and up to version v21.2.1 supported Python 3.6+.

Features
--------
Expand Down
2 changes: 1 addition & 1 deletion autobahn/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@
#
###############################################################################

__version__ = '21.2.2.dev3'
__version__ = '21.2.2.dev4'
7 changes: 5 additions & 2 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,15 @@
Changelog
=========

master
21.2.2
------

* new: minimum supported Python (language) version is now 3.7 (on CPython and PyPy)
* new: more XBR proxy/stub code generation capabilities
* fix: wamp-cryptosign loading of keys from SSH agent
* fix: update Docker image building and build Docker multi-arch images
* new: add more WAMP-cryptosign signature test vectors and unit tests
* fix: include xbr code rendering templates in package manifest
* fix: include XBR code rendering templates in package manifest

21.2.1
------
Expand Down
67 changes: 32 additions & 35 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,32 +44,32 @@
# Twisted dependencies (be careful bumping these minimal versions,
# as we make claim to support older Twisted!)
extras_require_twisted = [
"zope.interface>=3.6.0", # Zope Public License
"zope.interface>=5.2.0", # Zope Public License
"twisted>=20.3.0", # MIT license (https://pypi.org/project/Twisted/20.3.0/)
"attrs>=19.2.0" # MIT license (https://pypi.org/project/attrs/19.2.0/)
"attrs>=20.3.0" # MIT license (https://pypi.org/project/attrs/19.2.0/)
]

# C-based WebSocket acceleration (only use on CPython, not PyPy!)
if CPY and sys.platform != 'win32':
# wsaccel does not provide wheels: https://github.com/methane/wsaccel/issues/12
extras_require_accelerate = [
"wsaccel>=0.6.2" # Apache 2.0
"wsaccel>=0.6.3" # Apache 2.0
]
else:
extras_require_accelerate = []

# non-standard WebSocket compression support (FIXME: consider removing altogether)
# Ubuntu: sudo apt-get install libsnappy-dev
extras_require_compress = [
"python-snappy>=0.5", # BSD license
"python-snappy>=0.6.0", # BSD license
]

# accelerated JSON and non-JSON WAMP serialization support (namely MessagePack, CBOR and UBJSON)
extras_require_serialization = []
if CPY:
extras_require_serialization.extend([
'msgpack>=0.6.1', # Apache 2.0 license
'ujson>=1.35', # BSD license
'msgpack>=1.0.2', # Apache 2.0 license
'ujson>=4.0.2', # BSD license
])
else:
os.environ['PYUBJSON_NO_EXTENSION'] = '1' # enforce use of pure Python py-ubjson (no Cython)
Expand All @@ -78,34 +78,34 @@
])

extras_require_serialization.extend([
'cbor2>=5.0.1', # MIT license
'cbor2>=5.2.0', # MIT license
'cbor>=1.0.0', # Apache 2.0 license
'py-ubjson>=0.8.4', # Apache 2.0 license
'flatbuffers>=1.10', # Apache 2.0 license
'py-ubjson>=0.16.1', # Apache 2.0 license
'flatbuffers>=1.12', # Apache 2.0 license
])

# TLS transport encryption
# WAMP-cryptosign end-to-end encryption
# WAMP-cryptosign authentication
os.environ['SODIUM_INSTALL'] = 'bundled' # enforce use of bundled libsodium
extras_require_encryption = [
'pyopenssl>=16.2.0', # Apache 2.0 license
'pyopenssl>=20.0.1', # Apache 2.0 license
'service_identity>=18.1.0', # MIT license
'pynacl>=1.0.1', # Apache license
'pytrie>=0.2', # BSD license
'pyqrcode>=1.1' # BSD license
'pynacl>=1.4.0', # Apache license
'pytrie>=0.4.0', # BSD license
'pyqrcode>=1.2.1' # BSD license
]

# Support for WAMP-SCRAM authentication
extras_require_scram = [
'cffi>=1.11.5', # MIT license
'argon2_cffi>=18.1.0', # MIT license
'passlib>=1.7.1', # BSD license
'cffi>=1.14.5', # MIT license
'argon2_cffi>=20.1.0', # MIT license
'passlib>=1.7.4', # BSD license
]

# Support native vector (SIMD) acceleration included with Autobahn
extras_require_nvx = [
'cffi>=1.11.5', # MIT license
'cffi>=1.14.5', # MIT license
]

# cffi based extension modules to build, currently only NVX
Expand All @@ -120,27 +120,25 @@

extras_require_xbr = [
# XBR contracts and ABI file bundle
'xbr>=20.1.1', # Apache 2.0
'xbr>=21.2.1', # Apache 2.0

'cbor2>=5.1.0', # MIT license
'zlmdb>=20.4.1', # MIT license
'cbor2>=5.2.0', # MIT license
'zlmdb>=21.2.1', # MIT license
'twisted>=20.3.0', # MIT license
'web3>=4.8.1', # MIT license
'jinja2>=2.11.2', # BSD license
'web3>=5.16.0', # MIT license
'jinja2>=2.11.3', # BSD license

# the following is needed for EIP712 ("signed typed data"):
'rlp>=2.0.1', # MIT license
'py-eth-sig-utils>=0.4.0', # MIT license (https://github.com/rmeissner/py-eth-sig-utils)
'py-ecc>=1.7.1', # MIT license (https://github.com/ethereum/py_ecc)
'eth-abi>=1.3.0', # MIT license (https://github.com/ethereum/eth-abi)
'py-ecc>=5.1.0', # MIT license (https://github.com/ethereum/py_ecc)
'eth-abi>=2.1.1', # MIT license (https://github.com/ethereum/eth-abi)

# the following is needed (at least) for BIP32/39 mnemonic processing
'mnemonic>=0.13', # MIT license (https://github.com/trezor/python-mnemonic)

# py-multihash 0.2.3 has requirement base58<2.0,>=1.0.2 (https://github.com/crossbario/crossbarfx/issues/469)
'base58<2.0,>=1.0.2', # MIT license (https://github.com/keis/base58)
'ecdsa>=0.13', # MIT license (https://github.com/warner/python-ecdsa)
'py-multihash>=0.2.3', # MIT license (https://github.com/multiformats/py-multihash / https://pypi.org/project/py-multihash/)
'mnemonic>=0.19', # MIT license (https://github.com/trezor/python-mnemonic)
'base58>=2.1.0', # MIT license (https://github.com/keis/base58)
'ecdsa>=0.16.1', # MIT license (https://github.com/warner/python-ecdsa)
'py-multihash>=2.0.1', # MIT license (https://github.com/multiformats/py-multihash / https://pypi.org/project/py-multihash/)
]

# everything
Expand Down Expand Up @@ -254,9 +252,9 @@ def run_tests(self):
url='http://crossbar.io/autobahn',
platforms='Any',
install_requires=[
'txaio>=20.4.1', # MIT license (https://github.com/crossbario/txaio)
'cryptography>=2.9.2', # BSD *or* Apache license (https://github.com/pyca/cryptography)
'hyperlink>=20.0.1', # MIT license (https://github.com/python-hyper/hyperlink)
'txaio>=21.2.1', # MIT license (https://github.com/crossbario/txaio)
'cryptography>=3.4.6', # BSD *or* Apache license (https://github.com/pyca/cryptography)
'hyperlink>=21.0.0', # MIT license (https://github.com/python-hyper/hyperlink)
],
extras_require={
'all': extras_require_all,
Expand Down Expand Up @@ -286,7 +284,7 @@ def run_tests(self):

zip_safe=False,

python_requires='>=3.6',
python_requires='>=3.7',

# http://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers=["License :: OSI Approved :: MIT License",
Expand All @@ -297,7 +295,6 @@ def run_tests(self):
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
Expand Down
4 changes: 0 additions & 4 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@ envlist =
sphinx

# CPython
py36-{tw189,tw1910,tw203,twtrunk,asyncio}
py37-{tw189,tw1910,tw203,twtrunk,asyncio}
py38-{tw189,tw1910,tw203,twtrunk,asyncio}
py39-{tw189,tw1910,tw203,twtrunk,asyncio}

# PyPy
pypy36-{tw189,tw1910,tw203,twtrunk,asyncio}
pypy37-{tw189,tw1910,tw203,twtrunk,asyncio}


Expand All @@ -25,11 +23,9 @@ envlist =
#
[gh-actions]
python =
3.6: py36
3.7: py37
3.8: py38
3.9: py39
pypy-3.6: pypy36
pypy-3.7: pypy37


Expand Down