valentina-python-client 3.1.1__tar.gz → 3.2.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.
Files changed (84) hide show
  1. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/PKG-INFO +1 -1
  2. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/pyproject.toml +1 -1
  3. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/__init__.py +1 -1
  4. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/character_traits.py +7 -3
  5. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/character_trait.py +5 -4
  6. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/character_traits.py +7 -3
  7. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/LICENSE +0 -0
  8. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/README.md +0 -0
  9. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_codegen.py +0 -0
  10. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/__init__.py +0 -0
  11. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/client.py +0 -0
  12. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/registry.py +0 -0
  13. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/__init__.py +0 -0
  14. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/_audit_params.py +0 -0
  15. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/base.py +0 -0
  16. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/campaign_book_chapters.py +0 -0
  17. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/campaign_books.py +0 -0
  18. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/campaigns.py +0 -0
  19. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/character_autogen.py +0 -0
  20. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/character_blueprint.py +0 -0
  21. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/characters.py +0 -0
  22. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/companies.py +0 -0
  23. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/developers.py +0 -0
  24. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/dicerolls.py +0 -0
  25. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/dictionary.py +0 -0
  26. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/global_admin.py +0 -0
  27. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/identity.py +0 -0
  28. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/options.py +0 -0
  29. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/system.py +0 -0
  30. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/user_lookup.py +0 -0
  31. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/services/users.py +0 -0
  32. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/testing/__init__.py +0 -0
  33. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/_sync/testing/_client.py +0 -0
  34. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/client.py +0 -0
  35. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/config.py +0 -0
  36. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/constants.py +0 -0
  37. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/endpoints.py +0 -0
  38. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/exceptions.py +0 -0
  39. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/__init__.py +0 -0
  40. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/audit_logs.py +0 -0
  41. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/books.py +0 -0
  42. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/campaigns.py +0 -0
  43. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/chapters.py +0 -0
  44. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/character_autogen.py +0 -0
  45. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/character_blueprint.py +0 -0
  46. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/characters.py +0 -0
  47. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/companies.py +0 -0
  48. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/developers.py +0 -0
  49. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/diceroll.py +0 -0
  50. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/dictionary.py +0 -0
  51. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/full_sheet.py +0 -0
  52. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/global_admin.py +0 -0
  53. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/pagination.py +0 -0
  54. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/shared.py +0 -0
  55. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/system.py +0 -0
  56. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/user_lookup.py +0 -0
  57. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/models/users.py +0 -0
  58. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/py.typed +0 -0
  59. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/registry.py +0 -0
  60. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/__init__.py +0 -0
  61. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/_audit_params.py +0 -0
  62. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/base.py +0 -0
  63. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/campaign_book_chapters.py +0 -0
  64. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/campaign_books.py +0 -0
  65. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/campaigns.py +0 -0
  66. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/character_autogen.py +0 -0
  67. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/character_blueprint.py +0 -0
  68. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/characters.py +0 -0
  69. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/companies.py +0 -0
  70. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/developers.py +0 -0
  71. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/dicerolls.py +0 -0
  72. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/dictionary.py +0 -0
  73. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/global_admin.py +0 -0
  74. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/identity.py +0 -0
  75. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/options.py +0 -0
  76. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/system.py +0 -0
  77. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/user_lookup.py +0 -0
  78. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/services/users.py +0 -0
  79. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/testing/__init__.py +0 -0
  80. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/testing/_client.py +0 -0
  81. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/testing/_factories.py +0 -0
  82. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/testing/_router.py +0 -0
  83. {valentina_python_client-3.1.1 → valentina_python_client-3.2.0}/src/vclient/testing/_routes.py +0 -0
  84. {valentina_python_client-3.1.1 → valentina_python_client-3.2.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.1.1
3
+ Version: 3.2.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.1.1"
19
+ version = "3.2.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.1.1"
119
+ __version__ = "3.2.0"
@@ -211,15 +211,19 @@ class SyncCharacterTraitsService(SyncBaseService):
211
211
  return BulkAssignTraitResponse.model_validate(response.json())
212
212
 
213
213
  def create(self, request: TraitCreate | None = None, **kwargs) -> CharacterTrait:
214
- """Create a new character trait.
214
+ """Create a new custom character trait.
215
+
216
+ The trait is always created at a value of ``1``; the supplied ``currency`` pays
217
+ for that first dot. ``NPC`` and ``STORYTELLER`` characters accept only
218
+ ``"NO_COST"``.
215
219
 
216
220
  Args:
217
221
  request: A TraitCreate model, OR pass fields as keyword arguments.
218
222
  **kwargs: Fields for TraitCreate if request is not provided.
219
- Required: name (str), category_id (str).
223
+ Required: name (str), category_id (str), currency (TraitModifyCurrency).
220
224
  Optional: description (str | None), max_value (int), min_value (int),
221
225
  show_when_zero (bool), initial_cost (int | None),
222
- upgrade_cost (int | None), value (int | None).
226
+ upgrade_cost (int | None).
223
227
  """
224
228
  body = request if request is not None else self._validate_request(TraitCreate, **kwargs)
225
229
  response = self._post(
@@ -34,21 +34,22 @@ class CharacterTraitAdd(BaseModel):
34
34
 
35
35
 
36
36
  class TraitCreate(BaseModel):
37
- """Request model for creating a character trait.
37
+ """Request model for creating a custom character trait.
38
38
 
39
- Used to construct the JSON payload for character trait creation.
39
+ Used to construct the JSON payload for character trait creation. The trait is
40
+ always created at a value of ``1``; the supplied ``currency`` pays for that first dot.
40
41
  """
41
42
 
42
43
  name: str
44
+ category_id: str
45
+ currency: TraitModifyCurrency
43
46
  description: str | None = None
44
47
  max_value: Annotated[int, Field(ge=0, le=100, default=5)] = 5
45
48
  min_value: Annotated[int, Field(ge=0, le=100, default=0)] = 0
46
49
  show_when_zero: bool | None = True
47
- category_id: str
48
50
  initial_cost: int | None = None
49
51
  upgrade_cost: int | None = None
50
52
  count_based_cost_multiplier: int | None = None
51
- value: int | None = None
52
53
 
53
54
 
54
55
  class _TraitModify(BaseModel):
@@ -243,15 +243,19 @@ class CharacterTraitsService(BaseService):
243
243
  request: TraitCreate | None = None,
244
244
  **kwargs,
245
245
  ) -> CharacterTrait:
246
- """Create a new character trait.
246
+ """Create a new custom character trait.
247
+
248
+ The trait is always created at a value of ``1``; the supplied ``currency`` pays
249
+ for that first dot. ``NPC`` and ``STORYTELLER`` characters accept only
250
+ ``"NO_COST"``.
247
251
 
248
252
  Args:
249
253
  request: A TraitCreate model, OR pass fields as keyword arguments.
250
254
  **kwargs: Fields for TraitCreate if request is not provided.
251
- Required: name (str), category_id (str).
255
+ Required: name (str), category_id (str), currency (TraitModifyCurrency).
252
256
  Optional: description (str | None), max_value (int), min_value (int),
253
257
  show_when_zero (bool), initial_cost (int | None),
254
- upgrade_cost (int | None), value (int | None).
258
+ upgrade_cost (int | None).
255
259
  """
256
260
  body = request if request is not None else self._validate_request(TraitCreate, **kwargs)
257
261
  response = await self._post(