From ac85def9185d2139037fcbced994e1bda8da080226c19291c4bf405ad2e2a5f6 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Thu, 22 Jan 2026 14:36:36 +0000 Subject: [PATCH] =?UTF-8?q?-=20update=20to=201.27:=20=20=20*=20fix=20flit/?= =?UTF-8?q?delete=20MANIFEST.in=20for=20re-release,=20-=20update=20to=201.?= =?UTF-8?q?26:=20=20=20*=20mypy=20check=20no-untyped-call=20and=20type-var?= =?UTF-8?q?=20=20=20*=20test=20length=20with=20characters=20where=20wcwidt?= =?UTF-8?q?h=20returns=20-1=20=20=20*=20Add=20optional=20testing=20for=20P?= =?UTF-8?q?ython=203.15=20=20=20*=20ci/docformatter/lint=20fixes=20=20=20*?= =?UTF-8?q?=20call=20length()=20less=20in=20wrap()=20=20=20*=20Add=20break?= =?UTF-8?q?=5Fon=5Fhyphens=20support=20(rework=20of=20#330)=20=20=20*=20Ad?= =?UTF-8?q?d=20Terminal.color=5Fhex('#rgb'),=20Bugfix=20get=5Ffgcolor()=20?= =?UTF-8?q?=20=20*=20Add=20Terminal.scroll=5Fregion()=20context=20manager?= =?UTF-8?q?=20=20=20*=20Add=20Terminal.no=5Fline=5Fwrap()=20context=20mana?= =?UTF-8?q?ger=20=20=20*=20Bugfix:=20Variation=20Selector-16/ZWJ=20and=20s?= =?UTF-8?q?tarting=20sequences=20in=20=20=20=20=20wrap()=20=20=20*=20New?= =?UTF-8?q?=20method:=20Terminal.detect=5Fambiguous=5Fwidth()=20->=20[1,?= =?UTF-8?q?=202]=20=20=20*=20move=5Fup(),=20move=5Fdown(),=20Terminal.move?= =?UTF-8?q?=5Fleft(),=20move=5Fright()=20which=20=20=20=20=20are=20strings?= =?UTF-8?q?=20that=20move=20the=20cursor=20one=20cell=20in=20the=20respect?= =?UTF-8?q?ive=20=20=20=20=20direction,=20are=20now=20also=20callables=20f?= =?UTF-8?q?or=20moving=20n=20cells=20to=20the=20=20=20*=20Context=20Manage?= =?UTF-8?q?rs,=20fullscreen(),=20hidden=5Fcursor(),=20and=20keypad()=20=20?= =?UTF-8?q?=20*=20deprecated:=20superscript,=20subscript,=20shadow,=20and?= =?UTF-8?q?=20dim=20are=20no=20longer=20=20=20=20=20=E2=80=9Ccompoundable?= =?UTF-8?q?=E2=80=9D=20with=20colors.=20Use=20Unicode=20text=20or=20256=20?= =?UTF-8?q?or=2024-bit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-blessed?expand=0&rev=37 --- .gitattributes | 23 +++++ .gitignore | 1 + blessed-1.21.0.tar.gz | 3 + blessed-1.22.0.tar.gz | 3 + blessed-1.24.0.tar.gz | 3 + blessed-1.25.0.tar.gz | 3 + blessed-1.27.0.tar.gz | 3 + python-blessed.changes | 201 +++++++++++++++++++++++++++++++++++++++++ python-blessed.spec | 101 +++++++++++++++++++++ 9 files changed, 341 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 blessed-1.21.0.tar.gz create mode 100644 blessed-1.22.0.tar.gz create mode 100644 blessed-1.24.0.tar.gz create mode 100644 blessed-1.25.0.tar.gz create mode 100644 blessed-1.27.0.tar.gz create mode 100644 python-blessed.changes create mode 100644 python-blessed.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/blessed-1.21.0.tar.gz b/blessed-1.21.0.tar.gz new file mode 100644 index 0000000..c20ff57 --- /dev/null +++ b/blessed-1.21.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ece8bbc4758ab9176452f4e3a719d70088eb5739798cd5582c9e05f2a28337ec +size 6660011 diff --git a/blessed-1.22.0.tar.gz b/blessed-1.22.0.tar.gz new file mode 100644 index 0000000..a27cad3 --- /dev/null +++ b/blessed-1.22.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1818efb7c10015478286f21a412fcdd31a3d8b94a18f6d926e733827da7a844b +size 6660050 diff --git a/blessed-1.24.0.tar.gz b/blessed-1.24.0.tar.gz new file mode 100644 index 0000000..33b84cf --- /dev/null +++ b/blessed-1.24.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7822698616deb79dc8897215eef8ed56b6a3fc537dc08ffce2f2020697c6c0d4 +size 6746429 diff --git a/blessed-1.25.0.tar.gz b/blessed-1.25.0.tar.gz new file mode 100644 index 0000000..31ef932 --- /dev/null +++ b/blessed-1.25.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:606aebfea69f85915c7ca6a96eb028e0031d30feccc5688e13fd5cec8277b28d +size 6746381 diff --git a/blessed-1.27.0.tar.gz b/blessed-1.27.0.tar.gz new file mode 100644 index 0000000..6d82f10 --- /dev/null +++ b/blessed-1.27.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3064559388bd532ab6460d9b6c7d6dd699c4e0cf54d28ed6e2cab12feda13bb +size 6761573 diff --git a/python-blessed.changes b/python-blessed.changes new file mode 100644 index 0000000..4679f6f --- /dev/null +++ b/python-blessed.changes @@ -0,0 +1,201 @@ +------------------------------------------------------------------- +Thu Jan 22 14:36:18 UTC 2026 - Dirk Müller + +- update to 1.27: + * fix flit/delete MANIFEST.in for re-release, +- update to 1.26: + * mypy check no-untyped-call and type-var + * test length with characters where wcwidth returns -1 + * Add optional testing for Python 3.15 + * ci/docformatter/lint fixes + * call length() less in wrap() + * Add break_on_hyphens support (rework of #330) + * Add Terminal.color_hex('#rgb'), Bugfix get_fgcolor() + * Add Terminal.scroll_region() context manager + * Add Terminal.no_line_wrap() context manager + * Bugfix: Variation Selector-16/ZWJ and starting sequences in + wrap() + * New method: Terminal.detect_ambiguous_width() -> [1, 2] + +------------------------------------------------------------------- +Wed Nov 26 08:54:06 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 1.25 + * bugfix: The fix in 1.20 got reverted in release in 1.23 by PR #306, + this release re-applies the fix, PR #326. + +------------------------------------------------------------------- +Mon Nov 17 15:48:04 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 1.24 + * bugfix: :meth:`blessed.Terminal`get_sixel_height_and_width` detection order + and improve documentation for window resize event handling (#320). + * bugfix: change default argument ``timeout=None`` to ``timeout=1`` in methods + requiring automatic response, preventing stalls on "dumb" terminals (#317). +- from version 1.23 + * introduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ + overrides :class:`blessed.Terminal` argument value, ``force_styling`` (#295). + * improved: performance of :meth:`~Terminal.rgb_downconvert` for 256-color + terminals, (#298). + * deprecated: Python 2.7 through 3.6 no longer supported. (#299). + * improved: keyboard support for modifier keys, (#306). + * introduced: kitty keyboard protocol support, (#309). + * introduced: mouse support, Synchronized Output, and support for DEC Private + Modes, (#310). + * introduced: methods to determine Sixel, dimensions and color depth (#312). + * introduced: in-band resize support (DEC Private Mode 2048) (#313). + * introduced: XTVersion identification: (#314). + * bugfix: default timeout for get_bgcolor, get_fgcolor (#315). +- Update BuildRequires and Requires from pyproject.toml + +------------------------------------------------------------------- +Wed Oct 22 13:11:07 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 1.22.0 + * Performance improved in Terminal.Length and Sequence.padd + by @grayjk and @avylove, (#286), (#287), (#289), and (#291) + * Fixes for failing tests by @avylove in (#284) + * Use a separate job to upload coverage for older python versions + by @avylove in (#288) + * Use tool "codespell" in tox 'lint' step by @yarikoptic and + @jquast in (#293) + * Unpin docformatter by @avylove in (#292) + +------------------------------------------------------------------- +Tue May 6 11:33:01 UTC 2025 - Markéta Machová + +- Convert to pip-based build + +------------------------------------------------------------------- +Tue May 6 10:17:52 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 1.21.0 + * bugfix infinite loop in method Terminal.wrap() when "Wide" characters of + width 2 (East-Asian or Emoji) are used with a wrap width of 1, and a small + performance enhancement, #273 and #274 by @grayjk, merged as #275 + +------------------------------------------------------------------- +Thu Dec 14 11:10:32 UTC 2023 - pgajdos@suse.com + +- deleted patches + - drop-python2-support.patch (upstreamed) + +------------------------------------------------------------------- +Thu Dec 14 09:16:16 UTC 2023 - Petr Gajdos + +- update to 1.20.0: + * introduced `Terminal.get_fgcolor()` and + `Terminal.get_bgcolor()` to query + * the terminal for the currently set colors. #237 by + @stefanholek + * bugfix: Copy globals dict before iterating to avoid + `RuntimeError` in multithreaded + * applications, #248 by @adamnovak + +------------------------------------------------------------------- +Mon Jun 26 06:59:29 UTC 2023 - Andreas Schneider + +- Use sle15_python_module_pythons + +------------------------------------------------------------------- +Thu Nov 3 10:55:45 UTC 2022 - Daniel Garcia + +- Add drop-python2-support.patch to remove python-six dependency + gh#jquast/blessed#245 +- Remove python_module macro definition +- Remove skip_python2 define +- More specific python_sitelib in %files + +------------------------------------------------------------------- +Wed Mar 16 12:16:20 UTC 2022 - pgajdos@suse.com + +- version update to 1.19.1 + 1.19 + * introduced truncate() to truncate a string while retaining the + sequences, #211 by fishermans-friend + * enhancement: Add small sleep in kbhit() on Windows to reduce CPU + load #209 by numerlor + * enhancement: rjust(), ljust(), and center() now accept + SupportsIndex types, #234 + * enhancement: When 88 colors is detected, it is now interpreted + as 16 colors rather than raising an AssertionError, #235 + * bugfix: Fix global variable declarations in type annotations, #230 + by mwchase + 1.18 + * bugfix: split_seqs() for some sequences like term.move_left(3), #197. + * introduced: type annotations, #192 by dlax. + * bugfix: do not fail when sys.stdin is unset, #195 by Olen + * docfix: correct “Bottom of the screen” example to use end='' + and document about it in location.rst, #188 by pyfisch +- python-mock not required + +------------------------------------------------------------------- +Wed Aug 26 06:48:05 UTC 2020 - Steve Kowalik + +- Update to 1.17.10: + * bugfix: Now imports on 3.10+ + * bugfix: Fix detection of shift+arrow keys when using tmux. :ghissue:`178`. + +------------------------------------------------------------------- +Wed May 6 07:22:06 UTC 2020 - Tomáš Chvátal + +- Update to 1.17.5: + * minor fixes +- Do not pull extra pytest deps and use even latest pytest + +------------------------------------------------------------------- +Thu Mar 26 15:07:26 UTC 2020 - Daniel Wagner + +- update to 1.17.4 + * optimize length() + * add pixel_height and pixel_width, for libsixel support + * Documentation overhaul, plenty of examples and animated + screenshots. + +------------------------------------------------------------------- +Wed Jan 22 15:36:56 UTC 2020 - Marketa Calabkova + +- update to 1.17.0 + * 24-bit color support + * move_up(), move_down(), Terminal.move_left(), move_right() which + are strings that move the cursor one cell in the respective + direction, are now also callables for moving n cells to the + given direction, such as term.move_right(9). + * Context Managers, fullscreen(), hidden_cursor(), and keypad() + now flush the stream after writing their sequences. + * deprecated: superscript, subscript, shadow, and dim are no longer + “compoundable” with colors. Use Unicode text or 256 or 24-bit + color codes instead. + * more on https://blessed.readthedocs.io/en/latest/history.html + +------------------------------------------------------------------- +Thu Sep 5 13:40:10 UTC 2019 - Todd R + +- Set pytest maximum version. + +------------------------------------------------------------------- +Wed Mar 6 13:51:18 UTC 2019 - Tomáš Chvátal + +- Update to 1.15.0: + * no upstream changelog +- Make sure tests are run + +------------------------------------------------------------------- +Tue Dec 4 12:46:12 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Tue Jul 17 13:29:00 UTC 2018 - tchvatal@suse.com + +- Tox is not used when building so no need to depend on it + +------------------------------------------------------------------- +Wed May 9 03:18:05 UTC 2018 - toddrme2178@gmail.com + +- Add license tag + +------------------------------------------------------------------- +Fri Oct 20 16:13:50 UTC 2017 - toddrme2178@gmail.com + +- initial version diff --git a/python-blessed.spec b/python-blessed.spec new file mode 100644 index 0000000..bbd3e28 --- /dev/null +++ b/python-blessed.spec @@ -0,0 +1,101 @@ +# +# spec file for package python-blessed +# +# Copyright (c) 2026 SUSE LLC and contributors +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-blessed +Version: 1.27.0 +Release: 0 +Summary: Wrapper around terminal styling, screen positioning, and keyboard input +License: MIT +URL: https://github.com/jquast/blessed +Source: https://files.pythonhosted.org/packages/source/b/blessed/blessed-%{version}.tar.gz +BuildRequires: %{python_module curses} +BuildRequires: %{python_module flit-core >= 3.11} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest-xdist} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module wcwidth >= 0.1.4} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-curses +Requires: python-wcwidth >= 0.1.4 +BuildArch: noarch +%python_subpackages + +%description +Blessed is a thin, practical wrapper around terminal capabilities in Python. + +Brief Overview +-------------- + +*Blessed* is a more simplified wrapper around curses, providing : + +* Styles, color, and maybe a little positioning without necessarily + clearing the whole screen first. +* Works great with standard Python string formatting. +* Provides up-to-the-moment terminal height and width, so you can respond to + terminal size changes. +* Avoids making a mess if the output gets piped to a non-terminal: + outputs to any file-like object such as *StringIO*, files, or pipes. +* Uses the `terminfo(5)`_ database so it works with any terminal type + and supports any terminal capability: No more C-like calls to tigetstr_ + and tparm_. +* Keeps a minimum of internal state, so you can feel free to mix and match with + calls to curses or whatever other terminal libraries you like. +* Provides plenty of context managers to safely express terminal modes, + automatically restoring the terminal to a safe state on exit. +* Act intelligently when somebody redirects your output to a file, omitting + all of the terminal sequences such as styling, colors, or positioning. +* Dead-simple keyboard handling: safely decoding unicode input in your + system's preferred locale and supports application/arrow keys. +* Allows the printable length of strings containing sequences to be + determined. + +Blessed **does not** provide... + +* Windows command prompt support. A PDCurses_ build of python for windows + provides only partial support at this time -- there are plans to merge with + the ansi module in concert with colorama to resolve this. + +%prep +%autosetup -p1 -n blessed-%{version} +# disable cons25 tests as they fail in OBS +sed -i -e 's:cons25 ::' tests/accessories.py +# do not pull extra deps that are not needed +rm tox.ini + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +export LANG=en_US.UTF-8 +export TEST_QUICK=1 +%pytest tests + +%files %{python_files} +%doc README.rst +%license LICENSE +%{python_sitelib}/blessed +%{python_sitelib}/blessed-%{version}*-info + +%changelog