Skip to main content

Convert product URLs into standardized product schema.

Project description

Product2Schema

Product2Schema is a Python library designed to convert product URLs into standardized product schemas.

This library offers both synchronous and asynchronous capabilities to fit various use cases.

The conversion process leverages the Zyte API for fetching page contents and OpenAI for generating the schema from the fetched content.

Features

  • Asynchronous and synchronous versions available.
  • Converts product URLs into structured product schemas.
  • Utilizes Zyte API for web scraping and OpenAI for AI transformation.
  • Easy to integrate with existing Python projects.

Installation

You can install the library from PyPI:

pip install product2schema

Usage

Synchronous Engine

The SyncEngine class provides a synchronous interface for URL transformation.

from Product2Schema import SyncEngine

# Initialize the engine with your API keys
sync_engine = SyncEngine(openai_key="your_openai_key", zyte_key="your_zyte_key")

# Transform a product URL
response = sync_engine.transform_url("https://example.com/product")

# Access the response details
print(f"Original URL: {response.url}")
print(f"Cost: {response.cost}")
print(f"Product Schema: {response.product_schema}")

Asynchronous Engine

The AsyncEngine class provides an asynchronous interface for URL transformation and is more suitable for use cases that require non-blocking operations.

import asyncio
from Product2Schema import AsyncEngine

async def main():
    # Initialize the engine with your API keys
    async_engine = AsyncEngine(openai_key="your_openai_key", zyte_key="your_zyte_key")

    # Transform a product URL
    response = await async_engine.transform_url("https://example.com/product")

    # Access the response details
    print(f"Original URL: {response.url}")
    print(f"Cost: {response.cost}")
    print(f"Product Schema: {response.product_schema}")

# Run the async main function
asyncio.run(main())

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the Apache-2.0 License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

product2schema-1.0.1.tar.gz (8.5 kB view hashes)

Uploaded Source

Built Distribution

product2schema-1.0.1-py3-none-any.whl (9.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page