valentina-python-client 3.0.0__tar.gz → 3.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of valentina-python-client might be problematic. Click here for more details.

Files changed (84) hide show
  1. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/PKG-INFO +1 -1
  2. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/pyproject.toml +1 -1
  3. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/__init__.py +1 -1
  4. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/campaign_book_chapters.py +2 -2
  5. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/books.py +4 -0
  6. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/chapters.py +11 -0
  7. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/characters.py +4 -0
  8. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/campaign_book_chapters.py +2 -2
  9. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/LICENSE +0 -0
  10. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/README.md +0 -0
  11. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_codegen.py +0 -0
  12. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/__init__.py +0 -0
  13. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/client.py +0 -0
  14. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/registry.py +0 -0
  15. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/__init__.py +0 -0
  16. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/_audit_params.py +0 -0
  17. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/base.py +0 -0
  18. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/campaign_books.py +0 -0
  19. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/campaigns.py +0 -0
  20. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/character_autogen.py +0 -0
  21. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/character_blueprint.py +0 -0
  22. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/character_traits.py +0 -0
  23. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/characters.py +0 -0
  24. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/companies.py +0 -0
  25. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/developers.py +0 -0
  26. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/dicerolls.py +0 -0
  27. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/dictionary.py +0 -0
  28. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/global_admin.py +0 -0
  29. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/identity.py +0 -0
  30. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/options.py +0 -0
  31. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/system.py +0 -0
  32. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/user_lookup.py +0 -0
  33. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/services/users.py +0 -0
  34. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/testing/__init__.py +0 -0
  35. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/_sync/testing/_client.py +0 -0
  36. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/client.py +0 -0
  37. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/config.py +0 -0
  38. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/constants.py +0 -0
  39. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/endpoints.py +0 -0
  40. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/exceptions.py +0 -0
  41. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/__init__.py +0 -0
  42. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/audit_logs.py +0 -0
  43. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/campaigns.py +0 -0
  44. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/character_autogen.py +0 -0
  45. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/character_blueprint.py +0 -0
  46. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/character_trait.py +0 -0
  47. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/companies.py +0 -0
  48. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/developers.py +0 -0
  49. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/diceroll.py +0 -0
  50. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/dictionary.py +0 -0
  51. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/full_sheet.py +0 -0
  52. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/global_admin.py +0 -0
  53. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/pagination.py +0 -0
  54. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/shared.py +0 -0
  55. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/system.py +0 -0
  56. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/user_lookup.py +0 -0
  57. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/models/users.py +0 -0
  58. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/py.typed +0 -0
  59. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/registry.py +0 -0
  60. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/__init__.py +0 -0
  61. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/_audit_params.py +0 -0
  62. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/base.py +0 -0
  63. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/campaign_books.py +0 -0
  64. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/campaigns.py +0 -0
  65. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/character_autogen.py +0 -0
  66. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/character_blueprint.py +0 -0
  67. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/character_traits.py +0 -0
  68. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/characters.py +0 -0
  69. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/companies.py +0 -0
  70. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/developers.py +0 -0
  71. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/dicerolls.py +0 -0
  72. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/dictionary.py +0 -0
  73. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/global_admin.py +0 -0
  74. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/identity.py +0 -0
  75. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/options.py +0 -0
  76. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/system.py +0 -0
  77. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/user_lookup.py +0 -0
  78. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/services/users.py +0 -0
  79. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/testing/__init__.py +0 -0
  80. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/testing/_client.py +0 -0
  81. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/testing/_factories.py +0 -0
  82. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/testing/_router.py +0 -0
  83. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/testing/_routes.py +0 -0
  84. {valentina_python_client-3.0.0 → valentina_python_client-3.1.0}/src/vclient/validate_constants.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: valentina-python-client
3
- Version: 3.0.0
3
+ Version: 3.1.0
4
4
  Summary: Async Python client library for the Valentina Noir API
5
5
  Author: Nate Landau
6
6
  Author-email: Nate Landau <github@natenate.org>
@@ -16,7 +16,7 @@
16
16
  name = "valentina-python-client"
17
17
  readme = "README.md"
18
18
  requires-python = ">=3.13"
19
- version = "3.0.0"
19
+ version = "3.1.0"
20
20
 
21
21
  [project.optional-dependencies]
22
22
  testing = ["polyfactory>=3.3.0"]
@@ -116,4 +116,4 @@ __all__ = (
116
116
  "users_service",
117
117
  )
118
118
 
119
- __version__ = "3.0.0"
119
+ __version__ = "3.1.0"
@@ -114,7 +114,7 @@ class SyncChaptersService(SyncBaseService):
114
114
  Args:
115
115
  request: A ChapterCreate model, OR pass fields as keyword arguments.
116
116
  **kwargs: Fields for ChapterCreate if request is not provided.
