PulseCrawl
PulseCrawl is a safety-governed Python crawler and structured extraction SDK. One Python distribution supports in-memory crawling, durable local workspaces, and an optional client for operator-hosted services. Local use needs no account or cloud service. Requires Python 3.11 or newer.
Installation
After a release is published to PyPI:
python -m pip install pulsecrawl
python -m pip install 'pulsecrawl[workspace]'
pulsecrawl init ./my-crawls
pulsecrawl --workspace ./my-crawls validate
The base install provides crawling and the HTTP client. The workspace extra
adds SQLite-backed execution state, Parquet datasets, embedded DuckDB queries,
and cron scheduling. No Docker, Redis, or database server is required.
Additional extras: sql for DuckDB-backed local results, cloud for optional
credential storage and workspace synchronization, and dev for contributors.
Hosted services are not included and have no default API endpoint.
Features and boundaries
- CSS, JSON-LD, and metadata extraction with URL-scoped template stacks.
- Robots checks, request pacing, bounded responses, redirect authorization, and private-network blocking by default.
- Portable workspaces with dataset history, SQL, compaction, and backup/restore.
- Public Python and CLI interfaces over one hexagonal crawl engine.
Before a live crawl, review authorization, site terms, and robots policies and identify your operator with a working contact in the user agent. Safeguards do not grant permission to scrape. The private-network opt-in must never be used with untrusted URLs or job definitions.
Start with the guide and public API examples and offline examples. The examples are available in the source repository and source distribution, not as modules installed by the wheel.
Project information
PulseCrawl is alpha software; APIs and workspace compatibility may evolve. See the support policy and changelog. It is licensed under AGPL-3.0-only. Report vulnerabilities using the security policy, not a public issue.
Metadata
Release files for pulsecrawl 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pulsecrawl-0.1.0.tar.gz | 311.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pulsecrawl-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 506.9 kB
Release files / pulsecrawl-0.1.0.tar.gz
| Download URL | pulsecrawl-0.1.0.tar.gz |
|---|---|
| Size | 311.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a69b59cdb70cefd2e9891186d92a7ca7c8881c1e9f04188f3e0d76b4dd341012
|
|
BLAKE2b-256 checksum How to use checksums |
4e4b800062febcfde4420f5aabed8502c2e66fcf7e2db490354f658d40fbfe54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / pulsecrawl-0.1.0-py3-none-any.whl
| Download URL | pulsecrawl-0.1.0-py3-none-any.whl |
|---|---|
| Size | 195.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4a13ef2591c793b3e071c0cbcfcbeb8cc7634fef23ebc49c6a79f836506bd6f
|
|
BLAKE2b-256 checksum How to use checksums |
57cc9d6599957545f8315c07e8b9112821595b37e443e8a933aa98c947e6e095
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|