Metadata-Version: 2.1
Name: chinois
Version: 0.2.2
Summary: CSS selector implementation for Bisque and Campbells web scraping libraries.
Keywords: CSS HTML XML selector filter query soup
Author-Email: Louis Maddox <louismmx@gmail.com>
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Text Processing :: Markup :: HTML
Classifier: Topic :: Text Processing :: Markup :: SGML
Classifier: Topic :: Text Processing :: Markup :: XML
Project-URL: Homepage, https://github.com/lmmx/chinois
Project-URL: Repository, https://github.com/lmmx/chinois.git
Requires-Python: >=3.10
Provides-Extra: campbells
Provides-Extra: bisque
Provides-Extra: html5lib
Provides-Extra: lxml
Requires-Dist: campbells>=0.2.0; extra == "campbells"
Requires-Dist: bisque>=0.1.1; extra == "bisque"
Requires-Dist: html5lib>=1.1; extra == "html5lib"
Requires-Dist: lxml>=4.9.3; extra == "lxml"
Description-Content-Type: text/markdown

<div align="center">

# Chinois 🍵

CSS selector implementation for Bisque and Campbells web scraping libraries.

[Install](#installation) •
[Examples](#examples)

</div>

Adapted from [soupsieve][ss]'s inner package, to remove the hard coupling to Beautiful Soup.

[ss]: https://github.com/facelessuser/soupsieve/

## Installation

**Chinois** is available on PyPi:

``` bash
pip install chinois
```

The dependencies needed to use `bisque` and `campbells` parsing libraries are left to your taste.
They can be installed with:

- `pip install chinois[bisque]` for the bold new flavours of Pydantic model-based parsers in Bisque.
- `pip install chinois[campbells]` for the Campbells parsers, preserving the heritage taste of the Beautiful Soup API.

The dependencies needed to use `html5lib` and `lxml` parsers are not installed by default.
They can be installed with:

- `pip install chinois[html5lib]` to be able to use
  [html5lib](https://html5lib.readthedocs.io/en/latest/).
  - **Pros:** closest to how browsers parses web pages, very lenient, creates valid HTML5.
  - **Cons:** slowest parser.
- `pip install chinois[lxml]` to be able to use
  [lxml](https://lxml.de/).
  - **Pros:** fastest parser.
  - **Cons:** heavier dependency (C extension).
