Skip to main content

pythonvCard4

A RFC 6350‑compliant vCard 4.0 parser and generator for Python.

Features

  • Create vCard (.vcf) files from Python Contact objects
  • Parse existing vCard files back into Contact instances
  • Support for names, emails, multiple phone numbers, addresses, URLs, social profiles, photos, dates, and more
  • Inline image embedding (resize + Base64 encode)
  • Extension properties (X- fields) via custom and social_profiles
  • Full round‑trip fidelity, folding/unfolding, and escaping per spec

Installation

Install via PyPI:

pip install pythonvCard4

Quick Start

1. Create a vCard

from datetime import date
from pythonvCard4.vcard import Contact

# Build a Contact
c = Contact(
    fn="Jane Doe",
    n=["Doe","Jane","","",""] ,
    email=[{"value": "jane@example.com", "type": ["work"]}],
    tel=[
        {"value": "+1234567890", "type": ["cell"]},
        {"value": "+0987654321", "type": ["home"]}
    ],
    url=["https://janedoe.dev"],
    bday=date(1990, 5, 15),
)

# Add a Twitter profile
c.social_profiles.append({
    "type": ["twitter"],
    "value": "http://twitter.com/janedoe"
})

# Embed a photo (JPEG)
c.photo_path = "path/to/photo.jpg"

# Serialize to vCard text
vcf_text = c.to_vcard()
print(vcf_text)

2. Parse an existing vCard

from pythonvCard4.vcard import Contact

# Load from file
vcf_text = open('jane.vcf', 'r', encoding='utf-8').read()
contact = Contact.from_vcard(vcf_text)

print(contact.fn)
print(contact.tel)
print(contact.social_profiles)

Documentation & Support

See [GitHub](https://github.com/sharf-shawon/pythonvCard4 for full docs, examples, and issue tracking.

Metadata

Release files for pythonvCard4 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pythonvCard4 0.2.0
File Size Uploaded
pythonvcard4-0.2.0.tar.gz 5.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pythonvCard4 0.2.0
File Interpreter ABI Platform
pythonvcard4-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / pythonvcard4-0.2.0.tar.gz

Download URL pythonvcard4-0.2.0.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
236bba2769e459645cfa776407ff07856aced45b437116bf40ddb39bbcefdb6d
BLAKE2b-256 checksum
How to use checksums
340402d5952a9d8cbcb9e62b4fc4f6f842e8d43aead6e307f83e6fd6f7352fbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / pythonvcard4-0.2.0-py3-none-any.whl

Download URL pythonvcard4-0.2.0-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dce31355dd50aee537f8883de86f301510e407bc1755a68ec8d5055b64f5c660
BLAKE2b-256 checksum
How to use checksums
0d2fee10d88bbe12e4e9e06f81589d999687038e5cd5fec6c05aed57c50aede6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page