Skip to content

programmersd21/programmersd21

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

51 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


Typing SVG


IdeaCred GitHub PyPI Profile Views



Name Banner

made with bangen โ€” TUI-based animated ASCII banner renderer


About Me

Hi, I'm Soumalya โ€” a developer based in India focused on Python and Rust, with a strong preference for terminal-first workflows. I build open-source tools with a bias toward clean APIs, real documentation, and codebases that don't quietly rot.

My projects tend to land in one of two spaces: developer tooling that makes a workflow noticeably better, or TUI/rendering work where the terminal is treated as a proper UI surface rather than a fallback. The common thread is trying to close the gap between what a tool can do and how comfortably someone can actually use it.

Away from the keyboard: cricket, specifically anything involving Mitchell Starc ๐Ÿ.

How I work:

  • Performance where it matters โ€” Rust when Python's speed is a genuine bottleneck, not a theoretical one
  • Small, composable libraries โ€” tools that do one thing well and integrate cleanly
  • Terminal-first โ€” TUIs as first-class interfaces
  • Open-source done properly โ€” semantic versioning, maintained docs, real changelogs
  • Clarity over cleverness โ€” code the next contributor can actually read


Technical Stack

Languages

Frameworks & Libraries

Tools & Platforms

Areas of Focus

Domain Proficiency Notes
๐Ÿ Python โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ Advanced patterns, async, FFI, packaging
๐Ÿฆ€ Rust โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘ Safe systems code, PyO3 FFI, TUI widgets
๐Ÿ–ฅ๏ธ TUI Development โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ Ratatui, crossterm, layout & widget systems
๐ŸŽจ Rendering & Effects โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘ ASCII art, Pillow pipelines, animation export
๐ŸŽฌ Visual Tooling โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘ Node graphs, live preview, animation editors
๐Ÿ“ฆ Library Authorship โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘ PyPI packaging, semver, public API design
๐Ÿ” CI/CD โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘ GitHub Actions, multi-platform release pipelines


Flagship Projects



๐ŸŽจ Bangen โ€” ASCII Banner Renderer with a Full Effect Pipeline

GitHub Python License Stars

Fast TUI banner editor with a composable 30+ effect library, JSON presets, and transparent PNG/GIF export.

Bangen is an ASCII banner renderer built on pyfiglet, rich, and Pillow. It ships with a live split-screen TUI for interactive editing, a Typer-powered CLI for scripted workflows, and an export pipeline that handles static PNG, animated GIF (with transparency), and plain TXT โ€” all from the same tool.

Effects are composable and order-sensitive, grouped into five categories: motion (wave, bounce, drift, scroll), visual (glow, pulse, rainbow_cycle, scanline), temporal (typewriter, fade_in, wipe, stagger), distortion (glitch, chromatic_aberration, melt, fragment), and signature (matrix_rain, fire, electric, neon_sign, particle_disintegration). Stack them freely โ€” glitch + chromatic_aberration + pulse for cyberpunk, glow + neon_sign for neon, matrix_rain + typewriter for the obvious.

# Styled render with effect stack
bangen "SYSTEM READY" --font slant --gradient "#7c3aed:#06b6d4" --effect glow --effect wave

# Export animated GIF
bangen "HELLO" --effect wave --effect glow --export-gif banner.gif --gif-duration 3 --gif-fps 20

# AI-prompted style
bangen "HELLO" --ai "retro CRT hacker title"

# Full-terminal screensaver
bangen "SIGNAL" --screensaver --screensaver-seed 42
Feature Detail
Live TUI Split-screen editor with windowed effect selector, preset loader, and export modal
Effect pipeline 30+ effects across 5 tiers; composable, order-sensitive, stackable
Export Transparent PNG, animated transparent GIF, plain TXT โ€” with live progress (%, elapsed, ETA)
Presets Built-in presets + user presets at ~/.bangen/presets/; save/load from TUI or CLI
AI prompts --ai "description" generates a matching style without manual flag-setting
Screensaver mode Auto-fits to terminal size, randomises effects and scene timing, runs indefinitely
Multi-stop gradients Colon-separated hex stops with horizontal or vertical interpolation
Standalone builds GitHub Actions releases for Windows, macOS, and Linux โ€” no Python environment needed

๐Ÿ”— View on GitHub โ†’



โšก EfficientManim โ€” Node-Based Visual Editor for Manim

IdeaCred GitHub Python PySide6 License Stars

A visual IDE for Manim that keeps the full Python animation model intact while making scene composition faster and more immediate.

