

# geocoder

`geocoding.geocoder`

Module for geocoding solar system addresses.

## Functions

| Name | Description |
|----|----|
| [apply_mappings](#nova_ec.geocoding.geocoder.apply_mappings) | Apply a dictionary of string replacements to an address. |
| [create_summary_report](#nova_ec.geocoding.geocoder.create_summary_report) | Create a summary report with rich tables. |
| [get_most_recent_file](#nova_ec.geocoding.geocoder.get_most_recent_file) | Get the most recent file matching the given glob pattern based on filename date. |
| [load_config](#nova_ec.geocoding.geocoder.load_config) | Load configuration from YAML file and resolve path variables. |
| [load_existing_responses](#nova_ec.geocoding.geocoder.load_existing_responses) | Load existing geocoding responses with error handling. |
| [log_dataframe_summary](#nova_ec.geocoding.geocoder.log_dataframe_summary) | Log a summary of the dataframe contents using rich tables. |
| [main](#nova_ec.geocoding.geocoder.main) | Main execution function with enhanced error handling. |
| [resolve_path_variables](#nova_ec.geocoding.geocoder.resolve_path_variables) | Resolve variables in path strings like {variable} with their values. |
| [save_responses](#nova_ec.geocoding.geocoder.save_responses) | Save geocoding responses to JSON file. |
| [standardize_address](#nova_ec.geocoding.geocoder.standardize_address) | Standardize address format with proper error handling. |

### apply_mappings

``` python
geocoding.geocoder.apply_mappings(addr, mappings)
```

Apply a dictionary of string replacements to an address.

### create_summary_report

``` python
geocoding.geocoder.create_summary_report(
    input_df,
    output_df,
    not_geocoded_systems,
    geocoded_new,
)
```

Create a summary report with rich tables.

### get_most_recent_file

``` python
geocoding.geocoder.get_most_recent_file(pattern)
```

Get the most recent file matching the given glob pattern based on filename date.

### load_config

``` python
geocoding.geocoder.load_config(config_path='config.yaml')
```

Load configuration from YAML file and resolve path variables.

### load_existing_responses

``` python
geocoding.geocoder.load_existing_responses(json_path)
```

Load existing geocoding responses with error handling.

### log_dataframe_summary

``` python
geocoding.geocoder.log_dataframe_summary(df, name)
```

Log a summary of the dataframe contents using rich tables.

### main

``` python
geocoding.geocoder.main()
```

Main execution function with enhanced error handling.

### resolve_path_variables

``` python
geocoding.geocoder.resolve_path_variables(config)
```

Resolve variables in path strings like {variable} with their values.

### save_responses

``` python
geocoding.geocoder.save_responses(responses, json_path)
```

Save geocoding responses to JSON file.

### standardize_address

``` python
geocoding.geocoder.standardize_address(address)
```

Standardize address format with proper error handling. Returns None if address cannot be standardized.
