biased 0.1.2.dev5__tar.gz → 0.1.2.dev7__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 (57) hide show
  1. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/PKG-INFO +9 -1
  2. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/pyproject.toml +13 -3
  3. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/pydantic_model_field.py +1 -1
  4. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/logging/utils.py +1 -1
  5. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/ninja/json_renderrer.py +1 -1
  6. biased-0.1.2.dev7/src/biased/structlog/structlog_json_encoder.py +11 -0
  7. {biased-0.1.2.dev5/src/biased/django → biased-0.1.2.dev7/src/biased}/utils/default_json_encoder.py +1 -15
  8. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/README.md +0 -0
  9. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/__init__.py +0 -0
  10. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/__init__.py +0 -0
  11. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/admin.py +0 -0
  12. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/apps.py +0 -0
  13. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/aws_waf/__init__.py +0 -0
  14. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/aws_waf/aws_waf_regex_pattern.py +0 -0
  15. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/aws_waf/aws_waf_whitelist_middleware.py +0 -0
  16. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/aws_waf/url_patterns.py +0 -0
  17. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/dtos.py +0 -0
  18. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/filters/__init__.py +0 -0
  19. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/filters/entity_filter.py +0 -0
  20. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/filters/input_filter.py +0 -0
  21. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/forms/__init__.py +0 -0
  22. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/forms/json_editor_widget.py +0 -0
  23. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/forms/pydantic_model_form_field.py +0 -0
  24. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/__init__.py +0 -0
  25. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/bank_account.py +0 -0
  26. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/char_field.py +0 -0
  27. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/created_at_modified_at_mixin.py +0 -0
  28. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/default_money_amount_field.py +0 -0
  29. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/deleted_at_mixin.py +0 -0
  30. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/models/multi_select_field.py +0 -0
  31. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/templates/actions_change_form.html +0 -0
  32. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/templates/admin/input_filter.html +0 -0
  33. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/utils/__init__.py +0 -0
  34. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/utils/choices.py +0 -0
  35. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/utils/get_client_ip.py +0 -0
  36. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django/utils/reverse.py +0 -0
  37. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django_redis/__init__.py +0 -0
  38. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/django_redis/pydantic_serializer.py +0 -0
  39. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/dtos/__init__.py +0 -0
  40. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/dtos/base.py +0 -0
  41. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/dtos/env_file_paths.py +0 -0
  42. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/dtos/logging.py +0 -0
  43. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/logging/__init__.py +0 -0
  44. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/logging/dict_config.py +0 -0
  45. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/logging/settings.py +0 -0
  46. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/ninja/__init__.py +0 -0
  47. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/structlog/__init__.py +0 -0
  48. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/structlog/processors.py +0 -0
  49. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/types.py +0 -0
  50. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/__init__.py +0 -0
  51. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/aba_routing_number.py +0 -0
  52. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/attrgetter_default.py +0 -0
  53. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/calculate_age.py +0 -0
  54. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/filter_not_none_values.py +0 -0
  55. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/time.py +0 -0
  56. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/ulid.py +0 -0
  57. {biased-0.1.2.dev5 → biased-0.1.2.dev7}/src/biased/utils/uuid.py +0 -0
@@ -1,12 +1,20 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: biased
3
- Version: 0.1.2.dev5
3
+ Version: 0.1.2.dev7
4
4
  Summary: Various reusable components, helpers, and utilities which I would like to use in any Python project
5
5
  Author: Dmitry Tatarkin
6
6
  Author-email: Dmitry Tatarkin <tatarkin@gmail.com>
7
7
  Requires-Dist: pydantic>=2
8
+ Requires-Dist: python-dateutil>=2.9.0.post0
9
+ Requires-Dist: structlog>=25.4.0
8
10
  Requires-Dist: ulid-py>=1.1.0
11
+ Requires-Dist: django>=5.2.6 ; extra == 'django'
12
+ Requires-Dist: django-redis>=6.0.0 ; extra == 'django-redis'
13
+ Requires-Dist: django-ninja>=1.4.3 ; extra == 'ninja'
9
14
  Requires-Python: >=3.12
15
+ Provides-Extra: django
16
+ Provides-Extra: django-redis
17
+ Provides-Extra: ninja
10
18
  Description-Content-Type: text/markdown
