awesome-slugify: A Flexible Python Slugify Function
This repository profile is provided by osrepos.com, an open source repository discovery platform.
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
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, andstop_words. - Unique Slug Generation: The
UniqueSlugifyclass 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_urlandslugify_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
- GitHub Repository: https://github.com/voronind/awesome-slugify
- PyPI Package: https://pypi.python.org/pypi/awesome-slugify
Related repositories
Similar repositories that may be relevant next.
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.

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'.

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.

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.
Source repository
Open the original repository on GitHub.