c2cwsgiutils 7.0.0.dev14__tar.gz → 7.0.0.dev19__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 (66) hide show
  1. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/PKG-INFO +11 -12
  2. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/request_tracking/_sql.py +3 -2
  3. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/pyproject.toml +43 -13
  4. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/LICENSE +0 -0
  5. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/README.md +0 -0
  6. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/__init__.py +0 -0
  7. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/__init__.py +0 -0
  8. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/connection.py +0 -0
  9. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/image.py +0 -0
  10. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/package-lock.json +0 -0
  11. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/package.json +0 -0
  12. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/print.py +0 -0
  13. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/screenshot.js +0 -0
  14. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/acceptance/utils.py +0 -0
  15. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/auth.py +0 -0
  16. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/broadcast/__init__.py +0 -0
  17. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/broadcast/interface.py +0 -0
  18. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/broadcast/local.py +0 -0
  19. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/broadcast/redis.py +0 -0
  20. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/broadcast/utils.py +0 -0
  21. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/client_info.py +0 -0
  22. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/config_utils.py +0 -0
  23. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/coverage_setup.py +0 -0
  24. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/db.py +0 -0
  25. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/db_maintenance_view.py +0 -0
  26. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/debug/__init__.py +0 -0
  27. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/debug/_listeners.py +0 -0
  28. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/debug/_views.py +0 -0
  29. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/debug/utils.py +0 -0
  30. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/errors.py +0 -0
  31. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/health_check.py +0 -0
  32. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/index.py +0 -0
  33. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/loader.py +0 -0
  34. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/logging_view.py +0 -0
  35. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/models_graph.py +0 -0
  36. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/pretty_json.py +0 -0
  37. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/profiler.py +0 -0
  38. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/prometheus.py +0 -0
  39. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/py.typed +0 -0
  40. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/pyramid.py +0 -0
  41. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/pyramid_logging.py +0 -0
  42. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/redis_stats.py +0 -0
  43. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/redis_utils.py +0 -0
  44. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/request_tracking/__init__.py +0 -0
  45. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/scripts/__init__.py +0 -0
  46. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/scripts/genversion.py +0 -0
  47. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/scripts/stats_db.py +0 -0
  48. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/scripts/test_print.py +0 -0
  49. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sentry.py +0 -0
  50. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/services.py +0 -0
  51. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/setup_process.py +0 -0
  52. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sql_profiler/__init__.py +0 -0
  53. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sql_profiler/_impl.py +0 -0
  54. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sqlalchemylogger/README.md +0 -0
  55. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sqlalchemylogger/__init__.py +0 -0
  56. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sqlalchemylogger/_filters.py +0 -0
  57. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sqlalchemylogger/_models.py +0 -0
  58. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sqlalchemylogger/examples/example.py +0 -0
  59. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/sqlalchemylogger/handlers.py +0 -0
  60. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/static/favicon-16x16.png +0 -0
  61. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/static/favicon-32x32.png +0 -0
  62. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/stats_pyramid/__init__.py +0 -0
  63. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/stats_pyramid/_db_spy.py +0 -0
  64. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/stats_pyramid/_pyramid_spy.py +0 -0
  65. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/templates/index.html.mako +0 -0
  66. {c2cwsgiutils-7.0.0.dev14 → c2cwsgiutils-7.0.0.dev19}/c2cwsgiutils/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: c2cwsgiutils
3
- Version: 7.0.0.dev14
3
+ Version: 7.0.0.dev19
4
4
  Summary: Common utilities for Camptocamp WSGI applications
5
5
  Home-page: https://github.com/camptocamp/c2cwsgiutils
6
6
  License: BSD-2-Clause
@@ -33,22 +33,21 @@ Provides-Extra: standard
33
33
  Provides-Extra: test-images
34
34
  Provides-Extra: tests
35
35
  Provides-Extra: webserver
36
- Requires-Dist: SQLAlchemy
37
- Requires-Dist: SQLAlchemy-Utils
36
+ Requires-Dist: SQLAlchemy ; extra == "standard" or extra == "webserver" or extra == "all"
37
+ Requires-Dist: SQLAlchemy-Utils ; extra == "standard" or extra == "webserver" or extra == "all"
38
38
  Requires-Dist: alembic ; extra == "standard" or extra == "alembic" or extra == "all"
