diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 407d0eb..2c2e3eb 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -19,6 +19,8 @@ jobs: steps: - uses: actions/checkout@v2 + with: + submodules: 'recursive' - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v1 with: @@ -26,7 +28,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install flake8 pytest + pip install flake8 pytest tox tox-gh-actions if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | @@ -34,6 +36,8 @@ jobs: flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - - name: Test with pytest + - name: Test with tox run: | tox + env: + ESCPOS_CAPABILITIES_FILE: /home/runner/work/python-escpos/python-escpos/capabilities-data/dist/capabilities.json diff --git a/.gitignore b/.gitignore index f8415e3..ba41934 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,6 @@ test/test-cli-output/ *.swp *.swn *.swo + +# vscode +.vscode/settings.json diff --git a/.travis.yml b/.travis.yml index 3ea9ff5..39b238e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: python sudo: false cache: pip -dist: xenial +dist: bionic git: depth: 100000 addons: @@ -33,27 +33,23 @@ matrix: env: TOXENV=py35 - python: 3.6 env: TOXENV=py36 - - python: 3.6-dev - env: TOXENV=py36 - python: 3.7 env: TOXENV=py37 - python: 3.7-dev env: TOXENV=py37 + - python: 3.8 + env: TOXENV=py38 - python: 3.8-dev env: TOXENV=py38 - python: nightly env: TOXENV=py38 - - python: pypy - env: TOXENV=pypy - python: pypy3 env: TOXENV=pypy3 - - python: 3.7 + - python: 3.8 env: TOXENV=docs - - python: 3.7 + - python: 3.8 env: TOXENV=flake8 allow_failures: - - python: 2.7 - - python: 3.6-dev - python: 3.7-dev - python: 3.8-dev - python: nightly @@ -82,4 +78,4 @@ deploy: tags: true repo: python-escpos/python-escpos branch: master - condition: $TRAVIS_PYTHON_VERSION = "3.7" + condition: $TRAVIS_PYTHON_VERSION = "3.8" diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..d4f4af7 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,16 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "test with tox", + "type": "shell", + "command": "tox", + "group": { + "kind": "test", + "isDefault": true + } + } + ] +} \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d823f07..6360a69 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,10 +1,35 @@ ********* Changelog ********* +2020-05-09 - Version 3.0a7 - "No Fixed Abode" +--------------------------------------------- +This release is the eight alpha release of the new version 3.0. +Please be aware that the API is subject to change until v3.0 +is released. + +This release also marks the point at which the project transitioned +to having only a master-branch (and not an additional development branch). + +changes +^^^^^^^ +- add Exception for NotImplementedError in detach_kernel_driver +- update installation information +- update and improve documentation +- add error handling to image centering flag +- update and fix tox and CI environment, preparing drop of support for Python 2 + +contributors +^^^^^^^^^^^^ +- Alexander Bougakov +- Brian +- Yaisel Hurtado +- Maximilan Wagenbach +- Patrick Kanzler + 2019-06-19 - Version 3.0a6 - "Mistake not..." --------------------------------------------- This release is the seventh alpha release of the new version 3.0. -Please be aware the the API is subject to change until v3.0 is +Please be aware that the API is subject to change until v3.0 is released. changes diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index d249035..dd0bb9b 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -37,12 +37,9 @@ Apart from that the travis-log and the check by Landscape will provide you with GIT ^^^ -The master-branch contains code that has been released to PyPi. A release is marked with a tag -corresponding to the version. Issues are closed when they have been resolved in the development-branch. - -When you have a change to make, begin by creating a new branch from the HEAD of `python-escpos/development`. -Name your branch to indicate what you are trying to achieve. Good branch names might -be `improve/text-handling`, `feature/enable-color-printing`. +The master-branch contains the main development of the project. A release to PyPi is marked with a tag +corresponding to the version. Issues are closed when they have been resolved by merging into the master-branch. +When you have a change to make, begin by creating a new branch from the HEAD of `python-escpos/master`. Please try to group your commits into logical units. If you need to tidy up your branch, you can make use of a git feature called an 'interactive rebase' before making a pull request. A small, self-contained change-set is diff --git a/MANIFEST.in b/MANIFEST.in index f1666ca..d8e439a 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,6 +4,7 @@ include LICENSE include INSTALL include tox.ini include capabilities-data/dist/capabilities.json +include src/escpos/capabilities.json recursive-include doc *.bat recursive-include doc *.ico recursive-include doc *.py diff --git a/capabilities-data b/capabilities-data index 8885283..3b5b35c 160000 --- a/capabilities-data +++ b/capabilities-data @@ -1 +1 @@ -Subproject commit 8885283d71a43758aa63d633fd2301df13dce9d5 +Subproject commit 3b5b35cfd35d297f9085ec16d47d1f77c3f1e768 diff --git a/readthedocs.yml b/readthedocs.yml index ecf365d..d34f875 100644 --- a/readthedocs.yml +++ b/readthedocs.yml @@ -3,5 +3,5 @@ formats: - epub requirements_file: doc/requirements.txt python: - version: 2 + version: 3 setup_py_install: true \ No newline at end of file diff --git a/setup.py b/setup.py index 5f5e11f..41a5f23 100755 --- a/setup.py +++ b/setup.py @@ -65,8 +65,8 @@ setup( 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: Implementation :: CPython', - 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: Office/Business :: Financial :: Point-Of-Sale', ], @@ -95,7 +95,7 @@ setup( 'nose', 'scripttest', 'mock', - 'hypothesis!=3.56.9,<4', + 'hypothesis>4', 'flake8' ], entry_points={ diff --git a/test/test_printer_file.py b/test/test_printer_file.py index a03aec3..6cf3c5f 100644 --- a/test/test_printer_file.py +++ b/test/test_printer_file.py @@ -24,7 +24,6 @@ else: @pytest.mark.skip("this test is broken and has to be fixed or discarded") -@settings(use_coverage=False) @given(path=text()) def test_load_file_printer(mocker, path): """test the loading of the file-printer""" @@ -36,7 +35,6 @@ def test_load_file_printer(mocker, path): @pytest.mark.skip("this test is broken and has to be fixed or discarded") -@settings(deadline=None, use_coverage=False) @given(txt=text()) def test_auto_flush(mocker, txt): """test auto_flush in file-printer""" @@ -58,7 +56,6 @@ def test_auto_flush(mocker, txt): @pytest.mark.skip("this test is broken and has to be fixed or discarded") -@settings(deadline=None, use_coverage=False) @given(txt=text()) def test_flush_on_close(mocker, txt): """test flush on close in file-printer""" diff --git a/tox.ini b/tox.ini index 48b07b5..7b23804 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,12 @@ [tox] -envlist = py35, py36, py37, docs, flake8 +envlist = py35, py36, py37, py38, docs, flake8 + +[gh-actions] +python = + 2.7: py27 + 3.6: py36 + 3.7: py37 + 3.8: py38 [testenv] deps = nose @@ -10,9 +17,9 @@ deps = nose pytest!=3.2.0,!=3.3.0 pytest-cov pytest-mock - hypothesis!=3.56.9,<4 + hypothesis>4 python-barcode -commands = py.test --cov escpos +commands = pytest --cov escpos passenv = ESCPOS_CAPABILITIES_PICKLE_DIR ESCPOS_CAPABILITIES_FILE CI TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* CODECOV_* [testenv:docs]