Models
Results Objects that are used in endpoints
pyravelry.models.BaseRavelryModel
¶
Bases: BaseModel
Base Ravelry Results object class
Source code in src/pyravelry/models/base.py
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | |
pyravelry.models.BaseRavelryModel.to_pandas()
¶
Converts the pyravelry model into a pandas dataframe.
Returns:
| Type | Description |
|---|---|
DataFrame
|
pd.DataFrame: pandas Dataframe with pyravelry content. |
Source code in src/pyravelry/models/base.py
15 16 17 18 19 20 21 22 23 24 25 26 | |
pyravelry.models.BaseRavelryModel.to_polars()
¶
Converts the pyravelry model into a polars dataframe.
This is very hacky and converts to pandas then polars, but the data is sufficiently small to where this doesn't matter much.
Returns:
| Type | Description |
|---|---|
DataFrame
|
pl.DataFrame: polars Dataframe with pyravelry content. |
Source code in src/pyravelry/models/base.py
28 29 30 31 32 33 34 35 36 37 38 | |
pyravelry.models.ColorFamiliesModel
¶
Bases: BaseRavelryModel
Wrapper for the color_families.json response.
Color Family Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
color_families
|
list[ColorFamilyModel]
|
|
required |
Source code in src/pyravelry/models/colorfamily.py
24 25 26 27 28 29 30 | |
pyravelry.models.ColorFamilyModel
¶
Bases: BaseRavelryModel
Represents a Ravelry ColorFamily results object.
Color Family Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
name
|
str
|
|
required |
permalink
|
str
|
|
required |
color
|
str | None
|
HTML color code (e.g., #FFFFFF) |
None
|
spectrum_order
|
int
|
Sort order, (mostly) based on the spectrum |
required |
Source code in src/pyravelry/models/colorfamily.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
pyravelry.models.CommentCreateModel
¶
Bases: BaseRavelryModel
Input parameters for model.
Comments Endpoint Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type
|
Literal['project', 'pattern', 'yarn', 'stash']
|
The type of item being commented on. |
required |
commented_id
|
int
|
ID of the item being commented on. |
required |
body
|
str
|
Comment body. Supports Text, Markdown, or HTML. |
required |
reply_to_id
|
int | None
|
ID of the comment being replied to. Restricted to item owners. |
None
|
Source code in src/pyravelry/models/comment.py
13 14 15 16 17 18 19 20 21 22 23 24 | |
pyravelry.models.CommentExportModel
¶
Bases: CreatedAtBase
Simplified Comment model for export purposes.
Comments Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
comment_html
|
str
|
|
required |
Source code in src/pyravelry/models/comment.py
93 94 95 96 97 98 99 100 | |
pyravelry.models.CommentFullModel
¶
Bases: CommentModel
Represents a full Ravelry Comment with nested replies.
Comments Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
replies
|
list[CommentModel]
|
Replies to the comment (nesting limited to 1 level) |
<dynamic>
|
Source code in src/pyravelry/models/comment.py
81 82 83 84 85 86 87 88 89 90 | |
pyravelry.models.CommentHistoriesModel
¶
Bases: BaseRavelryModel
Represents multiple Comment in a history context.
Comments Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
comments
|
list[CommentHistoryModel]
|
|
required |
Source code in src/pyravelry/models/comment.py
72 73 74 75 76 77 78 | |
pyravelry.models.CommentHistoryModel
¶
Bases: CreatedAtBase
Represents a Comment in a history context.
Comments Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
comment_html
|
str | None
|
|
None
|
user_id
|
int
|
The ID of the user who posted the comment |
required |
commentable
|
Any | None
|
|
None
|
Source code in src/pyravelry/models/comment.py
60 61 62 63 64 65 66 67 68 69 | |
pyravelry.models.CommentModel
¶
Bases: CreatedAtBase
Represents the standard Ravelry Comment object.
Comments Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
comment_html
|
str
|
Comment body (HTML formatted) |
required |
user
|
UserSmallModel
|
The user who posted the comment |
required |
highlighted_project
|
ProjectModel | None
|
Related project, if requested and available |
None
|
Source code in src/pyravelry/models/comment.py
48 49 50 51 52 53 54 55 56 57 | |
pyravelry.models.FiberAttributeModel
¶
Bases: BaseRavelryModel
Represents a Ravelry FiberAttribute result object.
Fiber Attribute Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fiber_attribute_group_id
|
int
|
|
required |
id
|
int
|
|
required |
name
|
str
|
|
required |
permalink
|
str
|
|
required |
Source code in src/pyravelry/models/fiberattribute.py
4 5 6 7 8 9 10 11 12 13 | |
pyravelry.models.FiberAttributesModel
¶
Bases: BaseRavelryModel
Wrapper for the fiber_attributes.json response.
Fiber Attribute Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fiber_attributes
|
list[FiberAttributeModel]
|
|
required |
Source code in src/pyravelry/models/fiberattribute.py
16 17 18 19 20 21 22 | |
pyravelry.models.FiberCategoriesModel
¶
Bases: BaseRavelryModel
Wrapper for the fiber_categories.json response.
Fiber Category Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
fiber_categories
|
list[FiberCategoryModel]
|
|
required |
Source code in src/pyravelry/models/fibercategory.py
34 35 36 37 38 39 40 | |
pyravelry.models.FiberCategoryModel
¶
Bases: BaseRavelryModel
Represents a Ravelry FiberCategory results object.
Fiber Category Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
name
|
str
|
Short category name |
required |
permalink
|
str
|
|
required |
short_name
|
str | None
|
Abbreviated category name |
None
|
parent_id
|
int | None
|
Parent category ID |
None
|
children
|
list[FiberCategoryModel] | None
|
Child categories (subcategories) |
<dynamic>
|
Source code in src/pyravelry/models/fibercategory.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
pyravelry.models.GlobalSearchResponseModel
¶
Bases: BaseRavelryModel
Wrapper for the search.json response.
Search Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
results
|
list[SearchResultModel]
|
|
required |
Source code in src/pyravelry/models/custom_models/search.py
80 81 82 83 84 85 86 | |
pyravelry.models.Identifier
¶
Bases: BaseRavelryModel
Validates that the input is either a string (username) or an integer (user ID).
Identifier Documentation (URI Parameters)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str | int
|
|
required |
Source code in src/pyravelry/models/custom_models/identifiers.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
pyravelry.models.NeedleRecordFullModel
¶
Bases: NeedleRecordSmallModel
Wrapper for the NeedleRecord (full) response. Extends the small model to include full needle type details.
Needle Record Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
needle_type
|
NeedleTypeFullModel
|
Detailed information about the needle type. |
required |
Source code in src/pyravelry/models/needlerecord.py
20 21 22 23 24 25 26 27 | |
pyravelry.models.NeedleRecordListModel
¶
Bases: BaseRavelryModel
Wrapper for the needle record responses.
Needle Record Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
needle_records
|
list[NeedleRecordFullModel]
|
|
required |
Source code in src/pyravelry/models/needlerecord.py
30 31 32 33 34 35 36 | |
pyravelry.models.NeedleRecordSmallModel
¶
Bases: BaseRavelryModel
Wrapper for the NeedleRecord (small) response.
Needle Record Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
The unique identifier for the needle record. |
required |
comment
|
str | None
|
User comments about the needle. |
None
|
needle_type_id
|
int
|
The ID referencing the type of needle. |
required |
Source code in src/pyravelry/models/needlerecord.py
9 10 11 12 13 14 15 16 17 | |
pyravelry.models.NeedleSizeFullModel
¶
Bases: NeedleSizeListModel
Wrapper for the NeedleSize (full) response.
Needle Size Ravelry API documentation
Source code in src/pyravelry/models/needlesize.py
34 35 36 37 38 39 40 41 42 | |
pyravelry.models.NeedleSizeListModel
¶
Bases: NeedleSizePostModel
Wrapper for the NeedleSize (list) response.
Needle Size Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
Needle size ID. |
required |
hook
|
str | None
|
Crochet hook designation corresponding to this metric size, if one exists. |
None
|
us
|
str | None
|
US size number corresponding to this metric size, if one exists. |
None
|
Source code in src/pyravelry/models/needlesize.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
pyravelry.models.NeedleSizePostModel
¶
Bases: BaseRavelryModel
Wrapper for the NeedleSize (POST) payload.
Needle Size Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
metric
|
float
|
Metric designation for hook size. |
required |
Source code in src/pyravelry/models/needlesize.py
8 9 10 11 12 13 14 | |
pyravelry.models.NeedleSizesModel
¶
Bases: BaseRavelryModel
Wrapper for the needle size responses.
Needle Size Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
needle_sizes
|
list[NeedleSizeFullModel]
|
|
required |
Source code in src/pyravelry/models/needlesize.py
45 46 47 48 49 50 51 | |
pyravelry.models.NeedleTypeFullModel
¶
Bases: NeedleTypeModel
Wrapper for the NeedleType (full) response.
The documentation provides the exact same fields as the standard view, but inherits from NeedleTypeModel to maintain structural consistency.
Needle Type Ravelry API documentation
Source code in src/pyravelry/models/needletype.py
23 24 25 26 27 28 29 30 31 32 | |
pyravelry.models.NeedleTypeModel
¶
Bases: BaseRavelryModel
Wrapper for the NeedleType response.
Needle Type Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
The unique identifier for the needle type. |
required |
name
|
str | None
|
The name of the needle type. |
required |
description
|
str | None
|
Detailed description of the needle type. |
None
|
length
|
int | None
|
The length of the needle (if applicable). |
None
|
metric_name
|
str
|
The metric name designation for the needle size. |
required |
needle_size_id
|
int
|
The ID referencing the specific needle size. |
required |
type_name
|
str
|
The specific classification name of the needle type. |
required |
Source code in src/pyravelry/models/needletype.py
8 9 10 11 12 13 14 15 16 17 18 19 20 | |
pyravelry.models.NeedleTypesModel
¶
Bases: BaseRavelryModel
Wrapper for the needle type responses.
Needle Type Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
needle_types
|
list[NeedleTypeFullModel]
|
|
required |
Source code in src/pyravelry/models/needletype.py
35 36 37 38 39 40 41 | |
pyravelry.models.PaginatorModel
¶
Bases: BaseRavelryModel
Standard Ravelry pagination object.
Slightly Below Pagination Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
page_count
|
int
|
|
required |
page
|
int
|
|
required |
page_size
|
int
|
|
required |
results
|
int
|
|
required |
last_page
|
int
|
|
required |
Source code in src/pyravelry/models/custom_models/paginator.py
4 5 6 7 8 9 10 11 12 13 14 | |
pyravelry.models.SearchParams
¶
Bases: BaseModel
Parameters for the /search.json endpoint.
Search Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
query
|
str
|
|
required |
limit
|
int
|
|
50
|
types
|
list[Literal['User', 'PatternAuthor', 'PatternSource', 'Pattern', 'YarnCompany', 'Yarn', 'Group', 'Event', 'Project', 'Page', 'Topic', 'Shop']] | None
|
|
None
|
Source code in src/pyravelry/models/custom_models/search.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | |
pyravelry.models.SearchParams.format_types(v)
classmethod
¶
Formats the passed in string to be a list.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
v
|
str
|
space delineated string |
required |
Returns:
| Name | Type | Description |
|---|---|---|
_type_ |
list[str]
|
description |
Source code in src/pyravelry/models/custom_models/search.py
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | |
pyravelry.models.SearchRecordModel
¶
Bases: BaseRavelryModel
Details about the specific record found in the search.
Search Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type
|
str
|
|
required |
id
|
int
|
|
required |
permalink
|
str
|
|
required |
uri
|
str | None
|
|
None
|
Source code in src/pyravelry/models/custom_models/search.py
54 55 56 57 58 59 60 61 62 63 | |
pyravelry.models.SearchResultModel
¶
Bases: BaseRavelryModel
Represents an individual result from the global search.
Search Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
title
|
str
|
|
required |
type_name
|
str
|
|
required |
caption
|
str | None
|
|
None
|
tiny_image_url
|
str | None
|
|
None
|
image_url
|
str | None
|
|
None
|
record
|
SearchRecordModel
|
|
required |
Source code in src/pyravelry/models/custom_models/search.py
66 67 68 69 70 71 72 73 74 75 76 77 | |
pyravelry.models.SimplifiedPaginator
¶
Bases: BaseRavelryModel
Simplified paginator object.
Comments Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
page
|
int
|
|
required |
page_size
|
int
|
|
required |
Source code in src/pyravelry/models/custom_models/paginator.py
17 18 19 20 21 22 23 24 | |
pyravelry.models.SocialSiteModel
¶
Bases: BaseRavelryModel
Represents a Ravelry SocialSite object.
Social Site Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
name
|
str
|
Name of the site |
required |
active
|
bool
|
True if the site is currently shown on Ravelry profile pages |
required |
favicon_url
|
str | None
|
URL to the site's favicon |
None
|
Source code in src/pyravelry/models/socialsite.py
8 9 10 11 12 13 14 15 16 17 18 19 | |
pyravelry.models.UserFullModel
¶
Bases: UserSmallModel
Represents the User (full/export) object.
Includes all fields from User (small) plus extended profile information.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
first_name
|
str | None
|
|
None
|
about_me
|
str | None
|
Raw 'About me' text |
None
|
about_me_html
|
str | None
|
Rendered HTML 'About me' text |
None
|
fave_colors
|
str | None
|
|
None
|
fave_curse
|
str | None
|
|
None
|
location
|
str | None
|
|
None
|
pattern_author
|
PatternAuthorForUserModel | None
|
The designer linked to this user |
None
|
user_sites
|
list[UserSiteModel] | None
|
External social/etc sites added to profile |
None
|
Source code in src/pyravelry/models/user.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
pyravelry.models.UserModel
¶
Bases: BaseRavelryModel
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user
|
UserFullModel
|
|
required |
Source code in src/pyravelry/models/user.py
65 66 | |
pyravelry.models.UserPostModel
¶
Bases: BaseRavelryModel
Model used for updating a User profile via POST.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
first_name
|
str | None
|
User's first name |
None
|
about_me
|
str | None
|
raw "About me" text. Can contain markdown and/or HTML |
None
|
fave_colors
|
str | None
|
User's favorite colors |
None
|
fave_curse
|
str | None
|
User's favorite curse word |
None
|
location
|
str | None
|
User's geographic location |
None
|
Source code in src/pyravelry/models/user.py
52 53 54 55 56 57 58 59 60 61 62 | |
pyravelry.models.UserSiteModel
¶
Bases: BaseRavelryModel
Represents a Ravelry UserSite object.
UserSite Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
social_site
|
SocialSiteModel
|
Details about the external site |
required |
url
|
str | None
|
URL to profile page on an external site |
None
|
username
|
str | None
|
Username on an external site |
None
|
Source code in src/pyravelry/models/usersite.py
9 10 11 12 13 14 15 16 17 18 | |
pyravelry.models.UserSmallModel
¶
Bases: BaseRavelryModel
Represents the User (small) object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
username
|
str
|
|
required |
tiny_photo_url
|
str | None
|
|
None
|
small_photo_url
|
str | None
|
|
None
|
photo_url
|
str | None
|
|
None
|
large_photo_url
|
str | None
|
|
None
|
profile_country_code
|
str | None
|
|
None
|
Source code in src/pyravelry/models/user.py
22 23 24 25 26 27 28 29 30 31 | |
pyravelry.models.YarnAttributeModel
¶
Bases: BaseRavelryModel
Represents a YarnAttributeGroup. This model handles both the 'full' and 'list' versions by making the children field optional.
Yarn Attribute Group Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
name
|
str
|
Attribute group name |
required |
permalink
|
str
|
|
required |
children
|
list[YarnAttributeGroupModel] | None
|
Child yarn attribute groups (subgroups) |
None
|
Source code in src/pyravelry/models/yarnattributegroup.py
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
pyravelry.models.YarnAttributesModel
¶
Bases: BaseRavelryModel
Wrapper for responses containing multiple yarn attribute groups.
Yarn Attribute Group Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
yarn_attribute_groups
|
list[YarnAttributeGroupModel]
|
|
required |
Source code in src/pyravelry/models/yarnattributegroup.py
31 32 33 34 35 36 37 | |
pyravelry.models.YarnCompaniesModel
¶
Bases: BaseRavelryModel
Wrapper for responses returning multiple yarn companies.
https://www.ravelry.com/api#YarnCompany_result
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
yarn_companies
|
list[YarnCompanyModel]
|
|
required |
Source code in src/pyravelry/models/yarncompany.py
47 48 49 50 51 52 53 | |
pyravelry.models.YarnCompanyModel
¶
Bases: YarnCompanyPublicModel
Represents the standard, Full, and List versions of a YarnCompany. These share the same fields in the current documentation.
Yarn Company Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
logo_url
|
str | None
|
URL to the company logo |
None
|
yarns_count
|
int
|
Total number of yarns by this company |
0
|
Source code in src/pyravelry/models/yarncompany.py
19 20 21 22 23 24 25 26 27 28 | |
pyravelry.models.YarnCompanySearchParams
¶
Bases: BaseRavelryModel
Parameters for the yarn_companies/search endpoint.
Yarn Companies Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
query
|
str | None
|
|
None
|
page
|
int
|
|
1
|
page_size
|
int
|
|
48
|
sort
|
str | None
|
|
'best'
|
Source code in src/pyravelry/models/custom_models/yarncompany.py
9 10 11 12 13 14 15 16 17 18 | |
pyravelry.models.YarnCompanySearchResponseModel
¶
Bases: BaseRavelryModel
Response returned by /yarn_companies/search.json.
Yarn Companies Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
yarn_companies
|
list[YarnCompanyModel]
|
|
required |
paginator
|
PaginatorModel
|
|
required |
Source code in src/pyravelry/models/custom_models/yarncompany.py
21 22 23 24 25 26 27 28 | |
pyravelry.models.YarnWeightModel
¶
Bases: BaseRavelryModel
Represents a Ravelry YarnWeight results object.
Yarn Weight Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
int
|
|
required |
name
|
str
|
|
required |
crochet_gauge
|
str | None
|
Typical crochet gauge |
None
|
knit_gauge
|
str | None
|
Typical knitting gauge |
None
|
max_gauge
|
float | None
|
Maximum recommended gauge |
None
|
min_gauge
|
float | None
|
Minimum recommended gauge |
None
|
ply
|
str | None
|
Number of plies associated with this weight |
None
|
wpi
|
str | None
|
Wraps per inch |
None
|
Source code in src/pyravelry/models/yarnweight.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
pyravelry.models.YarnWeightsModel
¶
Bases: BaseRavelryModel
Wrapper for the yarn_weights.json response.
Yarn Weight Ravelry API documentation
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
yarn_weights
|
list[YarnWeightModel]
|
|
required |
Source code in src/pyravelry/models/yarnweight.py
30 31 32 33 34 35 36 | |