39
39
  Requires-Dist: boltons ; extra == "tests" or extra == "all"
40
40
  Requires-Dist: cee_syslog_handler
41
- Requires-Dist: certifi
42
- Requires-Dist: cornice
41
+ Requires-Dist: cornice ; extra == "standard" or extra == "webserver" or extra == "all"
43
42
  Requires-Dist: gunicorn ; extra == "standard" or extra == "webserver" or extra == "all"
44
43
  Requires-Dist: lxml ; extra == "tests" or extra == "all"
45
44
  Requires-Dist: objgraph ; extra == "debug" or extra == "all"
46
- Requires-Dist: prometheus-client
47
- Requires-Dist: psycopg2
45
+ Requires-Dist: prometheus-client ; extra == "standard" or extra == "webserver" or extra == "all"
46
+ Requires-Dist: psycopg2 ; extra == "standard" or extra == "webserver" or extra == "all"
48
47
  Requires-Dist: pyjwt ; extra == "standard" or extra == "oauth2" or extra == "all"
49
- Requires-Dist: pyramid
50
- Requires-Dist: pyramid-tm
51
- Requires-Dist: pyramid_mako
48
+ Requires-Dist: pyramid ; extra == "standard" or extra == "webserver" or extra == "all"
49
+ Requires-Dist: pyramid-tm ; extra == "standard" or extra == "webserver" or extra == "all"
50
+ Requires-Dist: pyramid_mako ; extra == "standard" or extra == "webserver" or extra == "all"
52
51
  Requires-Dist: pyyaml
53
52
  Requires-Dist: redis ; extra == "standard" or extra == "broadcast" or extra == "all"
54
53
  Requires-Dist: requests
@@ -57,8 +56,8 @@ Requires-Dist: scikit-image ; extra == "test-images"
57
56
  Requires-Dist: sentry-sdk ; extra == "standard" or extra == "sentry" or extra == "all"
58
57
  Requires-Dist: ujson
59
58
  Requires-Dist: waitress ; extra == "dev" or extra == "all"
60
- Requires-Dist: zope.interface
61
- Requires-Dist: zope.sqlalchemy
59
+ Requires-Dist: zope.interface ; extra == "standard" or extra == "webserver" or extra == "all"
60
+ Requires-Dist: zope.sqlalchemy ; extra == "standard" or extra == "webserver" or extra == "all"
62
61
  Project-URL: Repository, https://github.com/camptocamp/c2cwsgiutils
63
62
  Description-Content-Type: text/markdown
64
63
 
@@ -5,7 +5,7 @@ from pyramid.threadlocal import get_current_request
5
5
  from sqlalchemy.orm import Session
6
6
 
7
7
 
8
- def _add_session_id(session: Session, _transaction: Any, _connection: Any) -> None:
8
+ def _add_session_id(session: Session, _transaction: Any) -> None:
9
9
  request = get_current_request()
10
10
  if request is not None:
