Skip to main content

generates passwords for CMS

Project description



EUA rules implemented in this script are:

  • Must start with a letter
  • At least one number (0-9)
  • At least one Lowercase alphabetic character (a-z)
  • At least one Upper Case alphabetic character (A-Z)
  • MUST BE EXACTLY 8 characters long
  • May not include “punctuation characters” (undocumented)

Rules NOT implemented:

  • Cannot include your EUA UserID and any part of your name
  • Cannot include any word/word portion prohibited by the defined CMS dictionary
  • Password can’t contain 50% characters from previous password
  • Be different from the previous 24 passwords


CloudVPN rules implemented in this script are:

  • Cannot contain keyboard walks of 3 or more consecutive keyboard keys in a row (e.g. asd, zaq, 123, was, pol, ser, gyu, bhj, 9o0, p;[, etc.)
  • Password length greater than 15 characters.
  • Contain 3 out of 4 the following:
    • 1 digits (0-9).
    • 1 symbols (!, @, #, $, %, *, etc.).
    • 1 uppercase English letters (A-Z).
    • 1 lowercase English letters (a-z).

Rules NOT implemented:

  • Password must differ from previous password by 24 password(s).
  • Password must be at least 1day(s) since last password change.


You need python3:

brew install python3
python3 -m pip install cmspw


Cryptographically random alphanumeric strings are generated, printing the first that complies with the EUA/CloudVPN ruleset to the standard output.

$ python3 -m cmspw --help
usage: cmspw [-h] --ruleset RULESET [--length NUM]

generates passwords for CMS

optional arguments:
  -h, --help            show this help message and exit
  --ruleset RULESET, -r RULESET
                        rule set to validate against. can be one of ['eua', 'vpn'].
  --length NUM, -l NUM  password length. if ruleset is 'eua', this is ignored.
$ python3 -m cmspw --ruleset eua
$ python3 -m cmspw --ruleset vpn --length 24


You need poetry:

brew install poetry

Inside the project directory you can enter a virtual environment like so:

poetry install && poetry shell

Project details

Download files

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

Files for cmspw, version 1.1.2
Filename, size File type Python version Upload date Hashes
Filename, size cmspw-1.1.2-py3-none-any.whl (9.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size cmspw-1.1.2.tar.gz (9.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page