Skip to main content

A CLI tool to present my CV

Reason this release was yanked:

data clearing

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.2.tar.gz (15.8 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.2-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sheikh_huzaif_resume-1.0.2.tar.gz
  • Upload date:
  • Size: 15.8 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.2.tar.gz
Algorithm Hash digest
SHA256 c2beaebf834cb40d523e8679b867f34b8b7bf0d09d1fabcfa9e96b02e6b246c7
MD5 078df557637ac7332653f9ee937e9ec6
BLAKE2b-256 d0470b50c3c80fa063cb56252d7c48f4287802cf6ffa15762b782f7ce6097fe6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sheikh_huzaif_resume-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f3d6706ac4bc9fda21c89782c9e095c97f48c59bd7ec8e19aaef5eb1571f2936
MD5 c927a86dc52f8951e65912110dca301d
BLAKE2b-256 b6270dcde008c6cb058701f2e7cebeb52e9af8f0d11058358633236cc1178aab

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