csu 2.2.1__tar.gz → 2.2.3__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 (106) hide show
  1. {csu-2.2.1 → csu-2.2.3}/.bumpversion.cfg +1 -1
  2. {csu-2.2.1 → csu-2.2.3}/.cookiecutterrc +1 -1
  3. {csu-2.2.1 → csu-2.2.3}/PKG-INFO +3 -3
  4. {csu-2.2.1 → csu-2.2.3}/README.rst +2 -2
  5. {csu-2.2.1 → csu-2.2.3}/pyproject.toml +1 -1
  6. {csu-2.2.1 → csu-2.2.3}/src/csu/__init__.py +1 -1
  7. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/engine.py +2 -4
  8. {csu-2.2.1 → csu-2.2.3}/src/csu.egg-info/PKG-INFO +3 -3
  9. {csu-2.2.1 → csu-2.2.3}/.coveragerc +0 -0
  10. {csu-2.2.1 → csu-2.2.3}/.editorconfig +0 -0
  11. {csu-2.2.1 → csu-2.2.3}/.github/workflows/github-actions.yml +0 -0
  12. {csu-2.2.1 → csu-2.2.3}/.pre-commit-config.yaml +0 -0
  13. {csu-2.2.1 → csu-2.2.3}/.taplo.toml +0 -0
  14. {csu-2.2.1 → csu-2.2.3}/AUTHORS.rst +0 -0
  15. {csu-2.2.1 → csu-2.2.3}/CHANGELOG.rst +0 -0
  16. {csu-2.2.1 → csu-2.2.3}/CONTRIBUTING.rst +0 -0
  17. {csu-2.2.1 → csu-2.2.3}/LICENSE +0 -0
  18. {csu-2.2.1 → csu-2.2.3}/MANIFEST.in +0 -0
  19. {csu-2.2.1 → csu-2.2.3}/ci/bootstrap.py +0 -0
  20. {csu-2.2.1 → csu-2.2.3}/ci/requirements.txt +0 -0
  21. {csu-2.2.1 → csu-2.2.3}/ci/templates/.github/workflows/github-actions.yml +0 -0
  22. {csu-2.2.1 → csu-2.2.3}/pytest.ini +0 -0
  23. {csu-2.2.1 → csu-2.2.3}/setup.cfg +0 -0
  24. {csu-2.2.1 → csu-2.2.3}/src/csu/admin.py +0 -0
  25. {csu-2.2.1 → csu-2.2.3}/src/csu/conf.py +0 -0
  26. {csu-2.2.1 → csu-2.2.3}/src/csu/consts.py +0 -0
  27. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/__init__.py +0 -0
  28. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/auth.py +0 -0
  29. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/fields.py +0 -0
  30. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/forms.py +0 -0
  31. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/perms.py +0 -0
  32. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/phonenumber.py +0 -0
  33. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/serializers.py +0 -0
  34. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/test_auth.py +0 -0
  35. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/test_fields.py +0 -0
  36. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/test_forms.py +0 -0
  37. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/test_phonenumber.py +0 -0
  38. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/test_serializers.py +0 -0
  39. {csu-2.2.1 → csu-2.2.3}/src/csu/drf/views.py +0 -0
  40. {csu-2.2.1 → csu-2.2.3}/src/csu/enums.py +0 -0
  41. {csu-2.2.1 → csu-2.2.3}/src/csu/env.py +0 -0
  42. {csu-2.2.1 → csu-2.2.3}/src/csu/exceptions.py +0 -0
  43. {csu-2.2.1 → csu-2.2.3}/src/csu/export.py +0 -0
  44. {csu-2.2.1 → csu-2.2.3}/src/csu/fixups.py +0 -0
  45. {csu-2.2.1 → csu-2.2.3}/src/csu/forms/__init__.py +0 -0
  46. {csu-2.2.1 → csu-2.2.3}/src/csu/forms/crispy.py +0 -0
  47. {csu-2.2.1 → csu-2.2.3}/src/csu/forms/fields.py +0 -0
  48. {csu-2.2.1 → csu-2.2.3}/src/csu/gettext.py +0 -0
  49. {csu-2.2.1 → csu-2.2.3}/src/csu/gettext_lazy.py +0 -0
  50. {csu-2.2.1 → csu-2.2.3}/src/csu/locale/ro/LC_MESSAGES/django.mo +0 -0
  51. {csu-2.2.1 → csu-2.2.3}/src/csu/locale/ro/LC_MESSAGES/django.po +0 -0
  52. {csu-2.2.1 → csu-2.2.3}/src/csu/logging.py +0 -0
  53. {csu-2.2.1 → csu-2.2.3}/src/csu/management.py +0 -0
  54. {csu-2.2.1 → csu-2.2.3}/src/csu/models.py +0 -0
  55. {csu-2.2.1 → csu-2.2.3}/src/csu/query.py +0 -0
  56. {csu-2.2.1 → csu-2.2.3}/src/csu/routers.py +0 -0
  57. {csu-2.2.1 → csu-2.2.3}/src/csu/service.py +0 -0
  58. {csu-2.2.1 → csu-2.2.3}/src/csu/templates/api_exception.html +0 -0
  59. {csu-2.2.1 → csu-2.2.3}/src/csu/templates/forms/widgets/opaquewidget.html +0 -0
  60. {csu-2.2.1 → csu-2.2.3}/src/csu/test_consts.py +0 -0
  61. {csu-2.2.1 → csu-2.2.3}/src/csu/test_env.py +0 -0
  62. {csu-2.2.1 → csu-2.2.3}/src/csu/test_exceptions.py +0 -0
  63. {csu-2.2.1 → csu-2.2.3}/src/csu/test_logging.py +0 -0
  64. {csu-2.2.1 → csu-2.2.3}/src/csu/test_management.py +0 -0
  65. {csu-2.2.1 → csu-2.2.3}/src/csu/test_service.py +0 -0
  66. {csu-2.2.1 → csu-2.2.3}/src/csu/test_timezones.py +0 -0
  67. {csu-2.2.1 → csu-2.2.3}/src/csu/test_utils.py +0 -0
  68. {csu-2.2.1 → csu-2.2.3}/src/csu/test_xml.py +0 -0
  69. {csu-2.2.1 → csu-2.2.3}/src/csu/timezones.py +0 -0
  70. {csu-2.2.1 → csu-2.2.3}/src/csu/utils.py +0 -0
  71. {csu-2.2.1 → csu-2.2.3}/src/csu/views.py +0 -0
  72. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/__init__.py +0 -0
  73. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/admin.py +0 -0
  74. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/asgi.py +0 -0
  75. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/enums.py +0 -0
  76. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/job.py +0 -0
  77. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/models.py +0 -0
  78. {csu-2.2.1 → csu-2.2.3}/src/csu/worker/registry.py +0 -0
  79. {csu-2.2.1 → csu-2.2.3}/src/csu/wsgi.py +0 -0
  80. {csu-2.2.1 → csu-2.2.3}/src/csu/xml.py +0 -0
  81. {csu-2.2.1 → csu-2.2.3}/src/csu.egg-info/SOURCES.txt +0 -0
  82. {csu-2.2.1 → csu-2.2.3}/src/csu.egg-info/dependency_links.txt +0 -0
  83. {csu-2.2.1 → csu-2.2.3}/src/csu.egg-info/requires.txt +0 -0
  84. {csu-2.2.1 → csu-2.2.3}/src/csu.egg-info/top_level.txt +0 -0
  85. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service/test_custom_context.yaml +0 -0
  86. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service/test_custom_context_0_retries.yaml +0 -0
  87. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service/test_decoding.yaml +0 -0
  88. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service/test_error.yaml +0 -0
  89. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service/test_logging.yaml +0 -0
  90. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service/test_redirects.yaml +0 -0
  91. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service_auth/test_async.yaml +0 -0
  92. {csu-2.2.1 → csu-2.2.3}/tests/cassettes/test_service_auth/test_sync.yaml +0 -0
  93. {csu-2.2.1 → csu-2.2.3}/tests/conftest.py +0 -0
  94. {csu-2.2.1 → csu-2.2.3}/tests/exampleworker.py +0 -0
  95. {csu-2.2.1 → csu-2.2.3}/tests/test_exampleworker.py +0 -0
  96. {csu-2.2.1 → csu-2.2.3}/tests/test_models.py +0 -0
  97. {csu-2.2.1 → csu-2.2.3}/tests/test_service.py +0 -0
  98. {csu-2.2.1 → csu-2.2.3}/tests/test_service_auth.py +0 -0
  99. {csu-2.2.1 → csu-2.2.3}/tests/test_views.py +0 -0
  100. {csu-2.2.1 → csu-2.2.3}/tests/test_worker.py +0 -0
  101. {csu-2.2.1 → csu-2.2.3}/tests/testproject/__init__.py +0 -0
  102. {csu-2.2.1 → csu-2.2.3}/tests/testproject/fixtures/testuser.json +0 -0
  103. {csu-2.2.1 → csu-2.2.3}/tests/testproject/models.py +0 -0
  104. {csu-2.2.1 → csu-2.2.3}/tests/testproject/settings.py +0 -0
  105. {csu-2.2.1 → csu-2.2.3}/tests/testproject/urls.py +0 -0
  106. {csu-2.2.1 → csu-2.2.3}/tox.ini +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 2.2.1
