--- id: rstr version: "3.2.2" license: unclear license_treatment: permissive maintenance: aging --- # rstr — Generate random strings in Python License: permissive · Maintenance: aging · Downloads: 3.3M/mo ## What it is and what it does rstr is a lightweight utility for generating random strings in Python, useful for test data, fuzzing, and validation scenarios. It offers both low-level control—specifying custom alphabets and length ranges—and convenience methods for common character sets like digits, letters, URLs, and domain names. It can also generate strings matching regular expression patterns via its xeger() method. The package has no external dependencies and runs on Python 3.7 through 3.11. However, it uses Python's standard random module by default, which is not cryptographically secure; for password generation or other security-sensitive applications, you must explicitly configure it to use SystemRandom(). Maintenance is aging, with the last release in October 2023 and no recent commits, though the codebase remains stable and production-ready. Use it for: - Generate test fixtures and dummy data for unit tests without external dependencies. - Create fuzz-testing payloads with controlled character sets to probe input validation. - Build random email addresses, URLs, or domain names matching specific format constraints. - Generate random strings matching a regex pattern for testing regex-based parsers or validators. - Produce test data for postal addresses or other domain-specific formats with predefined alphabets. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Generates random strings from custom alphabets, predefined character sets, or regular expressions for testing and dummy data creation. Yes, if you need lightweight random string generation for testing or dummy data without external dependencies. The aging maintenance status is not a blocker for stable use, but verify compatibility with your Python version. Avoid for cryptographic applications unless you explicitly configure SystemRandom(). ## Install pip install rstr uv add rstr poetry add rstr ## Installing rstr Before you install: Low friction: pure Python with no external dependencies, distributed as a wheel. Maintenance is aging—last release was 2023-10-11 and the repository shows no recent activity, though it remains archived=false and supports current Python versions. License in practice: Permissive BSD license places no restrictions on use, modification, or distribution in commercial or proprietary contexts. Quickstart: pip install rstr import rstr # Generate random string from custom alphabet rstr.rstr('ABC', 5, 10) # Generate from predefined set rstr.digits() # Generate from regex pattern rstr.xeger(r'[A-Z]\d[A-Z]') For cryptographic use (passwords, tokens), you must instantiate with SystemRandom(); default random module is not cryptographically secure. Verify before relying: - Whether xeger() supports all modern Python regex features or has known limitations beyond those mentioned. - Likelihood of future updates for Python versions beyond 3.11. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 3.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags random string generator, fuzz testing data, dummy data generation, regex to random string, test data fixtures, random character sequences, test-data-generation, fuzz-testing [View on SkillFed](https://skillfed.io/packages/rstr) · [View on PyPI](https://pypi.org/project/rstr/)