11
19
 
12
20
  # About
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "biased"
3
- version = "0.1.2.dev5"
3
+ version = "0.1.2.dev7"
4
4
  description = "Various reusable components, helpers, and utilities which I would like to use in any Python project"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -9,11 +9,21 @@ authors = [
9
9
  requires-python = ">=3.12"
10
10
  dependencies = [
11
11
  "pydantic>=2",
12
+ "python-dateutil>=2.9.0.post0",
13
+ "structlog>=25.4.0",
12
14
  "ulid-py>=1.1.0",
13
15
  ]
14
16
 
15
- [project.scripts]
16
- biased = "biased:main"
17
+ [project.optional-dependencies]
18
+ django = [
19
+ "django>=5.2.6",
20
+ ]
21
+ ninja = [
22
+ "django-ninja>=1.4.3",
23
+ ]
24
+ django-redis = [
25
+ "django-redis>=6.0.0",
26
+ ]
17
27
 
18
28
  [build-system]
19
29
  requires = ["uv_build>=0.8.16,<0.9.0"]
@@ -4,7 +4,7 @@ from django.db.models import JSONField
4
4
  from pydantic import BaseModel
5
5
 
6
6
  from biased.django.forms.pydantic_model_form_field import PydanticModelFormField
7
- from biased.django.utils.default_json_encoder import DefaultJsonEncoder
7
+ from biased.utils.default_json_encoder import DefaultJsonEncoder
8
8
 
9
9
 
10
10
  class PydanticModelField(JSONField):
@@ -1,6 +1,6 @@
1
1
  import json
2
2
 
3
- from biased.django.utils.default_json_encoder import StructlogJsonEncoder
3
+ from biased.structlog.structlog_json_encoder import StructlogJsonEncoder
4
4
 
5
5
 
6
6
  def structlog_json_serializer(*args, **kwargs) -> str:
@@ -4,7 +4,7 @@ from typing import Any
4
4
  from ninja.renderers import JSONRenderer
5
5
  from ninja.responses import NinjaJSONEncoder
6
6
 
7
- from biased.django.utils.default_json_encoder import DefaultJsonEncoder
7
+ from biased.utils.default_json_encoder import DefaultJsonEncoder
8
8
 
9
9
 
10
10
  class BiasedNinjaJsonEncoder(NinjaJSONEncoder):
@@ -0,0 +1,11 @@
1
+ from structlog.processors import _json_fallback_handler
2
+
3
+ from biased.utils.default_json_encoder import DefaultJsonEncoder
4
+
5
+
6
+ class StructlogJsonEncoder(DefaultJsonEncoder):
7
+ def default(self, o):
8
+ try:
9
+ return super().default(o)
10
+ except TypeError:
11
+ return _json_fallback_handler(o)
@@ -5,7 +5,6 @@ from json import JSONEncoder
5
5
  from uuid import UUID
6
6
 
7
7
  from pydantic import AnyUrl, BaseModel
8
- from structlog.processors import _json_fallback_handler
9
8
  from ulid import ULID
10
9
 
11
10
 
@@ -42,12 +41,7 @@ def _duration_iso_string(duration: timedelta):
42
41
  class DefaultJsonEncoder(JSONEncoder):
43
42
  def default(self, o):
44
43
  if isinstance(o, datetime):
45
- r = o.isoformat()
46
- if o.microsecond:
47
- r = r[:23] + r[26:]
48
- if r.endswith("+00:00"):
49
- r = r.removesuffix("+00:00") + "Z"
50
- return r
44
+ return o.isoformat().replace("+00:00", "Z")
51
45
  if isinstance(o, date):
52
46
  return o.isoformat()
53
47
  if isinstance(o, time):
@@ -68,11 +62,3 @@ class DefaultJsonEncoder(JSONEncoder):
68
62
  if isinstance(o, bytes):
69
63
  return o.decode()
70
64
  return super().default(o)
71
-
72
-
73
- class StructlogJsonEncoder(DefaultJsonEncoder):
74
- def default(self, o):
75
- try:
76
- return super().default(o)
77
- except TypeError:
78
- return _json_fallback_handler(o)
File without changes