2
+ current_version = 2.2.3
3
3
  commit = True
4
4
  tag = True
5
5
 
@@ -40,7 +40,7 @@ default_context:
40
40
  sphinx_theme: furo
41
41
  test_matrix_separate_coverage: 'no'
42
42
  tests_inside_package: 'yes'
43
- version: 2.2.1
43
+ version: 2.2.3
44
44
  version_manager: bump2version
45
45
  website: https://blog.ionelmc.ro
46
46
  year_from: '2024'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csu
3
- Version: 2.2.1
3
+ Version: 2.2.3
4
4
  Summary: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
5
5
  Author-email: Ionel Cristian Mărieș <contact@ionelmc.ro>
6
6
  License-Expression: BSD-2-Clause
@@ -77,9 +77,9 @@ Overview
77
77
  .. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
78
78
  :alt: Supported implementations
79
79
  :target: https://pypi.org/project/csu
80
- .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.2.1.svg
80
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.2.3.svg
81
81
  :alt: Commits since latest release
82
- :target: https://github.com/ionelmc/python-csu/compare/v2.2.1...main
82
+ :target: https://github.com/ionelmc/python-csu/compare/v2.2.3...main
83
83
  .. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
84
84
  :alt: Scrutinizer Status
85
85
  :target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
@@ -34,9 +34,9 @@ Overview
34
34
  .. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
