Skip to main content

Interactive CLI business card for Carlos Ferreyra

Project description

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!

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

carlosferreyra-1.0.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

carlosferreyra-1.0.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: carlosferreyra-1.0.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for carlosferreyra-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2205c44331ffe3ee1be5ce7b4760019ce3f2f6d38058770ec32ada030b5f4b78
MD5 8837b448e514ea7c32e0bc6f63adace6
BLAKE2b-256 7ab23663dd8ac0332279da708c7a376d36ac7c6e43b476ec26b851cdd95e0de4

See more details on using hashes here.

Provenance

The following attestation bundles were made for carlosferreyra-1.0.1.tar.gz:

Publisher: release.yml on carlosferreyra/business-card

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: carlosferreyra-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for carlosferreyra-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a038abb79a52bbb902db4e44e4419f6dd0876870d5b2ce9c2d5dab655f0aaf8b
MD5 982223ff5007ab1aa290165870f8e72b
BLAKE2b-256 db6672a09483beab9d9731946ffaffdbb5db77b7574d68f8a8b7fb63100ea021

See more details on using hashes here.

Provenance

The following attestation bundles were made for carlosferreyra-1.0.1-py3-none-any.whl:

Publisher: release.yml on carlosferreyra/business-card

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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