Skip to content

Twisted yield and await on signals #10

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

Merged
merged 42 commits into from
Oct 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
93ad1db
Add twisted.signal_as_deferred()
altendky Sep 1, 2018
6366840
Correct dependencies
altendky Sep 2, 2018
eb4dc5a
Initial attempt at twisted.signal_as_async
altendky Sep 10, 2018
ee4a8ed
try some more
altendky Sep 10, 2018
8c461bb
twisted yield and await working, untested asyncio await
altendky Sep 10, 2018
b54f1b4
Use old qt5reactor fork until it gest fixed
altendky Sep 10, 2018
c6a34af
again
altendky Sep 10, 2018
5c86148
kick ci
altendky Sep 11, 2018
c778a9f
kick ci
altendky Sep 11, 2018
c444b68
fixup
altendky Sep 11, 2018
275d90d
try travis matrix
altendky Sep 11, 2018
47ea0b2
bunch of ci job separation
altendky Sep 11, 2018
19860bf
Use latest qt5reactor except for problem commit
altendky Sep 11, 2018
d316ac5
Use pure qt5reactor==0.5 to show failure
altendky Sep 11, 2018
7c9cf7d
appveyor: skip_branch_with_pr: true
altendky Sep 11, 2018
1565d6e
appveyor: skip_branch_with_pr: true... again
altendky Sep 11, 2018
ca68d70
Revert "Use pure qt5reactor==0.5 to show failure"
altendky Sep 11, 2018
d3640b8
test asyncio signal awaiter
altendky Sep 11, 2018
e5afb48
fix/tidy appveyor.yml
altendky Sep 11, 2018
9a604f7
fix appveyor again
altendky Sep 11, 2018
6e8d2bd
fix appveyor again... again
altendky Sep 11, 2018
d5a73f5
...gah
altendky Sep 11, 2018
ea7301e
diagnostic pyqt5 import
altendky Sep 11, 2018
d3a50fa
maybe help travis too
altendky Sep 11, 2018
3773432
oh yeah, can't run 3.5 with pyqt on appveyor
altendky Sep 11, 2018
ce914f3
fix twisted dependency spec
altendky Sep 11, 2018
804fd64
add .circleci
altendky Sep 11, 2018
39ac8ac
git submodule update on circle
altendky Sep 11, 2018
5b6a225
Allow passing of a callable for signal_as_deferred and signal_as_futu…
altendky Sep 12, 2018
6adad54
remove unused decorator import
altendky Sep 12, 2018
1681e56
Add asyncCallbacks and use for Twisted tests
altendky Sep 12, 2018
79e2d9b
Remove unused QtCore import
altendky Sep 12, 2018
ede69e1
simplify async test names
altendky Sep 12, 2018
8d38e40
Drop decorator...
altendky Sep 12, 2018
72c885f
Fix asyncCallbacks to work with fixtures
altendky Sep 19, 2018
179cf96
Re-enable py35
altendky Sep 23, 2018
91a0b26
Add Circle badge
altendky Sep 23, 2018
303712b
Correct PYTHON on Circle
altendky Sep 23, 2018
14870a7
Try to cover Python version on Circle
altendky Oct 26, 2018
d03c0eb
PIP_PROGRESS_BAR=off
altendky Oct 26, 2018
4e88220
--progress-bar=off
altendky Oct 26, 2018
ca6508f
try to fix tox.ini
altendky Oct 30, 2018
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
127 changes: 127 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
version: 2

jobs:
osx-py35:
macos:
xcode: "10.0.0"
environment:
PYTHON: python3
TOXENV: py35
steps:
- checkout

- run:
name: Prepare the environment.
command: |
bash .circleci/prepare.sh
- run:
name: Test.
command: |
venv/bin/tox
venv/bin/tox -e codecov

osx-py36:
macos:
xcode: "10.0.0"
environment:
PYTHON: python3
TOXENV: py36
steps:
- checkout

- run:
name: Prepare the environment.
command: |
bash .circleci/prepare.sh
- run:
name: Test.
command: |
venv/bin/tox
venv/bin/tox -e codecov

osx-py37:
macos:
xcode: "10.0.0"
environment:
PYTHON: python3
TOXENV: py37
steps:
- checkout

