Skip to main content

String styling for your terminal

Project description

sty_logo

badge-total-downloads badge-monthly-downloads
sty_demo

Release 1.0.0 (February 05. 2022)

Sty v1.0.0 released 🎉

At this point sty can be considered stable.

The “release candidate” phase was given a lot of time and nothing critical was reported for a while. All features that are planned for the future are compatible with the existing interfaces.

Nothing changed since rc.2.

Release 1.0.0-rc.2 (August 28. 2021)

  • Fix typo in “reset” register.

Release Note (Breaking Changes)

Release 1.0.0-rc.1 (January 31. 2021)

  • Sty is now fully typed.

  • Deprecated methods .set_style(…) and .get_style(…) were finally removed.

Release Note

Release 1.0.0-rc.0 (January 08. 2021)

Sty version 1.0.0 is now feature complete.

  • I’m going to support Python version >=3.7 indefinitely.

  • Sty will follow semver so there won’t be any breaking changes for version 1.x.x after 1.0.0 was released.

  • This is a pre-release (rc.0). I’ll release 1.0.0 in a couple of month if no major bugs are reported.

Release Note (Breaking Changes)

Description

Sty’s goal is to provide Python with a simple, customizable and performant string styling markup, which is decoupled from color palettes and terminal implementations.

  • Sty supports 3/4bit, 8bit and 24bit (truecolor/RGB) colors as well as effects like bold, italic, underline, etc.

  • Sty should work on most Unix platforms with most terminals. It works with recent Windows terminals. Window legacy terminal (cmd) needs a shim to work.

  • Sty comes with default color palettes and renderers, but you can easily replace/customize them, without touching the markup in your code.

  • Sty allows you to mute/unmute all styles in your codebase.

  • Sty provides high access performance for all styling rules.

  • Sty is fully typed, you should get good editor support for it.

  • Sty does not implicitly mess with globals. E.g.: colorama overrides sys.stdout which causes a lot of trouble.

  • Sty has no dependencies.

  • Sty follows semver

  • Sty will support Python >=3.7 for as long as possible.

If you run into compatibility problems with sty, please file an issue!

Code Example

from sty import fg, bg, ef, rs

foo = fg.red + 'This is red text!' + fg.rs
bar = bg.blue + 'This has a blue background!' + bg.rs
baz = ef.italic + 'This is italic text' + rs.italic
qux = fg(201) + 'This is pink text using 8bit colors' + fg.rs
qui = fg(255, 10, 10) + 'This is red text using 24bit colors.' + fg.rs

# Add custom colors:

from sty import Style, RgbFg

fg.orange = Style(RgbFg(255, 150, 50))

buf = fg.orange + 'Yay, Im orange.' + fg.rs

print(foo, bar, baz, qux, qui, buf, sep='\n')

The code above will print like this in the terminal:

example

Documentation

Documentation-Website: https://sty.mewo.dev

Documentation-Website-Source: https://github.com/feluxe/sty-docs

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sty-1.0.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file sty-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: sty-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for sty-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3094f201efba9c9b447b831855c44f7ba5d55342739ebb368d43feadaa83d7f
MD5 29eb11a899d9a7e008a97ef0a4fadcbb
BLAKE2b-256 c186cd0f236881e9065f54739fc90ccf254e69e466a0efca91a66479955ac3dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page