awesome-slugify: A Flexible Python Slugify Function

This repository profile is provided by osrepos.com, an open source repository discovery platform.

awesome-slugify: A Flexible Python Slugify Function

Summary

awesome-slugify is a powerful and flexible Python library designed for converting text into clean, URL-friendly slugs. It offers extensive customization options, including separators, case conversion, and length limits. The library also supports unique slug generation and comes with predefined configurations for various languages and use cases.

Repository Information

Analyzed by OSRepos on July 31, 2026

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

awesome-slugify is a highly flexible Python library designed for converting text into clean, URL-friendly slugs. It provides robust functionality to transform various text inputs into consistent formats, handling special characters, spaces, and case sensitivity with ease. This library is ideal for generating slugs for URLs, filenames, or any other context requiring sanitized string representations.

Installation

Installing awesome-slugify is straightforward using pip:

pip install awesome-slugify

Examples

Here are some examples demonstrating the versatility of awesome-slugify:

from slugify import slugify, Slugify, UniqueSlugify
from slugify import slugify_url, slugify_filename
from slugify import slugify_ru, slugify_de

# Basic usage
slugify('Any text')  # 'Any-text'

# Customization
slugify('Any text', to_lower=True)  # 'any-text'

# Using Slugify class for persistent options
custom_slugify = Slugify(to_lower=True)
custom_slugify('Any text')          # 'any-text'
custom_slugify.separator = '_'
custom_slugify('Any text')          # 'any_text'

# Generating unique slugs
unique_slug_gen = UniqueSlugify()
unique_slug_gen('Any text')          # 'any-text'
unique_slug_gen('Any text')          # 'any-text-1'

# Predefined slugify functions
slugify_filename('?r?ft ?2.txt')     # Draft_2.txt
slugify_url('?r?ft ?2.txt')          # draft-2-txt

# Custom pretranslation
my_slugify = Slugify()
my_slugify.separator = '.'
my_slugify.pretranslate = {'?': 'i', '?': 'love'}
my_slugify('? ? ????')                # I.love.borshch

# Language-specific slugification
slugify_ru('? ? ????')                # Ya-borsch
slugify_de('ÜBER Über slugify')       # UEBER-Ueber-slugify

Why Use It

awesome-slugify stands out due to its extensive customization options and powerful features:

  • Flexibility: Offers fine-grained control over slug generation with parameters like to_lower, max_length, separator, capitalize, pretranslate, safe_chars, and stop_words.
  • Unique Slug Generation: The UniqueSlugify class ensures that generated slugs are unique, which is crucial for database entries or file systems.
  • Predefined Configurations: Comes with ready-to-use slugifiers for common scenarios, such as slugify_url and slugify_filename, and supports various languages like Russian, German, and Greek.
  • Custom Unique Checker: Allows integration with external systems, such as databases, to verify slug uniqueness.
  • Easy Integration: Simple API makes it easy to incorporate into any Python project.

Links

Related repositories

Similar repositories that may be relevant next.

hashids-python: Generate YouTube-like Hashes from Numbers

hashids-python: Generate YouTube-like Hashes from Numbers

July 31, 2026

`hashids-python` is a Python implementation of the `hashids` library, designed to generate short, unique, YouTube-like hashes from one or many numbers. It's ideal for obfuscating database IDs without exposing their original values to users. This library ensures compatibility across Python 2 and 3, offering a flexible way to handle public-facing identifiers.

PythonHashingID Obfuscation
shortuuid: Generate Concise, Unambiguous, and URL-Safe UUIDs in Python

shortuuid: Generate Concise, Unambiguous, and URL-Safe UUIDs in Python

July 31, 2026

shortuuid is a Python library designed to generate concise, unambiguous, and URL-safe UUIDs. It addresses the need for non-sequential IDs that are easy for users to read and use, by translating standard UUIDs to a base57 alphabet. This library ensures IDs are short, readable, and avoids similar-looking characters like 'l', '1', 'I', 'O', and '0'.

PythonUUIDID Generation
PLY: A Legacy Python Lex-Yacc Parser Generator (Project Abandoned)

PLY: A Legacy Python Lex-Yacc Parser Generator (Project Abandoned)

July 30, 2026

PLY (Python Lex-Yacc) is a zero-dependency Python implementation of the traditional lex and yacc parsing tools, designed for building compilers, ASTs, and protocol decoders. Created by David Beazley, it offers a robust LALR(1) parsing algorithm compatible with modern Python versions. However, it's important to note that the project has been officially abandoned by its author, with no further maintenance expected.

PythonLexerParser
python-phonenumbers: Google's libphonenumber Port for Python

python-phonenumbers: Google's libphonenumber Port for Python

July 30, 2026

`python-phonenumbers` is a robust Python port of Google's highly acclaimed `libphonenumber` library. It offers comprehensive functionality for parsing, validating, and formatting international phone numbers, making it an indispensable tool for global applications. This library ensures accurate and standardized phone number handling across diverse regions.

PythonPhone Numberslibphonenumber

Source repository

Open the original repository on GitHub.

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️