From 4c26f5fade9d856179d17101bceba9bb8999b2eb Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 25 Aug 2025 13:06:54 +0300 Subject: [PATCH 01/14] ref(tox-config): migrate tox config from `tox.ini` to `pyproject.toml` --- pyproject.toml | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 135d070c..1a255bcf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,3 +25,80 @@ module = ["pytest", "win32print" ] ignore_missing_imports = true + +[tool.tox] +envlist = ["py38", "py39", "py310", "py311", "py312", "py313", "docs", "flake8"] + +[tool.tox.gh-actions] +python = """ +2.7: py27 +3.6: py36 +3.7: py37 +3.8: py38 +3.9: py39 +3.10: py310 +3.11: py311 +3.12: py312 +3.13: py313""" + +[tool.tox.env_run_base] +deps = [ + "jaconv", + "coverage", + "scripttest", + "mock", + "pytest>=7.4", + "pytest-cov", + "pytest-mock", + "hypothesis>=6.83", + "python-barcode>=0.15.0,<1" +] +extras = ["all"] +commands = [["pytest"]] +passenv = ["ESCPOS_CAPABILITIES_PICKLE_DIR", "ESCPOS_CAPABILITIES_FILE", "CI", "TRAVIS", "TRAVIS_*", "APPVEYOR", "APPVEYOR_*", "CODECOV_*"] +setenv = {PY_IGNORE_IMPORTMISMATCH = 1} + +[tool.tox.env.docs] +base_python = "python" +changedir = "doc" +deps = [ + "sphinx>=7.2.3", + "setuptools_scm", + "python-barcode>=0.15.0,<1", + "sphinx-argparse", + "sphinxcontrib-spelling>=8.0.0", + "sphinxcontrib.datatemplates", + "sphinx-autodoc-typehints", + "sphinx_rtd_theme", + "pycups", +] +commands = [ + ["sphinx-build", "-W", "-b", "html", "-d", "{envtmpdir}/doctrees", ".", "{envtmpdir}/html"], + ["sphinx-build", "-W", "-b", "spelling", "-d", "{envtmpdir}/doctrees", ".", "{envtmpdir}/spelling"], +] + + +[tool.tox.env.flake8] +base_python = "python" +deps = [ + "flake8", + "flake8-docstrings", +] +commands = [["flake8"]] + +[tool.tox.env.mypy] +base_python = "python" +deps = [ + "mypy", + "types-six", + "types-mock", + "types-PyYAML", + "types-appdirs", + "types-Pillow", + "types-pyserial", + "types-pywin32>=306.0.0.6", + "types-flask", + "hypothesis>=6.83", + "jaconv", +] +commands = [["mypy", "src", "test", "examples"]] From 0151407096d85e7ef5168e72c8de999d4f0d4936 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 25 Aug 2025 13:08:15 +0300 Subject: [PATCH 02/14] remove redundant files --- tox.ini | 64 --------------------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100644 tox.ini diff --git a/tox.ini b/tox.ini deleted file mode 100644 index fa48a3d4..00000000 --- a/tox.ini +++ /dev/null @@ -1,64 +0,0 @@ -[tox] -envlist = py38, py39, py310, py311, py312, py313, docs, flake8 - -[gh-actions] -python = - 2.7: py27 - 3.6: py36 - 3.7: py37 - 3.8: py38 - 3.9: py39 - 3.10: py310 - 3.11: py311 - 3.12: py312 - 3.13: py313 - -[testenv] -deps = jaconv - coverage - scripttest - mock - pytest>=7.4 - pytest-cov - pytest-mock - hypothesis>=6.83 - python-barcode>=0.15.0,<1 -extras = all -commands = pytest -passenv = ESCPOS_CAPABILITIES_PICKLE_DIR, ESCPOS_CAPABILITIES_FILE, CI, TRAVIS, TRAVIS_*, APPVEYOR, APPVEYOR_*, CODECOV_* -setenv = PY_IGNORE_IMPORTMISMATCH=1 - -[testenv:docs] -basepython = python -changedir = doc -deps = sphinx>=7.2.3 - setuptools_scm - python-barcode>=0.15.0,<1 - sphinx-argparse - sphinxcontrib-spelling>=8.0.0 - sphinxcontrib.datatemplates - sphinx-autodoc-typehints - sphinx_rtd_theme - pycups -commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html - sphinx-build -W -b spelling -d {envtmpdir}/doctrees . {envtmpdir}/spelling - -[testenv:flake8] -basepython = python -deps = flake8 - flake8-docstrings -commands = flake8 - -[testenv:mypy] -basepython = python -deps = mypy - types-six - types-mock - types-PyYAML - types-Pillow - types-pyserial - types-pywin32>=306.0.0.6 - types-flask - hypothesis>=6.83 - jaconv -commands = mypy src test examples From 81e1a6017b42ae2c44ce5d5ee12f943549106aab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20Sezer=20Ta=C5=9Fan?= <13135006+hasansezertasan@users.noreply.github.com> Date: Wed, 27 Aug 2025 11:56:47 +0300 Subject: [PATCH 03/14] Update pyproject.toml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benito López --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1a255bcf..562f9d1f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -56,7 +56,7 @@ deps = [ extras = ["all"] commands = [["pytest"]] passenv = ["ESCPOS_CAPABILITIES_PICKLE_DIR", "ESCPOS_CAPABILITIES_FILE", "CI", "TRAVIS", "TRAVIS_*", "APPVEYOR", "APPVEYOR_*", "CODECOV_*"] -setenv = {PY_IGNORE_IMPORTMISMATCH = 1} +setenv = {PY_IGNORE_IMPORTMISMATCH = "1"} [tool.tox.env.docs] base_python = "python" From f5ebc3ac618fba48411319b6fd1c9564c183775e Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 1 Sep 2025 12:54:16 +0300 Subject: [PATCH 04/14] Update CHANGELOG for version 3.2 and modify pyproject.toml to use list for base_python in tox environments --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 562f9d1f..19114737 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,7 +59,7 @@ passenv = ["ESCPOS_CAPABILITIES_PICKLE_DIR", "ESCPOS_CAPABILITIES_FILE", "CI", " setenv = {PY_IGNORE_IMPORTMISMATCH = "1"} [tool.tox.env.docs] -base_python = "python" +base_python = ["python"] changedir = "doc" deps = [ "sphinx>=7.2.3", @@ -79,7 +79,7 @@ commands = [ [tool.tox.env.flake8] -base_python = "python" +base_python = ["python"] deps = [ "flake8", "flake8-docstrings", @@ -87,7 +87,7 @@ deps = [ commands = [["flake8"]] [tool.tox.env.mypy] -base_python = "python" +base_python = ["python"] deps = [ "mypy", "types-six", From 26a22d980d7d1b38b30d5c6e7ca6e62aaca7b191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20Sezer=20Ta=C5=9Fan?= <13135006+hasansezertasan@users.noreply.github.com> Date: Mon, 1 Sep 2025 20:57:56 +0300 Subject: [PATCH 05/14] Update pyproject.toml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Benito López --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 19114737..7ddfdcb4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -93,7 +93,6 @@ deps = [ "types-six", "types-mock", "types-PyYAML", - "types-appdirs", "types-Pillow", "types-pyserial", "types-pywin32>=306.0.0.6", From 868f3f50d2c451642937fe29660a1f3fb3431db5 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Fri, 5 Sep 2025 01:59:41 +0300 Subject: [PATCH 06/14] Update Python version matrix in GitHub Actions workflow to remove Python 3.8 --- .github/workflows/pythonpackage.yml | 2 +- pyproject.toml | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index f49c6820..7a474fec 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v5 diff --git a/pyproject.toml b/pyproject.toml index 7ddfdcb4..e91b82fa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,20 +26,19 @@ module = ["pytest", ] ignore_missing_imports = true + [tool.tox] -envlist = ["py38", "py39", "py310", "py311", "py312", "py313", "docs", "flake8"] +requires = ["tox>=4.11", "tox-uv>=1.13"] +envlist = ["3.9", "3.10", "3.11", "3.12", "3.13", "docs", "flake8", "mypy"] + + +[tool.tox.gh.python] +"3.13" = ["3.13", "docs", "flake8", "mypy"] +"3.12" = ["3.12"] +"3.11" = ["3.11"] +"3.10" = ["3.10"] +"3.9" = ["3.9"] -[tool.tox.gh-actions] -python = """ -2.7: py27 -3.6: py36 -3.7: py37 -3.8: py38 -3.9: py39 -3.10: py310 -3.11: py311 -3.12: py312 -3.13: py313""" [tool.tox.env_run_base] deps = [ @@ -86,6 +85,7 @@ deps = [ ] commands = [["flake8"]] + [tool.tox.env.mypy] base_python = ["python"] deps = [ From 37abc66193c07853c2ce263c3999212d39c8af71 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Sun, 7 Sep 2025 22:43:46 +0300 Subject: [PATCH 07/14] Update GitHub Actions workflows to use `tox-gh` instead of `tox-gh-actions` for dependency installation --- .github/workflows/pythonpackage-windows.yml | 2 +- .github/workflows/pythonpackage.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pythonpackage-windows.yml b/.github/workflows/pythonpackage-windows.yml index a4633de3..5aa5f2fb 100644 --- a/.github/workflows/pythonpackage-windows.yml +++ b/.github/workflows/pythonpackage-windows.yml @@ -25,7 +25,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install flake8 pytest tox tox-gh-actions + pip install flake8 pytest tox tox-gh If (Test-Path .\requirements.txt) { pip install -r .\requirements.txt } - name: Lint with flake8 run: | diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index 7a474fec..a50a4cf4 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -30,7 +30,7 @@ jobs: sudo apt-get update sudo apt-get install -y graphviz libenchant-2-2 gcc libcups2-dev python3-dev xindy python -m pip install --upgrade pip - pip install flake8 pytest tox tox-gh-actions + pip install flake8 pytest tox tox-gh if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Check sorting of imports uses: isort/isort-action@master From 62b89e98a67f97c1fc88c1f503fd109c4c8338a1 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Sun, 7 Sep 2025 22:47:32 +0300 Subject: [PATCH 08/14] Refactor pyproject.toml for improved formatting and consistency in dependency lists and test paths --- pyproject.toml | 125 +++++++++++++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 51 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e91b82fa..9ac31ae8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,29 +1,28 @@ [tool.black] extend-exclude = 'capabilities-data' + [tool.isort] profile = "black" + [tool.pytest.ini_options] minversion = "6.0" addopts = "--doctest-modules --cov escpos --cov-report=xml" -testpaths = [ - "test", - "src", - "src/escpos", - "escpos", -] +testpaths = ["test", "src", "src/escpos", "escpos"] + [[tool.mypy.overrides]] -module = ["pytest", - "jaconv", - "scripttest", - "barcode.*", - "qrcode", - "usb.*", - "cups", - "win32print" - ] +module = [ + "pytest", + "jaconv", + "scripttest", + "barcode.*", + "qrcode", + "usb.*", + "cups", + "win32print", +] ignore_missing_imports = true @@ -42,62 +41,86 @@ envlist = ["3.9", "3.10", "3.11", "3.12", "3.13", "docs", "flake8", "mypy"] [tool.tox.env_run_base] deps = [ - "jaconv", - "coverage", - "scripttest", - "mock", - "pytest>=7.4", - "pytest-cov", - "pytest-mock", - "hypothesis>=6.83", - "python-barcode>=0.15.0,<1" + "jaconv", + "coverage", + "scripttest", + "mock", + "pytest>=7.4", + "pytest-cov", + "pytest-mock", + "hypothesis>=6.83", + "python-barcode>=0.15.0,<1", ] extras = ["all"] commands = [["pytest"]] -passenv = ["ESCPOS_CAPABILITIES_PICKLE_DIR", "ESCPOS_CAPABILITIES_FILE", "CI", "TRAVIS", "TRAVIS_*", "APPVEYOR", "APPVEYOR_*", "CODECOV_*"] -setenv = {PY_IGNORE_IMPORTMISMATCH = "1"} +passenv = [ + "ESCPOS_CAPABILITIES_PICKLE_DIR", + "ESCPOS_CAPABILITIES_FILE", + "CI", + "TRAVIS", + "TRAVIS_*", + "APPVEYOR", + "APPVEYOR_*", + "CODECOV_*", +] +setenv = { PY_IGNORE_IMPORTMISMATCH = "1" } [tool.tox.env.docs] base_python = ["python"] changedir = "doc" deps = [ - "sphinx>=7.2.3", - "setuptools_scm", - "python-barcode>=0.15.0,<1", - "sphinx-argparse", - "sphinxcontrib-spelling>=8.0.0", - "sphinxcontrib.datatemplates", - "sphinx-autodoc-typehints", - "sphinx_rtd_theme", - "pycups", + "sphinx>=7.2.3", + "setuptools_scm", + "python-barcode>=0.15.0,<1", + "sphinx-argparse", + "sphinxcontrib-spelling>=8.0.0", + "sphinxcontrib.datatemplates", + "sphinx-autodoc-typehints", + "sphinx_rtd_theme", + "pycups", ] commands = [ - ["sphinx-build", "-W", "-b", "html", "-d", "{envtmpdir}/doctrees", ".", "{envtmpdir}/html"], - ["sphinx-build", "-W", "-b", "spelling", "-d", "{envtmpdir}/doctrees", ".", "{envtmpdir}/spelling"], + [ + "sphinx-build", + "-W", + "-b", + "html", + "-d", + "{envtmpdir}/doctrees", + ".", + "{envtmpdir}/html", + ], + [ + "sphinx-build", + "-W", + "-b", + "spelling", + "-d", + "{envtmpdir}/doctrees", + ".", + "{envtmpdir}/spelling", + ], ] [tool.tox.env.flake8] base_python = ["python"] -deps = [ - "flake8", - "flake8-docstrings", -] +deps = ["flake8", "flake8-docstrings"] commands = [["flake8"]] [tool.tox.env.mypy] base_python = ["python"] deps = [ - "mypy", - "types-six", - "types-mock", - "types-PyYAML", - "types-Pillow", - "types-pyserial", - "types-pywin32>=306.0.0.6", - "types-flask", - "hypothesis>=6.83", - "jaconv", + "mypy", + "types-six", + "types-mock", + "types-PyYAML", + "types-Pillow", + "types-pyserial", + "types-pywin32>=306.0.0.6", + "types-flask", + "hypothesis>=6.83", + "jaconv", ] commands = [["mypy", "src", "test", "examples"]] From 21753641993f1c7905f66b616af60f1ecf7da1f5 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Sun, 7 Sep 2025 22:50:35 +0300 Subject: [PATCH 09/14] Remove unnecessary dependency `tox-uv` from pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9ac31ae8..8e278012 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,7 @@ ignore_missing_imports = true [tool.tox] -requires = ["tox>=4.11", "tox-uv>=1.13"] +requires = ["tox>=4.11"] envlist = ["3.9", "3.10", "3.11", "3.12", "3.13", "docs", "flake8", "mypy"] From 64c9e03222a0a297b6b11502f51e8330afb57d04 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 8 Sep 2025 00:18:54 +0300 Subject: [PATCH 10/14] Update GitHub Actions workflows to specify `pyproject.toml` for `tox` configuration and add a blank line in `pyproject.toml` for improved readability. --- .github/workflows/pythonpackage-windows.yml | 8 +- .github/workflows/pythonpackage.yml | 8 +- CHANGELOG copy.rst | 539 ++++++++++++++++++++ pyproject.toml | 1 + 4 files changed, 544 insertions(+), 12 deletions(-) create mode 100644 CHANGELOG copy.rst diff --git a/.github/workflows/pythonpackage-windows.yml b/.github/workflows/pythonpackage-windows.yml index 5aa5f2fb..6f5ed470 100644 --- a/.github/workflows/pythonpackage-windows.yml +++ b/.github/workflows/pythonpackage-windows.yml @@ -1,19 +1,15 @@ name: Python package on Windows - on: push: branches: [ master ] pull_request: branches: [ master ] - jobs: build: - runs-on: windows-latest strategy: matrix: python-version: ['3.11', '3.12', '3.13'] - steps: - uses: actions/checkout@v5 with: @@ -35,12 +31,12 @@ jobs: flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with tox run: | - tox + tox --conf pyproject.toml env: ESCPOS_CAPABILITIES_FILE: D:\a\python-escpos\python-escpos\capabilities-data\dist\capabilities.json - name: Test mypy with tox run: | - tox -e mypy + tox --conf pyproject.toml -e mypy env: ESCPOS_CAPABILITIES_FILE: D:\a\python-escpos\python-escpos\capabilities-data\dist\capabilities.json - name: Upload coverage to Codecov diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index a50a4cf4..1dff3a78 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -1,17 +1,13 @@ # This workflow will install Python dependencies, run tests and lint with a variety of Python versions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - name: Python package - on: push: branches: [ master ] pull_request: branches: [ master ] - jobs: build: - runs-on: ubuntu-latest strategy: matrix: @@ -45,12 +41,12 @@ jobs: flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with tox run: | - tox + tox --conf pyproject.toml env: ESCPOS_CAPABILITIES_FILE: /home/runner/work/python-escpos/python-escpos/capabilities-data/dist/capabilities.json - name: Test mypy with tox run: | - tox -e mypy + tox --conf pyproject.toml -e mypy env: ESCPOS_CAPABILITIES_FILE: /home/runner/work/python-escpos/python-escpos/capabilities-data/dist/capabilities.json - name: Upload coverage to Codecov diff --git a/CHANGELOG copy.rst b/CHANGELOG copy.rst new file mode 100644 index 00000000..8a4afb48 --- /dev/null +++ b/CHANGELOG copy.rst @@ -0,0 +1,539 @@ +Changelog +========= + +202x-xx-xx - Version 3.x - "" +------------------------------------------- + + +changes +^^^^^^^ + + +contributors +^^^^^^^^^^^^ + + +2025-08-22 - Version 3.2 - "Quietly Confident" +------------------------------------------- +This is the minor release of the new version 3.2. +It replaces `appdirs` with `platformdirs` to fix +the deprecation warning. + +changes +^^^^^^^ +- Replace `appdirs` with `platformdirs` + + +contributors +^^^^^^^^^^^^ +- Hasan Sezer Taşan + + +2023-12-17 - Version 3.1 - "Rubric Of Ruin" +------------------------------------------- +This is the minor release of the new version 3.1. +It adds a modification of the API of the qr-method, +hence the minor release. + +changes +^^^^^^^ +- extend API of the qr-method to allow passing image + parameters in non-native mode +- use version 0.15 and upwards of python-barcode +- fix an issue in the config provider that prevented + config files to be found when only a path was supplied +- Improve type annotations, usage of six and other + packaging relevant parts. + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler +- Alexandre Detiste +- tuxmaster +- belono + + +2023-11-17 - Version 3.0 - "Quietly Confident" +---------------------------------------------- +This is the major release of the new version 3.0. +A big thank you to @belono for their many contributions +for the finalization of v3! + +The third major release of this library drops support for +Python 2 and requires a Python version of at least 3.8. +The API has been reworked to be more consistent and two +new concepts have been introduced: + +`Capabilities` allow the library to know which features +the currently used printer implements and send fitting +commands. +`Magic Encode` is a new feature that uses the +capability information and encodes Unicode automatically +with the correct code page while sending also the +code page change commands. + +The license of the project has been changed to MIT +in accordance with its contributors. + +The changes listed here are a summary of the changes +of the previous alpha releases. For details please +read the changelog of the alpha releases. + + +changes +^^^^^^^ +- change the project's license to MIT in accordance with the contributors (see python-escpos/python-escpos#171) +- feature: add "capabilities" which are shared with escpos-php, capabilities are stored in + `escpos-printer-db `_ +- feature: the driver tries now to guess the appropriate code page and sets it automatically (called "magic encode") +- as an alternative you can force the code page with the old API +- fix the encoding search so that lower encodings are found first +- automatically handle cases where full cut or partial cut is not available +- refactor of the set-method +- preliminary support of POS "line display" printing +- add support for software-based barcode-rendering +- make feed for cut optional +- implemented paper sensor querying command +- Include support for CUPS based printer interfaces +- add Win32Raw-Printer on Windows-platforms +- add and improve Windows support of USB-class +- pickle capabilities for faster startup + +contributors +^^^^^^^^^^^^ +This is a list of contributors since the last v2 release. + +- Ahmed Tahri +- akeonly +- Alexander Bougakov +- AlexandroJaez +- Asuki Kono +- belono +- brendanhowell +- Brian +- Christoph Heuel +- csoft2k +- Curtis // mashedkeyboard +- Dmytro Katyukha +- Foaly +- Gerard Marull-Paretas +- Justin Vieira +- kedare +- kennedy +- Lucy Linder +- Maximilian Wagenbach +- Michael Billington +- Michael Elsdörfer +- mrwunderbar666 +- NullYing +- Omer Akram +- Patrick Kanzler +- primax79 +- Ramon Poca +- reck31 +- Romain Porte +- Sam Cheng +- Scott Rotondo +- Sergio Pulgarin +- Thijs Triemstra +- Yaisel Hurtado +- ysuolmai + +and others + +2023-05-11 - Version 3.0a9 - "Pride Comes Before A Fall" +-------------------------------------------------------- +This release is the 10th alpha release of the new version 3.0. +After three years hiatus, a new release is in work in order to +finally get a version 3.0 out. + +changes +^^^^^^^ +- Include support for CUPS based printer interfaces +- Move the build tool chain to GitHub + +contributors +^^^^^^^^^^^^ +- belono +- brendanhowell +- AlexandroJaez +- NullYing +- kedare +- Foaly +- patkan +- and others + +2020-05-12 - Version 3.0a8 - "Only Slightly Bent" +------------------------------------------------- +This release is the ninth 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 drops support for Python 2, requiring at least +version 3.5 of Python. + +changes +^^^^^^^ +- Drop support for Python 2 and mark in setuptools as only supporting 3.5 and upwards +- remove landscape.io badge +- replace viivakoodi with python-barcode which is maintained +- add configuration for Visual Studio Code +- use pkg_resources for the retrieval of the capabilities.json + +contributors +^^^^^^^^^^^^ +- Romain Porte +- Patrick Kanzler + +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 +- Maximilian 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 that the API is subject to change until v3.0 is +released. + +changes +^^^^^^^ +- fix inclusion of the capabilities-file +- execute CI jobs also on Windows and MacOS-targets +- improve documentation + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler + +2019-06-16 - Version 3.0a5 - "Lightly Seared On The Reality Grill" +------------------------------------------------------------------ +This release is the sixth alpha release of the new version 3.0. Please +be aware that the API is subject to change until v3.0 is released. + +changes +^^^^^^^ +- allow arbitrary USB arguments in USB-class +- add Win32Raw-Printer on Windows-platforms +- add and improve Windows support of USB-class +- use pyyaml safe_load() +- improve doc +- implement _read method of Network printer class + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler +- Gerard Marull-Paretas +- Ramon Poca +- akeonly +- Omer Akram +- Justin Vieira + +2018-05-15 - Version 3.0a4 - "Kakistocrat" +------------------------------------------ +This release is the fifth alpha release of the new version 3.0. Please +be aware that the API will still change until v3.0 is released. + +changes +^^^^^^^ +- raise exception when TypeError occurs in cashdraw (#268) +- Feature/clear content in dummy printer (#271) +- fix is_online() (#282) +- improve documentation +- Modified submodule to always pull from master branch (#283) +- parameter for implementation of nonnative qrcode (#289) +- improve platform independence (#296) + +contributors +^^^^^^^^^^^^ +- Christoph Heuel +- Patrick Kanzler +- kennedy +- primax79 +- reck31 +- Thijs Triemstra + +2017-10-08 - Version 3.0a3 - "Just Testing" +------------------------------------------- +This release is the fourth alpha release of the new version 3.0. Please +be aware that the API will still change until v3.0 is released. + +changes +^^^^^^^ +- minor changes in documentation, tests and examples +- pickle capabilities for faster startup +- first implementation of centering images and QR +- check barcodes based on regex + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler +- Lucy Linder +- Romain Porte +- Sergio Pulgarin + +2017-08-04 - Version 3.0a2 - "It's My Party And I'll Sing If I Want To" +----------------------------------------------------------------------- +This release is the third alpha release of the new version 3.0. Please +be aware that the API will still change until v3.0 is released. + +changes +^^^^^^^ +- refactor of the set-method +- preliminary support of POS "line display" printing +- improvement of tests +- added ImageWidthError +- list authors in repository +- add support for software-based barcode-rendering +- fix SerialException when trying to close device on __del__ +- added the DLE EOT querying command for USB and Serial +- ensure QR codes have a large enough border +- make feed for cut optional +- fix the behavior of horizontal tabs +- added test script for hard an soft barcodes +- implemented paper sensor querying command +- added weather forecast example script +- added a method for simpler newlines + +contributors +^^^^^^^^^^^^ +- csoft2k +- Patrick Kanzler +- mrwunderbar666 +- Romain Porte +- Ahmed Tahri + +2017-03-29 - Version 3.0a1 - "Headcrash" +---------------------------------------- +This release is the second alpha release of the new version 3.0. Please +be aware that the API will still change until v3.0 is released. + +changes +^^^^^^^ +- automatically upload releases to GitHub +- add environment variable ESCPOS_CAPABILITIES_FILE +- automatically handle cases where full cut or partial cut is not available +- add print_and_feed + +contributors +^^^^^^^^^^^^ +- Sam Cheng +- Patrick Kanzler +- Dmytro Katyukha + +2017-01-31 - Version 3.0a - "Grey Area" +--------------------------------------- +This release is the first alpha release of the new version 3.0. Please +be aware that the API will still change until v3.0 is released. + +changes +^^^^^^^ +- change the project's license to MIT in accordance with the contributors (see python-escpos/python-escpos#171) +- feature: add "capabilities" which are shared with escpos-php, capabilities are stored in + `escpos-printer-db `_ +- feature: the driver tries now to guess the appropriate code page and sets it automatically (called "magic encode") +- as an alternative you can force the code page with the old API +- updated and improved documentation +- changed constructor of main class due to introduction of capabilities +- changed interface of method `blocktext`, changed behavior of multiple methods, for details refer to the documentation + on `python-escpos.readthedocs.io `_ +- add support for custom cash drawer sequence +- enforce flake8 on the src-files, test py36 and py37 on Travis + +contributors +^^^^^^^^^^^^ +- Michael Billington +- Michael Elsdörfer +- Patrick Kanzler (with code by Frédéric Van der Essen) +- Asuki Kono +- Benito López +- Curtis // mashedkeyboard +- Thijs Triemstra +- ysuolmai + +2016-08-26 - Version 2.2.0 - "Fate Amenable To Change" +------------------------------------------------------ + +changes +^^^^^^^ +- fix improper API-use in qrcode() +- change setup.py shebang to make it compatible with virtualenvs. +- add constants for sheet mode and colors +- support changing the line spacing + +contributors +^^^^^^^^^^^^ +- Michael Elsdörfer +- Patrick Kanzler + +2016-08-10 - Version 2.1.3 - "Ethics Gradient" +---------------------------------------------- + +changes +^^^^^^^ +- configure readthedocs and Travis +- update doc with hint on image preprocessing +- add fix for printing large images (by splitting them into multiple images) + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler + +2016-08-02 - Version 2.1.2 - "Death and Gravity" +------------------------------------------------ + +changes +^^^^^^^ +- fix File-printer: flush after every call of _raw() +- fix lists in documentation +- fix CODE128: by adding the control character to the barcode-selection-sequence the barcode became unusable + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler + +2016-08-02 - Version 2.1.1 - "Contents May Differ" +-------------------------------------------------- + +changes +^^^^^^^ +- rename variable interface in USB-class to timeout +- add support for hypothesis and move pypy3 to the allowed failures (pypy3 is not supported by hypothesis) + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler +- Renato Lorenzi + +2016-07-23 - Version 2.1.0 - "But Who's Counting?" +-------------------------------------------------- + +changes +^^^^^^^ +- packaging: configured the coverage-analysis codecov.io +- GitHub: improved issues-template +- documentation: add troubleshooting tip to network-interface +- the module, CLI and documentation is now aware of the version of python-escpos +- the CLI does now support basic tab completion + +contributors +^^^^^^^^^^^^ +- Patrick Kanzler + +2016-06-24 - Version 2.0.0 - "Attitude Adjuster" +------------------------------------------------ + +This version is based on the original version of python-escpos by Manuel F Martinez. However, many contributions have +greatly improved the old codebase. Since this version does not completely match the interface of the version published +on PyPi and has many improvements, it will be released as version 2.0.0. + +changes +^^^^^^^ +- refactor complete code in order to be compatible with Python 2 and 3 +- modernize packaging +- add testing and CI +- merge various forks into codebase, fixing multiple issues with barcode-, QR-printing, cash-draw and structure +- improve the documentation +- extend support of barcode-codes to type B +- add function to disable panel-buttons +- the text-functions are now intended for Unicode, the driver will automatically encode the string based on the selected + code page +- the image-functions are now much more flexible +- added a CLI +- restructured the constants + +contributors +^^^^^^^^^^^^ +- Thomas van den Berg +- Michael Billington +- Nate Bookham +- Davis Goglin +- Christoph Heuel +- Patrick Kanzler +- Qian LinFeng + +2016-01-24 - Version 1.0.9 +-------------------------- + +- fix constant definition for PC1252 +- move documentation to Sphinx + +2015-10-27 - Version 1.0.8 +-------------------------- + +- Merge pull request #59 from zouppen/master + - Support for images vertically longer than 256 pixels + - Sent by Joel Lehtonen +- Updated README + +2015-08-22 - Version 1.0.7 +-------------------------- + +- Issue #57: Fixed transparent images + +2015-07-06 - Version 1.0.6 +-------------------------- + +- Merge pull request #53 from ldos/master + - Extended parameters for serial printers + - Sent by ldos + +2015-04-21 - Version 1.0.5 +-------------------------- + +- Merge pull request #45 from Krispy2009/master + - Raising the right error when wrong charcode is used + - Sent by Kristi + +2014-05-20 - Version 1.0.4 +-------------------------- + +- Issue #20: Added Density support (Sent by thomas.erbacher@ragapack.de) +- Added charcode tables +- Fixed Horizontal Tab +- Fixed code tabulators + +2014-02-23 - Version 1.0.3 +-------------------------- + +- Issue #18: Added quad-area characters (Sent by syncman1x@gmail.com) +- Added exception for PIL import + +2013-12-30 - Version 1.0.2 +-------------------------- + +- Issue #5: Fixed vertical tab +- Issue #9: Fixed indentation inconsistency + +2013-03-14 - Version 1.0.1 +-------------------------- + +- Issue #8: Fixed set font +- Added QR support + +2012-11-15 - Version 1.0 +------------------------ + +- Issue #2: Added Ethernet support +- Issue #3: Added compatibility with libusb-1.0.1 +- Issue #4: Fixed typo in escpos.py diff --git a/pyproject.toml b/pyproject.toml index 8e278012..f7c90a64 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,6 +65,7 @@ passenv = [ ] setenv = { PY_IGNORE_IMPORTMISMATCH = "1" } + [tool.tox.env.docs] base_python = ["python"] changedir = "doc" From 9e1a9ce74625f4f895d04e514fcfa925529454b4 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 8 Sep 2025 00:20:38 +0300 Subject: [PATCH 11/14] Update GitHub Actions workflow to specify `pyproject.toml` for `tox` command in documentation build step --- .github/workflows/documentation.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index c0615967..5723bc62 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -1,7 +1,5 @@ # This is a basic workflow to help you get started with Actions - name: Documentation build - # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch on: @@ -9,14 +7,12 @@ on: branches: [ master ] pull_request: branches: [ master ] - # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "docs" docs: # The type of runner that the job will run on runs-on: ubuntu-latest - # Steps represent a sequence of tasks that will be executed as part of the job steps: - uses: actions/checkout@v5 @@ -29,4 +25,4 @@ jobs: sudo apt-get install -y gcc libcups2-dev python3-dev python3-setuptools && sudo pip install --ignore-installed tox pycups - name: Test doc build - run: tox -e docs + run: tox --conf pyproject.toml -e docs From 6624ef4f81d25618e7dda81133d8f72a585f4270 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 8 Sep 2025 00:24:06 +0300 Subject: [PATCH 12/14] remove redundant files --- CHANGELOG copy.rst | 539 --------------------------------------------- 1 file changed, 539 deletions(-) delete mode 100644 CHANGELOG copy.rst diff --git a/CHANGELOG copy.rst b/CHANGELOG copy.rst deleted file mode 100644 index 8a4afb48..00000000 --- a/CHANGELOG copy.rst +++ /dev/null @@ -1,539 +0,0 @@ -Changelog -========= - -202x-xx-xx - Version 3.x - "" -------------------------------------------- - - -changes -^^^^^^^ - - -contributors -^^^^^^^^^^^^ - - -2025-08-22 - Version 3.2 - "Quietly Confident" -------------------------------------------- -This is the minor release of the new version 3.2. -It replaces `appdirs` with `platformdirs` to fix -the deprecation warning. - -changes -^^^^^^^ -- Replace `appdirs` with `platformdirs` - - -contributors -^^^^^^^^^^^^ -- Hasan Sezer Taşan - - -2023-12-17 - Version 3.1 - "Rubric Of Ruin" -------------------------------------------- -This is the minor release of the new version 3.1. -It adds a modification of the API of the qr-method, -hence the minor release. - -changes -^^^^^^^ -- extend API of the qr-method to allow passing image - parameters in non-native mode -- use version 0.15 and upwards of python-barcode -- fix an issue in the config provider that prevented - config files to be found when only a path was supplied -- Improve type annotations, usage of six and other - packaging relevant parts. - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler -- Alexandre Detiste -- tuxmaster -- belono - - -2023-11-17 - Version 3.0 - "Quietly Confident" ----------------------------------------------- -This is the major release of the new version 3.0. -A big thank you to @belono for their many contributions -for the finalization of v3! - -The third major release of this library drops support for -Python 2 and requires a Python version of at least 3.8. -The API has been reworked to be more consistent and two -new concepts have been introduced: - -`Capabilities` allow the library to know which features -the currently used printer implements and send fitting -commands. -`Magic Encode` is a new feature that uses the -capability information and encodes Unicode automatically -with the correct code page while sending also the -code page change commands. - -The license of the project has been changed to MIT -in accordance with its contributors. - -The changes listed here are a summary of the changes -of the previous alpha releases. For details please -read the changelog of the alpha releases. - - -changes -^^^^^^^ -- change the project's license to MIT in accordance with the contributors (see python-escpos/python-escpos#171) -- feature: add "capabilities" which are shared with escpos-php, capabilities are stored in - `escpos-printer-db `_ -- feature: the driver tries now to guess the appropriate code page and sets it automatically (called "magic encode") -- as an alternative you can force the code page with the old API -- fix the encoding search so that lower encodings are found first -- automatically handle cases where full cut or partial cut is not available -- refactor of the set-method -- preliminary support of POS "line display" printing -- add support for software-based barcode-rendering -- make feed for cut optional -- implemented paper sensor querying command -- Include support for CUPS based printer interfaces -- add Win32Raw-Printer on Windows-platforms -- add and improve Windows support of USB-class -- pickle capabilities for faster startup - -contributors -^^^^^^^^^^^^ -This is a list of contributors since the last v2 release. - -- Ahmed Tahri -- akeonly -- Alexander Bougakov -- AlexandroJaez -- Asuki Kono -- belono -- brendanhowell -- Brian -- Christoph Heuel -- csoft2k -- Curtis // mashedkeyboard -- Dmytro Katyukha -- Foaly -- Gerard Marull-Paretas -- Justin Vieira -- kedare -- kennedy -- Lucy Linder -- Maximilian Wagenbach -- Michael Billington -- Michael Elsdörfer -- mrwunderbar666 -- NullYing -- Omer Akram -- Patrick Kanzler -- primax79 -- Ramon Poca -- reck31 -- Romain Porte -- Sam Cheng -- Scott Rotondo -- Sergio Pulgarin -- Thijs Triemstra -- Yaisel Hurtado -- ysuolmai - -and others - -2023-05-11 - Version 3.0a9 - "Pride Comes Before A Fall" --------------------------------------------------------- -This release is the 10th alpha release of the new version 3.0. -After three years hiatus, a new release is in work in order to -finally get a version 3.0 out. - -changes -^^^^^^^ -- Include support for CUPS based printer interfaces -- Move the build tool chain to GitHub - -contributors -^^^^^^^^^^^^ -- belono -- brendanhowell -- AlexandroJaez -- NullYing -- kedare -- Foaly -- patkan -- and others - -2020-05-12 - Version 3.0a8 - "Only Slightly Bent" -------------------------------------------------- -This release is the ninth 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 drops support for Python 2, requiring at least -version 3.5 of Python. - -changes -^^^^^^^ -- Drop support for Python 2 and mark in setuptools as only supporting 3.5 and upwards -- remove landscape.io badge -- replace viivakoodi with python-barcode which is maintained -- add configuration for Visual Studio Code -- use pkg_resources for the retrieval of the capabilities.json - -contributors -^^^^^^^^^^^^ -- Romain Porte -- Patrick Kanzler - -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 -- Maximilian 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 that the API is subject to change until v3.0 is -released. - -changes -^^^^^^^ -- fix inclusion of the capabilities-file -- execute CI jobs also on Windows and MacOS-targets -- improve documentation - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler - -2019-06-16 - Version 3.0a5 - "Lightly Seared On The Reality Grill" ------------------------------------------------------------------- -This release is the sixth alpha release of the new version 3.0. Please -be aware that the API is subject to change until v3.0 is released. - -changes -^^^^^^^ -- allow arbitrary USB arguments in USB-class -- add Win32Raw-Printer on Windows-platforms -- add and improve Windows support of USB-class -- use pyyaml safe_load() -- improve doc -- implement _read method of Network printer class - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler -- Gerard Marull-Paretas -- Ramon Poca -- akeonly -- Omer Akram -- Justin Vieira - -2018-05-15 - Version 3.0a4 - "Kakistocrat" ------------------------------------------- -This release is the fifth alpha release of the new version 3.0. Please -be aware that the API will still change until v3.0 is released. - -changes -^^^^^^^ -- raise exception when TypeError occurs in cashdraw (#268) -- Feature/clear content in dummy printer (#271) -- fix is_online() (#282) -- improve documentation -- Modified submodule to always pull from master branch (#283) -- parameter for implementation of nonnative qrcode (#289) -- improve platform independence (#296) - -contributors -^^^^^^^^^^^^ -- Christoph Heuel -- Patrick Kanzler -- kennedy -- primax79 -- reck31 -- Thijs Triemstra - -2017-10-08 - Version 3.0a3 - "Just Testing" -------------------------------------------- -This release is the fourth alpha release of the new version 3.0. Please -be aware that the API will still change until v3.0 is released. - -changes -^^^^^^^ -- minor changes in documentation, tests and examples -- pickle capabilities for faster startup -- first implementation of centering images and QR -- check barcodes based on regex - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler -- Lucy Linder -- Romain Porte -- Sergio Pulgarin - -2017-08-04 - Version 3.0a2 - "It's My Party And I'll Sing If I Want To" ------------------------------------------------------------------------ -This release is the third alpha release of the new version 3.0. Please -be aware that the API will still change until v3.0 is released. - -changes -^^^^^^^ -- refactor of the set-method -- preliminary support of POS "line display" printing -- improvement of tests -- added ImageWidthError -- list authors in repository -- add support for software-based barcode-rendering -- fix SerialException when trying to close device on __del__ -- added the DLE EOT querying command for USB and Serial -- ensure QR codes have a large enough border -- make feed for cut optional -- fix the behavior of horizontal tabs -- added test script for hard an soft barcodes -- implemented paper sensor querying command -- added weather forecast example script -- added a method for simpler newlines - -contributors -^^^^^^^^^^^^ -- csoft2k -- Patrick Kanzler -- mrwunderbar666 -- Romain Porte -- Ahmed Tahri - -2017-03-29 - Version 3.0a1 - "Headcrash" ----------------------------------------- -This release is the second alpha release of the new version 3.0. Please -be aware that the API will still change until v3.0 is released. - -changes -^^^^^^^ -- automatically upload releases to GitHub -- add environment variable ESCPOS_CAPABILITIES_FILE -- automatically handle cases where full cut or partial cut is not available -- add print_and_feed - -contributors -^^^^^^^^^^^^ -- Sam Cheng -- Patrick Kanzler -- Dmytro Katyukha - -2017-01-31 - Version 3.0a - "Grey Area" ---------------------------------------- -This release is the first alpha release of the new version 3.0. Please -be aware that the API will still change until v3.0 is released. - -changes -^^^^^^^ -- change the project's license to MIT in accordance with the contributors (see python-escpos/python-escpos#171) -- feature: add "capabilities" which are shared with escpos-php, capabilities are stored in - `escpos-printer-db `_ -- feature: the driver tries now to guess the appropriate code page and sets it automatically (called "magic encode") -- as an alternative you can force the code page with the old API -- updated and improved documentation -- changed constructor of main class due to introduction of capabilities -- changed interface of method `blocktext`, changed behavior of multiple methods, for details refer to the documentation - on `python-escpos.readthedocs.io `_ -- add support for custom cash drawer sequence -- enforce flake8 on the src-files, test py36 and py37 on Travis - -contributors -^^^^^^^^^^^^ -- Michael Billington -- Michael Elsdörfer -- Patrick Kanzler (with code by Frédéric Van der Essen) -- Asuki Kono -- Benito López -- Curtis // mashedkeyboard -- Thijs Triemstra -- ysuolmai - -2016-08-26 - Version 2.2.0 - "Fate Amenable To Change" ------------------------------------------------------- - -changes -^^^^^^^ -- fix improper API-use in qrcode() -- change setup.py shebang to make it compatible with virtualenvs. -- add constants for sheet mode and colors -- support changing the line spacing - -contributors -^^^^^^^^^^^^ -- Michael Elsdörfer -- Patrick Kanzler - -2016-08-10 - Version 2.1.3 - "Ethics Gradient" ----------------------------------------------- - -changes -^^^^^^^ -- configure readthedocs and Travis -- update doc with hint on image preprocessing -- add fix for printing large images (by splitting them into multiple images) - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler - -2016-08-02 - Version 2.1.2 - "Death and Gravity" ------------------------------------------------- - -changes -^^^^^^^ -- fix File-printer: flush after every call of _raw() -- fix lists in documentation -- fix CODE128: by adding the control character to the barcode-selection-sequence the barcode became unusable - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler - -2016-08-02 - Version 2.1.1 - "Contents May Differ" --------------------------------------------------- - -changes -^^^^^^^ -- rename variable interface in USB-class to timeout -- add support for hypothesis and move pypy3 to the allowed failures (pypy3 is not supported by hypothesis) - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler -- Renato Lorenzi - -2016-07-23 - Version 2.1.0 - "But Who's Counting?" --------------------------------------------------- - -changes -^^^^^^^ -- packaging: configured the coverage-analysis codecov.io -- GitHub: improved issues-template -- documentation: add troubleshooting tip to network-interface -- the module, CLI and documentation is now aware of the version of python-escpos -- the CLI does now support basic tab completion - -contributors -^^^^^^^^^^^^ -- Patrick Kanzler - -2016-06-24 - Version 2.0.0 - "Attitude Adjuster" ------------------------------------------------- - -This version is based on the original version of python-escpos by Manuel F Martinez. However, many contributions have -greatly improved the old codebase. Since this version does not completely match the interface of the version published -on PyPi and has many improvements, it will be released as version 2.0.0. - -changes -^^^^^^^ -- refactor complete code in order to be compatible with Python 2 and 3 -- modernize packaging -- add testing and CI -- merge various forks into codebase, fixing multiple issues with barcode-, QR-printing, cash-draw and structure -- improve the documentation -- extend support of barcode-codes to type B -- add function to disable panel-buttons -- the text-functions are now intended for Unicode, the driver will automatically encode the string based on the selected - code page -- the image-functions are now much more flexible -- added a CLI -- restructured the constants - -contributors -^^^^^^^^^^^^ -- Thomas van den Berg -- Michael Billington -- Nate Bookham -- Davis Goglin -- Christoph Heuel -- Patrick Kanzler -- Qian LinFeng - -2016-01-24 - Version 1.0.9 --------------------------- - -- fix constant definition for PC1252 -- move documentation to Sphinx - -2015-10-27 - Version 1.0.8 --------------------------- - -- Merge pull request #59 from zouppen/master - - Support for images vertically longer than 256 pixels - - Sent by Joel Lehtonen -- Updated README - -2015-08-22 - Version 1.0.7 --------------------------- - -- Issue #57: Fixed transparent images - -2015-07-06 - Version 1.0.6 --------------------------- - -- Merge pull request #53 from ldos/master - - Extended parameters for serial printers - - Sent by ldos - -2015-04-21 - Version 1.0.5 --------------------------- - -- Merge pull request #45 from Krispy2009/master - - Raising the right error when wrong charcode is used - - Sent by Kristi - -2014-05-20 - Version 1.0.4 --------------------------- - -- Issue #20: Added Density support (Sent by thomas.erbacher@ragapack.de) -- Added charcode tables -- Fixed Horizontal Tab -- Fixed code tabulators - -2014-02-23 - Version 1.0.3 --------------------------- - -- Issue #18: Added quad-area characters (Sent by syncman1x@gmail.com) -- Added exception for PIL import - -2013-12-30 - Version 1.0.2 --------------------------- - -- Issue #5: Fixed vertical tab -- Issue #9: Fixed indentation inconsistency - -2013-03-14 - Version 1.0.1 --------------------------- - -- Issue #8: Fixed set font -- Added QR support - -2012-11-15 - Version 1.0 ------------------------- - -- Issue #2: Added Ethernet support -- Issue #3: Added compatibility with libusb-1.0.1 -- Issue #4: Fixed typo in escpos.py From c77246a7ed89546a0136524ece7e03e40550c8c2 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 8 Sep 2025 00:29:31 +0300 Subject: [PATCH 13/14] Fix formatting in docstring of software_columns.py for consistency. --- examples/software_columns.py | 2 +- setup.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/software_columns.py b/examples/software_columns.py index a89e1d42..a6361c76 100644 --- a/examples/software_columns.py +++ b/examples/software_columns.py @@ -1,4 +1,4 @@ -""" Example for software_columns: Print text arranged into columns.""" +"""Example for software_columns: Print text arranged into columns.""" from escpos import printer diff --git a/setup.cfg b/setup.cfg index 5a20992e..10b1def9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -78,4 +78,4 @@ all = [flake8] exclude = .git,.venv,.tox,.github,.eggs,__pycache__,doc/conf.py,build,dist,capabilities-data,test,src/escpos/constants.py max-line-length = 120 -extend-ignore = E203, W503 +extend-ignore = E203, W503, D401 From 983f935afda6619beaca93b34a6dd79253d77353 Mon Sep 17 00:00:00 2001 From: hasansezertasan Date: Mon, 8 Sep 2025 00:59:41 +0300 Subject: [PATCH 14/14] Update pyproject.toml to simplify Python 3.13 environment configuration by removing unnecessary dependencies. --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f7c90a64..39112635 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,7 @@ envlist = ["3.9", "3.10", "3.11", "3.12", "3.13", "docs", "flake8", "mypy"] [tool.tox.gh.python] -"3.13" = ["3.13", "docs", "flake8", "mypy"] +"3.13" = ["3.13"] "3.12" = ["3.12"] "3.11" = ["3.11"] "3.10" = ["3.10"]