117
- Accepts: name (str, required), description (str | None).
117
+ Accepts: name (str, required), description (str | None), character_ids (list[str] | None).
118
118
  """
119
119
  body = request if request is not None else ChapterCreate(**kwargs)
120
120
  response = self._post(
@@ -132,7 +132,7 @@ class SyncChaptersService(SyncBaseService):
132
132
  chapter_id: The ID of the chapter to update.
133
133
  request: A ChapterUpdate model, OR pass fields as keyword arguments.
134
134
  **kwargs: Fields for ChapterUpdate if request is not provided.
135
- Accepts: name (str | None), description (str | None).
135
+ Accepts: name (str | None), description (str | None), character_ids (list[str] | None).
136
136
  """
137
137
  body = request if request is not None else ChapterUpdate(**kwargs)
138
138
  response = self._patch(
@@ -20,6 +20,10 @@ class CampaignBook(BaseModel):
20
20
  name: str = Field(..., description="Book name (3-50 characters).")
21
21
  description: str | None = Field(default=None, description="Book description.")
22
22
  asset_ids: list[str] = Field(default_factory=list, description="List of associated asset IDs.")
23
+ character_ids: list[str] = Field(
24
+ default_factory=list,
25
+ description="Read-only union of character IDs across the book's chapters.",
26
+ )
23
27
  number: int = Field(..., description="Book number within the campaign.")
24
28
  campaign_id: str = Field(..., description="ID of the parent campaign.")
25
29
  num_chapters: int = Field(default=0, description="Number of active chapters in the book.")
@@ -21,6 +21,9 @@ class CampaignChapter(BaseModel):
21
21
  name: str = Field(..., description="Chapter name (3-50 characters).")
22
22
  description: str | None = Field(default=None, description="Chapter description.")
23
23
  asset_ids: list[str] = Field(default_factory=list, description="List of associated asset IDs.")
24
+ character_ids: list[str] = Field(
25
+ default_factory=list, description="List of associated character IDs."
26
+ )
24
27
  number: int = Field(..., description="Chapter number within the book.")
25
28
  book_id: str = Field(..., description="ID of the parent book.")
26
29
  num_notes: int = Field(default=0, description="Number of active notes on the chapter.")
@@ -48,6 +51,10 @@ class ChapterCreate(BaseModel):
48
51
 
49
52
  name: str = Field(..., description="Chapter name (3-50 characters).")
50
53
  description: str | None = Field(default=None, description="Chapter description.")
54
+ character_ids: list[str] | None = Field(
55
+ default=None,
56
+ description="Character IDs to associate. Each must be an active character in the same campaign.",
57
+ )
51
58
 
52
59
 
53
60
  class ChapterUpdate(BaseModel):
@@ -55,6 +62,10 @@ class ChapterUpdate(BaseModel):
55
62
 
56
63
  name: str | None = Field(default=None, description="Chapter name (3-50 characters).")
57
64
  description: str | None = Field(default=None, description="Chapter description.")
65
+ character_ids: list[str] | None = Field(
66
+ default=None,
67
+ description="Replacement character ID list. Omit to leave unchanged; send [] to clear.",
68
+ )
58
69
 
59
70
 
60
71
  class _ChapterRenumber(BaseModel):
@@ -204,6 +204,10 @@ class Character(BaseModel):
204
204
  character_trait_ids: list[str] = Field(
205
205
  default_factory=list, description="List of character trait IDs."
206
206
  )
207
+ chapter_ids: list[str] = Field(
208
+ default_factory=list,
209
+ description="Read-only IDs of non-archived chapters this character is associated with.",
210
+ )
207
211
  specialties: list[CharacterSpecialty] = Field(
208
212
  default_factory=list, description="List of character specialties."
209
213
  )
@@ -132,7 +132,7 @@ class ChaptersService(BaseService):
132
132
  Args:
133
133
  request: A ChapterCreate model, OR pass fields as keyword arguments.
134
134
  **kwargs: Fields for ChapterCreate if request is not provided.
135
- Accepts: name (str, required), description (str | None).
135
+ Accepts: name (str, required), description (str | None), character_ids (list[str] | None).
136
136
  """
137
137
  body = request if request is not None else ChapterCreate(**kwargs)
138
138
  response = await self._post(
@@ -153,7 +153,7 @@ class ChaptersService(BaseService):
153
153
  chapter_id: The ID of the chapter to update.
154
154
  request: A ChapterUpdate model, OR pass fields as keyword arguments.
155
155
  **kwargs: Fields for ChapterUpdate if request is not provided.
156
- Accepts: name (str | None), description (str | None).
156
+ Accepts: name (str | None), description (str | None), character_ids (list[str] | None).
157
157
  """
158
158
  body = request if request is not None else ChapterUpdate(**kwargs)
159
159
  response = await self._patch(