šŸš€ Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →
Socket
DemoInstallSign in
Socket

encoderize

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

encoderize

A collection of functions to generate various visual representations of text in SVG format

0.1.1
PyPI
Maintainers
1

codecov PyPI Downloads

Encoderize

A Python package for generating various visual representations of text in SVG format.

Installation

  • Install Ghostscript (required for barcode generation):

    • Windows: Download and install from Ghostscript website
    • Linux: sudo apt-get install ghostscript
    • macOS: brew install ghostscript
  • Install the package:

pip install -e .

Features

Generates SVG visualizations of text using 10 distinct encoding methods:

  • Binary Stripe: Binary bar code representation
  • Morse Code Band: Dots and dashes visualization
  • Circuit Trace Silhouette: Circuit board-like pattern (5x7 grid per character)
  • Dot Grid Steganography: Grid with highlighted letters
  • Semaphore Flags: Flag position visualization
  • A1Z26 Numeric Stripe: Numeric representation of letters (A=1, Z=26)
  • Code128 Barcode: Standard Code128 barcode format
  • Waveform Stripe: Waveform visualization based on character ASCII values
  • Chevron Stripe: Chevron pattern based on binary representation
  • Braille Stripe: Visual representation of Braille characters

Usage

encoderize --text "HELLO" --output-dir output

Options:

  • --text, -t: Text to visualize (required)
  • --output-dir, -o: Output directory (default: 'output')
  • --dark: Generate dark mode versions (white on black)
  • --light: Generate light mode versions (black on white)

If neither --dark nor --light is specified, both versions will be generated.

Example Visualizations

WIP

Output Structure

For input text like "HELLO", the output structure will be:

output/
└── HELLO/
    ā”œā”€ā”€ light/
    │   ā”œā”€ā”€ binary_stripe_HELLO.svg
    │   ā”œā”€ā”€ morse_code_band_HELLO.svg
    │   ā”œā”€ā”€ circuit_trace_silhouette_HELLO.svg
    │   ā”œā”€ā”€ dot_grid_steganography_HELLO.svg
    │   ā”œā”€ā”€ semaphore_flags_HELLO.svg
    │   ā”œā”€ā”€ a1z26_stripe_HELLO.svg
    │   ā”œā”€ā”€ code128_barcode_HELLO.svg
    │   ā”œā”€ā”€ waveform_stripe_HELLO.svg
    │   ā”œā”€ā”€ chevron_stripe_HELLO.svg
    │   └── braille_stripe_HELLO.svg
    └── dark/
        ā”œā”€ā”€ binary_stripe_HELLO.svg
        ā”œā”€ā”€ morse_code_band_HELLO.svg
        └── ... (and so on for all 10 types)

Customization

Each visualization function in encoderize/visualizers.py accepts optional parameters to customize the appearance (e.g., colors, sizes, spacing, dimensions).

See the function docstrings within encoderize/visualizers.py for detailed parameter information.

Development

Install development dependencies:

pip install -e ".[dev]"

Run tests:

pytest

Run linters (e.g., flake8, black):

# Example using flake8
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# Example using black
black . --check

Requirements

  • Python 3.8 or higher
  • svgwrite
  • treepoem (and its dependency Ghostscript for barcode generation)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md file for details on how to report bugs, suggest features, and submit pull requests.

Contact

For questions or feedback, please contact Hayden MacDonald at haydenpmac@gmail.com.

Contributors

Made with contrib.rocks.

Keywords

encoderize

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts