commit ac85def9185d2139037fcbced994e1bda8da080226c19291c4bf405ad2e2a5f6 Author: Dirk Mueller Date: Thu Jan 22 14:36:36 2026 +0000 - 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] * 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 * Context Managers, fullscreen(), hidden_cursor(), and keypad() * deprecated: superscript, subscript, shadow, and dim are no longer “compoundable” with colors. Use Unicode text or 256 or 24-bit OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-blessed?expand=0&rev=37 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