Skip to main content

Add your description here

Project description

PySkoob

PyPI CI Python Versions License

PySkoob is a Python client that makes it easy to interact with the Skoob website. It takes care of authentication and HTML parsing so you can focus on your automation or data collection tasks.

Features

  • Search books by title, author or ISBN
  • Retrieve detailed book information and reviews
  • Access user profiles and reading statistics
  • Authenticate using email/password or an existing session cookie

Installation

Install the latest release from PyPI:

python -m pip install pyskoob

Or install the bleeding edge version from GitHub:

python -m pip install git+https://github.com/victor-soeiro/pyskoob.git

Authentication

You can authenticate in two different ways:

  1. Email and password

    from pyskoob import SkoobClient
    
    with SkoobClient() as client:
        me = client.auth.login(email="you@example.com", password="secret")
    
  2. Session cookie

    from pyskoob import SkoobClient
    
    with SkoobClient() as client:
        me = client.auth.login_with_cookies("PHPSESSID_TOKEN")
    

Once authenticated you can access all other services.

Usage example

Search for books

from pyskoob import SkoobClient
from pyskoob.models.enums import BookSearch

with SkoobClient() as client:
    results = client.books.search("Harry Potter", BookSearch.TITLE)
    for book in results.results:
        print(book.title, book.book_id)

Fetch book details

from pyskoob import SkoobClient

with SkoobClient() as client:
    book = client.books.get_by_id(1)  # replace with a real edition ID
    print(book.title, book.publisher.name)

Authenticate and access your profile

from pyskoob import SkoobClient

with SkoobClient() as client:
    # TIP: use environment variables or a secrets manager instead of hard-coding credentials
    me = client.auth.login(email="you@example.com", password="secret")
    print(me.name)

Running tests

Install the project in editable mode and run the test suite:

uv pip install -e .[dev]
pytest -vv

Contributing

  1. Fork the repository and create a branch for your feature.

  2. Install the dependencies in editable mode:

    uv pip install -e .[dev]
    
  3. Implement your change and add tests.

  4. Format your code with Ruff:

    ruff format .
    
  5. Ensure formatting and lint checks pass:

    ruff format --check .
    ruff check .
    
  6. Run pytest and ensure everything passes.

  7. Open a pull request describing your changes.

Learn more

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

pyskoob-0.1.15.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyskoob-0.1.15-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file pyskoob-0.1.15.tar.gz.

File metadata

  • Download URL: pyskoob-0.1.15.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyskoob-0.1.15.tar.gz
Algorithm Hash digest
SHA256 938b655d27f7a298eefe3fcad4bc0692839399e8438ef7d12383b86b943e1e08
MD5 b998d9a80c796ab4473a13e01b49851f
BLAKE2b-256 60cfb43fb2af6a89d91816e5f2f8aa3e4a88dab4c152555fc07a1c91e0a57037

See more details on using hashes here.

File details

Details for the file pyskoob-0.1.15-py3-none-any.whl.

File metadata

  • Download URL: pyskoob-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 30.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyskoob-0.1.15-py3-none-any.whl
Algorithm Hash digest
SHA256 0f9b3cae4493c30e32a4ea4c45819c9d2b6579025af98161df04907d5b397d36
MD5 1c7a699d32525056a231a50785c49729
BLAKE2b-256 aed53315f2b5806f9a526c2467fe47447d52a7ea9e0c36c1986121fd65b83d0d

See more details on using hashes here.

Supported by

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