banner-maker


Namebanner-maker JSON
Version 0.1.11 PyPI version JSON
download
home_pagehttps://github.com/obarlik/banner-maker
SummaryProfessional banner generation tool with modern CLI interface
upload_time2025-07-20 20:12:27
maintainerNone
docs_urlNone
authorOnur Barlik
requires_python>=3.8
licenseMIT
keywords banner generator cli design graphics
VCS
bugtrack_url
requirements pillow numpy
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Banner Maker

![Banner Maker](readme_banner.png)

A powerful, customizable Python tool to generate modern banners for your projects. Create professional-looking banners with custom titles, subtitles, icons, colors, gradients, patterns, shapes, textures, and effects.

**Developed by [obarlik](https://github.com/obarlik) at [Codechu](https://codechu.com)**

## ✨ Features

- 🎨 **Highly Customizable**: Title, subtitle, colors, fonts, gradients
- 🖼️ **Icon Support**: PNG, JPG, SVG formats with automatic sizing  
- 🌈 **Advanced Gradients**: Vertical, horizontal, diagonal, radial gradients
- 🔷 **Pattern System**: Dots, squares, triangles, stars, hearts, lines, waves with rotation
- 🔶 **Shape Elements**: Circles, polygons, blobs, waves with customizable properties
- 🎭 **Texture Effects**: Noise, grain, concrete, leather, metal, and more
- ✨ **Visual Effects**: Bloom, glow, vintage filters, chromatic aberration
- 🔄 **Auto Color Detection**: Automatically extracts colors from your logo
- 📐 **Smart Layout**: Automatic text sizing and positioning
- 🎯 **Multiple Outputs**: Single banner or demo grid with variations
- 🎪 **60+ Built-in Presets**: Professional design templates
- 🔧 **Modern CLI Interface**: Compact syntax with extensive options

## 🚀 Quick Start

### Basic Usage
```bash
# Install dependencies
pip install -r requirements.txt

# Generate a simple banner
python banner_maker.py --title "My Project" --subtitle "Awesome Project Description"

# With custom icon
python banner_maker.py --title "My Project" --icon logo.png
```

### Advanced Usage
```bash
# Use a preset
python banner_maker.py --preset modern_blue --title "My Project"

# Generate demo grid with 60 variations
python banner_maker.py --demo

# Modern compact syntax
python banner_maker.py --title "API Docs" --bg "orange:red:diagonal" --pattern "dots:white:25" --shape "wave:blue:60"

# Multiple elements with effects
python banner_maker.py \
  --title "Data Platform" \
  --bg "purple:blue:radial" \
  --pattern "triangles:white:30" \
  --shape "polygon:cyan:40" \
  --texture "grain:20" \
  --effect "bloom:0.8" \
  --rounded "25"
```

## 📋 Parameters

### Basic Options
- `--title` - Project title (default: "Banner Maker")
- `--subtitle` - Project subtitle/slogan (default: "Customizable Project Banner Generator")
- `--icon` - Path to icon image (optional)
- `--output` - Output file name (default: "banner.png")

### Colors & Gradients
- `--bg-color-start` - Background gradient start color (hex)
- `--bg-color-end` - Background gradient end color (hex)
- `--text-color` - Text color (hex)
- `--gradient-type` - Gradient direction: vertical, horizontal, diagonal, radial
- `--auto-color` - Automatically use dominant colors from icon

### Patterns & Shapes (Modern Syntax)
- `--pattern` - Background patterns: "type:color:opacity" (dots, squares, triangles, stars, hearts, lines, waves)
- `--shape` - Decorative shapes: "type:color:opacity" (circle, polygon, blob, wave)
- `--texture` - Background textures: "type:opacity" (noise, grain, concrete, leather, metal)
- `--effect` - Visual effects: "type:intensity" (bloom, glow, vintage, monochrome)

### Effects & Styling
- `--rounded` - Corner radius: "value" or "tl,tr,bl,br" for individual corners
- `--intensity` - Global intensity modifier: low/medium/high
- `--contrast` - Global contrast modifier: low/medium/high

### Advanced Options
- `--min-contrast` - Minimum text-background contrast ratio
- `--shadow-opacity` - Text shadow opacity (0-255)
- `--corner-radius-tl/tr/bl/br` - Individual corner radius values
- `--padding` - Padding around text and logo (px)

### Demo & Presets
- `--demo` - Generate demo banner set with variations
- `--preset` - Use built-in preset (modern_blue, purple_tech, minimal_black, etc.)

## 🎨 Built-in Presets (60+ Available)

### Popular Presets
- **geometric_chaos** - Dynamic triangles with random rotation and vibrant gradients
- **polygon_constellation** - Star patterns with multiple geometric shapes
- **modern_blue** - Professional blue gradient with clean design
- **purple_tech** - Tech-style with diagonal gradients and dot patterns
- **architect_concrete** - Minimalist concrete texture with geometric elements
- **playful_rainbow** - Colorful hearts pattern for creative projects
- **vaporwave** - Retro pink-blue aesthetic with line patterns
- **ocean_waves** - Flowing wave patterns with ocean colors

### Categories
- **Professional** - business_green, github_pro, fintech_gold
- **Creative** - blob_garden, organic_blobs, nature_breeze  
- **Tech** - cyber_yellow, dark_portfolio, matrix_grid
- **Accessible** - accessible_blue_orange, bw_high_contrast
- **Artistic** - vintage_leather, textile_corduroy, pixel_art

Use `--learn PRESET_NAME` to see the CLI equivalent of any preset.

## 📦 Installation

```bash
# Clone the repository
git clone https://github.com/obarlik/banner-maker.git
cd banner-maker

# Install dependencies
pip install -r requirements.txt
```

## 🔧 Requirements

- Python 3.8+
- Pillow (PIL)
- NumPy (for noise texture effects)

## 📸 Examples

### Basic Banner
```bash
python banner_maker.py --title "My Awesome Project" --subtitle "The best tool ever created"
```

### Using Presets
```bash
python banner_maker.py --preset geometric_chaos --title "My Project"
python banner_maker.py --preset vaporwave --title "Retro App"
```

### Modern Compact Syntax
```bash
# Multi-element design
python banner_maker.py --title "AI Platform" --bg "purple:pink:radial" --pattern "stars:white:25" --effect "glow:0.6"

# Professional style
python banner_maker.py --preset architect_concrete --title "Construction Co" --intensity "high"
```

## 🎯 Output

The tool generates:
- **Single Banner**: PNG file (1024x256 px) optimized for GitHub README
- **Demo Grid**: Collection of banner variations with parameter labels
- **Log File**: Detailed parameter information for each generated banner

## 🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- Inspired by modern GitHub project banners
- Built with **Pillow (PIL)** for image processing
- Powered by **NumPy** for efficient numerical computations
- Designed for developer productivity

### Fonts
- **DejaVu Sans Mono** - High quality monospace font (Bitstream Vera License)
- **Inter** - Modern sans-serif font by Rasmus Andersson (SIL Open Font License)

### Optional Dependencies
- **SciPy** - Scientific computing library for advanced texture effects
- **Matplotlib** - Plotting library for data visualization features

---

**Made with ❤️ for the GitHub community** 

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/obarlik/banner-maker",
    "name": "banner-maker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "banner, generator, cli, design, graphics",
    "author": "Onur Barlik",
    "author_email": "obarlik@codechu.com",
    "download_url": "https://files.pythonhosted.org/packages/85/36/4ceab2de9576d0d5f709f89531aa0e7adedf788b9eda21078aba11e92ca9/banner_maker-0.1.11.tar.gz",
    "platform": null,
    "description": "# Banner Maker\n\n![Banner Maker](readme_banner.png)\n\nA powerful, customizable Python tool to generate modern banners for your projects. Create professional-looking banners with custom titles, subtitles, icons, colors, gradients, patterns, shapes, textures, and effects.\n\n**Developed by [obarlik](https://github.com/obarlik) at [Codechu](https://codechu.com)**\n\n## \u2728 Features\n\n- \ud83c\udfa8 **Highly Customizable**: Title, subtitle, colors, fonts, gradients\n- \ud83d\uddbc\ufe0f **Icon Support**: PNG, JPG, SVG formats with automatic sizing  \n- \ud83c\udf08 **Advanced Gradients**: Vertical, horizontal, diagonal, radial gradients\n- \ud83d\udd37 **Pattern System**: Dots, squares, triangles, stars, hearts, lines, waves with rotation\n- \ud83d\udd36 **Shape Elements**: Circles, polygons, blobs, waves with customizable properties\n- \ud83c\udfad **Texture Effects**: Noise, grain, concrete, leather, metal, and more\n- \u2728 **Visual Effects**: Bloom, glow, vintage filters, chromatic aberration\n- \ud83d\udd04 **Auto Color Detection**: Automatically extracts colors from your logo\n- \ud83d\udcd0 **Smart Layout**: Automatic text sizing and positioning\n- \ud83c\udfaf **Multiple Outputs**: Single banner or demo grid with variations\n- \ud83c\udfaa **60+ Built-in Presets**: Professional design templates\n- \ud83d\udd27 **Modern CLI Interface**: Compact syntax with extensive options\n\n## \ud83d\ude80 Quick Start\n\n### Basic Usage\n```bash\n# Install dependencies\npip install -r requirements.txt\n\n# Generate a simple banner\npython banner_maker.py --title \"My Project\" --subtitle \"Awesome Project Description\"\n\n# With custom icon\npython banner_maker.py --title \"My Project\" --icon logo.png\n```\n\n### Advanced Usage\n```bash\n# Use a preset\npython banner_maker.py --preset modern_blue --title \"My Project\"\n\n# Generate demo grid with 60 variations\npython banner_maker.py --demo\n\n# Modern compact syntax\npython banner_maker.py --title \"API Docs\" --bg \"orange:red:diagonal\" --pattern \"dots:white:25\" --shape \"wave:blue:60\"\n\n# Multiple elements with effects\npython banner_maker.py \\\n  --title \"Data Platform\" \\\n  --bg \"purple:blue:radial\" \\\n  --pattern \"triangles:white:30\" \\\n  --shape \"polygon:cyan:40\" \\\n  --texture \"grain:20\" \\\n  --effect \"bloom:0.8\" \\\n  --rounded \"25\"\n```\n\n## \ud83d\udccb Parameters\n\n### Basic Options\n- `--title` - Project title (default: \"Banner Maker\")\n- `--subtitle` - Project subtitle/slogan (default: \"Customizable Project Banner Generator\")\n- `--icon` - Path to icon image (optional)\n- `--output` - Output file name (default: \"banner.png\")\n\n### Colors & Gradients\n- `--bg-color-start` - Background gradient start color (hex)\n- `--bg-color-end` - Background gradient end color (hex)\n- `--text-color` - Text color (hex)\n- `--gradient-type` - Gradient direction: vertical, horizontal, diagonal, radial\n- `--auto-color` - Automatically use dominant colors from icon\n\n### Patterns & Shapes (Modern Syntax)\n- `--pattern` - Background patterns: \"type:color:opacity\" (dots, squares, triangles, stars, hearts, lines, waves)\n- `--shape` - Decorative shapes: \"type:color:opacity\" (circle, polygon, blob, wave)\n- `--texture` - Background textures: \"type:opacity\" (noise, grain, concrete, leather, metal)\n- `--effect` - Visual effects: \"type:intensity\" (bloom, glow, vintage, monochrome)\n\n### Effects & Styling\n- `--rounded` - Corner radius: \"value\" or \"tl,tr,bl,br\" for individual corners\n- `--intensity` - Global intensity modifier: low/medium/high\n- `--contrast` - Global contrast modifier: low/medium/high\n\n### Advanced Options\n- `--min-contrast` - Minimum text-background contrast ratio\n- `--shadow-opacity` - Text shadow opacity (0-255)\n- `--corner-radius-tl/tr/bl/br` - Individual corner radius values\n- `--padding` - Padding around text and logo (px)\n\n### Demo & Presets\n- `--demo` - Generate demo banner set with variations\n- `--preset` - Use built-in preset (modern_blue, purple_tech, minimal_black, etc.)\n\n## \ud83c\udfa8 Built-in Presets (60+ Available)\n\n### Popular Presets\n- **geometric_chaos** - Dynamic triangles with random rotation and vibrant gradients\n- **polygon_constellation** - Star patterns with multiple geometric shapes\n- **modern_blue** - Professional blue gradient with clean design\n- **purple_tech** - Tech-style with diagonal gradients and dot patterns\n- **architect_concrete** - Minimalist concrete texture with geometric elements\n- **playful_rainbow** - Colorful hearts pattern for creative projects\n- **vaporwave** - Retro pink-blue aesthetic with line patterns\n- **ocean_waves** - Flowing wave patterns with ocean colors\n\n### Categories\n- **Professional** - business_green, github_pro, fintech_gold\n- **Creative** - blob_garden, organic_blobs, nature_breeze  \n- **Tech** - cyber_yellow, dark_portfolio, matrix_grid\n- **Accessible** - accessible_blue_orange, bw_high_contrast\n- **Artistic** - vintage_leather, textile_corduroy, pixel_art\n\nUse `--learn PRESET_NAME` to see the CLI equivalent of any preset.\n\n## \ud83d\udce6 Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/obarlik/banner-maker.git\ncd banner-maker\n\n# Install dependencies\npip install -r requirements.txt\n```\n\n## \ud83d\udd27 Requirements\n\n- Python 3.8+\n- Pillow (PIL)\n- NumPy (for noise texture effects)\n\n## \ud83d\udcf8 Examples\n\n### Basic Banner\n```bash\npython banner_maker.py --title \"My Awesome Project\" --subtitle \"The best tool ever created\"\n```\n\n### Using Presets\n```bash\npython banner_maker.py --preset geometric_chaos --title \"My Project\"\npython banner_maker.py --preset vaporwave --title \"Retro App\"\n```\n\n### Modern Compact Syntax\n```bash\n# Multi-element design\npython banner_maker.py --title \"AI Platform\" --bg \"purple:pink:radial\" --pattern \"stars:white:25\" --effect \"glow:0.6\"\n\n# Professional style\npython banner_maker.py --preset architect_concrete --title \"Construction Co\" --intensity \"high\"\n```\n\n## \ud83c\udfaf Output\n\nThe tool generates:\n- **Single Banner**: PNG file (1024x256 px) optimized for GitHub README\n- **Demo Grid**: Collection of banner variations with parameter labels\n- **Log File**: Detailed parameter information for each generated banner\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Inspired by modern GitHub project banners\n- Built with **Pillow (PIL)** for image processing\n- Powered by **NumPy** for efficient numerical computations\n- Designed for developer productivity\n\n### Fonts\n- **DejaVu Sans Mono** - High quality monospace font (Bitstream Vera License)\n- **Inter** - Modern sans-serif font by Rasmus Andersson (SIL Open Font License)\n\n### Optional Dependencies\n- **SciPy** - Scientific computing library for advanced texture effects\n- **Matplotlib** - Plotting library for data visualization features\n\n---\n\n**Made with \u2764\ufe0f for the GitHub community** \n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Professional banner generation tool with modern CLI interface",
    "version": "0.1.11",
    "project_urls": {
        "Documentation": "https://github.com/obarlik/banner-maker/blob/main/README.md",
        "Homepage": "https://github.com/obarlik/banner-maker",
        "Issues": "https://github.com/obarlik/banner-maker/issues",
        "Repository": "https://github.com/obarlik/banner-maker"
    },
    "split_keywords": [
        "banner",
        " generator",
        " cli",
        " design",
        " graphics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f9568e4814e5fe828951870db53a28bf5fd84274bc190ff84bb143b636a45bb",
                "md5": "6f5258c5245ef2968a7545ce52003e6b",
                "sha256": "02d91337155a491744c5db3c79a767f668797eaa5ac8ce5e46726dde85d1aa11"
            },
            "downloads": -1,
            "filename": "banner_maker-0.1.11-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6f5258c5245ef2968a7545ce52003e6b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 1231207,
            "upload_time": "2025-07-20T20:12:25",
            "upload_time_iso_8601": "2025-07-20T20:12:25.782078Z",
            "url": "https://files.pythonhosted.org/packages/7f/95/68e4814e5fe828951870db53a28bf5fd84274bc190ff84bb143b636a45bb/banner_maker-0.1.11-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "85364ceab2de9576d0d5f709f89531aa0e7adedf788b9eda21078aba11e92ca9",
                "md5": "af7d2e259d8c7506bf3c420f3b1deef7",
                "sha256": "d44585a90e84e1b6f95163cd76a26071d3f639d394dcbfc38d896237a99d7296"
            },
            "downloads": -1,
            "filename": "banner_maker-0.1.11.tar.gz",
            "has_sig": false,
            "md5_digest": "af7d2e259d8c7506bf3c420f3b1deef7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 1189202,
            "upload_time": "2025-07-20T20:12:27",
            "upload_time_iso_8601": "2025-07-20T20:12:27.699544Z",
            "url": "https://files.pythonhosted.org/packages/85/36/4ceab2de9576d0d5f709f89531aa0e7adedf788b9eda21078aba11e92ca9/banner_maker-0.1.11.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-20 20:12:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "obarlik",
    "github_project": "banner-maker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pillow",
            "specs": [
                [
                    ">=",
                    "9.0.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.20.0"
                ]
            ]
        }
    ],
    "lcname": "banner-maker"
}
        
Elapsed time: 0.90869s