haikunator
Heroku-like random name generator for python.
Decision gist · record as of 2026-08-14
Yes, if you need a simple, dependency-free random name generator and can accept that the package is no longer maintained. The core functionality is stable and unlikely to break for basic use cases, but do not rely on it for new Python versions or expect bug fixes. For active projects, consider whether a maintained alternative better suits your risk tolerance.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with no runtime dependencies.
- Package is marked abandoned (last commit 2018-01-30, no releases since 2016-09-20), so expect no active maintenance or bug fixes.
License · maintenance · safety
BSD (permissive) — BSD license is permissive, allowing use in commercial and private projects with minimal restrictions.
last release 2016-09-20 (3615 days) · last repo commit 2018-01-30 · 130 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 93,095 downloads/mo, #13,400 on PyPI
Alternatives
Verify before relying
pip install haikunator
from haikunator import Haikunator
haikunator = Haikunator()
print(haikunator.haikunate()) # => "wispy-dust-1337"
print(haikunator.haikunate(token_length=6)) # => "patient-king-887265"- Whether the package works reliably with Python versions released after 2018 (classifiers list Python 3.6 as latest tested)
- Whether custom adjective/noun lists are validated or if malformed input could cause unexpected behavior
What it is and what it does
Haikunator generates random, human-readable names in the style of Heroku's naming scheme—combining a random adjective, noun, and numeric or hex token separated by a delimiter. It's a lightweight utility with no external dependencies, designed for use cases where you need to generate unique but pronounceable identifiers quickly.
The package exposes a single `Haikunate` class with one main method, `haikunate()`, which accepts parameters to customize the token format (numeric, hexadecimal, or custom characters), token length, delimiter, and the word lists themselves. It supports optional seeding for reproducible output.
Use it for
- Generate unique container or instance names for deployment and orchestration systems
- Create memorable temporary identifiers for test fixtures, sessions, or temporary resources
- Produce readable slugs or identifiers for user-facing features like temporary URLs or invite codes
- Name temporary files, logs, or artifacts in CI/CD pipelines where human readability aids debugging
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need a simple, dependency-free random name generator and can accept that the package is no longer maintained.
The core functionality is stable and unlikely to break for basic use cases, but do not rely on it for new Python versions or expect bug fixes. For active projects, consider whether a maintained alternative better suits your risk tolerance.
Install
haikunator on PyPI
Before you install
Low friction install with no runtime dependencies. Package is marked abandoned (last commit 2018-01-30, no releases since 2016-09-20), so expect no active maintenance or bug fixes.
License in practice
BSD license is permissive, allowing use in commercial and private projects with minimal restrictions.
Quickstart
pip install haikunator
from haikunator import Haikunator
haikunator = Haikunator()
print(haikunator.haikunate()) # => "wispy-dust-1337"
print(haikunator.haikunate(token_length=6)) # => "patient-king-887265"
Verify before relying
- Whether the package works reliably with Python versions released after 2018 (classifiers list Python 3.6 as latest tested)
- Whether custom adjective/noun lists are validated or if malformed input could cause unexpected behavior
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 3,615 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 93,095 / month, #13,400 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Topic :: Software Development :: Libraries :: Python Modules |
Evidence: haikunator-2.1.0-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “heroku-like name generation”
- haikunatorGenerates random Heroku-style names composed of adjectives, nouns,…
- getnameProvides random name generation for cats, dogs, superheroes, and…
- namesGenerates random human names (first, last, or full) with optional…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also randomname · random-slugs · unique-namer · wonderwords · diceware · codenamize · petname · pytest-rng · random2 · pytest-randomly