Skip to main content

✨ Elevate your GitHub Profile ReadMe with Minimalistic Retro Terminal GIFs 🚀

Project description

github-readme-terminal
✨ Elevate your GitHub Profile ReadMe with Minimalistic Retro Terminal GIFs 🚀

💻 GitHub ReadME Terminal 🎞️

Ruff Code style: black PyPI - Python Version PyPI - License PyPI - Version

📘 Description

A Python project that empowers you to create visually stunning and unique GIFs for your GitHub Profile ReadME. Unleash your creativity and make your profile stand out from the rest!

📸 Showcase

GIFOS

🗝️ Key Features

  • 👾 Retro Vibes – Easily simulate a retro PC booting up into a *nix terminal and then running neofetch to display various details about your GitHub activity.
  • 🖼️ Unleash Your Creativity - Craft unique and eye-catching visuals with complete control. Your GitHub profile is your canvas, and github-readme-terminal is your paintbrush!
  • 📈 Live GitHub Stats - Keep your profile readme up to date with your latest achievements and contributions with built-in helper functions.
  • 🎨 Choice of Color Schemes – 10+ popular color schemes to choose from and full support for ANSI color escape sequences.
  • 🛠️ TOML-based configuration - Provides an easy and organized way to customize your terminal simulation.

🎯 Motivation

  • 🌈 Customization is at the heart of the project – no more settling for pre-defined templates. Tailor your GitHub Profile ReadME to reflect your personality.
  • 🌐 Unlike other GitHub user statistic generators, this project offers a fresh approach to showcasing your profile information.
  • 🚨 Stand out in the developer community with visually appealing GIFs that can potentially make a lasting impression.
  • 📦 High-level constructs and functions for simulating various terminal operations provide unparalleled control over your ReadME aesthetic.

⚙️ Prerequisites

  1. Python >=3.9
  2. FFmpeg
  3. GitHub personal access token (Optional)
  4. ImgBB API key (Optional)

📦 Installation

⚙️ To install github-readme-terminal, you need pip:

python -m pip install --upgrade github-readme-terminal

🪧 Usage

Here is a basic demonstration:

import gifos

t = gifos.Terminal(width=320, height=240, xpad=5, ypad=5)
t.gen_text(text="Hello World!", row_num=1)
t.gen_text(text="With \x1b[32mANSI\x1b[0m escape sequence support!", row_num=2)
github_stats = gifos.utils.fetch_github_stats(
    user_name="x0rzavi"
)  # needs GITHUB_TOKEN in .env or as environment variable
t.delete_row(row_num=1)
t.gen_text(text=f"GitHub Name: {github_stats.account_name}", row_num=1, contin=True)
t.gen_gif()
image = gifos.utils.upload_imgbb(
    file_name="output.gif", expiration=60
)  # needs IMGBB_API_KEY in .env or as environment variable
print(image.url)

For advanced usage, please refer here

🛠️ Configuration

Tunable options can be set in two locations:

  1. Inside TOML files located in ~/.config/gifos/.
  2. As environment variables.

📑 TOML configuration file format

# gifos.toml

[general]
debug = false
cursor = "_"
show_cursor = true
blink_cursor = false
user_name = "x0rzavi" # for prompt
fps = 15
color_scheme = "rose-pine"

[files]
frame_base_name = "frame_"
frame_folder_name = "frames"
output_gif_name = "output"
# ansi_escape_colors.toml

[yoru]
        [yoru.default_colors]
        fg = "#edeff0"
        bg = "#0c0e0f"

        [yoru.normal_colors]
        black = "#232526"
        red = "#df5b61"
        green = "#78b892"
        yellow = "#de8f78"
        blue = "#6791c9"
        magenta = "#bc83e3"
        cyan = "#67afc1"
        white = "#e4e6e7"

        [yoru.bright_colors]
        black = "#2c2e2f"
        red = "#e8646a"
        green = "#81c19b"
        yellow = "#e79881"
        blue = "#709ad2"
        magenta = "#c58cec"
        cyan = "#70b8ca"
        white = "#f2f4f5"

📑 Environment variables format

export GIFOS_GENERAL_DEBUG=true
export GIFOS_GENERAL_COLOR_SCHEME="catppuccin-mocha"
export GIFOS_CATPPUCCIN-MOCHA_DEFAULT_COLORS_FG="white"
export GIFOS_CATPPUCCIN-MOCHA_DEFAULT_COLORS_BG="black"
# Other variables are named similarly

📂 Optional API keys

Optional API keys for modules must be present in .env file or declared as environment variables:

  1. GITHUB_TOKEN
    • Repository access - All repositories
    • Repository permissions - Contents: Read-only
  2. IMGBB_API_KEY

🌈 Color schemes included

📃 Roadmap

  • Add proper documentation.
  • Add GitHub streak statistics.
  • Properly handle exceptions.
  • Add unit tests.
  • Support for more ANSI escape codes.
  • More in-built color schemes.
  • More in-built text animations.

🌱 Contributing

This is an open source project licensed under MIT and we welcome contributions from the community. We appreciate all types of contributions, including bug reports, feature requests, documentation improvements, and code contributions.

🤝 Acknowledgments

✨ Craft your masterpiece with github-readme-terminal and showcase your unique GitHub profile here

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

github_readme_terminal-0.0.3.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

github_readme_terminal-0.0.3-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file github_readme_terminal-0.0.3.tar.gz.

File metadata

  • Download URL: github_readme_terminal-0.0.3.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/5.15.133.1-microsoft-standard-WSL2

File hashes

Hashes for github_readme_terminal-0.0.3.tar.gz
Algorithm Hash digest
SHA256 16c4b8bcbd27bf7093db42ce57cbb7697010b5139f398ab26e2105e92bc4f6d1
MD5 21f1d6735671f3457fe0080d6484c570
BLAKE2b-256 4ce6e0c028aaba0b664446962efa573773c24411462d69aa9970bf7cdb4a248e

See more details on using hashes here.

File details

Details for the file github_readme_terminal-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: github_readme_terminal-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/5.15.133.1-microsoft-standard-WSL2

File hashes

Hashes for github_readme_terminal-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3d2d5ec446760ab9bee8ba3cc907374b901ca96b0fa3354377917299da3b3b8e
MD5 eeb2dd929bfcf80a4a6cc46a4cd433d9
BLAKE2b-256 92828fe2a0f1d0da04d16643448ce56834f76a9b9296f347cf10ced593a7fac0

See more details on using hashes here.

Supported by

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