c2cwsgiutils 6.1.0.dev105__py3-none-any.whl → 6.1.1__py3-none-any.whl
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.
- c2cwsgiutils/__init__.py +14 -11
- c2cwsgiutils/acceptance/__init__.py +2 -3
- c2cwsgiutils/acceptance/connection.py +1 -2
- c2cwsgiutils/acceptance/image.py +7 -8
- c2cwsgiutils/acceptance/package-lock.json +306 -213
- c2cwsgiutils/acceptance/package.json +2 -2
- c2cwsgiutils/acceptance/print.py +7 -3
- c2cwsgiutils/acceptance/utils.py +1 -3
- c2cwsgiutils/auth.py +27 -25
- c2cwsgiutils/broadcast/__init__.py +15 -16
- c2cwsgiutils/broadcast/interface.py +3 -3
- c2cwsgiutils/broadcast/local.py +1 -0
- c2cwsgiutils/broadcast/redis.py +13 -12
- c2cwsgiutils/client_info.py +19 -1
- c2cwsgiutils/coverage_setup.py +4 -3
- c2cwsgiutils/db.py +35 -41
- c2cwsgiutils/db_maintenance_view.py +13 -13
- c2cwsgiutils/debug/__init__.py +2 -2
- c2cwsgiutils/debug/_listeners.py +1 -1
- c2cwsgiutils/debug/_views.py +7 -6
- c2cwsgiutils/debug/utils.py +9 -9
- c2cwsgiutils/errors.py +13 -15
- c2cwsgiutils/health_check.py +24 -30
- c2cwsgiutils/index.py +7 -9
- c2cwsgiutils/loader.py +1 -1
- c2cwsgiutils/logging_view.py +12 -12
- c2cwsgiutils/models_graph.py +0 -1
- c2cwsgiutils/pretty_json.py +0 -1
- c2cwsgiutils/prometheus.py +1 -7
- c2cwsgiutils/pyramid.py +0 -1
- c2cwsgiutils/pyramid_logging.py +1 -1
- c2cwsgiutils/redis_stats.py +9 -9
- c2cwsgiutils/redis_utils.py +19 -18
- c2cwsgiutils/request_tracking/__init__.py +13 -13
- c2cwsgiutils/request_tracking/_sql.py +0 -1
- c2cwsgiutils/scripts/genversion.py +5 -5
- c2cwsgiutils/scripts/stats_db.py +19 -17
- c2cwsgiutils/scripts/test_print.py +5 -5
- c2cwsgiutils/sentry.py +55 -20
- c2cwsgiutils/services.py +2 -2
- c2cwsgiutils/setup_process.py +0 -1
- c2cwsgiutils/sql_profiler/__init__.py +5 -6
- c2cwsgiutils/sql_profiler/_impl.py +18 -17
- c2cwsgiutils/sqlalchemylogger/README.md +30 -13
- c2cwsgiutils/sqlalchemylogger/handlers.py +11 -10
- c2cwsgiutils/stats_pyramid/__init__.py +1 -5
- c2cwsgiutils/stats_pyramid/_db_spy.py +2 -2
- c2cwsgiutils/stats_pyramid/_pyramid_spy.py +0 -1
- c2cwsgiutils/version.py +11 -5
- {c2cwsgiutils-6.1.0.dev105.dist-info → c2cwsgiutils-6.1.1.dist-info}/LICENSE +1 -1
- {c2cwsgiutils-6.1.0.dev105.dist-info → c2cwsgiutils-6.1.1.dist-info}/METADATA +17 -5
- c2cwsgiutils-6.1.1.dist-info/RECORD +67 -0
- {c2cwsgiutils-6.1.0.dev105.dist-info → c2cwsgiutils-6.1.1.dist-info}/WHEEL +1 -1
- c2cwsgiutils-6.1.0.dev105.dist-info/RECORD +0 -67
- {c2cwsgiutils-6.1.0.dev105.dist-info → c2cwsgiutils-6.1.1.dist-info}/entry_points.txt +0 -0
c2cwsgiutils/version.py
CHANGED
@@ -8,7 +8,7 @@ from typing import Optional, cast
|
|
8
8
|
import prometheus_client
|
9
9
|
import pyramid.config
|
10
10
|
|
11
|
-
from c2cwsgiutils import config_utils, prometheus
|
11
|
+
from c2cwsgiutils import auth, config_utils, prometheus
|
12
12
|
|
13
13
|
_VERSIONS_PATH = "/app/versions.json"
|
14
14
|
_LOG = logging.getLogger(__name__)
|
@@ -41,17 +41,23 @@ def init(config: pyramid.config.Configurator) -> None:
|
|
41
41
|
includeme(config)
|
42
42
|
|
43
43
|
|
44
|
+
class _View:
|
45
|
+
def __init__(self, versions: dict[str, dict[str, str]]) -> None:
|
46
|
+
self.versions = versions
|
47
|
+
|
48
|
+
def __call__(self, request: pyramid.request.Request) -> dict[str, dict[str, str]]:
|
49
|
+
auth.auth_view(request)
|
50
|
+
return self.versions
|
51
|
+
|
52
|
+
|
44
53
|
def includeme(config: pyramid.config.Configurator) -> None:
|
45
54
|
"""Initialize the versions view."""
|
46
|
-
|
47
55
|
if os.path.isfile(_VERSIONS_PATH):
|
48
56
|
versions = _read_versions()
|
49
57
|
config.add_route(
|
50
58
|
"c2c_versions", config_utils.get_base_path(config) + r"/versions.json", request_method="GET"
|
51
59
|
)
|
52
|
-
config.add_view(
|
53
|
-
lambda request: versions, route_name="c2c_versions", renderer="fast_json", http_cache=0
|
54
|
-
)
|
60
|
+
config.add_view(_View(versions), route_name="c2c_versions", renderer="fast_json", http_cache=0)
|
55
61
|
_LOG.info("Installed the /versions.json service")
|
56
62
|
git_hash = versions["main"]["git_hash"]
|
57
63
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: c2cwsgiutils
|
3
|
-
Version: 6.1.
|
3
|
+
Version: 6.1.1
|
4
4
|
Summary: Common utilities for Camptocamp WSGI applications
|
5
5
|
Home-page: https://github.com/camptocamp/c2cwsgiutils
|
6
6
|
License: BSD-2-Clause
|
7
7
|
Keywords: geo,gis,sqlalchemy,orm,wsgi
|
8
8
|
Author: Camptocamp
|
9
9
|
Author-email: info@camptocamp.com
|
10
|
-
Requires-Python: >=3.
|
10
|
+
Requires-Python: >=3.10
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
12
12
|
Classifier: Environment :: Plugins
|
13
13
|
Classifier: Framework :: Pyramid
|
@@ -17,10 +17,10 @@ Classifier: License :: OSI Approved :: BSD License
|
|
17
17
|
Classifier: Operating System :: OS Independent
|
18
18
|
Classifier: Programming Language :: Python
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
20
|
-
Classifier: Programming Language :: Python :: 3.9
|
21
20
|
Classifier: Programming Language :: Python :: 3.10
|
22
21
|
Classifier: Programming Language :: Python :: 3.11
|
23
22
|
Classifier: Programming Language :: Python :: 3.12
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
24
24
|
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
|
25
25
|
Classifier: Typing :: Typed
|
26
26
|
Provides-Extra: alembic
|
@@ -725,11 +725,16 @@ A few other environment variables can be used to tune the info sent with each re
|
|
725
725
|
- `SENTRY_CLIENT_IGNORE_EXCEPTIONS`: list (coma separated) of exceptions to ignore (defaults to SystemExit)
|
726
726
|
- `SENTRY_TAG_...`: to add other custom tags
|
727
727
|
- `SENTRY_LEVEL`: starting from what logging level to send events to Sentry (defaults to ERROR)
|
728
|
-
- `SENTRY_TRACES_SAMPLE_RATE`: The percentage of events to send to sentry in order to compute the performance. Value between 0 and 1
|
728
|
+
- `SENTRY_TRACES_SAMPLE_RATE`: The percentage of events to send to sentry in order to compute the performance. Value between 0 and 1 (default is 0)
|
729
|
+
- `SENTRY_INTEGRATION_LOGGING`: If set to 0, the Sentry integration will not log anything (default is 1)
|
730
|
+
- `SENTRY_INTEGRATION_PYRAMID`: If set to 0, the Sentry integration with Pyramid will not be enabled (default is 1)
|
731
|
+
- `SENTRY_INTEGRATION_SQLALCHEMY`: If set to 0, the Sentry integration with SQLAlchemy will not be enabled (default is 1)
|
732
|
+
- `SENTRY_INTEGRATION_REDIS`: If set to 0, the Sentry integration with Redis will not be enabled (default is 1)
|
733
|
+
- `SENTRY_INTEGRATION_ASYNCIO`: If set to 0, the Sentry integration with asyncio will not be enabled (default is 1)
|
729
734
|
|
730
735
|
# Developer info
|
731
736
|
|
732
|
-
You will need `docker` (>=1.12.0), `docker
|
737
|
+
You will need `docker` (>=1.12.0), `docker compose` and
|
733
738
|
`make` installed on the machine to play with this project.
|
734
739
|
Check available versions of `docker-engine` with
|
735
740
|
`apt-get policy docker-engine` and eventually force install the
|
@@ -758,6 +763,13 @@ To make a release:
|
|
758
763
|
- Add the new branch name in the `.github/workflows/rebuild.yaml` and
|
759
764
|
`.github/workflows/audit.yaml` files.
|
760
765
|
|
766
|
+
## Pserve
|
767
|
+
|
768
|
+
Pserve will not set the headers in the environment then if you are behind a reverse proxy, you will have
|
769
|
+
wrong values in client information, you can force them by using the environment variables:
|
770
|
+
`C2CWSGIUTILS_FORCE_PROTO`, `C2CWSGIUTILS_FORCE_HOST` `C2CWSGIUTILS_FORCE_SERVER_NAME` and
|
771
|
+
`C2CWSGIUTILS_FORCE_REMOTE_ADDR`.
|
772
|
+
|
761
773
|
## Testing
|
762
774
|
|
763
775
|
### Screenshots
|
@@ -0,0 +1,67 @@
|
|
1
|
+
c2cwsgiutils/__init__.py,sha256=HVSc-4O8i2aB0ozEI4AI8Xsb-4S6fAwhl8uRhv-DsFg,4057
|
2
|
+
c2cwsgiutils/acceptance/__init__.py,sha256=TJA1yzmyPujkg80oj-LBj2ueOQVYL8HLW87pejWTIDY,1501
|
3
|
+
c2cwsgiutils/acceptance/connection.py,sha256=yqChhHBpYhQL0Cb7K8FqeP16jg1UtmxGAi6Tw1TXEbI,9783
|
4
|
+
c2cwsgiutils/acceptance/image.py,sha256=Xtwvb1Y-Pczbw9kHn5OhJokogwbBvx5McLvcuGPzzog,8935
|
5
|
+
c2cwsgiutils/acceptance/package-lock.json,sha256=wgKDMcWE-Cd-f0ydfdLRBD1RFanC9BalKEFAIE1Vzl4,47777
|
6
|
+
c2cwsgiutils/acceptance/package.json,sha256=ZqTk9KD6zpCIGlF7w7HKp8bj2OOr19xl2hQ8sfbF4PI,101
|
7
|
+
c2cwsgiutils/acceptance/print.py,sha256=qdh6pqlHgkIjUCJxS3rcgpOV4fDk9RxFlkfH5aAwDsQ,2567
|
8
|
+
c2cwsgiutils/acceptance/screenshot.js,sha256=FAJYIWOLJFMm0MNggKzo3mIybtN-VtKLdMzPhQ9pO1g,2041
|
9
|
+
c2cwsgiutils/acceptance/utils.py,sha256=zLvWqqPLBGCzGAtmIqidao66BKmER_Du1AfKCEhoc-I,1892
|
10
|
+
c2cwsgiutils/auth.py,sha256=ljTUPYGpEkkDg6ifOegXS1Q1JlcRth0P5vbMCs7VK6k,9585
|
11
|
+
c2cwsgiutils/broadcast/__init__.py,sha256=mYiTVL34QkJkEjxURlDIE7bmwZaEPT9Lw9zMwbiVtL0,4470
|
12
|
+
c2cwsgiutils/broadcast/interface.py,sha256=AkDT_m0eXTQp3mmMLf9KRtpXnWoVhJpb_UNjCbHM-3I,665
|
13
|
+
c2cwsgiutils/broadcast/local.py,sha256=kQp6OWcRU-nx7uEBAXwdMum_rOz3LSj6fyL_R12QrMY,1139
|
14
|
+
c2cwsgiutils/broadcast/redis.py,sha256=xCcGSr7jr6QdFM-YZzFFaySQis1xKb0HqqbGR8qjSNM,5202
|
15
|
+
c2cwsgiutils/broadcast/utils.py,sha256=0fQZXPu3p_5LEJpGenJwiiMxECQjJhjZBjIkBk8h-ng,272
|
16
|
+
c2cwsgiutils/client_info.py,sha256=wkKhEF3WF9xf6aGTovrxh6C1QnZaW0Z5vwQ5zQsWfvw,3944
|
17
|
+
c2cwsgiutils/config_utils.py,sha256=vkBu-3GQsE94NOBOvT5FE-Ij29EUrKnDsmdUdtu_yzo,1524
|
18
|
+
c2cwsgiutils/coverage_setup.py,sha256=BrdjYUmqYl1C-gHuKA7EI5gbQs8Dtdeb2eZKtzr-5L0,909
|
19
|
+
c2cwsgiutils/db.py,sha256=JT5F9Dqm2r0Jsh3w3CX79ngAUtakMLpf1secfN1nQnk,16106
|
20
|
+
c2cwsgiutils/db_maintenance_view.py,sha256=58F-p9drkhCI99GoLRPIqT5U-Pm8ckSSUEl-tNxMmjU,3088
|
21
|
+
c2cwsgiutils/debug/__init__.py,sha256=GkYNt2fU5PFykw9HmqPEwZrF2mTJumjSu54pp38EhOM,1325
|
22
|
+
c2cwsgiutils/debug/_listeners.py,sha256=RZYwQRh86rU-Vtjxc3xOZL2A8D_5LHIBd-xWAMQCrj0,4421
|
23
|
+
c2cwsgiutils/debug/_views.py,sha256=53BflHhtLwtgS2uFJYg2jUEZaFhCI-iYWfSxu5B2swc,7554
|
24
|
+
c2cwsgiutils/debug/utils.py,sha256=sIKZHQ8empzxE2OI3h7Uce8cvv4O7AD1y_VYeZfLVCA,2320
|
25
|
+
c2cwsgiutils/errors.py,sha256=-hWLQ1qDlh9kn06-33U2c39BbOxuCvJIkBkdxriE5mo,6644
|
26
|
+
c2cwsgiutils/health_check.py,sha256=OhfPcApBht1qtBOX8e8pdeq3QwF4FbgGkofjqpl8GvQ,20068
|
27
|
+
c2cwsgiutils/index.py,sha256=km_iP4w3oMqlI04e2RIetknAVxooO5p2ThZ8LcjBaU0,16751
|
28
|
+
c2cwsgiutils/loader.py,sha256=vU7yEobl9TlSFZwdLI2eF1ceUJ6xgiu2re31HA5sw1g,623
|
29
|
+
c2cwsgiutils/logging_view.py,sha256=d0UkvYRGkVUMY9_vbjEzXmm8-6CCec2B43a3mJAqWyw,3370
|
30
|
+
c2cwsgiutils/models_graph.py,sha256=q5dW_gZ5iUZCzBya5Kpy57y9oqsG-rGi9AvrXCDgYqs,2679
|
31
|
+
c2cwsgiutils/pretty_json.py,sha256=WQlgNVeWPD_QMEjkNq5rFVGdFwQ7xDyICf0uxj0Hu2U,1697
|
32
|
+
c2cwsgiutils/profiler.py,sha256=3tIwoDSzOKQ06ug_U6j5VDR1BQ9auUOqdJRRLRhDoHw,739
|
33
|
+
c2cwsgiutils/prometheus.py,sha256=XV_SSm0nT09MD8EEl2a4xtd2busO3r--JyboU9OvWaQ,6576
|
34
|
+
c2cwsgiutils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
+
c2cwsgiutils/pyramid.py,sha256=MnVMskHMlJ4KQDjDR7CQdYaH70YXOtJ-1ThTPBqa03c,1387
|
36
|
+
c2cwsgiutils/pyramid_logging.py,sha256=M4XtWQZStreEoyC5qlwxcDDKCp4PZOr9SN05GnaYvvA,3732
|
37
|
+
c2cwsgiutils/redis_stats.py,sha256=8OTVRcElESgM6qjN944MOjoYRb0FGcQgo3JmDglfpPw,1632
|
38
|
+
c2cwsgiutils/redis_utils.py,sha256=02QoBGSjfBwKsWk-4DrXT8119HuUJuV_ezW7bc-Rv8s,4734
|
39
|
+
c2cwsgiutils/request_tracking/__init__.py,sha256=9Fp505q5zKjqfm9MuM7BDiYsx_pdg4vViNAr43OWYuk,4132
|
40
|
+
c2cwsgiutils/request_tracking/_sql.py,sha256=ZOQ3hD5z-WasfBzNig75fjrCvw4tGr1rhWOv97iLYws,572
|
41
|
+
c2cwsgiutils/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
|
+
c2cwsgiutils/scripts/genversion.py,sha256=lpGqU5wNSKdoOMDwVjFvWJVPEzdk0P8Tpfk7NLcrTok,1990
|
43
|
+
c2cwsgiutils/scripts/stats_db.py,sha256=kGCWBpG6gp_yDH3eZwEOujrvlyM0g97po6-EyjV8SXU,10413
|
44
|
+
c2cwsgiutils/scripts/test_print.py,sha256=NSXc0a2DZvKXjZYc2yr6oF72PCpeyL3GJthNFxGErEA,2101
|
45
|
+
c2cwsgiutils/sentry.py,sha256=su_t2SHxx_zK-gQfotmDbgbSdwTQdFvkgJnqcrQU7ps,6494
|
46
|
+
c2cwsgiutils/services.py,sha256=AxdiH2S8gfEQpOY36R4WqKtJ-3P4OXhx0srTm5G5070,1569
|
47
|
+
c2cwsgiutils/setup_process.py,sha256=VSiyVaQ65btIEBql1sBCZpOjCr0QQjRbcVDY2I7GbLM,3426
|
48
|
+
c2cwsgiutils/sql_profiler/__init__.py,sha256=2bh5s4xqPLUl7EPnm75R1RDKtc098PgZLHkwHGfS-94,907
|
49
|
+
c2cwsgiutils/sql_profiler/_impl.py,sha256=6qkXMhDGcheCDwOH09gFJDrtXRsngkvm29icZWZMtMI,3797
|
50
|
+
c2cwsgiutils/sqlalchemylogger/README.md,sha256=qXfyhGC4Kbt-Ye_geTPm_1InpclhthmKZpc66rqB4as,2018
|
51
|
+
c2cwsgiutils/sqlalchemylogger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
|
+
c2cwsgiutils/sqlalchemylogger/_filters.py,sha256=OJQ9_WA-fd9fMZ7TUNFzHHTPI6msw2NVBl5RoeYFnGw,752
|
53
|
+
c2cwsgiutils/sqlalchemylogger/_models.py,sha256=A9SQ8AqUazCMemVjp5p_1x4bZG3LAYW9pOXT84FdNkE,1471
|
54
|
+
c2cwsgiutils/sqlalchemylogger/examples/example.py,sha256=n48dJdUi1FH1hfBMAbfHLGPSb1bOVD8pXMxXB57PnpQ,460
|
55
|
+
c2cwsgiutils/sqlalchemylogger/handlers.py,sha256=MJi9vJgVpu0-uf8-iJzYMPhv5kHa0SGnpNUkcflLh98,4894
|
56
|
+
c2cwsgiutils/static/favicon-16x16.png,sha256=LKk6RFvb3NlPIZdDfAodE8H9IN8KM6CMGnMx4vOHlUQ,887
|
57
|
+
c2cwsgiutils/static/favicon-32x32.png,sha256=i4ucx08zAZARd8e7JTMGK-gb5WcOmyuDN6IN4brsEOo,1216
|
58
|
+
c2cwsgiutils/stats_pyramid/__init__.py,sha256=alSRhpCa5Kh9JnMnR5XqcMqr5wyL8ogROprrfsIl_qU,786
|
59
|
+
c2cwsgiutils/stats_pyramid/_db_spy.py,sha256=A61t6VKIrRRIjbyZTldmAUl_Q3ZDVFYqyxjuntzmllc,2919
|
60
|
+
c2cwsgiutils/stats_pyramid/_pyramid_spy.py,sha256=sbkXXdzzylnd6XHzegJdshD0mzCY8RLsL1WncclsFfE,3208
|
61
|
+
c2cwsgiutils/templates/index.html.mako,sha256=Ey9ppHLe-eFGYXYPV5Z2WbMBSif86sYPiTviksnG7TI,1362
|
62
|
+
c2cwsgiutils/version.py,sha256=1ghPu-aKMJdfCSUrxgBENNqNQ-7JMKJr6tS14dDmW4Q,3110
|
63
|
+
c2cwsgiutils-6.1.1.dist-info/LICENSE,sha256=r7ueGz9Fl2Bv3rmeQy0DEtohLmAiufRaCuv6Y5fyNhE,1304
|
64
|
+
c2cwsgiutils-6.1.1.dist-info/METADATA,sha256=qb1Qm_LatG7O6nla6azLEOZaJYgF2I0w5Sv78ioxcFQ,34404
|
65
|
+
c2cwsgiutils-6.1.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
66
|
+
c2cwsgiutils-6.1.1.dist-info/entry_points.txt,sha256=ujgqMTL1awN9qDg8WXmrF7m0fgR-hslUM6zKH86pvy0,703
|
67
|
+
c2cwsgiutils-6.1.1.dist-info/RECORD,,
|
@@ -1,67 +0,0 @@
|
|
1
|
-
c2cwsgiutils/__init__.py,sha256=YHZ6OY8BvFrZAoBpbEWmAZ-60nqDer_CKHgY-LSHAKs,3986
|
2
|
-
c2cwsgiutils/acceptance/__init__.py,sha256=vjtpPfu0kbXUOYMx15Z8713IfPFZA9XnkUKkIFtVj_M,1500
|
3
|
-
c2cwsgiutils/acceptance/connection.py,sha256=w478x_UiPNebOX-IC7UBgpSGbUYRZBjHsA-Vpqvtic0,9742
|
4
|
-
c2cwsgiutils/acceptance/image.py,sha256=5dVng5TaCGMYDl-ajZ5WkZdxo7_y2b8Jk7eJZJhPUZ4,8769
|
5
|
-
c2cwsgiutils/acceptance/package-lock.json,sha256=8LPXP_SEWSRAVNGPeS28bXsf6qqRUjtmeXgL3kAUtWM,45501
|
6
|
-
c2cwsgiutils/acceptance/package.json,sha256=COQIxLJd3AKXwHSqvr4sseQaE0mgA9Wxg0gkc7uh_3Q,101
|
7
|
-
c2cwsgiutils/acceptance/print.py,sha256=j5K1c2Kn0eEnhgdbZNBVkdscK02pQhtPIh6lJzHMJcM,2323
|
8
|
-
c2cwsgiutils/acceptance/screenshot.js,sha256=FAJYIWOLJFMm0MNggKzo3mIybtN-VtKLdMzPhQ9pO1g,2041
|
9
|
-
c2cwsgiutils/acceptance/utils.py,sha256=-NgLlG_oQj3P_ZiK293RG7ZHPumg0WrDwo_APOI3WG4,1851
|
10
|
-
c2cwsgiutils/auth.py,sha256=xHUOHQf2UL6xnplbZBa4KObC7Fn7kR6tWsETo6h79-w,9453
|
11
|
-
c2cwsgiutils/broadcast/__init__.py,sha256=5xxEhGnOJmq-bEbUUmNyvz_DAfrHG0ZNQgeTQFGYFCo,4361
|
12
|
-
c2cwsgiutils/broadcast/interface.py,sha256=jE8BSy9N7xnPmq5U0m852sFFhx46c7Uo9SyFJTCde9o,636
|
13
|
-
c2cwsgiutils/broadcast/local.py,sha256=24aIRdFOR2CXZfp_F2R_S1QW-yon3EyTM6TvljWVlP0,1083
|
14
|
-
c2cwsgiutils/broadcast/redis.py,sha256=sxBsYZtMNXMOck6a_Mcb3QZjjW4lPTxnImTfL1vv14g,5085
|
15
|
-
c2cwsgiutils/broadcast/utils.py,sha256=0fQZXPu3p_5LEJpGenJwiiMxECQjJhjZBjIkBk8h-ng,272
|
16
|
-
c2cwsgiutils/client_info.py,sha256=RsC2yT7NcHQNICO3WQNXayHkqi0rC85AvI6qNRXFTWw,3028
|
17
|
-
c2cwsgiutils/config_utils.py,sha256=vkBu-3GQsE94NOBOvT5FE-Ij29EUrKnDsmdUdtu_yzo,1524
|
18
|
-
c2cwsgiutils/coverage_setup.py,sha256=fES0sdhFy6oaeOCuP1qjjm7PQL9l_O8rUKZhRvRBRwQ,839
|
19
|
-
c2cwsgiutils/db.py,sha256=vDRxhmUy-hLs5EAfYFGUg0nzH0tiWWo5ZejpmdlutS4,16175
|
20
|
-
c2cwsgiutils/db_maintenance_view.py,sha256=ejSNCv7vZIDjXctDTWTXEYTnUYFVVNIecFLeDlCkDBA,3076
|
21
|
-
c2cwsgiutils/debug/__init__.py,sha256=80zdAZnE9cwgQW1odE2aOauIxYsG5CQpWvHPcslRue8,1239
|
22
|
-
c2cwsgiutils/debug/_listeners.py,sha256=sXXHbPHQaSRMrzUC2ryiSDsBXuTdVbpQOxmMmhZ3n90,4378
|
23
|
-
c2cwsgiutils/debug/_views.py,sha256=zUeIshxBshBrlTz0p1I1LUi6HiJBOAAiDPrlOJsziQA,7522
|
24
|
-
c2cwsgiutils/debug/utils.py,sha256=TPlJC5qKeFnvbgq1xjlfrrRgDcV5kIR69IPJgNcIZQY,2311
|
25
|
-
c2cwsgiutils/errors.py,sha256=xAJghvSBRH_KOQFcYrItGrCLIFVri60ohq_z1dyG63I,6725
|
26
|
-
c2cwsgiutils/health_check.py,sha256=elVgCf2HQd7GpL7j4NEipb4crYl_pEYMZZP03x1xuYc,19978
|
27
|
-
c2cwsgiutils/index.py,sha256=7kgL4U_SN8boNHpnpB18v4ofScp-fJunsbnHpxbWlow,16707
|
28
|
-
c2cwsgiutils/loader.py,sha256=x_yHRTDzzlQ61fHonWnnG01xdqFuXpbGZMNN--tN25U,622
|
29
|
-
c2cwsgiutils/logging_view.py,sha256=W6-dFTz00hLt6BGJ8V3-4ip4AdxTyPG2W5vQjIuKiQs,3357
|
30
|
-
c2cwsgiutils/models_graph.py,sha256=laip8EdhI2hoGZVAotdrsgMwiNbwsJPjknKkRq1eEq0,2680
|
31
|
-
c2cwsgiutils/pretty_json.py,sha256=f1-oecFX9hub1nD32mmZRjOTIxhV8bVSt3Meqw68sNU,1698
|
32
|
-
c2cwsgiutils/profiler.py,sha256=3tIwoDSzOKQ06ug_U6j5VDR1BQ9auUOqdJRRLRhDoHw,739
|
33
|
-
c2cwsgiutils/prometheus.py,sha256=ZjHMG0zIKKJaadNp6pkSjXVTLAQS9AjlNwBH8HNJnfY,6558
|
34
|
-
c2cwsgiutils/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
c2cwsgiutils/pyramid.py,sha256=H-b5abZvxt9MkMFjyWOjWzPa02YRhZR6LDiMCaYLq5s,1388
|
36
|
-
c2cwsgiutils/pyramid_logging.py,sha256=1PoEBzmCelAmLVSeyLeeYr87ZIi1g9_oisiwH6p-7P4,3731
|
37
|
-
c2cwsgiutils/redis_stats.py,sha256=triLtzryGXJKvCUw4TreYpF22BpUKPdrMp30ZGKsXwU,1545
|
38
|
-
c2cwsgiutils/redis_utils.py,sha256=OkgUqbZcuCa-LjcFXZ-cDN94dYi746P1FHRWExdYP8U,4615
|
39
|
-
c2cwsgiutils/request_tracking/__init__.py,sha256=YHNVB6GaAu175qC1L9GOFu99W0Xnt4kMNZIMTc34P0M,4040
|
40
|
-
c2cwsgiutils/request_tracking/_sql.py,sha256=47OtVn3g5QpCCWyl8w6V1xVjbf0ahrw4r9ijjRKXDz4,573
|
41
|
-
c2cwsgiutils/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
|
-
c2cwsgiutils/scripts/genversion.py,sha256=GKmD08-H83hiKqXxy4odABuWqD5gADs_YEzM3TzHxEA,1985
|
43
|
-
c2cwsgiutils/scripts/stats_db.py,sha256=QNwtEKznCgOKg4ZsAFED9ISS-THgdwD2km_oVoII5XU,10317
|
44
|
-
c2cwsgiutils/scripts/test_print.py,sha256=UeOZa7jTazgEq5BRJD6lq-u9K6G4movf-sOVKTEs1cQ,2096
|
45
|
-
c2cwsgiutils/sentry.py,sha256=-IzACZWI7YNi-dWtNrYlhdTysm8gRVzJSqK94wg3maU,5031
|
46
|
-
c2cwsgiutils/services.py,sha256=qz51oCZOC0Lj2_ig4UuHIm0ZZO3FfpFTxrXBWZ_oaNo,1567
|
47
|
-
c2cwsgiutils/setup_process.py,sha256=Ia9mVYnjiNPt1n3ue8j3SqAoaJUwhDuFlfya2kEubJI,3427
|
48
|
-
c2cwsgiutils/sql_profiler/__init__.py,sha256=_Zw5BO-0sN2tVbSwtyHwi8gkmhCtGW-F6agkENhYILM,877
|
49
|
-
c2cwsgiutils/sql_profiler/_impl.py,sha256=bNK16vRBHnaNQo5JfSdT-nXZ8WBUUJ5BvtCrINg0Aws,3703
|
50
|
-
c2cwsgiutils/sqlalchemylogger/README.md,sha256=WEyJSrBjedtX1FFrYiq4oMaWMt1fNxRkJYmJWnAoz3g,1552
|
51
|
-
c2cwsgiutils/sqlalchemylogger/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
|
-
c2cwsgiutils/sqlalchemylogger/_filters.py,sha256=OJQ9_WA-fd9fMZ7TUNFzHHTPI6msw2NVBl5RoeYFnGw,752
|
53
|
-
c2cwsgiutils/sqlalchemylogger/_models.py,sha256=A9SQ8AqUazCMemVjp5p_1x4bZG3LAYW9pOXT84FdNkE,1471
|
54
|
-
c2cwsgiutils/sqlalchemylogger/examples/example.py,sha256=n48dJdUi1FH1hfBMAbfHLGPSb1bOVD8pXMxXB57PnpQ,460
|
55
|
-
c2cwsgiutils/sqlalchemylogger/handlers.py,sha256=Qul-Bebmxqt4KvFU4TqjUGnbmpAVBviF5pSV3duUqG0,4801
|
56
|
-
c2cwsgiutils/static/favicon-16x16.png,sha256=LKk6RFvb3NlPIZdDfAodE8H9IN8KM6CMGnMx4vOHlUQ,887
|
57
|
-
c2cwsgiutils/static/favicon-32x32.png,sha256=i4ucx08zAZARd8e7JTMGK-gb5WcOmyuDN6IN4brsEOo,1216
|
58
|
-
c2cwsgiutils/stats_pyramid/__init__.py,sha256=7P10LjLv3c-ObEDGuYmRF_RFt7fRmO80ruqTGQAyC6w,747
|
59
|
-
c2cwsgiutils/stats_pyramid/_db_spy.py,sha256=ZGRdrI17Bdl3mzaLjfPyAaEW3KK8Pikrgi-0WmH7zCs,2917
|
60
|
-
c2cwsgiutils/stats_pyramid/_pyramid_spy.py,sha256=P212MGGl2VV_7UU4AXZA-rOuF7ouaONRklZwpas2wc8,3209
|
61
|
-
c2cwsgiutils/templates/index.html.mako,sha256=Ey9ppHLe-eFGYXYPV5Z2WbMBSif86sYPiTviksnG7TI,1362
|
62
|
-
c2cwsgiutils/version.py,sha256=z4of1DDr6J7PDw4AUOz31Gp63khgXf3JfiIaoWUM-9I,2870
|
63
|
-
c2cwsgiutils-6.1.0.dev105.dist-info/LICENSE,sha256=rM6IWxociA3daRkXnNLYOxGndT5fbs3BfVZCA2Xgt-g,1304
|
64
|
-
c2cwsgiutils-6.1.0.dev105.dist-info/METADATA,sha256=oe493srEHdNM9rxmpZ49TnWmUpJKyfh5KQC8M2s8ilY,33516
|
65
|
-
c2cwsgiutils-6.1.0.dev105.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
66
|
-
c2cwsgiutils-6.1.0.dev105.dist-info/entry_points.txt,sha256=ujgqMTL1awN9qDg8WXmrF7m0fgR-hslUM6zKH86pvy0,703
|
67
|
-
c2cwsgiutils-6.1.0.dev105.dist-info/RECORD,,
|
File without changes
|