Metadata-Version: 2.4
Name: pyravelry
Version: 0.0.9
Summary: Python wrapper for the Ravelry API, which is a database of knitting / crocheting patterns.
Project-URL: Homepage, https://theuerc.github.io/pyravelry/
Project-URL: Repository, https://github.com/theuerc/pyravelry
Project-URL: Documentation, https://theuerc.github.io/pyravelry/
Author-email: Coulton Theuer <theuerc@umich.edu>
License-File: LICENSE
Keywords: python
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: <4.0,>=3.10
Requires-Dist: hishel[httpx]>=1.1.7
Requires-Dist: pandas>=2.3.3
Requires-Dist: polars>=1.36.1
Requires-Dist: pyarrow>=23.0.1
Requires-Dist: pydantic-settings>=2.12.0
Requires-Dist: pydantic>=2.12.5
Description-Content-Type: text/markdown

# pyravelry

[![Release](https://img.shields.io/github/v/release/theuerc/pyravelry)](https://img.shields.io/github/v/release/theuerc/pyravelry)
[![Build status](https://img.shields.io/github/actions/workflow/status/theuerc/pyravelry/main.yml?branch=main)](https://github.com/theuerc/pyravelry/actions/workflows/main.yml?query=branch%3Amain)
[![codecov](https://codecov.io/gh/theuerc/pyravelry/branch/main/graph/badge.svg)](https://codecov.io/gh/theuerc/pyravelry)
[![Commit activity](https://img.shields.io/github/commit-activity/m/theuerc/pyravelry)](https://img.shields.io/github/commit-activity/m/theuerc/pyravelry)
[![License](https://img.shields.io/github/license/theuerc/pyravelry)](https://img.shields.io/github/license/theuerc/pyravelry)

This is python wrapper for the Ravelry API (a database of knitting / crocheting patterns).

- **Github repository**: <https://github.com/theuerc/pyravelry/>
- **Documentation** <https://theuerc.github.io/pyravelry/>
- **Official Ravelry API Documentation** <https://www.ravelry.com/api>

Use of this API wrapper requires a [Ravelry Account](https://www.ravelry.com/) and a username and apikey as specified in the [HTTP Basic Auth](https://www.ravelry.com/api#authenticating) section of the Ravelry API Documentation. Be sure to get read/write permissions if you want full access to all of the endpoints.

Quick Start:

```bash
$ pip install pyravelry
$ python -i
>>> from pyravelry import Client, Settings
>>> settings = Settings(RAVELRY_USERNAME=..., RAVELRY_API_KEY=...)
>>> client = Client(settings=settings)
>>> results = client.search.query(query="merino", limit=10, types=["Yarn"])
>>> results.results[0].title
'MerinoSeide'
>>> results.to_pandas().loc[:, ["title"]].head()
           title
0    MerinoSeide
1    Merinosukka
2      MERINO100
3  Merino-Tussah
4    Merinosilke
>>> results.to_polars()["title"].head()
shape: (10,)
Series: 'title' [str]
[
        "MerinoSeide"
        "Merinosukka"
        "MERINO100"
        "Merino-Tussah"
        "Merinosilke"
        "Merinowol"
        "Merinosweet"
        "Merino-Soft"
        "MerinoSilk"
        "MerinoCottonSilk"
]
```

More information about this API wrapper can be found in the [pyravelry documentation](https://theuerc.github.io/pyravelry/).
