{"id":19069274,"url":"https://github.com/kvpb/rpwg","last_synced_at":"2026-05-02T22:33:58.774Z","repository":{"id":27543854,"uuid":"31025377","full_name":"kvpb/rpwg","owner":"kvpb","description":"A French-American random password generator.","archived":false,"fork":false,"pushed_at":"2024-05-02T13:29:51.000Z","size":2140,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-02T15:43:26.286Z","etag":null,"topics":["american","azerty","french","generator","password","python","qwerty","random","random-password","random-password-generator","ruby"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kvpb.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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":"2015-02-19T16:47:00.000Z","updated_at":"2024-05-02T13:29:55.000Z","dependencies_parsed_at":"2024-04-28T13:35:04.028Z","dependency_job_id":"8a0a8782-333e-4e31-97ef-7d24193cdeff","html_url":"https://github.com/kvpb/rpwg","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Frpwg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Frpwg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Frpwg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvpb%2Frpwg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvpb","download_url":"https://codeload.github.com/kvpb/rpwg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240122575,"owners_count":19751142,"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","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":["american","azerty","french","generator","password","python","qwerty","random","random-password","random-password-generator","ruby"],"created_at":"2024-11-09T01:13:51.395Z","updated_at":"2026-05-02T22:33:58.746Z","avatar_url":"https://github.com/kvpb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align='center'\u003e\u003ca href='https://github.com/kvpb/.files/blob/master/bin/rpwg.py'\u003e\u003cimg src='https://gistcdn.githack.com/kvpb/c9d1aa35c62862e73c50836dc49dbc66/raw/5c32c06d72b0169b6ed688efdd99d1d3d6d2eb31/rpwg.svg'\u003e\u003c/a\u003e\u003c/p\u003e\n\n# Random Password Generator\u003cbr\u003e`rpwg.py`\n\n```\nKarl V. P. B.\nXXXXXXXX XX\nXX XXX XX XXX\nXXXXX XXXXX, XXXXXX\n+33 A BB BB BB BB\nlocal-part@domain\n\n                                                  A XXXXX, l'1 mai 2024\n\n                       ,-----, ,-----,         ,-----,\n                      / /'/ / / /_/ / ,-,-,-, / /''-'\n                     / / | | / ,---' / / / / / /_/'/\n                    '-'  '-''-'     '-----' '-----'\n                   Random Password Generator  1.60\n\n                           Instructions Manual\n\n          RPwG is a French-American-- 'QWAZERTY'-- pseudorandom\npassword generator. This program written in Python pseudorandomly\ngenerates passwords whose length and US QWERTY-FR AZERTY portability\nare at the user's discretion. NB: Python 3 must be installed.\n          The files in this ZIP constitute the first official release\nof RPwG. Currently, they are not documented. RPwG has been designed\nso that it is self-explanatory. There are a few points which should\nbe noted, particularly by any novice user.\n\n          rpwg.py \n                  -l, --length=${l}\n                  -m, --mode=\"${s}\"\n                  -1, --1stlayout=\"${s}\"\n                  -2, --2ndlayout=\"${s}\"\n                  -i, --interactive\n                  -r, --random\n                  -h, --help\n\n          -l, --length=${l}\n                Set the length of the password. l is an integer number.\n                If the user does not set the mode along, the program\n                randomly sets it. This option overrides all others.\n\n          -m, --mode=\"${s}\"\n                Set the portability mode of the password. s is a string\n                of characters like 'q' or \"QWAZERTY\" for cross-layout\n                compatibility and 'a', \"AZERTY\" or even '' for none. If\n                the user does not set the length along, the program\n                randomly sets it. This option overrides all others.\n\n          -1, --1stlayout=\"${s}\"\n                Set the first layout. s is a string of characters like\n                \"us\" for ANSI QWERTY or \"fr\" for Apple AZERTY. If the\n                user does not set two different layouts, the program\n                defaults to ANSI QWERTY.\n\n          -2, --2ndlayout=\"${s}\"\n                Set the second layout. s is a string of characters like\n                \"us\" for ANSI QWERTY or \"fr\" for Apple AZERTY. If the\n                user does not set two different layouts, the program\n                defaults to ANSI QWERTY.\n\n          -r, --random\n                Randomly set the length and portability. This option\n                overrides -i and -h.\n\n          -i, --interactive\n                Use the old interactive prompt. All other options\n                override this one.\n\n          -h, --help\n                Print the help. This option overrides -i.\n\n          An online version 2 was planned to have a GUI written in\nHTML5, CSS3 and JavaScript, mimicking a powered-on Twiggy Mac in which\nonly enter the length of the password and set its 'qwazertyness'--- to\nunrestrict users from Ruby as a requirement. Albeit the graphic design\npart is 100% done, development has been canceled until further notice.\n          As of may 2019, an offline version 2 is planned to be a\ncomplete rewrite in Python adding support for all keyboard layouts,\nperformance improvements and better security. Since RPwG was designed\nto make passwords from characters whose position differs not from the\nUS layout to the french layout, running the script without optional\narguments defaults to the franco-US-american random password\ngeneration, whereas specifying two or more keyboard layouts will\nincrementally refine the resulting password. Because RPwG 2.0 will put\nemphasis on security, the user will be alerted of the decreasing\nsecurity as the layout divergence level increases, and the warning will\nmention stats, e.g. the number of removed characters or the percentage\nof lost keys per layout.\n\n          Should problems arise with this software, please communicate\nthem to the author, or open an issue at\nhttps://github.com/kvpb/rpwg/issues.\n\n                                                                   Karl\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvpb%2Frpwg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvpb%2Frpwg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvpb%2Frpwg/lists"}