Logogeno is a Python script for generating branded SVG and PNG logos for projects across multiple platforms (like Saplings and Arbor). It supports dynamic text placement, scalable layout, custom gradients, and embedded font styling using system-installed Playfair Display.
-
Generates 512×512 logos with:
- Branded background gradients
- Platform-specific SVG icon
- Stylized platform and repo names (with smart font scaling)
-
Outputs both
.svgand.png -
Uses Playfair Display Bold from your system's installed fonts
Ensure you have Python 3.8+ installed. Check with:
python3 --versionInstall the required Python packages:
pip install cairosvgNote:
cairosvgalso requires system-level libraries, including Cairo, Pango, and GDK-PixBuf. On macOS:brew install cairo pango gdk-pixbuf
You must have Playfair Display Bold installed on your system. Download it from Google Fonts and install it manually before running the script.
python logogeno.py --platform Saplings --repo-name "Content types"
python logogeno.py --platform Arbor --repo-name "Theme"
python logogeno.py --platform "Drupal AI" --repo-name "AI SEO Optimizer"This generates:
generated_logos/Saplings-content-types.svggenerated_logos/Saplings-content-types.pnggenerated_logos/Arbor-theme.svggenerated_logos/Arbor-theme.png
You can also just create a platform logo.
python logogeno.py --platform ArborThis omits the repository name.
Use the --no-platform-name flag to generate logos without the platform name:
python logogeno.py --platform Saplings --repo-name "My Project" --no-platform-nameThis generates a logo showing only "My Project" without "Saplings" below the icon.
To add a new branded platform:
- Open the
CONFIGdictionary at the top of the script. - Add a new entry following this format:
"MyPlatform": {
"background_gradient_1": "#hex1",
"background_gradient_2": "#hex2",
"background_gradient_3": "#hex3",
"background_color": "#hexFallback",
"foreground_color": "#hexText",
"gradient_1": "0%",
"gradient_2": "30%",
"gradient_3": "100%",
"svg_path": '''<svg>...your platform icon here...</svg>'''
}SVG Icon Notes:
- Must be embedded as a string inside triple quotes (
''')- Must use a 400×400 coordinate space
- Use
fillorstrokewithforeground_colorto colorize
- Font: Uses Playfair Display Bold, which must be installed on your system
- Font size auto-scales for long names
- SVG background uses a 4-stop gradient for custom ramping control
All generated logos are saved in:
generated_logos/
├— Saplings-example.svg
└— Saplings-example.png
python logogeno.py --platform Arbor --repo-name "VeryLongRepositoryNameThatWillBeScaled"Feel free to open issues or submit pull requests to improve the script. Contributions are welcome and encouraged!
Development of Logogeno is proudly sponsored by Kanopi Studios, a digital agency focused on thoughtful website design and development.
This script is available under the GNU General Public License v3.0. See the LICENSE file for details.