- run:
name: Prepare the environment.
command: |
bash .circleci/prepare.sh
- run:
name: Test.
command: |
venv/bin/tox
venv/bin/tox -e codecov

linux-py35:
docker:
- image: circleci/python:3.5
environment:
PYTHON: python3
TOXENV: py35
steps:
- checkout

- run:
name: Prepare the environment.
command: |
bash .circleci/prepare.sh
- run:
name: Test.
command: |
venv/bin/tox
venv/bin/tox -e codecov

linux-py36:
docker:
- image: circleci/python:3.6
environment:
PYTHON: python3
TOXENV: py36
steps:
- checkout

- run:
name: Prepare the environment.
command: |
bash .circleci/prepare.sh
- run:
name: Test.
command: |
venv/bin/tox
venv/bin/tox -e codecov

linux-py37:
docker:
- image: circleci/python:3.7
environment:
PYTHON: python3
TOXENV: py37
steps:
- checkout

- run:
name: Prepare the environment.
command: |
bash .circleci/prepare.sh
- run:
name: Test.
command: |
venv/bin/tox
venv/bin/tox -e codecov

workflows:
version: 2
all-tests:
jobs:
- osx-py35
- osx-py36
- osx-py37
- linux-py35
- linux-py36
- linux-py37
8 changes: 8 additions & 0 deletions .circleci/prepare.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
git submodule update --init
$PYTHON --version
$PYTHON -m pip --version
$PYTHON -m pip install -q --user --ignore-installed --upgrade virtualenv
$PYTHON -m virtualenv -p $PYTHON venv
venv/bin/python --version
venv/bin/python -m pip install -r requirements.test
venv/bin/python -m pip freeze
9 changes: 7 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,19 @@ python:
- 3.5
- 3.6

env:
- TOXENV=core
- TOXENV=twisted
- TOXENV=asyncio
- TOXENV=wheel

install:
- pip install tox-travis
- python -m pip install -r requirements.test

script:
- python setup.py bdist_wheel
- tox -vvvvvvvv
- codecov
- tox -e codecov

deploy:
provider: pypi
Expand Down
6 changes: 5 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
altendpyqt5
===========

|PyPI| |Pythons| |Travis| |AppVeyor| |codecov| |GitHub|
|PyPI| |Pythons| |Travis| |AppVeyor| |Circle| |codecov| |GitHub|

Miscellanious extras that I like to use when working with PyQt5.

Expand All @@ -21,6 +21,10 @@ Miscellanious extras that I like to use when working with PyQt5.
:alt: AppVeyor build status
:target: https://ci.appveyor.com/project/KyleAltendorf/altendpyqt5

.. |Circle| image:: https://circleci.com/gh/altendky/altendpyqt5.svg?style=svg
:alt: Circle build status
:target: https://circleci.com/gh/altendky/altendpyqt5

.. |codecov| image:: https://codecov.io/gh/altendky/altendpyqt5/branch/develop/graph/badge.svg
:alt: codecov coverage status
:target: https://codecov.io/gh/altendky/altendpyqt5
Expand Down
83 changes: 65 additions & 18 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,71 @@
skip_branch_with_pr: true

environment:
VENV: "%APPVEYOR_BUILD_FOLDER%\\venv"
# # matrix generated from
# import itertools

# parameters = (
# ('python', ((3,5), (3,6))),
# ('bitness', (32, 64)),
# ('mode', ('core', 'twisted', 'asyncio', 'wheel')),
# )

# parameter_names = [p[0] for p in parameters]
# parameter_values = [p[1] for p in parameters]

# def get_toxenv(python, bitness, mode):
# return 'py{}{}-{}'.format(*python, mode)

# def get_python(python, bitness, mode):
# return '"C:\\\\Python{}{}{}"'.format(
# *python,
# {32: '', 64:'-x64'}[bitness],
# )

# print(' matrix:')

# for values in itertools.product(*parameter_values):
# d = {name: value for name, value in zip(parameter_names, values)}
# toxenv = get_toxenv(**d)
# python = get_python(**d)

# print(' - TOXENV: {}'.format(toxenv))
# print(' PYTHON: {}'.format(python))


matrix:
- TOXENV: py35
- TOXENV: py35-core
PYTHON: "C:\\Python35"

