====================================================================================================
bisos.myLinkedIn: takes contents of Basic\ :sub:`LinkedInDataExport`.zip and converts them to Vcards
====================================================================================================

.. contents::
   :depth: 3
..

Overview
========

*bisos.myLinkedIn* takes contents of
Basic\ :sub:`LinkedInDataExport`.zip and converts them to Vcards for
your connections and then augments them.

bisos.myLinkedIn is a python package that uses the
`PyCS-Framework <https://github.com/bisos-pip/pycs>`__ for adoption and
adaptation of **linkedinVcard** to python and PyCS-Framework. It is a
BISOS-Capability and a Standalone-BISOS-Package.

The \`bisos.linkedin\` package automates the process of transforming
LinkedIn export data into enriched vCards, specifically focusing on the
first-level connections present in your LinkedIn data. LinkedIn’s export
includes valuable information about your connections—such as names, job
titles, company details, invitations, and messages—that naturally fits
into a contact management system like vCards. By leveraging this
package, you can convert, enrich, and augment these details into vCards
that are readily importable into your preferred usage environment (e.g.,
Emacs bbdb, MS Outlook, or any other vCard-compatible system). This
process is repeatable and scalable, making it easier to maintain an
up-to-date contact database, effectively integrating LinkedIn connection
data into your daily workflow.

The \`bisos.linkedin\` Python package is a set of utilities designed to
transform and enrich LinkedIn export data into vCards for your
first-level connections. The package automates the process of creating
and augmenting vCards from the exported LinkedIn data (such as
Connections.csv, Invitations.csv, and messages.csv) by adding local,
remote, and external information.

This package enables the creation of rich vCards that contain contact
details like names, emails, job titles, and invitation history, based on
your LinkedIn export. The tool can also enhance the vCards by extracting
additional information from LinkedIn contact pages and external contact
enrichment sources.

Package Documentation At Github
===============================

The information below is a subset of the full of documentation for this
bisos-pip package. More complete documentation is available at:
https://github.com/bisos-pip/capability-cs

.. _table-of-contents:

Table of Contents TOC
=====================

-  `Overview <#overview>`__
-  `Package Documentation At
   Github <#package-documentation-at-github>`__
-  `A Standalone Command-Services PyCS Facility of
   BISOS <#a-standalone-command-services-pycs-facility-of-bisos>`__
-  `Diagram and Software–Diagram
   Mapping <#diagram-and-softwarediagram-mapping>`__
-  `Key Features <#key-features>`__
-  `bisos.linkedin Python Package <#bisoslinkedin-python-package>`__
-  `Features <#features>`__
-  `Benefits <#benefits>`__
-  `Installation <#installation>`__

   -  `Installation With pip <#installation-with-pip>`__
   -  `Installation With pipx <#installation-with-pipx>`__
   -  `Post Installation Basic
      Testing <#post-installation-basic-testing>`__

-  `Usage <#usage>`__

   -  `Local Usage (system
      command-line) <#local-usage-system-command-line>`__
   -  `Remote Usage (as a service –
      Performer+Invoker) <#remote-usage-as-a-service----performerinvoker>`__

      -  `Performer <#performer>`__
      -  `Invoker <#invoker>`__

-  `Documentation and Blee-Panels <#documentation-and-blee-panels>`__

   -  `bisos.myLinkedIn Blee-Panels <#bisosmylinkedin-blee-panels>`__

-  `Support <#support>`__
-  `Credits <#credits>`__

A Standalone Command-Services PyCS Facility of BISOS
====================================================

Layered on top of Debian, **BISOS**: (By\* Internet Services Operating
System) is a unified and universal framework for developing both
internet services and software-service continuums that use internet
services. PyCS (Python Command-Services) of BISOS is a framework that
converges development of CLI and Services. See the `Nature of
Polyexistentials <https://github.com/bxplpc/120033>`__ book for
additional information.

bisos.myLinkedIn is a standalone piece of BISOS. It can be used as a
self-contained Python package separate from BISOS.

Diagram and Software–Diagram Mapping
====================================

