Skip to main content

vibescraper

vibescraper is a Python utility that generates an AI summary of web results based on a search query.

This is very much a work in progress. The results of each search may vary depending on how well the parser handles the pages. If you find that some results are not sufficient, you can try increasing the number of sites to return in the search api using the domain_count argument in the vibe_search function.

The number of sites will slow the operation down, so you may need to experiment and find the optimal tradeoff that suits your needs, between speed and accuracy of results.

In order to select the search api you need to run the following in your projects python environment: - change-search-api <google/brave>

The output files and folders from the search operations can be used or discarded as you need. In future I may change this so that the datbase can be saved or discarded according to an argument flag in the vibe_search function or as part of another python config script.


How it works

  • Web Search: Searched the web using search engine API.
  • Semantic Chunking: Extracts html from each url in the search results, then divides the html page content into meaningful chunks.
  • Embedding Generation: Generate vector embeddings for each chunk using openai embedding models.
  • Similarity Search: Find the most relevant content chunks for a given search query.
  • AI Summarization: Generates concise summaries of relevant content, then combines all summaries into a combined summary.
  • JSON Export: Saves results and summaries as JSON files for easy inspection or downstream use.

Installation

Install via pip (from PyPI):

pip install vibescraper

Or install locally with Poetry:

poetry install

NOTE: You need either a Beave or Google search API key to use this, as well as an open AI API key.

to import the keys into config.py after installing run: check-api-keys

in your python project env.


Requirements

  • Python 3.12+
  • OpenAI API key (for embedding and summarization)
  • Other dependencies: numpy, requests, beautifulsoup4, pandas, sqlalchemy, openai, tiktoken, google-api-python-client, html5lib

Usage

  • Install the package into your python project, then import the vibe_search function
from vibescraper.vibe_search import vibe_search

ai_summary = await vibe_search(query='What is the state of the software development job market in 2025?', domain_count=10, text_model='gpt-4o')

Environment Variables

You must set your OpenAI API key (and either a Google or Brave yea keys) as environment variables


License

MIT License


Contributing

Pull requests and issues are welcome!


Metadata

Release files for vibescraper 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vibescraper 0.1.6
File Size Uploaded Provenance Actions
vibescraper-0.1.6.tar.gz 14.6 kB Without provenance Details for vibescraper-0.1.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vibescraper 0.1.6
File Interpreter ABI Platform Actions
vibescraper-0.1.6-py3-none-any.whl Python 3 none any Details for vibescraper-0.1.6-py3-none-any.whl

Total release size: 32.6 kB

Release files / vibescraper-0.1.6.tar.gz

Download URL vibescraper-0.1.6.tar.gz
Size 14.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4992d374469c8954bdbfe2ba7cdd3260e5d7f2a7f09a36fac73a2519086fb397
BLAKE2b-256 checksum
How to use checksums
a619ed8de745cf4efdce59c635943b9c377a7985983a547bf1a062b04a21e830
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.3 Linux/6.11.0-21-generic

Release files / vibescraper-0.1.6-py3-none-any.whl

Download URL vibescraper-0.1.6-py3-none-any.whl
Size 18.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7c6906733ab6b4226bd5bab12a66aa145b6c5383c4fe404da08f068a60addd52
BLAKE2b-256 checksum
How to use checksums
d7ca866605e88a3fd453c2f893da34f835655871698215a841141a9fad913766
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.12.3 Linux/6.11.0-21-generic

Security for vibescraper 0.1.6

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page