Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"Help Mr. Wizard!" -- Tennessee Tuxedo


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

SubjectAuthor
o [Python-announce] structlog 23.3.0Hynek Schlawack

1
[Python-announce] structlog 23.3.0

<E0C152A9-854F-4391-A598-A500AB8AA032@ox.cx>

  copy mid

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

  copy link   Newsgroups: comp.lang.python.announce
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!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.3.0
Date: Fri, 29 Dec 2023 15:17:23 +0100
Lines: 86
Approved: python-announce-list@python.org
Message-ID: <E0C152A9-854F-4391-A598-A500AB8AA032@ox.cx>
Reply-To: python-list@python.org
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.300.61.1.2\))
Content-Type: text/plain;
charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Trace: news.uni-berlin.de RLmXIxe0qqPOpE1lv/pohg7mdKdfm7QDsojGR7vaKj1A==
Cancel-Lock: sha1:lwCRQ4z/aaAI/9Bp/VPAynZmI2A= sha256:DEMji1xf5izMlPg8nqPS+MsQBjPsTzKd9GiXhgXVBR8=
Authentication-Results: mail.python.org; dkim=pass
reason="2048-bit key; unprotected key"
header.d=ox.cx header.i=@ox.cx header.b=NXEu3br7; dkim-adsp=pass;
dkim-atps=neutral
X-Spam-Status: OK 0.033
X-Spam-Evidence: '*H*': 0.93; '*S*': 0.00; 'url-ip:140.82/16': 0.03;
'python.': 0.08; 'dan': 0.09; "shouldn't": 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;
'columns': 0.16; 'freely': 0.16; 'humans': 0.16; 'instead.': 0.16;
'key-value': 0.16; 'magnus': 0.16; 'possible!': 0.16;
'received:10.202': 0.16; 'received:10.202.2': 0.16;
'received:internal': 0.16; 'received:messagingengine.com': 0.16;
'render': 0.16; 'sponsors!': 0.16; 'sweet': 0.16; 'url-
ip:35.153/16': 0.16; 'url-ip:54.85/16': 0.16; 'url:releases':
0.16; 'python': 0.16; 'api': 0.17; 'github': 0.17; 'implement':
0.19; 'sponsors': 0.19; 'version': 0.23; 'anything': 0.25;
'stefan': 0.26; 'tim': 0.26; 'chris': 0.28; 'output': 0.28;
'default': 0.31; 'downloads': 0.32; 'passes': 0.32; 'but': 0.32;
'release': 0.34; 'handling': 0.35; 'url-ip:104.17/16': 0.35;
'received:66': 0.35; 'special': 0.37; 'using': 0.37; 'thanks':
0.38; 'added': 0.39; 'methods': 0.39; 'consistent': 0.40; 'best':
0.61; 'above': 0.62; 'skip:o 20': 0.63; 'skip:b 20': 0.63; 'full':
0.64; 'your': 0.64; 'company': 0.64; 'top': 0.65; 'amazing': 0.65;
'forget': 0.67; 'maintenance': 0.67; 'choose': 0.67; 'per': 0.68;
'order': 0.69; 'adds': 0.69; 'url-ip:44/8': 0.69; 'companies':
0.70; 'them,': 0.70; 'content': 0.72; 'adam': 0.84; 'chose': 0.84;
'heartfelt': 0.84; 'hill': 0.84; 'jesse': 0.84; 'pairs': 0.84;
'subscribing': 0.84; 'url:pkg': 0.84; 'words:': 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:subject
:subject:to:to; s=fm1; t=1703859457; x=1703945857; bh=hlG0DlOVlo
Kf6IGXF+a5g86VKpqSQtouSQD1cZxfJJk=; b=NXEu3br7clt2MkH0qQ32nSBFTL
j+jnMq3gM5vHCxxH7OuP7L0xvZhmJTd6uvTOM2YIBgwURBvWxKjEuOrvVPG3ABGd
zljOc5eZcNz/p6WDQnfG6rEL1WFE8R5wjjYVBqI1XEhq4sqJT/Ylu/F4rkODq/Gb
lVPwixXDEoXtnKkcOphhCxDFVZSbXIm76iPtKcp9hmZu7G1BpQQBQ2s0f+E8m2BX
8/j3Sv+nCQw6sj0E/x/EXn6pwJNvAsTBEGMSzwyI+s8njF2FWR3kgbdK0m9QJXcw
DcJphwMOmZCTpA2Q84atFh+43sdS7z2aLS626+fkqTldm29FuzWLnQ86RUgg==
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:subject:subject:to
:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
fm2; t=1703859457; x=1703945857; bh=hlG0DlOVloKf6IGXF+a5g86VKpqS
QtouSQD1cZxfJJk=; b=ZtLGGWiJyirALHWfghU1LP6CT16oVOqVAfv0vie/ZcCQ
OnNukoqNtDRZfDI83MAZNDU0nerJdsBelbI4vJhfA5Z2UVMcPVE54VLSdlrkorgM
4Ms8Ent1ucLJcCuFw5ucExddq4v4fIF6OB+RCZIQE16VdhPM5QFBxexaKpsU6zmz
DFc1xxbmzciPWCXdUVr4P1ktkHz2Mkl/vzEE745qJqQ3SoRuWW76FoO2n1sHOjVF
e8nlXEpQVfkXhGnERIdDwaEsxODz/F+1WNxwxP1Tc8mf0GT3CZU/SxDKlMJcj56q
WANU7b91T/yEdVIgAfluIaD6mPQ1BJFzzlwyUTe1Dw==
X-ME-Sender: <xms:ANWOZQKADFQRrdTTekl17aRgdv3Cpqm7B1IwSheG3avwFBwTqpC1xw>
<xme:ANWOZQJpIgpExAJWED7ewLLvzIGOEg2B2UNiX7KRthCS1i_uzoEuqIQw4HjegOAqi
yGYPRKOS56-L-A>
X-ME-Received: <xmr:ANWOZQvaNryYy9MN-8fJbBvVFGxEhDmBFBaXn8__bsD-_MYHl9iu43WC0wTe-R1gT2thkMQjwG2VTcwCSUekSZKBEVeH6Hu7aw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrvdeffedgieefucetufdoteggodetrfdotf
fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
uceurghilhhouhhtmecufedttdenucenucfjughrpefhtgfgggfukfffvffosehtqhhmtd
hhtdejnecuhfhrohhmpefjhihnvghkucfutghhlhgrfigrtghkuceohhhssehogidrtgig
qeenucggtffrrghtthgvrhhnpeehleegtdejkedtgffhjedtfeduveetgfffveehfeduke
dvgefgiefftdevledvueenucffohhmrghinhepshhtrhhutghtlhhoghdrohhrghdpghhi
thhhuhgsrdgtohhmpdhtihguvghlihhfthdrtghomhenucevlhhushhtvghrufhiiigvpe
dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehhshesohigrdgtgi
X-ME-Proxy: <xmx:ANWOZdYkSDz4sbIdz4NN-bVOjxJ2xHSjqcvZ7bQ2guHxmZLPCAZoQA>
<xmx:ANWOZXa3W0Hx1O8ObRhLcWMBh6n40hkiLmI9BloPUX_aKH1VEzXclA>
<xmx:ANWOZZC9jzDrsteK_gvQFdtjAXkUVK1rUKQu7pu59UD7WQqLwmmm9A>
<xmx:AdWOZTFFvEQ_EVzI6ipKB5OrjK2elZQcZgjaZsdgYbECHD0UTh9aqw>
Feedback-ID: i64444179:Fastmail
X-Mailer: Apple Mail (2.3774.300.61.1.2)
X-MailFrom: hs@ox.cx
X-Mailman-Rule-Hits: emergency
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved
Message-ID-Hash: VGHXP7HL2JCUQ23TG557WMW6OQPKBGU6
X-Message-ID-Hash: VGHXP7HL2JCUQ23TG557WMW6OQPKBGU6
X-Mailman-Approved-At: Fri, 29 Dec 2023 09:27:12 -0500
X-Mailman-Version: 3.3.10b1
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/VGHXP7HL2JCUQ23TG557WMW6OQPKBGU6/>
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 - Fri, 29 Dec 2023 14:17 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)

