# Path: openaq/utils.py
# def to_naive_timestamp(timestamp):
#     """
#         Convert a timezone aware timestamp (as a string) and return the
#         python datetime in the local timezone, but without the tzinfo attribute
#     """
#     return dateutil.parser.parse(timestamp).replace(tzinfo=None).isoformat()
# 
# def clean_encodings(unit):
#     if unit not in ('ppm', 'ppb', 'ppt', 'ugm3'):
#         unit = unit.encode('utf-8')
# 
#         if unit == '\xc2\xb5g/m\xc2\xb3':
#             unit = 'ugm3'
# 
#     return unit


from functools import wraps
from unittest import SkipTest
from .utils import to_naive_timestamp, clean_encodings
import warnings
    import pandas as pd
#!/usr/bin/env python
# -*- coding: utf-8 -*-


try:

    _no_pandas = False
except ImportError:
    _no_pandas = True


# Path: openaq/utils.py
# def to_naive_timestamp(timestamp):
#     """
#         Convert a timezone aware timestamp (as a string) and return the
#         python datetime in the local timezone, but without the tzinfo attribute
#     """
#     return dateutil.parser.parse(timestamp).replace(tzinfo=None).isoformat()
# 
# def clean_encodings(unit):
#     if unit not in ('ppm', 'ppb', 'ppt', 'ugm3'):
#         unit = unit.encode('utf-8')
# 
#         if unit == '\xc2\xb5g/m\xc2\xb3':
#             unit = 'ugm3'
# 
#     return unit


# Path: openaq/decorators.py
from functools import wraps
from unittest import SkipTest
from .utils import to_naive_timestamp, clean_encodings
import warnings
    import pandas as pd

#!/usr/bin/env python
# -*- coding: utf-8 -*-


try:

    _no_pandas = False
except ImportError:
    _no_pandas = True


def skipif(skipcondition, msg = ""):