Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Trying to establish voice contact ... please ____yell into keyboard.


devel / comp.lang.python.announce / [Python-announce] structlog 23.1.0

SubjectAuthor
o [Python-announce] structlog 23.1.0Hynek Schlawack

1
[Python-announce] structlog 23.1.0

<B5660F3A-7A1F-4333-8787-08E5EA0E4F30@ox.cx>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=16889&group=comp.lang.python.announce#16889

  copy link   Newsgroups: comp.lang.python.announce
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.szaf.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: hs@ox.cx (Hynek Schlawack)
Newsgroups: comp.lang.python.announce
Subject: [Python-announce] structlog 23.1.0
Date: Thu, 6 Apr 2023 14:51:03 +0200
Lines: 62
Approved: python-announce-list@python.org
Message-ID: <B5660F3A-7A1F-4333-8787-08E5EA0E4F30@ox.cx>
Reply-To: python-list@python.org
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\))
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Trace: news.uni-berlin.de 4oakdn4Tjy/bO8M2WxqAxg5QOKiBQfFEAxy0Roz0FwtQ==
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=ox.cx header.i=@ox.cx header.b=qXkOxkU/; dkim-adsp=pass;
dkim-atps=neutral
X-Spam-Status: OK 0.014
X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'url-ip:140.82/16': 0.03;
'argument': 0.04; 'python.': 0.08; 'meant': 0.09; 'originally':
0.09; 'skip:_ 20': 0.09; 'to:addr:python-announce-list': 0.09;
'url:stable': 0.09; 'log': 0.12; 'url:github': 0.14; 'announce':
0.15; 'url-ip:140/8': 0.15; '#504': 0.16; 'colors.': 0.16;
'extracts': 0.16; 'key-value': 0.16; 'received:10.202': 0.16;
'received:10.202.2': 0.16; 'received:internal': 0.16;
'received:messagingengine.com': 0.16; 'sync': 0.16; 'tuple': 0.16;
'url:releases': 0.16; 'github': 0.17; 'instead': 0.17; 'probably':
0.17; 'sponsors': 0.19; 'exception': 0.22; 'version': 0.23;
'anything': 0.25; 'actual': 0.25; 'brings': 0.26; 'configure':
0.26; 'library': 0.26; 'sense': 0.28; 'approach': 0.31; 'default':
0.31; 'downloads': 0.32; 'empty': 0.32; 'unless': 0.32; 'but':
0.32; 'release': 0.34; 'url-ip:104.17/16': 0.35; 'received:66':
0.35; "we're": 0.35; 'using': 0.37; 'thanks': 0.38; 'added': 0.39;
'use': 0.39; 'methods': 0.39; 'true.': 0.40; 'best': 0.61;
'method': 0.61; 'simply': 0.63; 'our': 0.64; 'full': 0.64; 'url-
ip:3/8': 0.67; 'per': 0.68; 'await': 0.69; 'hybrid': 0.69; 'it:':
0.69; 'times': 0.69; 'companies': 0.70; 'skip:f 30': 0.71;
'longer': 0.71; 'breaking': 0.78; 'heartfelt': 0.84; 'highlights':
0.84; 'pairs': 0.84; 'respects': 0.84; 'subscribing': 0.84;
'url:pkg': 0.84; 'million': 0.89; 'colors': 0.93
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ox.cx; h=cc
:content-transfer-encoding:content-type:content-type:date:date
:from:from:in-reply-to:message-id:mime-version:reply-to:sender
:subject:subject:to:to; s=fm1; t=1680785476; x=1680871876; bh=BW
yH+Y5NYhM/9PEithSpgPjYQrjCNVLkeLtRwSapIlI=; b=qXkOxkU/6zUEW6c0NL
nisadDtE6OS27mtok+B8AlhSZ+Ueo7ej/OKyDZzxifd32viZEe8XWx0KPQlXmRjV
phWk4nHpS8ennHm+plgG17aTU/WUZn0JW751MrkNs0dr9pFKUJ/23efzhk3E2dWI
kl4pLo85RBVvj/OVYfuHGm0loMpFCiONH6Ua9er0zG09cHyvznbhzBC/BdFL0l5s
451o+aZ8G4tySZeiMoxaU4RefHZnGxNrXChFjTWwcZjviqysB70YwgimtD7o82mL
zU0sn1pYdrrXI8dmDdadqiTzOsYR1VeqvGeUYFtBIZKXeqajjBgOfvQdkhbORKKG
YaCg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:content-transfer-encoding:content-type
:content-type:date:date:feedback-id:feedback-id:from:from
:in-reply-to:message-id:mime-version:reply-to:sender:subject
:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
:x-sasl-enc; s=fm2; t=1680785476; x=1680871876; bh=BWyH+Y5NYhM/9
PEithSpgPjYQrjCNVLkeLtRwSapIlI=; b=vNwvUbPUFYEaGYGn/+IsC+slYbxcr
s16JNLXPiTMu2DKuXbzWtf/cQ9O+iwsydKQBJG7HzC4ENhDIi0TRrWDhbeOJagTR
LoYjbG09FF3IGPkFZV/HCiSAR6UHs2hlA4dqE+tTgtDT2xP9sHkAuTZC5rTcOFnQ
C2LtPNF2pcNna87RWWbKn8eR+pmxMPXf2cDJDFZ0cNUSVMjUNYOm0LRwfPwXpydZ
v7jgQ/OFGWd0ejLWElfia4JzNeMsTuBTeropjui9CAlXsyg+kCeT0PnewRJeUbFm
m1n2yAZolw8zT42TlyPJlM6P8LggOWE/9kglynQZRjJxTrtlMAi2AbD2w==
X-ME-Sender: <xms:RMAuZFboe7eoRGp82ilQIFa5HCdWyw1CKNR18mJ3bXTZwLQ69uixxQ>
<xme:RMAuZMZMvX0Kvdx--zzaFrxhVLid5WEDLV98DKKchCs8Rx5zUoMblgewJuFw1Sfl7
J4twEIHZSTS5B0>
X-ME-Received: <xmr:RMAuZH_sew5_uEd-GCW0rDSTwv1aaj2JBweXsO3CSZpyI_2QLsIt9TUhe9nMbOdD5EcBy5XPnLrBaSQLZR_sK0uwL7_OV6ghdA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdejfedgheegucetufdoteggodetrfdotf
fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
uceurghilhhouhhtmecufedttdenucenucfjughrpefhtgfgggfukfffvffosehtqhhmtd
hhtdejnecuhfhrohhmpefjhihnvghkucfutghhlhgrfigrtghkuceohhhssehogidrtgig
qeenucggtffrrghtthgvrhhnpeehleegtdejkedtgffhjedtfeduveetgfffveehfeduke
dvgefgiefftdevledvueenucffohhmrghinhepshhtrhhutghtlhhoghdrohhrghdpghhi
thhhuhgsrdgtohhmpdhtihguvghlihhfthdrtghomhenucevlhhushhtvghrufhiiigvpe
dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehhshesohigrdgtgi
X-ME-Proxy: <xmx:RMAuZDo4Ne0LRbdG7nY9xoZDNtBPYlD8qcuqO7aGJbs3RhoLMQkCxQ>
<xmx:RMAuZArR6C2B1CFA1-CB0Jrrv4Y5Yc98DBVnt4z70nhXMQH7snI4sw>
<xmx:RMAuZJSZDpoYej15oL_gqy7Wd4xgRQ1MS7UX3H1N4CSvzo-gbdBdpg>
<xmx:RMAuZLUdUfHn8GDzf0FJg1D_A2P4NpCM6-kNZkox0RjZpCtntOfFCA>
Feedback-ID: i64444179:Fastmail
X-Mailer: Apple Mail (2.3731.500.231)
X-MailFrom: hs@ox.cx
X-Mailman-Rule-Hits: emergency
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved
Message-ID-Hash: DGLLOLRDXA2RCFVT6JVL5VLVEB3YPRNS
X-Message-ID-Hash: DGLLOLRDXA2RCFVT6JVL5VLVEB3YPRNS
X-Mailman-Approved-At: Thu, 06 Apr 2023 09:01:24 -0400
X-Mailman-Version: 3.3.9b1
Precedence: list
List-Id: Announcement-only list for the Python programming language <python-announce-list.python.org>
Archived-At: <https://mail.python.org/archives/list/python-announce-list@python.org/message/DGLLOLRDXA2RCFVT6JVL5VLVEB3YPRNS/>
List-Archive: <https://mail.python.org/archives/list/python-announce-list@python.org/>
List-Help: <mailto:python-announce-list-request@python.org?subject=help>
List-Owner: <mailto:python-announce-list-owner@python.org>
List-Post: <mailto:python-announce-list@python.org>
List-Subscribe: <mailto:python-announce-list-join@python.org>
List-Unsubscribe: <mailto:python-announce-list-leave@python.org>
 by: Hynek Schlawack - Thu, 6 Apr 2023 12:51 UTC