+-----------------+------------------------+------------------------+
| Diagram Node    | Software               | Description            |
|                 | Component/Class        |                        |
+=================+========================+========================+
| LinkedIn        | Data Source (LinkedIn) | Origin of all LinkedIn |
|                 |                        | user data              |
+-----------------+------------------------+------------------------+
| Export.zip      | Raw Input              | Downloaded export ZIP  |
|                 |                        | file from LinkedIn     |
+-----------------+------------------------+------------------------+
| ExportedData    | Unzipped Data          | Directory containing   |
|                 | Directory              | CSV and JSON files     |
+-----------------+------------------------+------------------------+
| Connections.csv | LinkedInConnections    | Parses first-level     |
|                 |                        | connections            |
+-----------------+------------------------+------------------------+
| Invitations.csv | LinkedInInvitations    | Parses sent and        |
|                 |                        | received invitations   |
+-----------------+------------------------+------------------------+
| Messages.csv    | LinkedInMessages       | Parses message         |
|                 |                        | exchanges with         |
|                 |                        | connections            |
+-----------------+------------------------+------------------------+
| ContactInfo     | Remote Augmentation    | Scraped contact        |
|                 | Logic                  | details from LinkedIn  |
|                 |                        | website                |
+-----------------+------------------------+------------------------+
| External        | User-supplied Sources  | Any third-party or     |
|                 |                        | user-maintained source |
|                 |                        | of data                |
+-----------------+------------------------+------------------------+
| ExternalInfo    | External Data          | Prepares and aligns    |
|                 | Processor              | external info for      |
|                 |                        | enrichment             |
+-----------------+------------------------+------------------------+
| VCard           | VCardUtils / Core      | Base vCards from       |
|                 | Output                 | LinkedIn data          |
+-----------------+------------------------+------------------------+
| VCardPlus       | VCardAugmentor         | Enriched vCards with   |
|                 |                        | remote and external    |
|                 |                        | information            |
+-----------------+------------------------+------------------------+

Key Features
============

#. **Local Augmentation\***:

   -  Augments vCards with data from \`Connections.csv`,
      \`Invitations.csv`, and \`messages.csv`.
   -  For each contact, the invitation status is captured (whether you
      invited the connection or vice versa) and the invitation message
      text is added to the vCard.

#. **Remote Augmentation**:

   -  Extracts additional details from LinkedIn's Contact Info page via
      automated scraping, such as email addresses, phone numbers, and
      other publicly available contact information.

#. **External Augmentation**:

   -  Optionally integrates with external services for contact
      enrichment to further enhance your vCards with data such as job
      titles, company names, and social profiles.

#. **Seamless vCard Generation**:

   -  The tool automatically converts your first-level LinkedIn
      connections into individual vCard files, using the unique LinkedIn
      ID as the file name.
   -  Output vCards are enriched and ready for import into other systems
      (e.g., CRM, contacts app).

#. **Command-Line Tools**:

   -  The package provides a set of command-line utilities that allow
      you to:

      -  Convert your LinkedIn export CSV files to vCards.
      -  Augment vCards with additional information.
      -  Extract contact details from LinkedIn profiles automatically.

bisos.linkedin Python Package
=============================