11
11
  session.execute(
@@ -15,4 +15,5 @@ def _add_session_id(session: Session, _transaction: Any, _connection: Any) -> No
15
15
 
16
16
  def init() -> None:
17
17
  """Initialize the SQL alchemy session selector."""
18
- sqlalchemy.event.listen(Session, "after_begin", _add_session_id)
18
+
19
+ sqlalchemy.event.listen(Session, "after_transaction_create", _add_session_id)
@@ -16,7 +16,7 @@ strict = true
16
16
 
17
17
  [tool.poetry]
18
18
  name = "c2cwsgiutils"
19
- version = "7.0.0.dev14"
19
+ version = "7.0.0.dev19"
20
20
  description = "Common utilities for Camptocamp WSGI applications"
21
21
  readme = "README.md"
22
22
  authors = ["Camptocamp <info@camptocamp.com>"]
@@ -71,28 +71,27 @@ requests = { version = "2.31.0" }
71
71
  pyyaml = { version = "6.0.1" }
72
72
  alembic = { version = "1.12.0", optional = true }
73
73
  boltons = { version = "23.0.0", optional = true }
74
- cornice = { version = "6.0.1" }
74
+ cornice = { version = "6.0.1", optional = true }
75
75
  redis = { version = "5.0.1", optional = true }
76
76
  gunicorn = { version = "21.2.0", optional = true }
77
77
  lxml = { version = "4.9.3", optional = true }
78
78
  objgraph = { version = "3.6.0", optional = true }
79
- psycopg2 = { version = "2.9.8" }
80
- pyramid = { version = "2.0.2" }
81
- pyramid-tm = { version = "2.5" }
79
+ psycopg2 = { version = "2.9.8", optional = true }
80
+ pyramid = { version = "2.0.2", optional = true }
81
+ pyramid-tm = { version = "2.5", optional = true }
82
82
  sentry-sdk = { version = "1.31.0", optional = true }
83
83
  ujson = { version = "5.8.0" }
84
84
  cee_syslog_handler = { version = "0.6.0" }
85
- SQLAlchemy = { version = "2.0.16" }
86
- SQLAlchemy-Utils = { version = "0.41.1" }
87
- "zope.interface" = { version = "6.0" }
88
- "zope.sqlalchemy" = { version = "3.1" }
85
+ SQLAlchemy = { version = "2.0.16", optional = true }
86
+ SQLAlchemy-Utils = { version = "0.41.1", optional = true }
87
+ "zope.interface" = { version = "6.0", optional = true }
88
+ "zope.sqlalchemy" = { version = "3.1", optional = true }
89
89
  pyjwt = { version = "2.8.0", optional = true }
90
90
  requests-oauthlib = { version = "1.3.1", optional = true }
91
91
  waitress = { version = "2.1.2", optional = true }
92
92
  scikit-image = { version = "0.21.0", optional = true }
93
- certifi = "2023.7.22"
94
- prometheus-client = "0.17.1"
95
- pyramid_mako = "1.1.0"
93
+ prometheus-client = { version = "0.17.1", optional = true}
94
+ pyramid_mako = { version = "1.1.0", optional = true}
96
95
 
97
96
  [tool.poetry.extras]
98
97
  standard = [
@@ -106,7 +105,17 @@ standard = [
106
105
  # broadcast
107
106
  "redis",
108
107
  # webserver
108
+ "cornice",
109
109
  "gunicorn",
110
+ "psycopg2",
111
+ "pyramid",
112
+ "pyramid-tm",
113
+ "SQLAlchemy",
114
+ "SQLAlchemy-Utils",
115
+ "zope.interface",
116
+ "zope.sqlalchemy",
117
+ "prometheus_client",
118
+ "pyramid_mako",
110
119
  ]
111
120
  alembic = ["alembic"]
112
121
  debug = ["objgraph"]
@@ -114,7 +123,18 @@ oauth2 = ["pyjwt", "requests-oauthlib"]
114
123
  sentry = ["sentry-sdk"]
115
124
  dev = ["waitress"]
116
125
  broadcast = ["redis"]
117
- webserver = ["gunicorn"]
126
+ webserver = [
127
+ "cornice",
128
+ "gunicorn",
129
+ "psycopg2",
130
+ "pyramid",
131
+ "pyramid-tm",
132
+ "SQLAlchemy",
133
+ "SQLAlchemy-Utils",
134
+ "zope.interface",
135
+ "zope.sqlalchemy",
136
+ "prometheus_client",
137
+ "pyramid_mako"]
118
138
  tests = ["lxml", "boltons"]
119
139
  all = [
120
140
  # alembic
@@ -131,7 +151,17 @@ all = [
131
151
  # broadcast
132
152
  "redis",
133
153
  # webserver
154
+ "cornice",
134
155
  "gunicorn",
156
+ "psycopg2",
157
+ "pyramid",
158
+ "pyramid-tm",
159
+ "SQLAlchemy",
160
+ "SQLAlchemy-Utils",
161
+ "zope.interface",
162
+ "zope.sqlalchemy",
163
+ "prometheus_client",
164
+ "pyramid_mako",
135
165
  # tests
136
166
  "lxml",
137
167
  "boltons",