Skip to main content

Product2Schema

Product2Schema is a Python library designed to convert product URLs into structured product data.

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 data.
  • 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.

Metadata

Release files for product2schema 1.0.4

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

Source distribution (sdist)

Source distribution for product2schema 1.0.4
File Size Uploaded
product2schema-1.0.4.tar.gz 8.6 kB Details

Built distribution (wheel)

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

Total release size: 18.5 kB

Release files / product2schema-1.0.4.tar.gz

Download URL product2schema-1.0.4.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
879ee6ca7f0e021c7437718fc109c7a1fde1a11592473336d8c1b3f9e14bdda1
BLAKE2b-256 checksum
How to use checksums
7248ef90127417c7b59ad47a315afc5f2d60ba9ef19195e4deb315e85b83609f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release files / product2schema-1.0.4-py3-none-any.whl

Download URL product2schema-1.0.4-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
10e56e08c99a653ce33376ff4d5b403333c1c1593355481f0efed0a212f5ecf3
BLAKE2b-256 checksum
How to use checksums
101243cf83bd2cd54b96de32a382f51ec60cdb3e5f6501360941dbf101bb1447
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.19

Release history Release notifications | RSS feed

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

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