pywb


Namepywb JSON
Version 2.9.1 PyPI version JSON
download
home_pagehttps://github.com/webrecorder/pywb
SummaryPywb Webrecorder web archive replay and capture tools
upload_time2025-10-07 01:18:46
maintainerNone
docs_urlNone
authorIlya Kreymer
requires_python<3.13,>=3.7
licenseGPL
keywords
VCS
bugtrack_url
requirements six warcio requests redis jinja2 surt brotlipy pyyaml werkzeug webencodings gevent gevent greenlet greenlet webassets portalocker wsgiprox fakeredis tldextract python-dateutil markupsafe ua_parser py3AMF
Travis-CI
coveralls test coverage
            Webrecorder pywb 2.9
====================

.. image:: https://raw.githubusercontent.com/webrecorder/pywb/main/pywb/static/pywb-logo.png

.. image:: https://github.com/webrecorder/pywb/workflows/CI/badge.svg
      :target: https://github.com/webrecorder/pywb/actions
.. image:: https://codecov.io/gh/webrecorder/pywb/branch/main/graph/badge.svg
      :target: https://codecov.io/gh/webrecorder/pywb

Web Archiving Tools for All
---------------------------

`View the full pywb documentation <https://pywb.readthedocs.org>`_

**pywb** is a Python 3 web archiving toolkit for replaying web archives large and small as accurately as possible.
The toolkit now also includes new features for creating high-fidelity web archives.

This toolset forms the foundation of Webrecorder project, but also provides a generic web archiving toolkit
that is used by other web archives, including the traditional "Wayback Machine" functionality.


New Features
^^^^^^^^^^^^

The 2.x release included a major overhaul of pywb and introduces many new features, including the following:

* Dynamic multi-collection configuration system with no-restart updates.

* New recording capability to create new web archives from the live web or other archives.

* Componentized architecture with standalone Warcserver, Recorder and Rewriter components.

* Support for Memento API aggregation and fallback chains for querying multiple remote and local archival sources.

* HTTP/S Proxy Mode with customizable certificate authority for proxy mode recording and replay.

* Flexible rewriting system with pluggable rewriters for different content-types.

* Standalone, modular `client-side rewriting system (wombat.js) <https://github.com/webrecorder/wombat>`_ to handle most modern web sites.

* Improved 'calendar' query UI with incremental loading, grouping results by year and month, and updated replay banner.

* Extensible UI customizations system for modifying all aspects of the UI.

* Robust access control system for blocking or excluding URLs, by prefix or by exact match.

* New in 2.6: Access Control embargo and http-header control access settings.

* New in 2.6: Support for localization and multi-language deployment.

* New in 2.7: New banner/calendar UI written in `Vue <https://vuejs.org/>`_, with interactive timeline and easier theming of colors and logo via ``config.yaml``.

* New in 2.9: Client-side replay is added as an option and can be enabled via ``config.yaml``


Please see the `full documentation <https://pywb.readthedocs.org>`_ for more detailed info on all these features.


Installation for Deployment
---------------------------

On Linux-based systems, first verify that ``python3-dev`` is installed. If it is not, install it with your package manager. E.g. on a Debian-based system, use:

``sudo apt install python3-dev``

To install pywb for usage, you can use:

``pip install pywb``

Note: depending on your Python installation, you may have to use `pip3` instead of `pip`.


Installation from local copy
----------------------------

``git clone https://github.com/webrecorder/pywb``

To install from a locally cloned copy, install with ``pip install -e .`` or ``python setup.py install``.

To run tests, we recommend installing ``pip install tox tox-current-env`` and then running ``tox --current-env`` to test in your current Python environment.

To Build docs locally, run:  ``cd docs; make html``. (The docs will be built in ``./_build/html/index.html``)


Running
-------

After installation, you can run ``pywb`` or ``wayback``.

Consult the local or `online docs <https://pywb.readthedocs.org>`_ for latest usage and configuration details.


Documentation
-------------

The pywb documentation is extensive. Some links to a few key guides:

* `Getting Started Guide <https://pywb.readthedocs.io/en/latest/manual/usage.html#getting-started>`_

* `Embargo and Access Control Guide <https://pywb.readthedocs.io/en/latest/manual/access-control.html>`_

* `Localization and Multi-Language Guide <https://pywb.readthedocs.io/en/latest/manual/localization.html>`_

* `Deployment Guide <https://pywb.readthedocs.io/en/latest/manual/usage.html#deployment>`_

* `OpenWayback Transition Guide <https://pywb.readthedocs.io/en/latest/manual/owb-transition.html>`_


Contributions & Bug Reports
---------------------------