The \`bisos.linkedin\` Python package provides a set of utilities for
creating a set of vCards for your first-level LinkedIn connections based
on the **Basic\ LinkedInDataExport**. It uses local data from
**Connections.csv**, **Invitations.csv**, and **messages.csv** to create
rich representations of your LinkedIn network in vCard (.vcf) format.

Features
========

-  **Local Augmentation**: Enhances vCards by using the following CSV
   files:

   -  **Connections.csv**: The basic connection data, including LinkedIn
      ID, profile URL, name, etc.
   -  **Invitations.csv**: Captures whether you invited the connection
      or were invited, along with the invitation text.
   -  **messages.csv**: Adds LinkedIn message history between you and
      your connections, showing the conversation details and direction.

-  **Output Format**: Each vCard file represents a LinkedIn connection
   and includes the relevant data from the
   **Basic\ LinkedInDataExport**. These files are named based on the
   LinkedIn ID and are saved in the specified directory.

-  **CLI Tools**: The package includes command-line tools for the
   following tasks:

   -  **Create vCards from LinkedIn Data**: Process the CSV files and
      generate vCard files for all your first-level connections.
   -  **Augment vCards with Invitations**: Add information from
      **Invitations.csv** to the existing vCards, including who invited
      whom and the invitation message.
   -  **Augment vCards with Messages**: Add conversation details from
      **messages.csv**, organizing the messages in chronological order
      with sender information.

-  **Flexible Integration**: All tools can be run independently or
   combined into a full data augmentation pipeline.

Benefits
========

While there are related tools and services that extract and manipulate
LinkedIn data, your approach with bisos.linkedin provides a unique
solution by transforming LinkedIn export data into enriched vCards for
your first-level connections. This tool offers several unique features:

Full Integration with LinkedIn's Exported Data: The package works
directly with LinkedIn's exported data (CSV files and ZIP), converting
them into structured vCards.

vCard Augmentation from Multiple Sources: The tool enriches vCards by
adding information from local (LinkedIn exports), remote (scraped
contact data), and external sources (contact enrichment services).

Customization for LinkedIn Data: The tool is specifically designed for
LinkedIn data, allowing rich customization and transformation of
connection details into vCards.

Open-Source, Self-Hosted Solution: This package offers a self-hosted,
open-source solution that gives users complete control over their
LinkedIn data and privacy, without relying on third-party SaaS
platforms.

This holistic, self-contained solution for augmenting LinkedIn data with
multiple sources and outputting it in a standardized vCard format makes
your approach unique in the landscape of LinkedIn data tools.

Installation
============

The sources for the bisos.myLinkedIn pip package are maintained at:
https://github.com/bisos-pip/linkedinVcard.

The bisos.myLinkedIn pip package is available at PYPI as
https://pypi.org/project/bisos.myLinkedIn

You can install bisos.myLinkedIn with pip or pipx.

Installation With pip
---------------------

If you need access to bisos.myLinkedIn as a python module, you can
install it with pip:

.. code:: bash

   pip install bisos.myLinkedIn

Installation With pipx
----------------------

If you only need access to bisos.myLinkedIn on command-line, you can
install it with pipx:

.. code:: bash

   pipx install bisos.myLinkedIn

The following commands are made available:

-  linkedinVcard.cs

Post Installation Basic Testing
-------------------------------

After the installation, run some basic tests:

.. code:: bash

   linkedinVcard.cs
   linkedinVcard networking.interfaces.lo.bindings

Usage
=====

Local Usage (system command-line)
---------------------------------

``linkedinVcard.cs`` does the equivalent of linkedinVcard.

.. code:: bash

   bin/linkedinVcard.cs

Remote Usage (as a service – Performer+Invoker)
-----------------------------------------------

You can also run:

Performer
~~~~~~~~~

Invoke performer as:

.. code:: bash

   bin/linkedinVcard-roPerf.cs

Invoker
~~~~~~~

.. code:: bash

   bin/linkedinVcard-roInv.cs

The bisos.linkedin package provides the following key command-line
utilities:

csv2vcard: Converts your Connections.csv file into vCards.

augment\ :sub:`vcards`: Enhances vCards with data from Invitations.csv,
messages.csv, and LinkedIn Contact pages.

merge\ :sub:`vcards`: Merges and augments existing vCards with external
contact data.

Example Command To convert your LinkedIn Connections.csv to vCards:

csv2vcard –vcardDir ./vcards –exportedZipFile
./Basic\ :sub:`LinkedInDataExport`.zip –linCsv ./Connections.csv Example
Command for Augmentation To augment the vCards with additional
information from Invitations and Messages:

augment\ :sub:`vcards` –vcardDir ./vcards –exportedZipFile
./Basic\ :sub:`LinkedInDataExport`.zip –linCsv ./Invitations.csv –linCsv
./messages.csv Additional Features Integration with LinkedIn Data:

Augments vCards with additional information pulled directly from the
LinkedIn Contact pages.

Documentation and Blee-Panels
=============================

bisos.myLinkedIn is part of ByStar Digital Ecosystem
http://www.by-star.net.

This module's primary documentation is in the form of Blee-Panels.
Additional information is also available in:
http://www.by-star.net/PLPC/180047

bisos.myLinkedIn Blee-Panels
----------------------------

bisos.myLinkedIn Blee-Panles are in ./panels directory. From within Blee
and BISOS these panles are accessible under the Blee "Panels" menu.

See
`file:./panels/_nodeBase_/fullUsagePanel-en.org <./panels/_nodeBase_/fullUsagePanel-en.org>`__
for a starting point.

Support
=======

| For support, criticism, comments and questions; please contact the
  author/maintainer
| `Mohsen Banan <http://mohsen.1.banan.byname.net>`__ at:
  http://mohsen.1.banan.byname.net/contact

Credits
=======

ChatGpt initial implementation is at: NOTYET
