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
resume --help

# Show version
resume --version

# Display contact information
resume contact

# Show professional summary
resume summary

# View work experience
resume work-exp

# Browse projects
resume projects

# Display education
resume education

# List skills
resume skills

# Show tool info
resume info

๐Ÿ“– Commands

contact

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

resume contact

summary

Show professional summary and career overview.

resume summary

work-exp

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

resume work-exp

projects

Browse personal projects with descriptions, technologies, and links.

resume projects

education

Display educational background and qualifications.

resume education

skills

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

resume skills

info

Display information about the CLI tool.

resume info
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
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.1.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.1-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sheikh_huzaif_resume-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 a9803d4e549c4a26d1c8a7876295786b4703502839ca73b69a3631ab694dfb23
MD5 a1a32188190a584b0eb749b5411a2a7e
BLAKE2b-256 1c5a452750ab89fbf00ba66e373c5e17b26f8c7b98a613b364686d2201307796

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sheikh_huzaif_resume-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e87f9084b5c6a4bb11be3fcbeb99df0ab9126cef80ce6823d2ceb2c57392f9fc
MD5 eff45e92e66ca66fdf022e5054f13315
BLAKE2b-256 5281bf1641ef4093bb995c8670084af7652cd920bd74d478c272e75768ad7960

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