35
35
  :alt: Supported implementations
36
36
  :target: https://pypi.org/project/csu
37
- .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.2.1.svg
37
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.2.3.svg
38
38
  :alt: Commits since latest release
39
- :target: https://github.com/ionelmc/python-csu/compare/v2.2.1...main
39
+ :target: https://github.com/ionelmc/python-csu/compare/v2.2.3...main
40
40
  .. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
41
41
  :alt: Scrutinizer Status
42
42
  :target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
@@ -12,7 +12,7 @@ dynamic = [
12
12
  "readme",
13
13
  ]
14
14
  name = "csu"
15
- version = "2.2.1"
15
+ version = "2.2.3"
16
16
  license = "BSD-2-Clause"
17
17
  license-files = ["LICENSE"]
18
18
  description = "Clean Slate Utils - bunch of utility code, mostly Django/DRF specific."
@@ -2,4 +2,4 @@
2
2
  a.k.a Clean Slate Utils
3
3
  """
4
4
 
5
- __version__ = "2.2.1"
5
+ __version__ = "2.2.3"
@@ -275,6 +275,8 @@ class AbstractEngine(ABC):
275
275
 
276
276
  def __init__(self):
277
277
  self.workers = []
278
+ self.queue = Queue()
279
+ self.queue_sem = Semaphore(value=0)
278
280
 
279
281
  def __str__(self):
280
282
  return f"{type(self).__name__}({len(self.workers)}w/{self.queue.qsize() if self.queue else '-'}q)"
@@ -306,13 +308,9 @@ class AbstractEngine(ABC):
306
308
  self.queue_sem.release()
307
309
 
308
310
  def add_worker(self, worker: AbstractWorker):
309
- assert self.queue is None, f"{self} is already started, {self.queue=}"
310
311
  self.workers.append(worker)
311
312
 
312
313
  async def start(self):
313
- assert self.queue is None, f"{self} is already started, {self.queue=}"
314
- self.queue = Queue()
315
- self.queue_sem = Semaphore(value=0)
316
314
  for worker in self.workers:
317
315
  assert worker.runner is None, f"{worker=} should not be started"
318
316
  worker.start()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: csu
3
- Version: 2.2.1
3
+ Version: 2.2.3
4
4
  Summary: Clean Slate Utils - bunch of utility code, mostly Django/DRF specific.
5
5
  Author-email: Ionel Cristian Mărieș <contact@ionelmc.ro>
6
6
  License-Expression: BSD-2-Clause
@@ -77,9 +77,9 @@ Overview
77
77
  .. |supported-implementations| image:: https://img.shields.io/pypi/implementation/csu.svg
78
78
  :alt: Supported implementations
79
79
  :target: https://pypi.org/project/csu
80
- .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.2.1.svg
80
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/ionelmc/python-csu/v2.2.3.svg
81
81
  :alt: Commits since latest release
82
- :target: https://github.com/ionelmc/python-csu/compare/v2.2.1...main
82
+ :target: https://github.com/ionelmc/python-csu/compare/v2.2.3...main
83
83
  .. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/ionelmc/python-csu/main.svg
84
84
  :alt: Scrutinizer Status
85
85
  :target: https://scrutinizer-ci.com/g/ionelmc/python-csu/
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
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
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
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
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
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
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
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
File without changes
File without changes