---
title: application_settings (Python agent API)
source: https://docs.newrelic.com/docs/apm/agents/python-agent/python-agent-api/applicationsettings-python-agent-api
---

## Syntax

```py
newrelic.agent.application_settings(name=None)
```

Returns an application settings object.

## Description

This returns a reference to the application settings object. The [`global_settings`](https://docs.newrelic.com/docs/agents/python-agent/python-agent-api/global_settings) object contains settings in the configuration file and environment variables; this `application_settings` object additionally includes configuration changes set server-side via the New Relic UI.

The returned settings are nested, hierarchical objects and the setting names match the names in the [agent configuration file](https://docs.newrelic.com/docs/agents/python-agent/installation-and-configuration/python-agent-configuration). The main reason to expose the application settings is if you want your instrumentation to reference the agent-specific local configuration and not what's set server-side.

If the `name` value is not set, the call uses the application name specified in the agent config file or via the `NEW_RELIC_APP_NAME` environment variable.

If the application hasn't been registered with the data collector when this call is made, it returns the value `None`. When a call is successfully made and returns values, it will reflect the values of any local configuration overlaid with the [server-side configuration](https://docs.newrelic.com/docs/agents/manage-apm-agents/configuration/configure-agent#ssc) for that application obtained during registration.

> #### ⚠️ IMPORTANT
>
> Do not make any changes to the application settings object. Do not cache the settings object because it will be invalidated and replaced if a server-side config change causes the agent to re-register the application with the data collector.

## Parameters

| Parameter       | Description                                                                                                                              |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `name` _string_ | Optional. The name of the application. If not set, the name matches the name set in the Python agent configuration for that application. |

## Return values

Returns an application settings object. The object itself does not present any public API; some other calls require it to be passed.

## Examples

### Using an IF statement [#if-example]

You might want to check the configuration settings to determine what custom instrumentation to implement. Here's an example of using an `if` statement with the app settings object:

```py
settings = newrelic.agent.application_settings()

if settings and settings.error_collector.enabled:
    ...
```

### Passing results into dict [#settings-example]

If you are debugging or logging and require the global settings as a traditional Python dictionary object, you can pass the result into a `dict`. For example:

```py
settings_dict = dict(newrelic.agent.application_settings())

for name, value in settings_dict.items():
    print name, value
```

Each `name` will be the full dotted path for that setting.