- TOXENV: py35
- TOXENV: py35-twisted
PYTHON: "C:\\Python35"
- TOXENV: py35-asyncio
PYTHON: "C:\\Python35"
- TOXENV: py35-wheel
PYTHON: "C:\\Python35"
- TOXENV: py35-core
PYTHON: "C:\\Python35-x64"

- TOXENV: py36
- TOXENV: py35-twisted
PYTHON: "C:\\Python35-x64"
- TOXENV: py35-asyncio
PYTHON: "C:\\Python35-x64"
- TOXENV: py35-wheel
PYTHON: "C:\\Python35-x64"
- TOXENV: py36-core
PYTHON: "C:\\Python36"

- TOXENV: py36
- TOXENV: py36-twisted
PYTHON: "C:\\Python36"
- TOXENV: py36-asyncio
PYTHON: "C:\\Python36"
- TOXENV: py36-wheel
PYTHON: "C:\\Python36"
- TOXENV: py36-core
PYTHON: "C:\\Python36-x64"
- TOXENV: py36-twisted
PYTHON: "C:\\Python36-x64"
- TOXENV: py36-asyncio
PYTHON: "C:\\Python36-x64"
- TOXENV: py36-wheel
PYTHON: "C:\\Python36-x64"
BUILD_WHEEL: 1

# https://www.appveyor.com/docs/how-to/rdp-to-build-worker/
init:
Expand All @@ -22,19 +74,14 @@ init:

install:
- git submodule update --init
- virtualenv -p "%PYTHON%\\python.exe" "%VENV%"
- copy "%PYTHON%\\python3.dll" "%VENV%\\Scripts"
- "%VENV%\\Scripts\\activate"
- virtualenv -p "%PYTHON%\\python.exe" venv
- venv\\Scripts\\activate
- pip install -r requirements.test
- pip install .
- ps: Update-AppveyorBuild -Version "v$(python -c 'import sys; import altendpyqt5; sys.stdout.write(altendpyqt5.__version__)') b$Env:APPVEYOR_BUILD_NUMBER"

build_script:
- if defined BUILD_WHEEL python setup.py bdist_wheel

test_script:
- tox
- codecov
- tox -vvvvvvvv
- tox -e codecov

artifacts:
- path: "dist\\*.whl"
Expand Down
42 changes: 34 additions & 8 deletions requirements.test
Original file line number Diff line number Diff line change
@@ -1,12 +1,38 @@
-r requirements.txt

# https://github.com/pypa/virtualenv/issues/1050
git+https://github.com/pypa/virtualenv@e8163e83a92c9098f51d390289323232ece15e3b

codecov==2.0.5
pytest==3.4.0
async_generator==1.10
atomicwrites==1.2.1
Automat==0.7.0
certifi==2018.8.24
chardet==3.0.4
codecov==2.0.15
constantly==15.1.0
coverage==4.5.1
decorator==4.3.0
EasyProcess==0.2.3
greenlet==0.4.14
hyperlink==18.0.0
idna==2.7
incremental==17.5.0
more-itertools==4.3.0
pluggy==0.7.1
py==1.6.0
PyHamcrest==1.9.0
pytest==3.7.4
pytest-asyncio==0.9.0
pytest-cov==2.5.1
pytest-faulthandler==1.4.1
pytest-qt==2.3.1
pytest-qt==3.0.2
pytest-twisted==1.8
pytest-xvfb==1.1.0
tox==3.0.0rc1
PyVirtualDisplay==0.2.1
quamash==0.6.1
git+https://github.com/altendky/qt5reactor@ce3ea2dad6d71adb10cde79b64bc0c7d27e9139c#egg=qt5reactor
requests==2.19.1
six==1.11.0
tox==3.2.1
Twisted==18.7.0; platform_system != "Windows" and platform_system != "Darwin"
Twisted[osx_platform]==18.7.0; platform_system == "Darwin"
Twisted[windows_platform]==18.7.0; platform_system == "Windows"
urllib3==1.23
virtualenv==16.0.0
zope.interface==4.5.0
9 changes: 5 additions & 4 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
-e sub/altendpy
attrs==18.2.0
PyQt5==5.11.2
PyQt5-sip==4.19.12

attrs==17.4.0
pyqt5==5.10
sip==4.19.7
-e .[test]
-e sub/altendpy
Loading