Skip to main content

Generate friendly, readable names by combining adjectives, nouns and verbs

Project description

friendly_names

PyPI - Version PyPI - Python Version

A super simple random friendly name generator that creates readable, hyphenated names like "red-loop-bounty".


Table of Contents

Installation

pip install friendly_names

Usage

import friendly_names

# Generate a friendly name like "red-loop-bounty"
name = friendly_names.generate()

# Customize number of words
name = friendly_names.generate(words=4)  # e.g., "happy-blue-running-fox"

# Use different separator
name = friendly_names.generate(separator="_")  # e.g., "green_swift_river"

Development

To set up the development environment:

pip install hatch

Common development tasks:

# Run tests
hatch run test:test

# Run tests with coverage
hatch run test:coverage

# Run type checking
hatch run types:check

# Check code style
hatch run lint:style

# Format code
hatch run lint:fmt

The project uses:

  • Hatch for development environment and build management
  • pytest for testing
  • mypy for type checking
  • Ruff for linting and formatting
  • Black style rules (via Ruff)

Release Process

To release a new version:

  1. Update version in src/friendly_names/__about__.py
  2. Commit the change:
    git add src/friendly_names/__about__.py
    git commit -m "Bump version to x.y.z"
    
  3. Tag the release:
    git tag -a vx.y.z -m "Release version x.y.z"
    
  4. Push changes and tag:
    git push origin master
    git push origin vx.y.z
    

The GitHub Actions workflow will automatically build and publish to PyPI when the tag is pushed.

License

friendly_names is distributed under the terms of the MIT license.

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

friendly_names-0.1.2.tar.gz (102.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

friendly_names-0.1.2-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file friendly_names-0.1.2.tar.gz.

File metadata

  • Download URL: friendly_names-0.1.2.tar.gz
  • Upload date:
  • Size: 102.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for friendly_names-0.1.2.tar.gz
Algorithm Hash digest
SHA256 52e5286f45de3446e4160733deec8e6121cf4c69c7b9808c1fbf880f47f098dc
MD5 a1e562cc29b862a2c50eafb5dd32fe81
BLAKE2b-256 153e42fba8d103a3d130037e42fc0eaf117fa8e13eefc3040a012f9a3d2ff00d

See more details on using hashes here.

File details

Details for the file friendly_names-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for friendly_names-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 583c4ca341be92bb65dde50230be46363cb8ad1cff3fca6dd2c8f8d4997f85ad
MD5 6a5bdd1b943f78ddd2bfb9d5d8df6e6c
BLAKE2b-256 14b6e1a1813f1edd8031015efe0f7b263872fc4bc8fa4a9a84d2920d3dc94388

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