Skip to main content

A CLI tool to present my CV

Project description

Terminal Resume

A modern, interactive Python CLI tool that displays your professional resume in a beautifully formatted terminal interface.

โœจ Features

  • ๐ŸŽจ Beautiful Output - Rich text formatting with colors, tables, and panels
  • ๐Ÿš€ Fast & Lightweight - Built with Typer for optimal performance
  • ๐Ÿ’ผ Professional Display - Showcase work experience, projects, skills, and education
  • ๐Ÿ“ฑ Contact Information - Easy access to your contact details
  • ๐Ÿงช Well Tested - Comprehensive test suite with pytest
  • ๐Ÿ“ฆ Easy Distribution - Install via pip
  • ๐ŸŽฏ Type Safe - Full type hints for better IDE support

๐Ÿ“ฆ Installation

From PyPI (when published)

pip install sheikh-huzaif-resume

From Source

git clone https://github.com/sheikhhuzaif/terminal-resume
cd terminal-resume
pip install -e .

For Development

pip install -e ".[dev]"
# or
make install-dev

๐Ÿš€ Quick Start

After installation, you can use the CLI:

# Show help
sheikh-huzaif-resume --help

# Show version
sheikh-huzaif-resume --version

# Display contact information
sheikh-huzaif-resume contact

# Show professional summary
sheikh-huzaif-resume summary

# View work experience
sheikh-huzaif-resume work-exp

# Browse projects
sheikh-huzaif-resume projects

# Display education
sheikh-huzaif-resume education

# List skills
sheikh-huzaif-resume skills

# Show tool info
sheikh-huzaif-resume info

๐Ÿ“– Commands

contact

Display contact information including email, phone, LinkedIn, and GitHub.

sheikh-huzaif-resume contact

summary

Show professional summary and career overview.

sheikh-huzaif-resume summary

work-exp

View detailed work experience with companies, roles, and achievements.

sheikh-huzaif-resume work-exp

projects

Browse personal projects with descriptions, technologies, and links.

sheikh-huzaif-resume projects

education

Display educational background and qualifications.

sheikh-huzaif-resume education

skills

List technical skills organized by categories (languages, frameworks, tools, etc.).

sheikh-huzaif-resume skills

info

Display information about the CLI tool.

sheikh-huzaif-resume info
sheikh-huzaif-resume info --verbose

๐Ÿ—๏ธ Project Structure

terminal-resume/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ resume/
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ cli.py              # Main CLI entry point
โ”‚       โ”œโ”€โ”€ data.py             # Resume data store
โ”‚       โ”œโ”€โ”€ commands/           # Command implementations
โ”‚       โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚       โ”‚   โ”œโ”€โ”€ contact.py
โ”‚       โ”‚   โ”œโ”€โ”€ summary.py
โ”‚       โ”‚   โ”œโ”€โ”€ work_exp.py
โ”‚       โ”‚   โ”œโ”€โ”€ projects.py
โ”‚       โ”‚   โ”œโ”€โ”€ education.py
โ”‚       โ”‚   โ”œโ”€โ”€ skills.py
โ”‚       โ”‚   โ””โ”€โ”€ info.py
โ”‚       โ””โ”€โ”€ utils/              # Utility functions
โ”‚           โ”œโ”€โ”€ __init__.py
โ”‚           โ””โ”€โ”€ helpers.py
โ”œโ”€โ”€ tests/                      # Test suite
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ test_helpers.py
โ”‚   โ””โ”€โ”€ test_commands.py
โ”œโ”€โ”€ requirements/
โ”‚   โ”œโ”€โ”€ requirements.txt        # Production dependencies
โ”‚   โ””โ”€โ”€ requirements-dev.txt    # Development dependencies
โ”œโ”€โ”€ setup.py                    # Setup configuration
โ”œโ”€โ”€ pyproject.toml             # Modern Python project config
โ”œโ”€โ”€ pytest.ini                 # Pytest configuration
โ”œโ”€โ”€ Makefile                   # Convenient commands
โ”œโ”€โ”€ LICENSE                    # MIT License
โ””โ”€โ”€ README.md

๐Ÿ› ๏ธ Development

Setup Development Environment

# Clone the repository
git clone https://github.com/sheikhhuzaif/terminal-resume.git
cd terminal-resume

# Install development dependencies
make install-dev

# Or manually
pip install -e ".[dev]"

Running Tests

# Run all tests
make test

# Run with coverage
make test-cov

# Or directly with pytest
pytest
pytest --cov=resume --cov-report=html

Code Quality

# Format code with Black
make format

# Lint code
make lint

# Or run individually
black src/resume tests
flake8 src/resume tests
mypy src/resume

Running Locally

# Run directly
python -m resume.cli

# Or after installation
sheikh-huzaif-resume

# Using make
make run

๐Ÿ”ง Adding New Commands

  1. Create a new file in src/resume/commands/:
# src/resume/commands/mycommand.py
import typer
from rich.console import Console

console = Console()

def main(
    verbose: bool = typer.Option(False, "--verbose", "-v", help="Verbose output")
):
    """
    Description of your command.
    """
    console.print("[green]Command executed successfully![/green]")
  1. Register it in src/resume/cli.py:
from .commands import contact, summary, mycommand

app.command(name="mycommand")(mycommand.main)
  1. Add tests in tests/test_commands.py

๐Ÿ“ฆ Building and Publishing

Build Distribution

# Build wheel and source distribution
make build

# Or manually
python -m build

Publish to PyPI

# Test on TestPyPI first
make publish-test

# Publish to PyPI
make publish

# Or manually with twine
python -m twine upload dist/*

๐Ÿงฐ Dependencies

Core Dependencies

  • typer[all]==0.9.0 - CLI framework with great UX
  • rich==13.7.0 - Beautiful terminal formatting
  • questionary==2.0.1 - Interactive prompts
  • pyfiglet==1.0.2 - ASCII art text

Development Dependencies

  • pytest==7.4.3 - Testing framework
  • pytest-cov==4.1.0 - Code coverage
  • black==23.12.1 - Code formatter
  • flake8==7.0.0 - Linter
  • mypy==1.8.0 - Type checker

๐Ÿ“ License

MIT License - see LICENSE file for details

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ง Contact

Sheikh Huzaif - sheikhhuzaif007@gmail.com

Project Link: https://github.com/sheikhhuzaif/terminal-resume

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sheikh_huzaif_resume-1.0.3.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sheikh_huzaif_resume-1.0.3-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file sheikh_huzaif_resume-1.0.3.tar.gz.

File metadata

  • Download URL: sheikh_huzaif_resume-1.0.3.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for sheikh_huzaif_resume-1.0.3.tar.gz
Algorithm Hash digest
SHA256 125ef85cea8b44ea7c8597c23cdfe62fc74823f69a65989c748915302c71a09b
MD5 be03d7de190e24e48791aa445da727f9
BLAKE2b-256 43c70c5576e0e94f328a29399ed2b8d7ebef4d43a1b30c2b035c266d012e85e4

See more details on using hashes here.

File details

Details for the file sheikh_huzaif_resume-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for sheikh_huzaif_resume-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2556f644a91fcea6f323b2a320a1431a0280f76de6f4e22b003b31306a27c548
MD5 3323f62de6a70f6765288f08c39cea7f
BLAKE2b-256 14e0d0a5571861794d2090ee8ca9bb2be8bf68dd3c702314bf890978b32f0837

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page