🩺 project-doctor
project-doctor is a CLI tool that diagnoses the health of any Python project.
Run it inside your project folder and get an instant, colorful report of what's missing,
what's misconfigured, and what needs attention.
🚀 Installation
pip install project-doctor
📋 Usage
# Diagnose the current directory
project-doctor
# Diagnose a specific path
project-doctor --path /path/to/my_project
# Strict mode: exit with code 1 if any errors found
project-doctor --strict
📊 Sample Output
╔══════════════════════════════════════════════════════╗
║ 🩺 Project Doctor — Health Report ║
╚══════════════════════════════════════════════════════╝
Scanning: /home/user/my_project
┌─────────────────────────────────────────────────────┐
│ Check │ Status │ Message │
├─────────────────────────────────────────────────────┤
│ README │ ✅ │ Found README.md │
│ LICENSE │ ✅ │ Found LICENSE │
│ .gitignore │ ✅ │ Found .gitignore │
│ Git repository │ ✅ │ .git directory found │
│ tests/ │ ⚠️ │ No tests/ folder found │
│ pyproject.toml │ ✅ │ Valid config found │
│ name field │ ✅ │ "my_project" │
│ version field │ ✅ │ "1.0.0" │
│ description │ ⚠️ │ Description is empty │
│ requires-python │ ✅ │ ">=3.9" │
│ dependencies │ ✅ │ 3 dependencies listed │
│ __init__.py docstr │ ❌ │ Missing module docstr │
└─────────────────────────────────────────────────────┘
Score: 9/12 checks passed
🟡 Your project needs some attention. Fix warnings above.
✅ Checks Performed
| Category | Check |
|---|---|
| 📁 Structure | README.md / README.rst present |
| 📁 Structure | LICENSE file present |
| 📁 Structure | .gitignore present |
| 📁 Structure | tests/ folder present |
| 🌐 Git | .git/ directory exists |
| ⚙️ Config | pyproject.toml or setup.py found |
| ⚙️ Config | name field present and non-empty |
| ⚙️ Config | version field present |
| ⚙️ Config | description field non-empty |
| ⚙️ Config | requires-python specified |
| 📦 Deps | Dependencies listed in config or requirements.txt |
| 📝 Code | __init__.py has a module docstring |
🛠 Development
git clone https://github.com/paola/project-doctor
cd project-doctor
pip install -e ".[dev]"
pytest tests/ -v
📄 License
MIT © Paola
Metadata
Release files for project-doctor-paola 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 | |
|---|---|---|---|
| project_doctor_paola-0.1.0.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| project_doctor_paola-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.7 kB
Release files / project_doctor_paola-0.1.0.tar.gz
| Download URL | project_doctor_paola-0.1.0.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb5089833871745fa7faf6adc63acb98047fb472d5b88f7ba2ef85b4c311c889
|
|
BLAKE2b-256 checksum How to use checksums |
295d756d23f0da68f41cd29b55ec342994faa583f9674fc79c12bfa66883eca3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / project_doctor_paola-0.1.0-py3-none-any.whl
| Download URL | project_doctor_paola-0.1.0-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
104d9cb2b8fc216a7b7971439f92d4b9286996f32f35789e3350181de85e3dc2
|
|
BLAKE2b-256 checksum How to use checksums |
fd0720e4f7155910407f3429e344685d26d43fad2abde985d92aac34d9bebe7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|