Users are encouraged to fork and contribute to this project to keep improving web archiving tools. Please consult the `contributing guide <CONTRIBUTING.md>`_ for information on how to contribute to pywb.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/webrecorder/pywb",
    "name": "pywb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Ilya Kreymer",
    "author_email": "ikreymer@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7f/d9/4e5097f77bdf0a9f91ee3914f6ae9a77aec659ef2682100daae5588f2723/pywb-2.9.1.tar.gz",
    "platform": null,
    "description": "Webrecorder pywb 2.9\n====================\n\n.. image:: https://raw.githubusercontent.com/webrecorder/pywb/main/pywb/static/pywb-logo.png\n\n.. image:: https://github.com/webrecorder/pywb/workflows/CI/badge.svg\n      :target: https://github.com/webrecorder/pywb/actions\n.. image:: https://codecov.io/gh/webrecorder/pywb/branch/main/graph/badge.svg\n      :target: https://codecov.io/gh/webrecorder/pywb\n\nWeb Archiving Tools for All\n---------------------------\n\n`View the full pywb documentation <https://pywb.readthedocs.org>`_\n\n**pywb** is a Python 3 web archiving toolkit for replaying web archives large and small as accurately as possible.\nThe toolkit now also includes new features for creating high-fidelity web archives.\n\nThis toolset forms the foundation of Webrecorder project, but also provides a generic web archiving toolkit\nthat is used by other web archives, including the traditional \"Wayback Machine\" functionality.\n\n\nNew Features\n^^^^^^^^^^^^\n\nThe 2.x release included a major overhaul of pywb and introduces many new features, including the following:\n\n* Dynamic multi-collection configuration system with no-restart updates.\n\n* New recording capability to create new web archives from the live web or other archives.\n\n* Componentized architecture with standalone Warcserver, Recorder and Rewriter components.\n\n* Support for Memento API aggregation and fallback chains for querying multiple remote and local archival sources.\n\n* HTTP/S Proxy Mode with customizable certificate authority for proxy mode recording and replay.\n\n* Flexible rewriting system with pluggable rewriters for different content-types.\n\n* Standalone, modular `client-side rewriting system (wombat.js) <https://github.com/webrecorder/wombat>`_ to handle most modern web sites.\n\n* Improved 'calendar' query UI with incremental loading, grouping results by year and month, and updated replay banner.\n\n* Extensible UI customizations system for modifying all aspects of the UI.\n\n* Robust access control system for blocking or excluding URLs, by prefix or by exact match.\n\n* New in 2.6: Access Control embargo and http-header control access settings.\n\n* New in 2.6: Support for localization and multi-language deployment.\n\n* New in 2.7: New banner/calendar UI written in `Vue <https://vuejs.org/>`_, with interactive timeline and easier theming of colors and logo via ``config.yaml``.\n\n* New in 2.9: Client-side replay is added as an option and can be enabled via ``config.yaml``\n\n\nPlease see the `full documentation <https://pywb.readthedocs.org>`_ for more detailed info on all these features.\n\n\nInstallation for Deployment\n---------------------------\n\nOn Linux-based systems, first verify that ``python3-dev`` is installed. If it is not, install it with your package manager. E.g. on a Debian-based system, use:\n\n``sudo apt install python3-dev``\n\nTo install pywb for usage, you can use:\n\n``pip install pywb``\n\nNote: depending on your Python installation, you may have to use `pip3` instead of `pip`.\n\n\nInstallation from local copy\n----------------------------\n\n``git clone https://github.com/webrecorder/pywb``\n\nTo install from a locally cloned copy, install with ``pip install -e .`` or ``python setup.py install``.\n\nTo run tests, we recommend installing ``pip install tox tox-current-env`` and then running ``tox --current-env`` to test in your current Python environment.\n\nTo Build docs locally, run:  ``cd docs; make html``. (The docs will be built in ``./_build/html/index.html``)\n\n\nRunning\n-------\n\nAfter installation, you can run ``pywb`` or ``wayback``.\n\nConsult the local or `online docs <https://pywb.readthedocs.org>`_ for latest usage and configuration details.\n\n\nDocumentation\n-------------\n\nThe pywb documentation is extensive. Some links to a few key guides:\n\n* `Getting Started Guide <https://pywb.readthedocs.io/en/latest/manual/usage.html#getting-started>`_\n\n* `Embargo and Access Control Guide <https://pywb.readthedocs.io/en/latest/manual/access-control.html>`_\n\n* `Localization and Multi-Language Guide <https://pywb.readthedocs.io/en/latest/manual/localization.html>`_\n\n* `Deployment Guide <https://pywb.readthedocs.io/en/latest/manual/usage.html#deployment>`_\n\n* `OpenWayback Transition Guide <https://pywb.readthedocs.io/en/latest/manual/owb-transition.html>`_\n\n\nContributions & Bug Reports\n---------------------------\n\nUsers are encouraged to fork and contribute to this project to keep improving web archiving tools. Please consult the `contributing guide <CONTRIBUTING.md>`_ for information on how to contribute to pywb.\n\n\n",
    "bugtrack_url": null,
    "license": "GPL",
    "summary": "Pywb Webrecorder web archive replay and capture tools",
    "version": "2.9.1",
    "project_urls": {
        "Homepage": "https://github.com/webrecorder/pywb"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6e4af105e57670cae5678f14dc46accd1e57818f7209a9924a04cc3f40fa89cc",
                "md5": "532f2ebd6a011504ff3bb359d4ceb5a6",
                "sha256": "8d7f1420ce690cda89f455ad927db6b1c5d0d11c168886b52e62d4c7191418c1"
            },
            "downloads": -1,
            "filename": "pywb-2.9.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "532f2ebd6a011504ff3bb359d4ceb5a6",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": "<3.13,>=3.7",
            "size": 3454186,
            "upload_time": "2025-10-07T01:18:44",
            "upload_time_iso_8601": "2025-10-07T01:18:44.914257Z",
            "url": "https://files.pythonhosted.org/packages/6e/4a/f105e57670cae5678f14dc46accd1e57818f7209a9924a04cc3f40fa89cc/pywb-2.9.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7fd94e5097f77bdf0a9f91ee3914f6ae9a77aec659ef2682100daae5588f2723",
                "md5": "155bb9407da5d51029c2c68fce418608",
                "sha256": "353ca1a6d11ce31860fae8db96e4ca3cae7e2aecbce3a64036401f5c83d738a8"
            },
            "downloads": -1,
            "filename": "pywb-2.9.1.tar.gz",
            "has_sig": false,
            "md5_digest": "155bb9407da5d51029c2c68fce418608",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.7",
            "size": 3525734,
            "upload_time": "2025-10-07T01:18:46",
            "upload_time_iso_8601": "2025-10-07T01:18:46.878799Z",
            "url": "https://files.pythonhosted.org/packages/7f/d9/4e5097f77bdf0a9f91ee3914f6ae9a77aec659ef2682100daae5588f2723/pywb-2.9.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-07 01:18:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "webrecorder",
    "github_project": "pywb",
    "travis_ci": true,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "six",
            "specs": []
        },
        {
            "name": "warcio",
            "specs": [
                [
                    ">=",
                    "1.7.1"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "redis",
            "specs": [
                [
                    "==",
                    "2.10.6"
                ]
            ]
        },
        {
            "name": "jinja2",
            "specs": [
                [
                    ">=",
                    "3.1.2"
                ]
            ]
        },
        {
            "name": "surt",
            "specs": [
                [
                    ">=",
                    "0.3.1"
                ]
            ]
        },
        {
            "name": "brotlipy",
            "specs": []
        },
        {
            "name": "pyyaml",
            "specs": []
        },
        {
            "name": "werkzeug",
            "specs": [
                [
                    "==",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "webencodings",
            "specs": []
        },
        {
            "name": "gevent",
            "specs": [
                [
                    "==",
                    "22.10.2"
                ]
            ]
        },
        {
            "name": "gevent",
            "specs": [
                [
                    "==",
                    "23.9.0.post1"
                ]
            ]
        },
        {
            "name": "greenlet",
            "specs": [
                [
                    ">=",
                    "2.0.2"
                ],
                [
                    "<",
                    "3.0"
                ]
            ]
        },
        {
            "name": "greenlet",
            "specs": [
                [
                    "==",
                    "3.2.4"
                ]
            ]
        },
        {
            "name": "webassets",
            "specs": [
                [
                    "==",
                    "2.0"
                ]
            ]
        },
        {
            "name": "portalocker",
            "specs": []
        },
        {
            "name": "wsgiprox",
            "specs": [
                [
                    ">=",
                    "1.5.1"
                ]
            ]
        },
        {
            "name": "fakeredis",
            "specs": [
                [
                    "<",
                    "1.0"
                ]
            ]
        },
        {
            "name": "tldextract",
            "specs": []
        },
        {
            "name": "python-dateutil",
            "specs": []
        },
        {
            "name": "markupsafe",
            "specs": [
                [
                    ">=",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "ua_parser",
            "specs": []
        },
        {
            "name": "py3AMF",
            "specs": []
        }
    ],
    "test_requirements": [
        {
            "name": "pytest",
            "specs": []
        },
        {
            "name": "WebTest",
            "specs": []
        },
        {
            "name": "pytest-cov",
            "specs": []
        },
        {
            "name": "mock",
            "specs": []
        },
        {
            "name": "urllib3",
            "specs": []
        },
        {
            "name": "ujson",
            "specs": []
        },
        {
            "name": "lxml",
            "specs": []
        },
        {
            "name": "httpbin",
            "specs": [
                [
                    ">=",
                    "0.10.2"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "pywb"
}
        
Elapsed time: 3.68749s