# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/00_cons.ipynb.

# %% auto 0
__all__ = ['DOT', 'IPYTHON_ATTRIBUTES', 'PROTOCOL_META_ATTRS', 'ANNOYING_ATTRS', 'MODULE_TYPE_ATTRS', 'DUCK_SPEC_ATTRS']

# %% ../nbs/00_cons.ipynb 6
#| export


# %% ../nbs/00_cons.ipynb 8
#| export


# %% ../nbs/00_cons.ipynb 10
#| export

# %% ../nbs/00_cons.ipynb 12
#| export

# %% ../nbs/00_cons.ipynb 14
#| export

# %% ../nbs/00_cons.ipynb 16
DOT = '.'

# %% ../nbs/00_cons.ipynb 17
__HASH__ = '__hash__'

# %% ../nbs/00_cons.ipynb 18
IPYTHON_ATTRIBUTES = {
    '_ipython_canary_method_should_not_exist_', 
    '_ipython_display_',
    '_repr_mimebundle_',
    '_repr_html_',
    '_repr_markdown_',
    '_repr_svg_',
    '_repr_png_',
    '_repr_pdf_',
    '_repr_jpeg_',
    '_repr_latex_',
    '_repr_json_',
    '_repr_javascript_'
}
'''Attributes that `ipython` might invoke on an object when used in a notebook or console environment.''';

PROTOCOL_META_ATTRS = {'_is_protocol', '_is_runtime_protocol'}
'''Attributes that are invoked when `isinstance` is called on a ProtocolMeta subclass.''';

ANNOYING_ATTRS = IPYTHON_ATTRIBUTES | PROTOCOL_META_ATTRS
'''Attributes that are annoying to deal with when introspecting an object and should be ignored.''';

MODULE_TYPE_ATTRS = set({'__name__', '__doc__', '__loader__', '__spec__'})
'''Attributes that are required to represent a ModuleType''';

# %% ../nbs/00_cons.ipynb 19
DUCK_SPEC_ATTRS = ('asset', 'is_module', 'ducked', 'default', 'bases', 'attrs', 'delayed')
