blessings
A thin, practical wrapper around terminal coloring, styling, and positioning
1.7
1.1M downloads/mo
#4348 most downloaded on PyPI
erikrose/blessings
What this package is like to depend on
Last release 8 years ago
no release in 18 months
Ships unpredictably
gaps range from 9 days to 3.3 years
This project publishes no release notes
the list below is its commits, not an announcement
Nothing withdrawn
no release was ever pulled
15 years old
10 releases · first in 2011
0 releases in the last 12 months
see the full history below
Release timeline
10 releases · Nov 2011 to Jun 2018Releases
latest 10-
1.721 Jun 2018Commits, not release notes
This project publishes no release notes. Between
1.6.1and1.7there were 13 commits, 11 of them substantive:- Link Travis badge to build, not image
- Add python_requires to help pip
- Remove redundant code (made redundant by python_requires)
- Be consistent about the versions of Python we support. Close #128.
- Drop support for EOL Python 2.6 and 3.3
- Use six to support Python 2 and 3 without using 2to3
- Import constants from six instead of importing the six module
- Remove imports from future
- Add test coverage for Python 3.5
- Add pypy to tox environments
- Switch from 2to3 to six. Close #132.
-
1.6.103 Jan 2018Commits, not release notes
This project publishes no release notes. Between
1.6and1.6.1there were 11 commits, 8 of them substantive:- spelling error, desciptor -> descriptor.
- Link to Travis builds in readme. #60.
- Update .travis.yml
- Return 0 from 'number_of_colors' when does_styling is False
- Update readme. Bump version to 1.6.1.
- Link to the latest API documentation, which has moved to readthedocs in the wake of pythonhosted's deprecation.
- Bring Python versions under test up to date.
- pypy doesn't seem to fail on Travis anymore.
-
1.601 Oct 2014Commits, not release notes
This project publishes no release notes. Between
1.5.1and1.6there were 38 commits, 34 of them substantive:- Fix some ReST in readme.
- Make does_styling attr public. Bump version to 1.6.
- Add Sphinx build dir to gitignore.
- Add
fullscreen()andhidden_cursor()to the auto-generated docs. - Make PEP-8-compliant.
- 'defaultdict' imported but unused
- 'os' imported but unused
- import sorting
- refactor is_a_tty and does_styling as properties
- 'defaultdict' imported but unused
- 'os' imported but unused
- import sorting
- remove git-merge junk, CVS merges have been easier
- more merge fixes for does_styling property-rework
- pep8, remove old "cache wanted" codefart
- is_a_tty property assignment fix -> _is_a_tty
- rollback undesired changes per feedback
- Make test docstrings PEP-8-compliant.
- Fix some spelling and grammar.
- Merge the property-ization of is_a_tty and does_styling, some PEP-8 fixes, and the removal of some unused imports. Close #37.
…and 14 more.
-
1.5.130 Aug 2013Commits, not release notes
This project publishes no release notes. Between
1.5and1.5.1there were 16 commits, 14 of them substantive:- Clean up fabfile. Remove test command; there are already 2 ways to run tests. Import deeper.
- Add a few things to .gitignore
- Add .travis.yml for Travis CI (http://travis-ci.org/)
- Say why we let certain Travis build envs fail. Add Travis build badge to readme.
- Make
python setup.py testwork without spurious errors. - Add py33 to tox.
- Fix tox.ini syntax to work around a bug in tox.
- contextmanagers: Put state restore code into finally block
- Fix NullCallableString() when called with no or multiple arguments
- Add testcase for NullCallableString
- Bring readme up to date.
- Explain the new behavior to myself. Remove 1 test assertion. No non-test behavior changes. Bump version to 1.5.1.
- Merge Vitja Makarov's NullCallableString tty-less parametrization fix. Close #31.
- Replace the weird clear() test with what was originally intended. This one actually fails before the #31 fix.
-
1.522 Jun 2012Commits, not release notes
This project publishes no release notes. Between
1.4and1.5there were 4 commits, 3 of them substantive:- Sugar full-screen capabilities. Make location() context manager slimmer. Add hidden_cursor() context manager. Bump version to 1.5.
- Provide a decent way to say "don't style". Closes #18.
- It's the portability that gets you; you can turn off bold on ANSI terminals with some bits in the sgr sequence.
-
1.403 Jun 2012Commits, not release notes
This project publishes no release notes. Between
1.3and1.4there were 9 commits, 8 of them substantive:- Make 1.3's release notes past tense like the others.
- Sugar cursor-visibility and single-space-movement capabilities. Closes #15.
- Document an idiom for restoring the cursor location after a series of manual moves. Closes #17.
- Fix a bug where location() wouldn't do anything when passed 0s.
- Fix case of "nose" in tests_require.
- Support running
python setup.py test. - Note setup.py test thing in readme.
- Document newly-sugared capabilities, and reorganize readme as new categories emerge.
-
1.313 Dec 2011Commits, not release notes
This project publishes no release notes. Between
1.2and1.3there were 17 commits, 17 of them substantive:- Fix an error in an example.
- Replace the remaining occurrences of "django-tidings" in the Sphinx makefiles.
- Add the "Production" trove classifier.
- Dispense with explicit cache dict, and just add attrs to the Terminal instance instead.
- Make
color(n)callable to wrap a string, like the named colors can. Bump version to 1.3. Closes #12. - Invert _is_null to save a few lines.
- Oops, make the callable color tests valid, and fix on_color().
- Get rid of reference cycle between Terminals and FormattingStrings. Closes #11.
- I often type "light" instead of "bright" by mistake. Make the error message correct me.
- I've been using
heightwrong this whole time. It's 1-based. - Allow
colorattr to act as an unparametrized string, not just a callable. - Correct the description of what happens when an unsupported color is used.
- Add number_of_colors attr. Bring release notes up to date.
- Make
heightandwidthexamine any passed-in stream before falling back to stdout. Make sure we can always get a height and width, even on non-tty Terminals. - Tell Sphinx to document
number_of_colors. - Polish readme.
- Rejigger readme so code samples are at the top.
-
1.228 Nov 2011Commits, not release notes
This project publishes no release notes. Between
1.1and1.2there were 22 commits, 22 of them substantive:- We don't need tigetnum in this example.
- Bootstrap Sphinx docs.
- Polish readme a bit.
- Make some hopeful metadata changes and dodge a scoping change in Python 3.
- Remedy some old copy-and-paste errors in the Sphinx config.
- TypeError isn't subscriptable in Python 3.
- fileno() exists on files all the time in Python 3, even if there is no file number. If there is none, it throws an exception when called.
- Make all encoding explicit, and blow only raw strings to the terminal.
- Get the remaining tests passing in Python 3. Mostly just dealt with unicode issues.
- We need Python 3.2.3 or better, to fix a curses bug.
- Re-unicode-ify some test literals.
- Rip all that encoding stuff out. Terminal now outputs unicode, which Python 3's stdout TextIOWrapper is much happier to pass to the tty unaltered.
- I have always hated the name "Capability" for these classes. Change it back to "String".
- Rethink the whole test suite. Passes in Python 2.6. Closes #6.
- Remove SPOT for version, because init throws a SyntaxError when imported from setup.py.
- Make tox run Python 3 tests against the 2to3'd source.
- Explode more informatively if Python 3 version < 3.2.3.
- Support Python 3 >= 3.2.3.
- Change license to MIT. Closes #13.
- Note the new unicodeyness in the readme.
…and 2 more.
-
1.118 Nov 2011Commits, not release notes
This project publishes no release notes. Between
1.0and1.1there were 19 commits, 18 of them substantive:- Oops, some occurrences of "terminator" escaped genocide.
- Add attributes for colors, background colors, and bright colors. Closes #2.
- Remove the "color" future plan from readme, now that it's done.
- Test that colors are also '' when there's no tty.
- Start using tox for tests across Python versions. Make tests run in Python 2.5.
- Add an option to force real capability emission even if the output stream is not a tty. Closes #5.
- Document is_a_tty attribute.
- Add sugar for the rest of the simple attribute-setting capabilities. Closes #1. Also...
- Readme tweaks
- Let location() operate on just an x or y coordinate.
- Add clear_bol and clear_eos. This concludes the likely useful string capabilities.
- Add reset_colors sugar. Tweak readme.
- Make simple formatting and colors work as callable wrappers. Add crazy compound formatting.
- Add a helpful exception.
- Document wrapper usage of attributes, numerical color interface, and compound formatting.
- Fix simple formatting attributes not working as wrappers.
- Tweak readme and a comment.
- Add tox.ini to the manifest.
-
1.007 Nov 2011Nothing published for this version