Special Thanks

This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join them, go to https://github.com/sponsors/hynek and check out the sweet perks!

Above and Beyond

Variomedia AG (@variomedia), Tidelift (@tidelift), FilePreviews (@filepreviews), Daniel Fortunov (@asqui), and Kevin P. Fleming (@kpfleming).

Maintenance Sustainers

Adam Hill (@adamghill), Dan Groshev (@si14), Magnus Watn (@magnuswatn), David Cramer (@dcramer), Moving Content AG (@moving-content), ProteinQure (@ProteinQure), Jesse Snyder (@jessesnyder), Rivo Laks (@rivol), Ionel Cristian Mărieș (@ionelmc), The Westervelt Company (@westerveltco), Philippe Galvan (@PhilippeGalvan), Birk Jernström (@birkjernstrom), Tim Schilling (@tim-schilling), Chris Withers (@cjw296), Christopher Dignam (@chdsbd), Stefan Hagen (@sthagen), Sławomir Ehlert (@slafs), Mostafa Khalil (@khadrawy), Filip Mularczyk (@mukiblejlok), and Mike Fiedler (@miketheman).

Not to forget 6 more amazing humans who chose to be generous but anonymous!

Full Changelog

Added

- The colorful development logger is now even more configurable! Choose freely your colors and the order of the key-value pairs! Implement your own formatters for certain keys!

Implementing the output on top of the new columns API has changed the default very slightly, but shouldn't be noticeable. #577

- Async log methods (those starting with an a) now also support the collection of callsite information using structlog.processors.CallsiteParameterAdder. #565

Changed

- structlog.stdlib.recreate_defaults() now also adds structlog.stdlib.add_logger_name to the processors. Check out the updated screenshot!

Fixed

- The return value from get_logger() (a BoundLoggerLazyProxy) now passes isinstance-checks against structlog.typing.BindableLogger on Python 3.12. #561

- structlog.threadlocal.tmp_bind() now also works with BoundLoggerLazyProxy (in other words: before anything is bound to a bound logger).

- stdlib: ProcessorFormatter can now be told to not render the log record message using getMessage and just str(record.msg) instead. #550

- stdlib: structlog.stdlib.BoundLogger.exception()'s handling ofLogRecord.exc_info is now set consistent with logging. #571 #572


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

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor