Metadata-Version: 2.4
Name: web-poet
Version: 0.24.0
Summary: Zyte's Page Object pattern for web scraping
Project-URL: Homepage, https://github.com/scrapinghub/web-poet
Project-URL: Documentation, https://web-poet.readthedocs.io/en/stable/
Author-email: Zyte Group Ltd <opensource@zyte.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: andi>=0.5.0
Requires-Dist: async-lru>=1.0.3
Requires-Dist: attrs>=21.3.0
Requires-Dist: itemadapter>=0.8.0
Requires-Dist: multidict>=0.5.0
Requires-Dist: packaging>=20.0
Requires-Dist: parsel>=1.5.0
Requires-Dist: python-dateutil>=2.7.0
Requires-Dist: time-machine>=2.7.1
Requires-Dist: url-matcher>=0.4.0
Requires-Dist: w3lib>=1.22.0
Provides-Extra: framework
Requires-Dist: niquests>=3.14.0; extra == 'framework'
Requires-Dist: playwright>=1.20.0; extra == 'framework'
Description-Content-Type: text/x-rst

========
web-poet
========

.. image:: https://img.shields.io/pypi/v/web-poet.svg
   :target: https://pypi.python.org/pypi/web-poet
   :alt: PyPI Version

.. image:: https://img.shields.io/pypi/pyversions/web-poet.svg
   :target: https://pypi.python.org/pypi/web-poet
   :alt: Supported Python Versions

.. image:: https://github.com/scrapinghub/web-poet/actions/workflows/tests-ubuntu.yml/badge.svg
   :target: https://github.com/scrapinghub/web-poet/actions/workflows/tests-ubuntu.yml
   :alt: Tox Ubuntu

.. image:: https://github.com/scrapinghub/web-poet/actions/workflows/tests-windows.yml/badge.svg
   :target: https://github.com/scrapinghub/web-poet/actions/workflows/tests-windows.yml
   :alt: Tox Windows

.. image:: https://codecov.io/github/scrapinghub/web-poet/coverage.svg?branch=master
   :target: https://codecov.io/gh/scrapinghub/web-poet
   :alt: Coverage report

.. image:: https://readthedocs.org/projects/web-poet/badge/?version=stable
   :target: https://web-poet.readthedocs.io/en/stable/?badge=stable
   :alt: Documentation Status

.. intro starts

``web-poet`` is a Python 3.10+ implementation of the `page object pattern`_ for
web scraping. It enables writing portable, reusable web parsing code.

.. _page object pattern: https://martinfowler.com/bliki/PageObject.html

.. intro ends

See the documentation_.

.. _documentation: https://web-poet.readthedocs.io

Developing
==========

Setup your local Python environment via:

1. `pip install -r requirements-dev.txt`
2. `pre-commit install`

Now everytime you perform a `git commit`, these tools will run against the
staged files:

* `black`
* `isort`
* `flake8`

You can also directly invoke `pre-commit run --all-files` or `tox -e pre-commit`
to run them without performing a commit.
