mukimov
Tiny cross-platform Python library: password prompt that shows * for each typed character — like getpass(), but with visual feedback.
from mukimov import stars
password = stars("Password: ")
print(password)
Terminal:
Password: ********
password contains the real text ("12345678"), only * are shown on screen.
Features
- Only standard library, zero dependencies
- Windows (
msvcrt) + Linux/macOS (termios/tty) - Each character is immediately replaced with
* - Backspace correctly deletes the last
* - Enter finishes input
- Real password is never printed
- Ctrl+C →
KeyboardInterrupt, Ctrl+D on empty input →EOFError - Falls back to
getpass(no echo) when stdin is not a TTY (pipes, IDE, CI)
Install
pip install .
For development:
pip install -e .[test] # or: pip install -e . && pip install pytest
pytest -q
Usage
from mukimov import stars
username = input("Username: ")
password = stars("Password: ")
print(username)
Username: mukimov
Password: ********
Custom mask character:
password = stars("Password: ", mask="#")
Build & publish to PyPI
python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
python -m twine upload dist/*
Test PyPI first:
python -m twine upload --repository testpypi dist/*
pip install --index-url https://test.pypi.org/simple/ mukimov
License
MIT
Release files for mukimov 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mukimov-0.1.0.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mukimov-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.5 kB
Release files / mukimov-0.1.0.tar.gz
| Download URL | mukimov-0.1.0.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf9345f746c33e206dfa556aa2494e841e64667c0a203e6b7415847d4b5ae501
|
|
BLAKE2b-256 checksum How to use checksums |
ea34314871b539299dce10406d30bd7df8d74bf602fd7ea2f0e9d08ac2f694f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / mukimov-0.1.0-py3-none-any.whl
| Download URL | mukimov-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
252ea4a8dbcb26dff020a59f7167d91dbbaf363b087336ed27b34c1f43aeb528
|
|
BLAKE2b-256 checksum How to use checksums |
25dde05f91dbdb9b6a3e437910730c100c48ca372fa63e191227ab47f7f9bb17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|