EfficientManim is a node-based editor for Manim built with PySide6. Instead of editing a script, re-running the renderer, and waiting to see what broke, you build animations by connecting nodes in a visual graph โ€” scenes, objects, and transformations wired together with live preview updating as you go. The Python layer underneath is unchanged; the editor just gives you a faster feedback loop on top of it.

Feature Detail
Node editor Drag-and-drop graph โ€” connect scenes, objects, and transformations without boilerplate
Live preview Animations update as the graph changes
Multi-scene management Navigate and switch between independent scenes in a single project
AI code generation Generate Manim scene code from natural language descriptions
GitHub snippet loading Pull Manim snippets directly from GitHub into the active project
Voiceover integration Attach narration to animation sequences
Portable project format Save/share projects as self-contained files preserving the full node graph
Professional export Render finished animations as publication-ready video

๐Ÿ”— View on GitHub โ†’



๐Ÿ–ฅ๏ธ pyratatui โ€” Ratatui's TUI Engine, Accessible from Python

IdeaCred GitHub PyPI Downloads Rust License Stars

Rust-quality terminal UIs, authored entirely in Python.

pyratatui is a PyO3-backed Python binding for Ratatui. It exposes Ratatui's rendering engine through a fully Pythonic API โ€” widgets, layouts, and styles as Python classes and context managers โ€” so you get the performance and frame accuracy of the Rust TUI ecosystem without writing any Rust yourself. Distributed as binary wheels via Maturin; no Rust toolchain required.

Feature Detail
Native Rust rendering Terminal drawing handled entirely by Ratatui โ€” consistent and frame-accurate
Pythonic API Widgets, layouts, styles as Python classes; no Rust knowledge needed
Full widget library Paragraphs, Tables, Lists, Gauges, Charts, Sparklines, composable custom widgets
Constraint-based layouts Directional splits, percentages, and fixed sizes
Rich style system fg/bg colour, bold, italic, underline, 256-colour and truecolor
Async-ready Optional async terminal handling for asyncio-based architectures
Maturin wheels Binary wheels for Linux, macOS, and Windows

๐Ÿ”— View on GitHub โ†’ ย |ย  View on PyPI โ†’



GitHub Analytics

ย 



ย 



GitHub Contribution Snake



Milestones

trophy


Milestone Detail
๐ŸŽจ ASCII Tooling Built a TUI banner renderer with a 30+ effect pipeline, preset system, and transparent GIF export
๐ŸŽฌ Visual Animation Editor Node-based Manim IDE with live preview, AI generation, and professional video export
๐Ÿฆ€ Pythonโ€“Rust Binding PyO3-backed Python bindings for Ratatui's terminal rendering engine
๐Ÿ“ฆ PyPI Publisher Multi-platform binary wheel distribution via Maturin
๐Ÿค– CI/CD Pipelines Automated test, build, and release workflows via GitHub Actions
๐ŸŒ Open-Source Maintenance Active repos with open issues, real docs, and ongoing development


Currently Exploring

  • Deeper Rust โ€” async patterns, lifetimes, tighter PyO3 boundary design
  • Cranelift JIT โ€” ahead-of-time and JIT compilation for a custom language project
  • Terminal protocols โ€” Kitty graphics protocol, sixel, true-colour consistency across emulators
  • Property-based testing โ€” Hypothesis for Python, proptest for Rust
  • LLM integration in tooling โ€” making AI-assisted code generation actually useful, not surface-level


Beyond the Terminal

class Soumalya:
    location     = "India ๐Ÿ‡ฎ๐Ÿ‡ณ"
    os_of_choice = ["DerpFest AOSP", "Arch Linux (Hyprland)"]
    editor       = "Neovim (yes, really)"
    shell        = "zsh + dotfiles that took too long to configure"
    terminal     = "kitty / ghostty"

    interests = {
        "cricket"   : "Mitchell Starc โ€” best left-arm pacer of his generation, no debate ๐Ÿ",
        "coding"    : "Late-night sessions with lo-fi and a clean 80-column terminal",
        "philosophy": "Code is read far more than it's written. Optimise for the reader.",
    }

    currently = "Figuring out how far you can push Python with a bit of Rust. ๐Ÿฆ€"


Connect

Platform Link
๐Ÿ™ GitHub @programmersd21
๐Ÿ“ฆ PyPI pypi.org/user/programmersd21
๐Ÿฆ€ pyratatui org github.com/pyratatui

Best way to reach me: open an issue or discussion on one of the repos above. Happy to collaborate on Rustโ€“Python tooling, TUI projects, visual editors, or anything performance-adjacent.




Built with ๐Ÿ Python, ๐Ÿฆ€ Rust, and a genuine fondness for the terminal.

Followers Stars