Vishwajeet (vishwajeet-12)
A lightweight, Python-friendly command-line toolkit for personal development.
Vishwajeet is a fast, local-first command-line developer toolkit created by Vishwajeet More. It combines practical day-to-day developer utilities and read-only environment diagnostics with a clean terminal experience and witty Gen-Z + Hinglish dark developer humor.
- Distribution package name (pip):
vishwajeet-12 - Terminal command:
vishwajeet(also available asvishwajeet-12) - Python import name:
vishwajeet - Offline & private: Requires no account, API key, database, remote server, or internet connection during operation.
Features
- Default Signature Greeting (
vishwajeet) — A concise terminal greeting (:) Greeting from Vishwajeet More.) and quick-start pointer. - Developer Profile (
vishwajeet about) — A witty 4-line developer bio for Vishwajeet More ("Badmosh"), covering Lionel Messi, cooking, and dark tech humor, with optional raw JSON output (--json). - Environment Diagnostics (
vishwajeet doctor) — A strictly read-only inspection of your operating system, Python runtime, active virtual environment, current directory, Git repository status, and installed tools (pip,Git,Node.js,npm). - Developer Utilities (
vishwajeet utils):uuid: Explains what a UUID v4 does in two simple lines and generates a unique RFC 4122 UUID v4 offline.password: Generate cryptographically random passwords using Python'ssecretsmodule.json: Validate JSON files in read-only mode with exact line and column error reporting.
- Safe Python Code Checker (
vishwajeet clean) — Inspect a Python file in read-only mode for trailing whitespace, long lines, missing final newline, and mixed tabs/spaces without ever importing, executing, or modifying the file.
Requirements
- Python: 3.9 or newer (tested on Python 3.12)
- Runtime dependencies:
typer >= 0.9.0rich >= 13.0.0
- Supported terminals: Windows PowerShell, Windows Command Prompt, Windows Terminal, Linux shells (
bash,zsh), and macOS Terminal. Output uses clean plain text without emojis or fragile box-drawing characters.
Installation
1. Installing from Local Source (Current Checkout)
Before the package is published to PyPI, install it directly from this project directory inside a virtual environment:
Windows PowerShell:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[complete]"
Linux / macOS:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[complete]"
2. Installing from PyPI (After Public Release)
Once you have published the package to the Python Package Index (see PUBLISHING.md; not published automatically), anyone can install it via pip:
python -m pip install vishwajeet-12
Verifying Installation (Post-Install Step)
For security and reliability, standard pip installations do not execute arbitrary Python code or print custom post-install banners during pip install. After pip reports Successfully installed vishwajeet-12-1.0.0, run vishwajeet to verify the installation and view the greeting:
vishwajeet
Expected output:
:) Greeting from Vishwajeet More.
Built for developers who make sense.
Run 'vishwajeet --help' to explore the toolkit.
You can also invoke the CLI via Python's module runner:
python -m vishwajeet
Command Reference
| Command | Description |
|---|---|
vishwajeet |
Display the default greeting from Vishwajeet. |
vishwajeet --help / vishwajeet -h |
Show top-level help and command examples. |
vishwajeet help [command] |
Display help for the CLI or a specific subcommand. |
vishwajeet --version / -V |
Display the installed package version. |
vishwajeet about |
Display Vishwajeet More's developer profile. |
vishwajeet about --json |
Output the developer profile as valid JSON only. |
vishwajeet doctor |
Run read-only local developer environment diagnostics. |
vishwajeet utils --help |
Show help and examples for all utility subcommands. |
vishwajeet utils uuid |
Generate a random UUID v4. |
vishwajeet utils password |
Generate a cryptographically secure password. |
vishwajeet utils json <file> |
Validate a JSON file and report line/column on error. |
vishwajeet utils base64 encode <text> |
Encode UTF-8 text into standard Base64. |
vishwajeet utils base64 decode <text> |
Strictly validate and decode Base64 into UTF-8 text. |
vishwajeet clean <file> |
Check a Python file for formatting issues in read-only mode. |
Usage Examples and Feature Guide
1. Default Greeting and Help
vishwajeet
vishwajeet --help
vishwajeet -h
vishwajeet help
vishwajeet help utils
2. Developer Profile (about)
vishwajeet about
Output:
ABOUT VISHWAJEET
Vishwajeet More -- known in local commit logs simply as "Badmosh" (pura menace in production).
Die-hard Lionel Messi fan who loves cooking -- whether it's a spicy 2 AM meal in the kitchen or cooking the prod server until it screams.
Treats code like a toxic situationship: gaslights the compiler, forces a push when it says no, and casually kills all orphan processes-- wait, we are still talking about Linux, right?
Writes f*cking elite code by day, fixes one bug by night, and spawns three new ones just to feel something. Scene pura badmosh hai.
Machine-readable JSON output:
vishwajeet about --json
3. Developer Environment Diagnostics (doctor)
vishwajeet doctor
What vishwajeet doctor checks and why:
- Operating system & platform: Identifies OS-specific path and process behavior.
- Python version, implementation & executable: Confirms which Python interpreter is running your commands.
- Installation prefix & virtual environment: Verifies whether your project is isolated in a virtual environment or using the global interpreter.
- Current directory & Git repository status: Confirms your working directory and whether
.gitversion control metadata is active. - Development tools (
pip,Git,Node.js,npm): Probes tool versions safely with argument lists (shell=False) and a 5-second timeout. Optional tools likeNode.jsandnpmare reported asNot found (optional)if absent rather than treating your environment as broken.
vishwajeet doctor is strictly read-only: it never modifies files, installs packages, reads secrets, or prints environment variables.
4. Practical Developer Utilities (utils)
UUID Generation
vishwajeet utils uuid
Output:
Generates a unique 128-bit random ID (UUID v4) for databases, APIs, or test data.
Created locally offline so every ID is unique and ready to use right away.
Generated UUID:
9f4e2a31-1234-4567-89ab-123456789abc
Password Generation and Security Considerations
vishwajeet utils password
- Uses Python's cryptographically strong
secretsmodule (secrets.choiceandsecrets.SystemRandom), neverrandom.random(). - Supports lengths from
8to128characters (default:16). - Guarantees at least one character from each enabled character category (
uppercase,lowercase,digits,symbols). - Security Note: The generated password is displayed directly in your terminal output. It may remain visible on screen, in terminal scrollback history, or in screen recordings. Clear your terminal after copying the password into a password manager.
JSON Validation
vishwajeet utils json config.json
- Reads the target file as UTF-8 and parses it with Python's standard
jsonmodule. - Never modifies or executes any content in the file.
- Returns exit code
0for valid JSON and exit code1with the exact line and column number when syntax validation fails:
Checking JSON: config.json
Result: Invalid JSON.
Error at line 4, column 1: Expecting value
Base64 Encoding and Decoding
vishwajeet utils base64 encode "hello world"
# Output: aGVsbG8gd29ybGQ=
vishwajeet utils base64 decode "aGVsbG8gd29ybGQ="
# Output: hello world
- Supports full UTF-8 text.
- Strictly validates Base64 alphabet characters, length multiples of 4, canonical padding bits, and valid UTF-8 output.
- Important: Base64 is a binary-to-text encoding format for transport compatibility; it is not encryption or a security mechanism.
5. Safe Python Source-Code Checker (clean)
vishwajeet clean app.py
vishwajeet clean app.py --max-line-length 100
Example output when issues are found:
Checking: app.py
Line 12 [WARNING]: Trailing whitespace.
Line 19 [WARNING]: Line exceeds 100 characters (114 > 100).
Summary:
2 issues found (0 errors, 2 warnings).
No files were modified.
Checks performed:
- Trailing whitespace (
[WARNING]). - Lines exceeding
--max-line-length(default100,[WARNING]). - Missing final newline at the end of the file (
[WARNING]). - Mixed spaces and tabs on the same indentation line (
[ERROR]) and inconsistent tab vs. space indentation across lines ([WARNING]). - Empty files, missing paths, directories passed instead of files, and invalid UTF-8 encodings.
Scope and Limitations:
- Strictly read-only in Version 1.0 (there is no
--fixflag that rewrites user code). - Never imports, executes, or calls
eval()/exec()on the inspected Python file. - Designed as a lightweight single-file sanity check, not a replacement for full AST static analyzers or formatters such as Ruff, Flake8, or Black.
Uninstalling Vishwajeet
You can remove the package cleanly at any time using pip:
python -m pip uninstall vishwajeet-12
If you installed the package inside a virtual environment, run uninstall using that virtual environment's Python interpreter:
Windows PowerShell:
.\.venv\Scripts\python.exe -m pip uninstall vishwajeet-12
Linux / macOS:
./.venv/bin/python -m pip uninstall vishwajeet-12
The package creates no background processes, startup tasks, shell profile edits, or persistent configuration files outside standard pip package directories.
Development, Testing, and Building
Run the Automated Test Suite
python -m pytest
Build Source and Wheel Distributions
python -m build
This creates two artifacts in dist/:
vishwajeet_12-1.0.0.tar.gz(source distribution)vishwajeet_12-1.0.0-py3-none-any.whl(built wheel)
Test the Built Wheel in a Clean Virtual Environment
py -m venv .venv-smoke
.\.venv-smoke\Scripts\python.exe -m pip install dist\vishwajeet_12-1.0.0-py3-none-any.whl
.\.venv-smoke\Scripts\vishwajeet.exe
.\.venv-smoke\Scripts\vishwajeet.exe doctor
Publishing to TestPyPI and PyPI
See PUBLISHING.md for a complete, step-by-step walkthrough covering:
- Local virtual environment setup
- Running and testing locally
- Checking package name availability on PyPI
- Building
sdistandwheelartifacts - Validating artifacts with
twine check - Uploading to TestPyPI first
- Uploading to Production PyPI after explicit verification
Troubleshooting
vishwajeet: The term 'vishwajeet' is not recognized(Command Not Found):- Ensure your virtual environment is activated (
.\.venv\Scripts\Activate.ps1on Windows orsource .venv/bin/activateon Linux/macOS). - If installed globally with
--user, ensure your PythonScriptsdirectory (for example,%APPDATA%\Python\Python312\Scriptson Windows or~/.local/binon Linux/macOS) is on your systemPATH. - Alternatively, invoke the CLI directly through the Python interpreter:
python -m vishwajeet.
- Ensure your virtual environment is activated (
- PowerShell Execution Policy Blocks
Activate.ps1:- Run
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Processin the current PowerShell window, or run commands directly via.\.venv\Scripts\python.exeand.\.venv\Scripts\vishwajeet.exe.
- Run
License
Released under the MIT License. Copyright (c) 2026 Vishwajeet More.
Metadata
Release files for vishwajeet-12 1.0.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 | Provenance | Actions |
|---|---|---|---|---|
| vishwajeet_12-1.0.0.tar.gz | 28.3 kB | Without provenance | Details for vishwajeet_12-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| vishwajeet_12-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for vishwajeet_12-1.0.0-py3-none-any.whl |
Total release size: 49.1 kB
Release files / vishwajeet_12-1.0.0.tar.gz
| Download URL | vishwajeet_12-1.0.0.tar.gz |
|---|---|
| Size | 28.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
031bef265bf5e295f6ac9ff496f933f2de470ea4acef5f7838968876a35d2855
|
|
BLAKE2b-256 checksum How to use checksums |
4a39be7025eb527122e97ac84781a36cf5def4082ab0d151b41f561ae98e4d9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.4
|
Release files / vishwajeet_12-1.0.0-py3-none-any.whl
| Download URL | vishwajeet_12-1.0.0-py3-none-any.whl |
|---|---|
| Size | 20.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fa601acbcaff21af2cf8134e1b8a853922c2ef7a5ddc4934c023c4cb7c366577
|
|
BLAKE2b-256 checksum How to use checksums |
75ac1a169cde6144a815ab91648c2e9b9b8f43691de112c74b3f16942607c39a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.4
|
Security for vishwajeet-12 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.