unique-namer
Generate unique, human-readable, and memorable names or identifiers
What it is and what it does
unique-namer is a lightweight Python library that generates memorable, human-readable names and identifiers by pairing random adjectives with nouns from themed categories. It provides both a Python API and a command-line utility, with no external dependencies and support for Python 3.6 and later. The package draws inspiration from Docker's container naming and Nextflow's process naming conventions, offering a practical solution for creating readable identifiers in place of random strings or UUIDs.
The library covers 25 categories spanning science, animals, history, food, technology, and more, each with its own set of nouns. Users can generate simple names like 'talented-toucan', create unique IDs by appending alphanumeric suffixes, customize separators and text case, or mix categories randomly. It's designed for naming temporary directories, session IDs, process names, project names, or submitted jobs—any context where a human-friendly identifier is preferable to a raw hash or sequential number.
Use it for:
- Generate memorable session or user IDs for web applications and APIs instead of raw UUIDs
- Name temporary directories, build artifacts, or log files with readable identifiers for debugging
- Create themed project or job names in batch processing systems or workflow engines
- Assign gamer tags, usernames, or character names in games or social applications
- Label experimental runs or test instances in data science or CI/CD pipelines
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates unique, human-readable names and identifiers by combining adjectives with nouns from 25 thematic categories, with optional alphanumeric suffixes for ID creation.
Yes. The package is lightweight, dependency-free, well-licensed, and solves a genuine usability problem—replacing opaque identifiers with memorable names. It has no known vulnerabilities and works across current Python versions. The aging maintenance status (407 days since release) is not a blocker for a stable utility with a narrow, well-defined scope, though users should verify that the category data and naming logic meet their specific thematic needs before relying on it in production.
Install
unique-namer on PyPI
pip
pip install unique-nameruv
uv add unique-namerpoetry
poetry add unique-namerInstalling unique-namer
Before you install
Low friction: pure Python with no runtime dependencies, distributed as a wheel. Package is aging (407 days since last release) but the repository remains active with recent commits and no archived status.
License in practice
MIT License permits unrestricted use, modification, and distribution with minimal restrictions—suitable for commercial and private projects alike.
Quickstart
pip install unique-namer
import namer
name = namer.generate()
print(name) # Example: 'blushy-cyclist'
name_with_id = namer.generate(category='astronomy', suffix_length=5)
print(name_with_id) # Example: 'crazy-supernova-9a1b2'
Verify before relying
- Whether the 25 categories and 17 million unique name combinations remain stable across versions
- Performance characteristics when generating names at scale or in high-throughput scenarios
Package facts
| License | MIT License Copyright (c) 2024 Andrzej Zielezinski Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 407 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 189,089/month — #9,935 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: unique_namer-1.6.2-py3-none-any.whl
Keywords: random, unique, name, id, generate, namer
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
randomnameGenerates random memorable identifiers by…
permissive · top 5,000 on PyPI
petnameGenerates random, pronounceable names by…
permissive · top 15,000 on PyPI
haikunatorGenerates random Heroku-style names composed of…
permissive · top 15,000 on PyPI
friendlywordsGenerates random human-readable strings from…
permissive · top 15,000 on PyPI
random-slugsGenerates random word-based slugs with…
unclear · top 15,000 on PyPI
wonderwordsGenerates random English words and sentences…
permissive · top 15,000 on PyPI
ulidGenerates ULIDs (Universally Unique…
permissive · top 15,000 on PyPI
coolnameGenerates random human-readable names and…
permissive · top 5,000 on PyPI
codenamizeGenerates consistent, human-readable codenames…
permissive · top 15,000 on PyPI
cuidGenerates fast, sequentially-ordered unique…
permissive · top 5,000 on PyPI