Skip to content

carlosferreyra/carlosferreyra-cli-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Carlos Ferreyra CLI Business Card (Python)

A modern, interactive CLI business card showcasing Carlos Ferreyra's portfolio and contact information with beautiful animations and rich terminal formatting.

Built with Python and optimized for uvx - the universal package runner.

License: MIT Python uvx

Features

  • 🎨 Beautiful terminal formatting with Rich
  • πŸ“§ Direct email contact
  • πŸ“₯ Quick resume access
  • 🌐 Portfolio website access
  • πŸ’» Professional links (GitHub, LinkedIn, Twitter)
  • ⚑ Fast and responsive interface
  • πŸ–₯️ Interactive CLI menu
  • πŸš€ ASCII art banner with animations
  • πŸ“¦ Zero-install execution with uvx

Quick Start

Run the business card directly with uvx (no installation required):

uvx carlosferreyra

Alternative Installation Methods

Using pip

pip install carlosferreyra
carlosferreyra

Using uv

uv tool install carlosferreyra
carlosferreyra

Development

Prerequisites

  • Python 3.13+
  • uv (recommended) or pip

Setup

# Clone the repository
git clone https://github.com/carlosferreyra/carlosferreyra-cli-py.git
cd carlosferreyra-cli-py

# Install dependencies with uv
uv sync

# Run in development mode
uv run python -m carlosferreyra

# Or install in development mode
uv pip install -e .
carlosferreyra

Building and Publishing

# Build the package
uv build

# Publish to PyPI (requires authentication)
uv publish

Technologies Used

  • Python 3.13+ - Modern Python features
  • Rich - Beautiful terminal formatting and animations
  • PyFiglet - ASCII art text generation
  • Inquirer - Interactive CLI prompts
  • Click - Command line interface framework
  • Colorama - Cross-platform colored terminal text

Project Structure

src/carlosferreyra/
β”œβ”€β”€ __init__.py          # Package initialization
β”œβ”€β”€ __main__.py          # Main application entry point
β”œβ”€β”€ config.py            # Personal information and configuration
β”œβ”€β”€ utils.py             # Utility functions for animations
β”œβ”€β”€ banner.py            # Welcome banner with ASCII art
β”œβ”€β”€ card.py              # Business card display
β”œβ”€β”€ menu.py              # Interactive menu system
└── actions.py           # Action handlers for menu options

Customization

To customize this business card for yourself:

  1. Update the personal information in src/carlosferreyra/config.py
  2. Modify theme colors and animation speeds
  3. Add or remove menu options in src/carlosferreyra/menu.py
  4. Update action handlers in src/carlosferreyra/actions.py

uvx vs npx Comparison

This Python CLI is designed to be the equivalent of the TypeScript version but optimized for Python tooling:

Feature TypeScript (npx) Python (uvx)
Runtime Node.js Python
Package Manager npm PyPI
Zero-install run npx carlosferreyra uvx carlosferreyra
Installation npm install -g carlosferreyra uv tool install carlosferreyra

Connect with Carlos

License

This project is licensed under the MIT License. See the LICENSE file for details.

Tutorial: Creating Your Own uvx CLI

This project serves as a complete example of how to create a modern Python CLI that works with uvx. Key learnings:

1. Project Structure

  • Use src/ layout for better packaging
  • Include py.typed for type information
  • Configure entry points in pyproject.toml

2. uvx Compatibility

  • Ensure fast startup time
  • Minimize dependencies
  • Use standard library when possible
  • Configure proper entry points

3. Rich Terminal Experience

  • Use Rich for beautiful formatting
  • Implement smooth animations
  • Create interactive menus
  • Handle terminal clearing and sizing

4. Cross-platform Compatibility

  • Use webbrowser module for URL opening
  • Handle keyboard interrupts gracefully
  • Test on multiple platforms

This CLI demonstrates how to create engaging terminal applications that users can run instantly with uvx carlosferreyra!

About

Personal Business Card (Python CLI)

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages