Skip to main content

Generate random adj-noun names like docker and github.

Project description

randomname

Generate random unique ids using real words - like docker containers or github repos.

Often, I get tired of trying to hunt down files in folders differentiated by some numeric id, and unless I need to encode a timestep into the name, I'd rather use an id that's memorable and easy to type.

The wordlists are graciously sourced from: https://github.com/imsky/wordlists

NOTICE: If you come across any words in these wordlists that are offensive, pleaseplspls report them to me in an issue! Any of these word lists used come from external sources and there are lots of words.

Install

pip install randomname

Usage

# get adj-noun:
$ randomname get
# sleek-voxel
$ randomname get
# frayed-potentiality
$ randomname get
# recursive-vector
$ randomname get
# convoluted-peninsula

# specify adj-noun sub-categories (respectively):
$ randomname get weather shopping,cats
# freezing-store

# or define your own format:
$ randomname generate adj/sound n/apex_predators
# blaring-crocodile

# use multiple categories:
$ randomname generate v/art,v/thought a/sound n/apex_predators
# doodle-silent-salamander

# mix in your own words (e.g. "cat"):
$ randomname generate v/fire a/music_theory n/cats cat
# toast-adagio-angora-cat

The lists include various word classes:

  • adjectives (a, adj) - ya know those describe-y things
    • e.g. a/colors, adj/shape, adjectives/sound
  • nouns (n, nn) - people, places, things dawg
    • e.g. n/cats, nn/ghosts, nouns/wine
  • verbs (v, vb) - doing things
    • e.g. v/art, vb/3d_graphics
  • names (nm) - things like surnames, streets, cities, etc.
    • e.g. nm/cities, names/codenames
  • ipsum (ip) - misc.
    • e.g. ip/reddit, ipsum/blockchain

It's importable too!

import randomname

# generate name using all categories
name = randomname.get_name()
# or specify a subset of the categories
name = randomname.get_name(adj=('music_theory',), noun=('cats', 'food'))
# or - you can take a bit more liberty about
name = randomname.generate(
    'v/fire', 'adj/music_theory', ('n/cats', 'n/food'))

# these contain the available groups
print('adjective categories:', randomname.ADJECTIVES)
print('noun categories:', randomname.NOUNS)

Available

adjectives:

speed, weather, shape, sound, physics, temperature, corporate_prefixes, complexity, colors, taste, quantity, size, algorithms, geometry, materials, construction, music_theory, appearance, linguistics, emotions, age, character

nouns:

accounting, fortifications, typography, spirits, cotton, car_parts, shopping, chemistry, seasonings, gaming, cats, real_estate, wood, military_navy, wine, music_production, sports, meat, physics, physics_waves, corporate, web_development, condiments, design, automobiles, metals, fast_food, radio, physics_units, military_airforce, 3d_printing, 3d_graphics, travel, dogs, houses, astronomy, buildings, minerals, startups, algorithms, fruit, apex_predators, infrastructure, geometry, set_theory, ghosts, military_army, music_instruments, filmmaking, birds, construction, music_theory, corporate_job, driving, linear_algebra, fish, coding, architecture, writing, phones, machine_learning, furniture, history, plants, cheese, food, containers, vcs, water, storage, geography, physics_optics, data_structures, screenwriting, insurance

verbs:

graphics, movement, music, cooking, thought, military_navy, music_production, manipulation, sports, corporate, creation, destruction, quantity, radio, 3d_graphics, look, fire, collection, programming, art, driving, vcs, communication, web

ipsum:

corporate, hipster, blockchain, lorem, reddit

Examples

extremal-cluster, cerulean-portal, afraid-cabana, forward-segment, angry-croissant, coffee-shore, binding-frontlist, nondeterministic-wall, cool-quail, optical-valid, ornery-solenoid, immense-aside, square-loan, fast-limiter, wicker-tritone, white-commander, wan-flam, violent-slider, isothermal-lark, seething-luggage, resolving-section, steel-snippet, shortest-linkage, oscillating-palisade, tense-nailer, adjacent-sea, mechanical-molding, cold-feed, either-scene, crazy-boundary, simple-bass, roaring-annuity, paper-melt, scared-angle, shiny-hydrolysis, ornery-pretzel, brute-force-keel, worn-cliff, brownian-contingency, naive-shop, heartless-object, bronze-microphone, universal-yeoman, icy-reflection, blue-cliche, forward-integrator, trusting-cobra, online-assignment, religious-gun, quiet-hook, blaring-quaver, archaic-height, eager-oboe, leather-narrator, shortest-bucket, free-matrix, radioactive-loss, glossy-take, formal-schema, quantum-agreement, local-bit, bone-centroid, cyan-resin, mild-chimpanzee, mute-bugle, amiable-margin, basic-pond, humane-tangerine, horizontal-bocaccio, big-export, pleasant-facet, fixed-glass, muffled-futon, volumetric-simulation, piercing-skier, pleasant-observatory, honest-hound, cross-recon, future-surface, ash-crew, medium-stunt, latent-mayonnaise, nippy-valance, open-gate, crazy-papaya, khaki-bat, honest-melon, congruent-truss, express-flat, glad-simulation, sizzling-parakeet, interior-pantone, coplanar-gully, merciless-mud, direct-asadero, several-jackdaw, wide-agent, fixed-heather, kind-slab, genteel-designer

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

randomname-0.2.0.tar.gz (56.0 kB view details)

Uploaded Source

File details

Details for the file randomname-0.2.0.tar.gz.

File metadata

  • Download URL: randomname-0.2.0.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for randomname-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7f3708e191f03b529ee35a7783ac23af413446e18645445eaf8c00efe9be1881
MD5 a8d672d793b436a7093db325612bb2c0
BLAKE2b-256 b5e00ca2cc851cfeda0c02268df3d324d406ccbaa9e7a6dce3b7fcd7a3a9c7d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page