{"id":13814401,"url":"https://github.com/dustinkirkland/petname","last_synced_at":"2025-07-30T01:03:05.175Z","repository":{"id":24573146,"uuid":"27980727","full_name":"dustinkirkland/petname","owner":"dustinkirkland","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-28T19:43:55.000Z","size":623,"stargazers_count":72,"open_issues_count":1,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-03T20:40:10.163Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Roff","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dustinkirkland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-12-14T02:26:56.000Z","updated_at":"2025-02-27T06:03:33.000Z","dependencies_parsed_at":"2024-04-11T20:49:22.238Z","dependency_job_id":"aa07f4dc-7c42-4f4f-8831-5083cb46424d","html_url":"https://github.com/dustinkirkland/petname","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/dustinkirkland/petname","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustinkirkland%2Fpetname","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustinkirkland%2Fpetname/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustinkirkland%2Fpetname/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustinkirkland%2Fpetname/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dustinkirkland","download_url":"https://codeload.github.com/dustinkirkland/petname/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dustinkirkland%2Fpetname/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267790184,"owners_count":24144801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T04:01:56.209Z","updated_at":"2025-07-30T01:03:05.027Z","avatar_url":"https://github.com/dustinkirkland.png","language":"Roff","funding_links":[],"categories":["Roff"],"sub_categories":[],"readme":"# petname\n\n## Name\n\n**petname** − an [RFC1178](https://tools.ietf.org/html/rfc1178) implementation to generate pronounceable, sometimes even memorable, \"pet names\", consisting of a random combination of adverbs, an adjective, and an animal name\n\n## Synopsis\n\n- Complete version:\n```\nusage: petname [-w|--words INT] [-l|--letters INT] [-s|--separator STR] [-d|--dir STR] [-c|--complexity INT] [-u|--ubuntu]\n```\n\n- Python version:\n```bash\nusage: petname [-h] [-w WORDS] [-l LETTERS] [-s SEPARATOR]\n```\n\n## Options\n- `-w|--words` number of words in the name, default is 2,\n- `-l|--letters` maximum number of letters in each word, default is unlimited,\n- `-s|--separator` string used to separate name words, default is `'-'`,\n- `-d|--dir` directory containing `adverbs.txt`, `adjectives.txt`, `names.txt`, default is `/usr/share/petname/`,\n- `-c|--complexity` [0, 1, 2]; 0 = easy words, 1 = standard words, 2 = complex words, default=1,\n- `-u|--ubuntu` generate ubuntu-style names, alliteration of first character of each word.\n\n## Description\n\nThis utility will generate \"pet names\", consisting of a random combination of an adverb, adjective, and an animal name. These are useful for unique hostnames or container names, for instance.\n\nAs such, PetName tries to follow the tenets of Zooko’s triangle. Names are:\n\n- human meaningful\n- decentralized\n- secure\n\nBesides this shell utility, there are also native libraries: [python-petname](https://pypi.org/project/petname/), [python3-petname](https://pypi.org/project/petname/), and [golang-petname](https://github.com/dustinkirkland/golang-petname). Here are some programmatic examples in code:\n\n## Examples\n\n```bash\n$ petname\nwiggly-yellowtail\n\n$ petname --words 1\nrobin\n\n$ petname --words 3\nprimly-lasting-toucan\n\n$ petname --words 4\nangrily-impatiently-sage-longhorn\n\n$ petname --separator \":\"\ncool:gobbler\n\n$ petname --separator \"\" --words 3\ncomparablyheartylionfish\n\n$ petname --ubuntu\namazed-asp\n\n$ petname --complexity 0\nmassive-colt\n```\n\n----\n\n## Code\n\nBesides this shell utility, there are also native libraries: python-petname, python3-petname, and golang-petname. Here are some programmatic examples in code:\n\n### **Golang Example**\nInstall it with apt:\n```bash\n$ sudo apt-get install golang-petname\n```\n\nOr here's an example in golang code:\n\n```golang\npackage main\n\nimport (\n        \"flag\"\n        \"fmt\"\n        \"math/rand\"\n        \"time\"\n        \"github.com/dustinkirkland/golang-petname\"\n)\n\nvar (\n        words = flag.Int(\"words\", 2, \"The number of words in the pet name\")\n        separator = flag.String(\"separator\", \"-\", \"The separator between words in the pet name\")\n)\n\nfunc init() {\n        rand.Seed(time.Now().UTC().UnixNano())\n}\n\nfunc main() {\n        flag.Parse()\n        rand.Seed(time.Now().UnixNano())\n        fmt.Println(petname.Generate(*words, *separator))\n}\n```\n\n### **Python Example**\nSee: [on pypi](https://pypi.python.org/pypi/petname).\n\nInstall it with [pip](https://pip.pypa.io/):\n```bash\n$ [sudo] pip install petname\n```\n\n```python\n#!/usr/bin/python\nimport argparse\nimport petname\nimport sys\n\nparser = argparse.ArgumentParser(description='Generate human readable random names')\nparser.add_argument('-w', '--words', help='Number of words in name, default=2', default=2)\nparser.add_argument('-l', '--letters', help='Maximum number of letters per word, default=6', default=6)\nparser.add_argument('-s', '--separator', help='Separator between words, default=\"-\"', default=\"-\")\nparser.options = parser.parse_args()\nsys.stdout.write(petname.Generate(int(parser.options.words), parser.options.separator, int(parser.options.letters)) + \"\\n\")\n```\n\n## Author\n\nThis manpage and the utility were written by Dustin Kirkland \u0026lt;dustin.kirkland@gmail.com\u0026gt; for Ubuntu systems (but may be used by others). Permission is granted to copy, distribute and/or modify this document and the utility under the terms of the Apache2 License.\n\nThe complete text of the Apache2 License can be found in `/usr/share/common-licenses/Apache-2.0` on Debian/Ubuntu systems.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdustinkirkland%2Fpetname","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdustinkirkland%2Fpetname","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdustinkirkland%2Fpetname/lists"}