NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #425 most downloaded on PyPI
The Datadog Python library
Last release 4 days ago
30 Sep 2026
Release timing varies
gaps range from 3 weeks to 11 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
69 releases · first in 2015
[Fixed] Suppress unsafe logging from DogStatsD post_fork_child / post_fork_parent hooks to avoid possible deadlocks after fork() . If you subclass Dog
post_fork_child/post_fork_parent hooks to avoid possible deadlocks after fork(). If you subclass DogStatsd and override _start_flush_thread, _start_sender_thread, or close_socket, update your overrides to accept the new quiet=False keyword argument, or accept **kwargs, because the fork hooks now pass quiet=True to those methods. See #989.See CHANGELOG.md for details.
See CHANGELOG.md for details.
One column per quarter.
See CHANGELOG.md for details.
See CHANGELOG.md for details.
See CHANGELOG.md for details.
See CHANGELOG.md for details.
[Fixed] Fix missing transport attribute when flushing telemetry. See #902
[Added] Add Cardinality common field. See #883
[Added] Add hosts endpoint. See #884 .
[Fixed] Fixed removed/renamed function flush. See #868 .
[Added] Add the ability for buffering and aggregation to work at the same time. See #851 .
[Added] Add client side aggregation. See #844 .
[Fixed] Fix potential metric loss when open_buffer is combined with disable_buffering=False. See #820 .
[Added] Add --restricted_roles option to Monitors API. See #809 .
[Added] Improve forking support. See #804.
[Added] Add IPv6 support for dogstatsd. See #791.
[Added] Add tags and priority to the fpost monitor request. See #739.
[Added] Add dogwrap site option to send to US3 site. See #749. Thanks holidayworking.
Nothing published for this version
[Added] Update package metadata. See #713. [Fixed] [statsd] Restore buffering state when exiting context manager. See #715. [Changed] [threadstats] En
[Added] Update package metadata. See #713. [Fixed] [statsd] Restore buffering state when exiting context manager. See #715. [Changed] [threadstats] Ensure ThreadStats and DogStatsd event() signatures match. See #712. [Changed] Improved dogstatsd mypy integration by adding additional type annotations. See #710. Thanks jahodfra.
[Added] [statsd] Add ability to toggle statsd.disable_buffering state during runtime. See #700.
statsd.disable_buffering state during runtime. See #700.[Fixed] Remove unused decorator dependency. See #651.
[Fixed] Fix decorator dependency for Python 2.7. See #646. Thanks artem888881.
[Fixed] Fix blocking connections in dogstatsd. See #634.
[Added] Support DD env vars in threadstats. See #625.
[Added] Add environment variable to disable statsd metric collection. See #589. Thanks dgzlopes.
[Added] Improve user-agent header to include telemetry information. See #583.
.dogrc when not answering y or n at the prompt. See #582. Thanks NassimBounouas.[Fixed] Add typing and configparser dependencies for python versions that need it. See #572. Thanks jairideout.
typing and configparser dependencies for python versions that need it. See #572. Thanks jairideout.[Added] Add version as an importable variable and remove dependency on pkg_resources. See #566. Thanks sjhewitt.
pkg_resources. See #566. Thanks sjhewitt.[Added] Add excluded_regions to POST/PUT AWS lib. See #552.
[Added] Add Set metric type to threadstats. See #545.
Set metric type to threadstats. See #545.[Fixed] Revert dogstatsd telemetry. See #530.
[Deprecated] Alias dog script names as dogshell. Please start using dogshell instead of dog command. See #305. Thanks dwminer.
dog script names as dogshell. Please start using dogshell instead of dog command. See #305. Thanks dwminer.statsd_constant_tags kwarg to datadog.initialize(). See #494. Thanks kainswor.[FEATURE] Roles and Permissions APIs #481
Monitor.can_delete endpoint #474Monitor.validate endpoint #487/v1/downtime/cancel/by_scope #488[BUGFIX] Fix distribution metric submission by sending api/app keys through query params for this endpoint. #480
[BUGFIX] Fix possible issue that could leak file descriptors when reading config #425
[OTHER] Add deprecation warning to old aws lambda threadstats integration #417
[BUGFIX] Fix encoding issue on install #391 and #392 (thanks @Alphadash and @ningirsu)
[BUGFIX] Revert Return Rate Limit Headers, #401
[IMPROVEMENT] Import Iterable from collections.abc on python3 to avoid deprecation warning, #381
--tags argument for service_checks, #387 (thanks @gordlea)--tags support to monitors, #356statsd_default_namespace to the initialize method, #353 (thanks @lceS2)/bin/hostname stderr, #368 (thanks @brendanlong)DD_API_KEY and DD_APP_KEY for setting API and APP keys respectively, #373[BUGFIX] Dogshell: Properly require handle as an argument to the comment subcommand, #364
handle as an argument to the comment subcommand, #364Dashboard.get_all API, #362DD_AGENT_HOST, DD_DOGSTATSD_PORT, and DD_ENTITY_ID environment variables, #363free layout_type in Dashboard.create and Dashboard.update, #362The Timeboard and Screenboard API resources are deprecated in favor of the new Dashboard resource. See https://docs.datadoghq.com/api/?lang=python#das…
The Timeboard and Screenboard API resources are deprecated in favor of the new Dashboard resource. See https://docs.datadoghq.com/api/?lang=python#dashboards for more details.
UnicodeError exceptions raised by the API client on errors that contain non ascii characters, #223, #346tox for testing, #342[IMPROVEMENT] API: Keep HTTP connections alive when using requests, [#328][]
requests, [#328][]<!--- The following link definition list is generated by PimpMyChangelog ---> [#328]: https://github.com/DataDog/datadogpy/issues/328
[FEATURE] ThreadStats: Add AWS Lambda wrapper, [#324][]
<!--- The following link definition list is generated by PimpMyChangelog ---> [#324]: https://github.com/DataDog/datadogpy/issues/324
[BUGFIX] DogStatsD: Do not send empty UDP packets, [#264][] (thanks [@Tenzer][])
simplejson 3p dependency, [#304][], [#309][] (thanks [@alexpjohnson][])<!--- The following link definition list is generated by PimpMyChangelog ---> [#264]: https://github.com/DataDog/datadogpy/issues/264 [#304]: https://github.com/DataDog/datadogpy/issues/304 [#309]: https://github.com/DataDog/datadogpy/issues/309 [#312]: https://github.com/DataDog/datadogpy/issues/312 [@Tenzer]: https://github.com/Tenzer [@alexpjohnson]: https://github.com/alexpjohnson
[BUGFIX] Dogshell: Submit --date_happened timestamp when posting events, [#287][], [#301][] (thanks [@gplasky][])
--date_happened timestamp when posting events, [#287][], [#301][] (thanks [@gplasky][])Monitor resource, [#299][]timed context manager object from overwritting a method with an instance variable, [#263][] (thanks [@florean][])<!--- The following link definition list is generated by PimpMyChangelog ---> [#228]: https://github.com/DataDog/datadogpy/issues/228 [#259]: https://github.com/DataDog/datadogpy/issues/259 [#263]: https://github.com/DataDog/datadogpy/issues/263 [#287]: https://github.com/DataDog/datadogpy/issues/287 [#299]: https://github.com/DataDog/datadogpy/issues/299 [#301]: https://github.com/DataDog/datadogpy/issues/301 [@dotlambda]: https://github.com/dotlambda [@florean]: https://github.com/florean [@gplasky]: https://github.com/gplasky [@taraslayshchuk]: https://github.com/taraslayshchuk
New API endpoint: https://api.datadoghq.com/api
New API endpoint: https://api.datadoghq.com/api
The Datadog API client now uses https://api.datadoghq.com/api endpoint instead of https://app.datadoghq.com/api. See [#257][] for more details.
TypeError exceptions when truncating stdout, stderr with Python 3, [#260][], [#267][] (thanks [@cabouffard][], [@glasnt][])statsd_socket_path option in initialize function, [#282][]<!--- The following link definition list is generated by PimpMyChangelog ---> [#257]: https://github.com/DataDog/datadogpy/issues/257 [#260]: https://github.com/DataDog/datadogpy/issues/260 [#267]: https://github.com/DataDog/datadogpy/issues/267 [#268]: https://github.com/DataDog/datadogpy/issues/268 [#272]: https://github.com/DataDog/datadogpy/issues/272 [#279]: https://github.com/DataDog/datadogpy/issues/279 [#282]: https://github.com/DataDog/datadogpy/issues/282 [@cabouffard]: https://github.com/cabouffard [@glasnt]: https://github.com/glasnt [@marshallbrekka]: https://github.com/marshallbrekka [@thehesiod]: https://github.com/thehesiod
Search hosts: `Infrastructure.search` is deprecated The Infrastructure.search method is deprecated in favor of the new Hosts.search method.
Search hosts: Infrastructure.search is deprecated
The Infrastructure.search method is deprecated in favor of the new Hosts.search method.
search and totals methods to the Hosts resource, [#261][]<!--- The following link definition list is generated by PimpMyChangelog ---> [#261]: https://github.com/DataDog/datadogpy/issues/261 [#266]: https://github.com/DataDog/datadogpy/issues/266
[FEATURE] API: New DashboardList resource, [#252][]
DashboardList resource, [#252][]<!--- The following link definition list is generated by PimpMyChangelog ---> [#252]: https://github.com/DataDog/datadogpy/issues/252
ThreadStats: metric type change
ThreadStats: metric type change
ThreadStats count metrics (produced from the increment/decrement and histogram methods) are now reported with the count/rate metric type, instead of gauge.
As a result, for the corresponding metrics:
.as_count()/ .as_rate() functions to switch between count and rate representations.See [#242][] (thanks [@nilabhsagar][]) for more details.
Rate metric type, [#242][] (thanks [@nilabhsagar][])<!--- The following link definition list is generated by PimpMyChangelog ---> [#221]: https://github.com/DataDog/datadogpy/issues/221 [#242]: https://github.com/DataDog/datadogpy/issues/242 [@nilabhsagar]: https://github.com/nilabhsagar
[BUGFIX] Dogshell: Service checks can be sent with optional parameters set to null values, [#241][] (thanks [@timvisher][])
<!--- The following link definition list is generated by PimpMyChangelog ---> [#236]: https://github.com/DataDog/datadogpy/issues/236 [#241]: https://github.com/DataDog/datadogpy/issues/241 [#249]: https://github.com/DataDog/datadogpy/issues/249 [@martin308]: https://github.com/martin308 [@timvisher]: https://github.com/timvisher
[BUGFIX] API: Discard non-null parameters in api.ServiceCheck.checkmethod, [#206][], [#207][] (thanks [@ronindesign][])
api.ServiceCheck.checkmethod, [#206][], [#207][] (thanks [@ronindesign][])GET to POST for api.Screenboard.share method, [#234][] (thanks [@seiro-ogasawara][])list method to Metric resource, [#230][] (thanks [@jbain][])socket_path option to enable Unix socket traffic to DogStatsD 6, [#199][]<!--- The following link definition list is generated by PimpMyChangelog ---> [#199]: https://github.com/DataDog/datadogpy/issues/199 [#201]: https://github.com/DataDog/datadogpy/issues/201 [#203]: https://github.com/DataDog/datadogpy/issues/203 [#206]: https://github.com/DataDog/datadogpy/issues/206 [#207]: https://github.com/DataDog/datadogpy/issues/207 [#230]: https://github.com/DataDog/datadogpy/issues/230 [#233]: https://github.com/DataDog/datadogpy/issues/233 [#234]: https://github.com/DataDog/datadogpy/issues/234 [@jbain]: https://github.com/jbain [@ronindesign]: https://github.com/ronindesign [@seiro-ogasawara]: https://github.com/seiro-ogasawara [@shargan]: https://github.com/shargan
[FEATURE] Dogshell: Add filtering options to the monitor show_all command, [#194][]
monitor show_all command, [#194][]<!--- The following link definition list is generated by PimpMyChangelog ---> [#194]: https://github.com/DataDog/datadogpy/issues/194
[FEATURE] API: Add metric metadata endpoints #181
urlfetch HTTP library #168 (thanks @evanj)<!--- The following link definition list is generated by PimpMyChangelog --->
dd.datadogpy logger name is no longer. datadog now uses logger names matching the project hierarchy, i.e.
Logging
dd.datadogpy logger name is no longer. datadog now uses logger names matching the project hierarchy, i.e.
datadog.apidatadog.statsddatadog.threadstatsBy default, datadog loggers are set with a do-nothing handler (NullHandler).
To setup a different handler, one can add a handler
import logging
logging.getLogger("datadog").addHandler(...)
timed decorator, #154 (thanks @tuukkamustonen)timed manually, #155 (thanks @tuukkamustonen)<!--- The following link definition list is generated by PimpMyChangelog --->
[BUGFIX] Dogshell: Fix UnicodeError exceptions when a timeboard name contains non ascii characters, #140
UnicodeError exceptions when a timeboard name contains non ascii characters, #140RuntimeError exceptions on flush caused by an unsafe thread operation, #143, #151 (thanks @leozc)delete method for Event resource, #145timed context manager to return itself, #147 (thanks @ross)<!--- The following link definition list is generated by PimpMyChangelog --->
[BUGFIX] API: Do not raise on hostname resolution failures, #106
urlfetch as a HTTP library #106<!--- The following link definition list is generated by PimpMyChangelog --->
[BUGFIX] Dogshell: Print usage when no argument is given on Python 3, #123
tags parameters when constant_tags is set, #94 (thanks @steven-liu)[@timed][] decorator, #126 (thanks @mgood)tags parameters when constant_tags is set, #94, #117 (thanks @steven-liu)alert_type option for event post, #120 (thanks @drstevens)DATADOG_TAGS environment variable, #114 (thanks @ewdurbin )DATADOG_TAGS environment variable, #114 (thanks @ewdurbin )Metrics, #103None values, #119 (thanks @dcrosta)event stream, #124<!--- The following link definition list is generated by PimpMyChangelog --->
[BUGFIX] Fix typo in Dogshell breaking the Timeboard pull_all method, #92
pull_all method, #92constant_tags support to ThreadStats and Statsd events, #90 (thanks @jofusa)<!--- The following link definition list is generated by PimpMyChangelog --->
[FEATURE] Option to time in ms with statsd, #78 (thanks @g--)
[FEATURE] Constant tags client option to append tags to every submitted metrics, #68 (thanks @jofusa)
<!--- The following link definition list is generated by PimpMyChangelog --->
[OTHER] Update requests library, per CVE-2015-2296, #63
unmute arg (all_scopes) to allow clearing all mute settings for a given monitor, #58statsd, #65 (thanks @clokep)mute_all/unmute_all and mute/unmute methods, #58Metric.send method to play nice with multiple metrics, #59 (thanks @kuzmich)metric_type parameter to type in Metric.send method, #64requests library, per CVE-2015-2296, #63<!--- The following link definition list is generated by PimpMyChangelog --->
Your coding agent can read these notes before it upgrades. Set up the MCP server →