I’m happy to announce a new release of structlog!

With more than 7 million downloads per month, structlog is the best solution for production-ready structured logging in Python. It doesn’t just allow you to log key-value pairs in a structured manner, it also makes it EASIER and FASTER. Check out <https://www.structlog.org/en/stable/why.html> if you’re intrigued but not convinced!

My heartfelt thanks go to my generous GitHub sponsors <https://github.com/sponsors/hynek> and companies subscribing to structlog on Tidelift <https://tidelift.com/subscription/pkg/pypi-structlog>.

That's the support that made me maintain structlog for almost a decade with no end in sight! <3

------------------------------------------------------------------------

(alternatively, see <https://github.com/hynek/structlog/releases/> for a richer-formatted version of the following)

Highlights

This release brings the hybrid approach to sync / async logging to structlog's standard library integration. You don't have to configure anything anymore, simply prepend the method name with an a and await it: await logger.ainfo("this is async!"). structlog.stdlib.AsyncBoundLogger will probably be deprecated in the future.

This release also brings support for FORCE_COLOR and NO_COLOR to structlog's default configuration. structlog was originally not meant to be used without configuration, but times have changed and we're breaking new ground!

Added

- structlog.stdlib.BoundLogger now has, analogously to our native logger, a full set of async log methods prefixed with an a: await log.ainfo("event!") #502

- The default configuration now respects the presence of FORCE_COLOR (regardless of its value, unless an empty string). This disables all heuristics whether it makes sense to use colors. #503

- The default configuration now respects the presence of NO_COLOR (regardless of its value, unless an empty string). This disables all heuristics whether it makes sense to use colors and overrides FORCE_COLOR. #504

Fixed

- ConsoleRenderer now reuses the _figure_out_exc_info to process the exc_info argument like ExceptionRenderer does. This prevents crashes if the actual Exception is passed for the exc_info argument instead of a tuple or True. #482

- FilteringBoundLogger.aexception() now extracts the exception info using sys.exc_info() before passing control to the asyncio executor (where original exception info is no longer available). #488

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor