Skip to main content

Text processing utilities for scientific workflows — LaTeX formatting, colored output, string parsing, and plot text helpers

Project description

SciTeX Str (scitex-str)

Text processing utilities for scientific workflows

PyPI Python Tests Install Test Coverage Docs License: AGPL v3

pip install scitex-str


Problem and Solution

# Problem Solution
1 LaTeX labels crash matplotlib when TeX isn't installed -- CI runners, laptops without MacTeX, Colab without !apt install texlive all fail safe_latex_render(s) -- auto-detects LaTeX; falls back to mathtext then unicode silently
2 ANSI color codes + grep/parse sprinkled as ad-hoc re patterns -- each script reinvents the wheel Grab-bag of helpers -- printc, color_text, grep, parse, replace, mask_api, readable_bytes — boring but consistent across 33 packages

Problem

Scientific Python code frequently needs LaTeX-style formatting for axis labels, colored terminal output for debugging, and structured string parsing for file paths and templates. These are scattered across ad-hoc helper functions in every project.

Solution

scitex-str provides a single package for text utilities commonly needed in scientific workflows:

  • LaTeX formatting -- convert variable names to LaTeX style, with automatic fallback when LaTeX is unavailable
  • Colored terminal output -- printc and color_text for styled console messages
  • String parsing -- bidirectional parse() to extract variables from path patterns
  • Plot text helpers -- format axis labels, titles, and tick labels for publication figures
  • Numeric formatting -- factor out common digits, human-readable byte sizes

Installation

Requires Python >= 3.10.

pip install scitex-str

SciTeX users: pip install scitex already includes this. Use import scitex then scitex.str.

Quick Start

import scitex_str as ss

# LaTeX-style formatting
ss.to_latex_style("theta")        # r"$\theta$"
ss.safe_to_latex_style("unknown") # "unknown" (no error)

# Colored terminal output
ss.printc("Success!", color="green")
ss.ct("Warning", color="yellow")  # returns colored string

# Parse structured paths
result = ss.parse("./data/Patient_23/Hour_12", "./data/Patient_{id}/Hour_{hour}")
# {'id': 23, 'hour': 12}

# Format plot text
ss.format_plot_text("amplitude_mv")  # "Amplitude [mV]"

# Human-readable bytes
ss.readable_bytes(1_500_000)  # "1.43 MB"

Part of SciTeX

scitex-str is part of SciTeX, a Python framework for scientific research automation.

Module Package Role
scitex.str scitex-str Text processing utilities
scitex.stats scitex-stats Statistical testing
scitex.io scitex-io Universal file I/O
scitex.plt figrecipe Publication-ready figures

scitex.ai

Project details


Download files

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

Source Distribution

scitex_str-0.1.7.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

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

scitex_str-0.1.7-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file scitex_str-0.1.7.tar.gz.

File metadata

  • Download URL: scitex_str-0.1.7.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scitex_str-0.1.7.tar.gz
Algorithm Hash digest
SHA256 10898d3c7a9040ad7ea6240d05df5854b7914a4f27cc1cec6223a1461bd62e17
MD5 c3ac22df58fbe47aa76a45a22f613c3c
BLAKE2b-256 062318ec9f887c5dfad7201bfa92c7de9554ecc31c2ed5dd7a86b7cdfedd7526

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex_str-0.1.7.tar.gz:

Publisher: publish-pypi.yml on ywatanabe1989/scitex-str

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scitex_str-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: scitex_str-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scitex_str-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e2c11aed998e8491dfc73a4e841e9cb913be763b9fb96a2426b3390ce9fc4046
MD5 3c5e893bdb9c6aae3ab3f94b7e559af8
BLAKE2b-256 27aaa17c929dc08973bf6ac5f38dabb04d4116173af95524cbea89c1addf1025

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex_str-0.1.7-py3-none-any.whl:

Publisher: publish-pypi.yml on ywatanabe1989/scitex-str

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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