Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/harperreed/vcard-tools

some vcard management tools
https://github.com/harperreed/vcard-tools

carddav vcard

Last synced: 11 days ago
JSON representation

some vcard management tools

Awesome Lists containing this project

README

        

# VCard Tools ๐Ÿ“‡๐Ÿ”ง

[![GitHub](https://img.shields.io/github/license/harperreed/vcard-tools)](https://github.com/harperreed/vcard-tools/blob/main/LICENSE)

This repository contains a collection of Python scripts for managing and manipulating VCard (.vcf) files. The scripts are designed to help with various tasks such as cleaning up, splitting, merging, and deduplicating VCard files. ๐ŸŽ‰

## ๐Ÿš€ Getting Started

To get started with these tools, clone the repository and install the required dependencies:

```bash
git clone https://github.com/harperreed/vcard-tools.git
cd vcard-tools
pip install -r requirements.txt
```

## ๐Ÿ› ๏ธ Tools

Here's an overview of the scripts included in this repository:

### ๐Ÿ“ฅ `vcf-splitter.py`

This script splits multi-entry VCF files into single-entry VCard files. It can also filter entries based on a specified string. ๐Ÿ—‚๏ธ

### ๐Ÿ” `vcf-dupe-checker.py`

A simple duplicate checker that identifies potential duplicate VCards based on name and email. ๐Ÿ‘ฅ

### ๐Ÿ”๐Ÿค– `vcf-dupe-checker-ml.py`

An advanced duplicate checker that uses machine learning (TF-IDF and cosine similarity) to identify potential duplicates. It also includes an interactive merging process. ๐Ÿง 

### ๐Ÿ”๐Ÿค–๐Ÿง  `vcf-dupe-checker-ai.py`

A state-of-the-art duplicate checker that leverages AI (OpenAI's GPT) to make intelligent decisions about merging potential duplicates. ๐Ÿค–

### ๐Ÿงน `vcf-cleanup.py`

This script helps clean up VCard files by identifying and moving cards that match certain keywords or lack essential information. ๐Ÿ—‘๏ธ

### ๐Ÿ—‚๏ธ `vcf-sort.py`

A script for sorting VCards based on whether they contain contact information (email, phone number, or physical address). ๐Ÿ“

### ๐Ÿ†” `vcf_uid_adder.py`

Adds a UUID (Universally Unique Identifier) to any VCard that doesn't already have one. ๐Ÿชช

### ๐Ÿ•ต๏ธโ€โ™€๏ธ `vcf-curator.py`

An interactive tool that searches for information about contacts and helps decide which ones to keep or move. ๐Ÿ”

### ๐Ÿฐ `vcf-chunker.py`

Splits large VCard files into smaller, more manageable chunks. ๐Ÿ”ช

### ๐Ÿšซ `vcf-facebook-email-remover.py`

Removes email addresses ending with @facebook.com from VCard files. ๐Ÿ™…โ€โ™‚๏ธ

### ๐ŸŒ… `vcf-fix-sunshine-obsolete.py`

Fixes VCard files exported from the Sunshine contacts app by removing obsolete items. โ˜€๏ธ

### ๐Ÿ“ `vcf-note-remover.py`

Removes the NOTE field from VCard files unless it contains specific keywords defined in a configuration file. ๐Ÿ“‹

## ๐Ÿ“š Documentation

Each script includes a detailed docstring explaining its purpose, usage, and dependencies. For more information, refer to the individual script files. ๐Ÿ“–

## ๐Ÿค Contributing

Contributions are welcome! If you have any ideas for improvements or new features, please open an issue or submit a pull request. ๐Ÿ™Œ

## ๐Ÿ“„ License

This project is licensed under the [MIT License](LICENSE). โš–๏ธ

## ๐Ÿ™ Acknowledgments

Special thanks to the creators and maintainers of the libraries used in this project, including [vobject](https://github.com/eventable/vobject), [scikit-learn](https://scikit-learn.org/), and [OpenAI](https://openai.com/). ๐ŸŒŸ

---

Feel free to reach out if you have any questions or feedback! ๐Ÿ’ฌ

Happy VCard management! ๐ŸŽ‰