| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import argparse
- import getpass
- from lightrag.api.passwords import hash_password
- def build_parser() -> argparse.ArgumentParser:
- parser = argparse.ArgumentParser(
- description="Generate a bcrypt password value for AUTH_ACCOUNTS."
- )
- parser.add_argument(
- "password",
- nargs="?",
- help="Password to hash. If omitted, a secure prompt is used.",
- )
- parser.add_argument(
- "--username",
- help="Optional username. When provided, output is ready to paste into AUTH_ACCOUNTS.",
- )
- return parser
- def main(argv: list[str] | None = None) -> int:
- parser = build_parser()
- args = parser.parse_args(argv)
- password = args.password or getpass.getpass("Password: ")
- if not password:
- parser.error("password cannot be empty")
- hashed_password = hash_password(password)
- if args.username:
- print(f"{args.username}:{hashed_password}")
- else:
- print(hashed_password)
- return 0
- if __name__ == "__main__":
- raise SystemExit(main())
|