[tool:pytest]
testpaths = tests/
python_files=*test_documentation*
             *test_yapf_format*

[flake8]
max-line-length = 120
ignore =
    D301
    E221 # Space before equal sign
    E251 # Space after equal sign
exclude =
    .git,
    venv,
    __pycache__,
    .pytest_cache,
    tensorlayer.egg-info,
    build,
    dist,
    img

[yapf]
based_on_style=google

# The number of columns to use for indentation.
indent_width = 4

# The column limit.
column_limit=120

# Place each dictionary entry onto its own line.
each_dict_entry_on_separate_line = True

# Put closing brackets on a separate line, dedented, if the bracketed
# expression can't fit in a single line. Applies to all kinds of brackets,
# including function definitions and calls. For example:
#
#   config = {
#       'key1': 'value1',
#       'key2': 'value2',
#   }        # <--- this bracket is dedented and on a separate line
#
#   time_series = self.remote_client.query_entity_counters(
#       entity='dev3246.region1',
#       key='dns.query_latency_tcp',
#       transform=Transformation.AVERAGE(window=timedelta(seconds=60)),
#       start_ts=now()-timedelta(days=3),
#       end_ts=now(),
#   )        # <--- this bracket is dedented and on a separate line
dedent_closing_brackets=True

# Do not split consecutive brackets. Only relevant when DEDENT_CLOSING_BRACKETS is set
coalesce_brackets = False

# Align closing bracket with visual indentation.
align_closing_bracket_with_visual_indent = False

# Split named assignments onto individual lines.
split_before_named_assigns = False

# If an argument / parameter list is going to be split, then split before the first argument.
split_before_first_argument = True

# Split before arguments if the argument list is terminated by a comma.
split_arguments_when_comma_terminated = False

# Insert a space between the ending comma and closing bracket of a list, etc.
space_between_ending_comma_and_closing_bracket = True

# Join short lines into one line. E.g., single line if statements.
join_multiple_lines = True

# Do not include spaces around selected binary operators.
# Example: 1 + 2 * 3 - 4 / 5     =>     1 + 2*3 - 4/5
no_spaces_around_selected_binary_operators = True

# Allow lambdas to be formatted on more than one line.
allow_multiline_lambdas = True

SPLIT_PENALTY_FOR_ADDED_LINE_SPLIT = 10
SPLIT_PENALTY_AFTER_OPENING_BRACKET = 500