dyff-schema 0.7.1__tar.gz → 0.7.2__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 (55) hide show
  1. {dyff_schema-0.7.1/dyff_schema.egg-info → dyff_schema-0.7.2}/PKG-INFO +1 -1
  2. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/platform.py +21 -2
  3. {dyff_schema-0.7.1 → dyff_schema-0.7.2/dyff_schema.egg-info}/PKG-INFO +1 -1
  4. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/.gitignore +0 -0
  5. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/.gitlab-ci.yml +0 -0
  6. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/.licenserc.yaml +0 -0
  7. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/.pre-commit-config.yaml +0 -0
  8. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/.prettierignore +0 -0
  9. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/.secrets.baseline +0 -0
  10. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/CODE_OF_CONDUCT.md +0 -0
  11. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/LICENSE +0 -0
  12. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/NOTICE +0 -0
  13. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/README.md +0 -0
  14. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/__init__.py +0 -0
  15. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/adapters.py +0 -0
  16. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/base.py +0 -0
  17. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/copydoc.py +0 -0
  18. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/dataset/__init__.py +0 -0
  19. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/dataset/arrow.py +0 -0
  20. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/dataset/binary.py +0 -0
  21. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/dataset/classification.py +0 -0
  22. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/dataset/text.py +0 -0
  23. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/dataset/vision.py +0 -0
  24. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/ids.py +0 -0
  25. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/io/__init__.py +0 -0
  26. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/io/vllm.py +0 -0
  27. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/platform.py +0 -0
  28. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/py.typed +0 -0
  29. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/quantity.py +0 -0
  30. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/requests.py +0 -0
  31. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/test.py +0 -0
  32. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/__init__.py +0 -0
  33. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/__init__.py +0 -0
  34. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/adapters.py +0 -0
  35. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/base.py +0 -0
  36. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/dataset/__init__.py +0 -0
  37. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/dataset/arrow.py +0 -0
  38. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/dataset/binary.py +0 -0
  39. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/dataset/classification.py +0 -0
  40. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/dataset/text.py +0 -0
  41. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/dataset/vision.py +0 -0
  42. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/io/__init__.py +0 -0
  43. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/io/vllm.py +0 -0
  44. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/requests.py +0 -0
  45. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/test.py +0 -0
  46. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/v0/r1/version.py +0 -0
  47. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff/schema/version.py +0 -0
  48. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff_schema.egg-info/SOURCES.txt +0 -0
  49. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff_schema.egg-info/dependency_links.txt +0 -0
  50. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff_schema.egg-info/requires.txt +0 -0
  51. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/dyff_schema.egg-info/top_level.txt +0 -0
  52. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/makefile +0 -0
  53. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/pyproject.toml +0 -0
  54. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/setup.cfg +0 -0
  55. {dyff_schema-0.7.1 → dyff_schema-0.7.2}/tests/test_import.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dyff-schema
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Data models for the Dyff AI auditing platform.
5
5
  Author-email: Digital Safety Research Institute <contact@dsri.org>
6
6
  License: Apache-2.0
@@ -18,7 +18,7 @@ We use the following naming convention:
18
18
  # mypy: disable-error-code="import-untyped"
19
19
  import abc
20
20
  import enum
21
- from datetime import datetime
21
+ from datetime import datetime, timezone
22
22
  from enum import Enum
23
23
  from typing import Any, Literal, NamedTuple, Optional, Type, Union
24
24
 
@@ -532,7 +532,10 @@ class AccessGrant(DyffSchemaBaseModel):
532
532
  )
533
533
 
534
534
 
535
- class APIKey(DyffSchemaBaseModel):
535
+ # FIXME: We can't derive from DyffSchemaBaseModel right now because existing
536
+ # APIKeys don't have a timezone set for their datetime members.
537
+ # See: DYFF-406
538
+ class APIKey(pydantic.BaseModel):
536
539
  """A description of a set of permissions granted to a single subject (either an
537
540
  account or a workload).
538
541
 
@@ -561,6 +564,22 @@ class APIKey(DyffSchemaBaseModel):
561
564
  default_factory=list, description="AccessGrants associated with the APIKey"
562
565
  )
563
566
 
567
+ @pydantic.root_validator
568
+ def _ensure_datetime_timezone_aware(cls, values):
569
+ update = {}
570
+ for k, v in values.items():
571
+ if isinstance(v, datetime):
572
+ if v.tzinfo is None:
573
+ update[k] = v.replace(tzinfo=timezone.utc)
574
+ values.update(update)
575
+ return values
576
+
577
+ def dict(self, *, by_alias: bool = True, **kwargs) -> dict[str, Any]:
578
+ return super().dict(by_alias=by_alias, **kwargs)
579
+
580
+ def json(self, *, by_alias: bool = True, **kwargs) -> str:
581
+ return super().json(by_alias=by_alias, **kwargs)
582
+
564
583
 
565
584
  # ----------------------------------------------------------------------------
566
585
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dyff-schema
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: Data models for the Dyff AI auditing platform.
5
5
  Author-email: Digital Safety Research Institute <contact@dsri.org>
6
6
  License: Apache-2.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes