Skip to content

Instantly share code, notes, and snippets.

@jhrr
Created May 31, 2019 14:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jhrr/f8f20644a3f0b3728daaf587f0b83721 to your computer and use it in GitHub Desktop.
Save jhrr/f8f20644a3f0b3728daaf587f0b83721 to your computer and use it in GitHub Desktop.
# .style.yapf
#
# DESCRIPTION
# Configuration file for the python formatter yapf.
#
# This configuration is based on the generic
# configuration published on GitHub.
#
# AUTHOR krnd
# VERSION v1.0
#
# SEE ALSO
# http://github.com/google/yapf
# http://github.com/google/yapf#knobs
# http://gist.github.com/krnd
#
[style]
################### COMMON #################################
# Which predefined style this style is based on.
based_on_style = pep8
################### SPECIFIC ################################
# Generated using `yapf --style=pep8 --style-help`.
# Align closing bracket with visual indentation.
#align_closing_bracket_with_visual_indent = True
# Allow dictionary keys to exist on multiple lines. For example:
#
# x = {
# ('this is the first element of a tuple',
# 'this is the second element of a tuple'):
# value,
# }
#allow_multiline_dictionary_keys = False
# Allow lambdas to be formatted on more than one line.
#allow_multiline_lambdas = False
# Allow splits before the dictionary value.
#allow_split_before_dict_value = True
# Number of blank lines surrounding top-level function and class
# definitions.
#blank_lines_around_top_level_definition = 2
# Insert a blank line before a class-level docstring.
#blank_line_before_class_docstring = False
# Insert a blank line before a 'def' or 'class' immediately nested
# within another 'def' or 'class'. For example:
#
# class Foo:
# # <------ this blank line
# def method():
# ...
#blank_line_before_nested_class_or_def = False
# Do not split consecutive brackets. Only relevant when
# dedent_closing_brackets is set. For example:
#
# call_func_that_takes_a_dict(
# {
# 'key1': 'value1',
# 'key2': 'value2',
# }
# )
#
# would reformat to:
#
# call_func_that_takes_a_dict({
# 'key1': 'value1',
# 'key2': 'value2',
# })
coalesce_brackets = True
# The column limit.
column_limit = 79
# The style for continuation alignment. Possible values are:
#
# - SPACE: Use spaces for continuation alignment. This is default behavior.
# - FIXED: Use fixed number (CONTINUATION_INDENT_WIDTH) of columns
# (ie: CONTINUATION_INDENT_WIDTH/INDENT_WIDTH tabs) for continuation
# alignment.
# - LESS: Slightly left if cannot vertically align continuation lines with
# indent characters.
# - VALIGN-RIGHT: Vertically align continuation lines with indent
# characters. Slightly right (one more indent character) if cannot
# vertically align continuation lines with indent characters.
#
# For options FIXED, and VALIGN-RIGHT are only available when USE_TABS is
# enabled.
#continuation_align_style = SPACE
# Indent width used for line continuations.
#continuation_indent_width = 4
# 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
# Place each dictionary entry onto its own line.
#each_dict_entry_on_separate_line = True
# The regex for an i18n comment. The presence of this comment stops
# reformatting of that line, because the comments are required to be
# next to the string they translate.
#i18n_comment =
# The i18n function call names. The presence of this function stops
# reformattting on that line, because the string it has cannot be moved
# away from the i18n comment.
#i18n_function_call =
# Indent the dictionary value if it cannot fit on the same line as the
# dictionary key. For example:
#
# config = {
# 'key1':
# 'value1',
# 'key2': value1 +
# value2,
# }
#indent_dictionary_value = False
# The number of columns to use for indentation.
#indent_width = 4
# Join short lines into one line. E.g., single line 'if' statements.
#join_multiple_lines = True
# Do not include spaces around selected binary operators. For example:
#
# 1 + 2 * 3 - 4 / 5
#
# will be formatted as follows when configured with a value "*,/":
#
# 1 + 2*3 - 4/5
#
#no_spaces_around_selected_binary_operators = set()
# Use spaces around default or named assigns.
#spaces_around_default_or_named_assign = False
# Use spaces around the power operator.
#spaces_around_power_operator = False
# The number of spaces required before a trailing comment.
#spaces_before_comment = 2
# Insert a space between the ending comma and closing bracket of a list,
# etc.
#space_between_ending_comma_and_closing_bracket = True
# Split before arguments if the argument list is terminated by a
# comma.
#split_arguments_when_comma_terminated = False
# Set to True to prefer splitting before '&', '|' or '^' rather than
# after.
#split_before_bitwise_operator = True
# Split before the closing bracket if a list or dict literal doesn't fit on
# a single line.
#split_before_closing_bracket = True
# Split before a dictionary or set generator (comp_for). For example, note
# the split before the 'for':
#
# foo = {
# variable: 'Hello world, have a nice day!'
# for variable in bar if variable != 42
# }
#split_before_dict_set_generator = True
# Split after the opening paren which surrounds an expression if it doesn't
# fit on a single line.
#split_before_expression_after_opening_paren = False
# If an argument / parameter list is going to be split, then split before
# the first argument.
#split_before_first_argument = False
# Set to True to prefer splitting before 'and' or 'or' rather than
# after.
#split_before_logical_operator = True
# Split named assignments onto individual lines.
#split_before_named_assigns = True
# Set to True to split list comprehensions and generators that have
# non-trivial expressions and multiple clauses before each of these
# clauses. For example:
#
# result = [
# a_long_var + 100 for a_long_var in xrange(1000)
# if a_long_var % 10]
#
# would reformat to something like:
#
# result = [
# a_long_var + 100
# for a_long_var in xrange(1000)
# if a_long_var % 10]
#split_complex_comprehension = False
# The penalty for splitting right after the opening bracket.
#split_penalty_after_opening_bracket = 30
# The penalty for splitting the line after a unary operator.
#split_penalty_after_unary_operator = 10000
# The penalty for splitting right before an if expression.
#split_penalty_before_if_expr = 0
# The penalty of splitting the line around the '&', '|', and '^'
# operators.
#split_penalty_bitwise_operator = 300
# The penalty for splitting a list comprehension or generator
# expression.
#split_penalty_comprehension = 80
# The penalty for characters over the column limit.
#split_penalty_excess_character = 4500
# The penalty incurred by adding a line split to the unwrapped line. The
# more line splits added the higher the penalty.
#split_penalty_for_added_line_split = 30
# The penalty of splitting a list of "import as" names. For example:
#
# from a_very_long_or_indented_module_name_yada_yad import (long_argument_1,
# long_argument_2,
# long_argument_3)
#
# would reformat to something like:
#
# from a_very_long_or_indented_module_name_yada_yad import (
# long_argument_1, long_argument_2, long_argument_3)
#split_penalty_import_names = 0
# The penalty of splitting the line around the 'and' and 'or'
# operators.
#split_penalty_logical_operator = 300
# Use the Tab character for indentation.
#use_tabs = False
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment