Metadata-Version: 2.5
Name: linkedin-search-core
Version: 0.1.0
Summary: Shared Playwright session, authentication, and errors for LinkedIn search.
Project-URL: Homepage, https://github.com/vkudymov/linkedin-pulse-reader-v.3
Project-URL: Repository, https://github.com/vkudymov/linkedin-pulse-reader-v.3
Project-URL: Issues, https://github.com/vkudymov/linkedin-pulse-reader-v.3/issues
Author: LinkedIn Pulse Reader
Maintainer: LinkedIn Pulse Reader
License: Proprietary
License-File: LICENSE
Keywords: linkedin,playwright,session
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: playwright>=1.49.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# linkedin-search-core

## Description

Shared LinkedIn browser session for search libraries. This package opens Chromium through Playwright, restores a session, and runs interactive login. It does not search jobs or posts.

Requires Python 3.11+.

## Installation

```bash
pip install linkedin-search-core
```

Local editable install from this monorepo:

```bash
pip install -e packages/linkedin-search-core
```

## Dependencies

- `playwright>=1.49.0`
- `session-snapshot` is optional. Import it in the same environment when you restore or export a full Chrome session snapshot. Without it, cookie-only login still works.

## Usage

```python
from linkedin_search_core import LinkedInSession

with LinkedInSession(cookies=cookies, headless=True) as session:
    print(session.is_logged_in())
```

## API

- `LinkedInSession` — context manager for the browser session (`login_and_get_cookies`, `get_cookies`, `export_session_snapshot`, `is_logged_in`)
- `LinkedInClientConfig`, `BrowserConfig`, `LoginMethod`
- `UserIdentity`
- Errors: `LinkedInClientError`, `BrowserLifecycleError`, `CookieFormatError`, `LoginRequiredError`, `LoginTimeoutError`, `LoginCheckpointError`, `LoginCancelledError`, `FeedLoadError`, `PostParseError`
