qiskit/.pylintrc

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

428 lines
14 KiB
INI
Raw Normal View History

[MASTER]
# Specify a configuration file.
#rcfile=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=CVS
# Add files or directories matching the regex patterns to the blacklist. The
# regex matches against base names, not paths.
ignore-patterns=
# Pickle collected data for later comparisons.
persistent=yes
# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
load-plugins=pylint.extensions.docparams, # enable checking of docstring args
2019-06-03 00:06:24 +08:00
pylint.extensions.docstyle, # basic docstring style checks
# Use multiple processes to speed up Pylint.
jobs=1
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-allow-list=retworkx, numpy, tweedledum
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
confidence=
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=use-symbolic-message-instead
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=spelling, # way too noisy
no-self-use, # disabled as it is too verbose
fixme, # disabled as TODOs would show up as warnings
protected-access, # disabled as we don't follow the public vs private
# convention strictly
duplicate-code, # disabled as it is too verbose
redundant-returns-doc, # for @abstractmethod, it cannot interpret "pass"
# disable the "too-many/few-..." refactoring hints
too-many-lines, too-many-branches, too-many-locals, too-many-nested-blocks,
too-many-statements, too-many-instance-attributes, too-many-arguments,
too-many-public-methods, too-few-public-methods, too-many-ancestors,
unnecessary-pass, # allow for methods with just "pass", for clarity
no-else-return, # relax "elif" after a clause with a return
add ControlledGate class (#2862) * added ControlledGate class updated standard gates to return controlled version if it is also in the standard set. * added assertions to some tests. minor commit added "controlled_ops" parameter gate rules of gate before applying controls. pass controlled gate tests changing to recursive control broken point * added dmitri based decomposition from aqua passing mu1 and mu3 tests working...confusing num_ctrl_qubits linting fix indentation error fix circular import for python 3.5 and 3.6. more import fixes put aqua q_if back in, linting minor commit minor commit linting another attempt to fix circular import across all pltforms. disable cyclic-import pylint check another attempt to remove cyclic import This also eliminates defining q_if in standard extension gates. forgot to add module add_control.py fix style method from qi * copied multi controlled gates from aqua todo: convert the gates to ControlledGates linting style simplify some tests minor fix * simplify code. catch rotation gates to avoid decomposition. * copied multi controlled gates from aqua todo: convert the gates to ControlledGates linting style simplify some tests minor fix Co-authored-by: Shaohan Hu <shaohan.hu@ibm.com> Co-authored-by: Manoel Marques <manoel@us.ibm.com> Co-authored-by: Albert Frisch <alfr@de.ibm.com> * simplify code. catch rotation gates to avoid decomposition. * add reference to base controlled gate This adds "base_gate" as class attribute of ControlledGate which is a class reference. * add some tests. fix imports * remove pdb * linting * add `to_gate` method to Instruction. * lint * linting * linting * add test for instruction_to_gate * add phase argument when computing control matrix * linting
2019-11-12 13:12:31 +08:00
docstring-first-line-empty, # relax docstring style
import-outside-toplevel,
bad-continuation, bad-whitespace # differences of opinion with black
[REPORTS]
# Set the output format. Available formats are text, parseable, colorized, msvs
# (visual studio) and html. You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=text
# Put messages in a separate file for each module / package specified on the
# command line instead of printing them on stdout. Reports (if any) will be
# written in a file name "pylint_global.[txt|html]". This option is deprecated
# and it will be removed in Pylint 2.0.
files-output=no
# Tells whether to display a full report or only the messages
reports=yes
# Python expression which should return a note less than 10 (10 is the highest
# note). You have access to the variables errors warning, statement which
# respectively contain the number of errors / warnings messages and the total
# number of statements analyzed. This is used by the global evaluation report
# (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details
#msg-template=
[BASIC]
# Good variable names which should always be accepted, separated by a comma
# i,j,k = typical indices
# n,m = typical numbers
# ex = for exceptions and errors
# v,w = typical vectors
# x,y,z = typical axes
# _ = placeholder name
Refactor DAGCircuit and Unrollers (#1210) * apply_operation_back/front take the op object * remove wire_type and index input/output_map over objects * restore qargs/cargs fields to op nodes * define wire as (Register,int) object * remove unused concept of precision in unrollers and dag * add more dag tests. new function get_op_nodes * factor out tests into setUp * update unrollers * simplify dagunroller and dagbackend * decomposition rules in gate definitions as list of DAGs * fix cyclic import by moving visualization import inside circuit.draw() * recursive unrolling until hitting basis * adding more mini dags to standard gates * fix unroll AST to DAG * update test_unroller.py * convert load qasm to go qasm, ast, dag, circuit. * remove unrollers _circuitbackend and _printerbackend * instruction.param are qasm.node objects. convert to real or sym at your will. * tweaks to jsonbackend and dagbackend * return register objects in visualization.utils.get_instructions. visualizers get param from node['op'].param now. * Instruction param as sympy objects * unify generation of json for all instructions, including basics * update aer tests to not use unrollers, add simulator extensions as dag basis * clean decomposition rules per gate * snapshot label/slot must be string. clarify allowed instruction param formats * style and lint * make all node names str. * update mapper to new dag * docstring * lint * broken test/python/aer/test_statevector_simulator.py * lint * bug * fix bug in constructing DAG from AST node with conditional * fix get_instructions test * tests * test_dagcircuit.TestDagRegisters.test_add_qreg_creg had empty assert * get_qubits * fix accessing None conditions * fixing backend configuration to new diego style * test dag equality not qasm equality * fixes #1235 by @1ucian0 * use bin_to_hex_keys in qasm simulator py test * update swap mapper to work with new dag * ground truth in test.python.circuit.test_circuit_load_from_qasm.LoadFromQasmTest * import errors * test_qasm_file * update check on qargs * binding mistake * some variation in the test * fix serializing QuantumRegister for c++ sim * op.qargs -> qargs * test.python.test_mapper.TestMapper.test_yzy_zyz_cases * fix some mapper tests. json backend gets qarg from node['qarg'] not op.qarg * keep layouts in old format in transpiler. convert to (reg, int) in mapper * check_map * lint * run a slow test with cpp simulator * typo * test.python.test_mapper_coupling * temporarily skip two tests due to wire fragment bug in mapper * test_circuit_operations.py * test_dag_to_dag_expand_gates_default_basis * test_from_ast_to_dag * test_qobj_2_circuits * style in qiskit/ * style in test/ * docstrings in DAGCircuit * circuit equivalence * dag comparison * pass correct conditional in apply_operation_back * re-remove get_qasm_snapshot test * lint * CHANGELOG. update sympy requirement. * replace one more qasm comparison with circuit comparison
2018-12-01 21:17:33 +08:00
# q,r,qr,cr,qc = quantum and classical registers, and quantum circuit
# pi = the PI constant
Refactor DAGCircuit and Unrollers (#1210) * apply_operation_back/front take the op object * remove wire_type and index input/output_map over objects * restore qargs/cargs fields to op nodes * define wire as (Register,int) object * remove unused concept of precision in unrollers and dag * add more dag tests. new function get_op_nodes * factor out tests into setUp * update unrollers * simplify dagunroller and dagbackend * decomposition rules in gate definitions as list of DAGs * fix cyclic import by moving visualization import inside circuit.draw() * recursive unrolling until hitting basis * adding more mini dags to standard gates * fix unroll AST to DAG * update test_unroller.py * convert load qasm to go qasm, ast, dag, circuit. * remove unrollers _circuitbackend and _printerbackend * instruction.param are qasm.node objects. convert to real or sym at your will. * tweaks to jsonbackend and dagbackend * return register objects in visualization.utils.get_instructions. visualizers get param from node['op'].param now. * Instruction param as sympy objects * unify generation of json for all instructions, including basics * update aer tests to not use unrollers, add simulator extensions as dag basis * clean decomposition rules per gate * snapshot label/slot must be string. clarify allowed instruction param formats * style and lint * make all node names str. * update mapper to new dag * docstring * lint * broken test/python/aer/test_statevector_simulator.py * lint * bug * fix bug in constructing DAG from AST node with conditional * fix get_instructions test * tests * test_dagcircuit.TestDagRegisters.test_add_qreg_creg had empty assert * get_qubits * fix accessing None conditions * fixing backend configuration to new diego style * test dag equality not qasm equality * fixes #1235 by @1ucian0 * use bin_to_hex_keys in qasm simulator py test * update swap mapper to work with new dag * ground truth in test.python.circuit.test_circuit_load_from_qasm.LoadFromQasmTest * import errors * test_qasm_file * update check on qargs * binding mistake * some variation in the test * fix serializing QuantumRegister for c++ sim * op.qargs -> qargs * test.python.test_mapper.TestMapper.test_yzy_zyz_cases * fix some mapper tests. json backend gets qarg from node['qarg'] not op.qarg * keep layouts in old format in transpiler. convert to (reg, int) in mapper * check_map * lint * run a slow test with cpp simulator * typo * test.python.test_mapper_coupling * temporarily skip two tests due to wire fragment bug in mapper * test_circuit_operations.py * test_dag_to_dag_expand_gates_default_basis * test_from_ast_to_dag * test_qobj_2_circuits * style in qiskit/ * style in test/ * docstrings in DAGCircuit * circuit equivalence * dag comparison * pass correct conditional in apply_operation_back * re-remove get_qasm_snapshot test * lint * CHANGELOG. update sympy requirement. * replace one more qasm comparison with circuit comparison
2018-12-01 21:17:33 +08:00
# op = operation iterator
# b = basis iterator
Delay instruction in QuantumCircuit and circuit scheduling (#4555) * add circuit.delay * add scheduling passes * add sequence() that translates scheduled circuit to pulse schedule * add unit in drawing delays * add to_matrix to circuit.Delay * fix a critical bug not able to transpile normal circuits * Fix a bug embeded at the latest merge fix a bug embeded at the latest merge fix a bug embeded at the latest merge * Drop timestep * Rename file * Rename mirror to reverse_ops * Fix num_qubits of Delay to be always one Fix num_qubits of Delay to be always one Fix num_qubits of Delay to be always one * lint * Add arguments checks for transpile() with scheduling_method and add some tests * Accept Parameter for duration of delay * lint * Raise error when executing circuits with delays except for schedule_circuit on pulse backends * Remove duration from Instruction * Move apply_prefix to util * lint lint lint * Put dt conversion logics into one place (delayindt) and make rounding logics consistent with #4480 Put dt conversion logics into one place (delayindt) and make rounding logics consistent with #4480 Remove unnecessary input check in DelayInDt * lint * Add and update tests * Move setting of scheduling passes to preset managers * Fix scheduling passes * Fix Schedule.__eq__ * Add RemoveOpsOnIdleQubits pass * Remove MeasureReschedule pass * Update InstructionDurations and remove DurationMapper * Add QuantumCircuit.instruction_durations * Add instruction_durations argument to schedule() * Remove use of circuit.Instruction.duration * Fix a bug in instruction durations * Catch up with the latest codes * Update qiskit/circuit/quantumcircuit.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Update qiskit/circuit/quantumcircuit.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Update qiskit/execute.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Update qiskit/execute.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Update test/python/circuit/test_scheduled_circuit.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Fix bugs suggested by linter * Move type and value checks in delay() to Delay * docstring * Revert "Update qiskit/execute.py"(7593df8) Fix a critical bug embedded at 7593df8 Revert "Fix a critical bug embedded at 7593df8" This reverts commit 1de91d4951054889302dcc703e8a396483d9e88f. Revert "Update qiskit/execute.py" This reverts commit 7593df8f5893998cb291d9d036575581dc5fd32a. * Update qiskit/compiler/transpile.py Update qiskit/compiler/transpile.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> lint * Remove unnecessary asserts * Add InstructionDurations to InstructionDurationsType * Fix a bug on circuit.instruction_durations * Update sequence() to be independent of schedule() * Remove QuantumCircuit.instruction_durations * Add release note for delay in circuit * Attempt to fix type hint for docs * Update releasenotes/notes/delay-in-circuit-33f0d81783ac12ea.yaml Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Update releasenotes/notes/delay-in-circuit-33f0d81783ac12ea.yaml Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Update releasenotes/notes/delay-in-circuit-33f0d81783ac12ea.yaml Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Update qiskit/transpiler/instruction_durations.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Small fixes * Move up lowering.py and sequence.py Move up lowering.py and sequence.py Fix sequence * Remove sequence from scheduling methods * Expose sequence at top level * Remove coding: utf-8 per PEP 3120 * lint * WIP: make scheduling dt-agnostic * small fixes * update test * Remove support of Parameter for duration of delay * Change default unit to None * Add checking consistency of duration unit * Improve interface for unit conversion * Clean up _parse_transpile_args * lint * Update qiskit/compiler/sequence.py Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> * Rename convert_durations_in_dt to convert_durations_to_dt * Fix arguments check in sequence * Update docstring * Fix to draw unit of delays only if unit is not empty * Improve when and what errors to be raised * Move convert_durations_to_dt() to circuit/duration.py * Add missing super() calls * Keep unit of delays until transpiling * Improve InstructionDurations to convert unit of delays on demand Improve InstructionDurations to convert unit of delays on demand Simplyfy and add tests Fix a degraded bug * Change default unit of delays from None to dt * Add a mock TimeUnitAnalysis pass * Change scheduling passes to use property_set['time_unit'] * Update qiskit/circuit/quantumcircuit.py Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com> * Add validation to force integer duration if unit is 'dt' * Move imports of scheduling passes at the top * Complete TimeUnitAnalysis pass * Update docstring * Add a new argument dt=None to transpile * Add time_unit property to Instruction * Fix to check time unit of duration in assemble * Update doctring * Add dt==dtm check * Add QuantumCircuit.unit * Update qiskit/compiler/transpile.py Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com> * Update qiskit/compiler/transpile.py Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com> * Update qiskit/compiler/transpile.py Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com> * Update qiskit/compiler/transpile.py Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com> * Enable schedule to accept delays with SI units * Remove RemoveOpsOnIdleQubits pass and add a tweak to sequence * Lint and fix a test * Move any_delay_in() to execute.py and make it private * lint Co-authored-by: Lauren Capelluto <laurencapelluto@gmail.com> Co-authored-by: Ali Javadi-Abhari <ajavadia@users.noreply.github.com>
2020-09-23 20:55:47 +08:00
good-names=a,b,i,j,k,d,n,m,ex,v,w,x,y,z,Run,_,logger,q,c,r,qr,cr,qc,nd,pi,op,b,ar,br,p,cp,dt,
__unittest,iSwapGate,mu
# Bad variable names which should always be refused, separated by a comma
bad-names=foo,bar,toto,tutu,tata
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Include a hint for the correct naming format with invalid-name
include-naming-hint=no
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
property-classes=abc.abstractproperty
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Naming hint for module names
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Regular expression matching correct constant names
const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Naming hint for constant names
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
# Naming hint for class names
class-name-hint=[A-Z_][a-zA-Z0-9]+$
# Regular expression matching correct function names
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for function names
function-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct method names
method-rgx=(([a-z_][a-z0-9_]{2,49})|(assert[A-Z][a-zA-Z0-9]{2,43})|(test_[_a-zA-Z0-9]{2,}))$
# Naming hint for method names
method-name-hint=[a-z_][a-z0-9_]{2,30}$ or camelCase `assert*` in tests.
# Regular expression matching correct attribute names
attr-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for attribute names
attr-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct argument names
Parametric Pulses (#3620) * Initial commit additing parametric pulses Commands to Pulse. Functionally complete Gaussian parametric pulse. Allow 'parametric_pulses' to be supplied at assemble time to be consistent with other arguments Consistent ordering in imports Removed outdated TODO and update parametric pulse module docstring Add other parametric pulse shapes to converter pulse shapes Work on docstrings. Make ParametricPulse methods abstract Continue adding docstrings. Placeholders for reno note and tests Rename SquarePulse -> ConstantPulse. Add placeholder tests across multiple test files Improve how parameters are extracted from the parametric pulse classes to a dict. Params are now 'frozen' as properties. Complete drag documentation. Handle complex param serialization Cast amp to complex. Start writing tests Write release note, including prelude note Small doc improvements and remove AcquireChannel from release notes (does not apply) Do not 'zero ends' by default Add command tests Small change to reno note, add placeholder for schedule tests Fix cyclic import error and other style fixes. Add test docstrings Add schedule and qobj conversion tests Fix bug in qobj -> instruction converter, add test Add assembler tests Pick a more reasonable sigma for gaussian pulses. Add visualization test Respond to Daniel Egger's helpful feedback Add 'width' as optional parameter to discrete pulse lib gauss_square, since GaussianSquare command takes it (user consistency). Fixup docstring mistake, change type hint for gaussian square width to float Remove 'remove_baseline' option Respond to Zach's feedback: Fixed bug in pulse library. Fixed up old reference to 'square' pulse. Added check that 'width' is non negative Apply suggestions from code review documentation improvements thanks to Thomas! Co-Authored-By: Thomas Alexander <thomasalexander2718@gmail.com> Update the documentation for the DRAG pulse * Validate parameters properly by class * Get beta restriction in with help from Daniel Egger and Zach Schoenfeld * style fixes * Add tests for beta * Fixup bug (thank you Zach) * Learn a bit more about the drag pulse: if beta < sigma, only the amplitude matters * Improve how the math was written for the drag pulse params check * Improve GaussianSquare error message, add another test * Improve comments in beta check of drag pulse * Improve beta checking, fixup the description a bit * Respond to feedback: variable name updates and improved docstrings * Finish moving get_params to get_parameters * Add PulseCommand class between Command and SamplePulse/ParametricPulse * Finish moving params to parameters, following schema * Abstract methods had to be passed on to PulseCommand from Command. Added draw as an abstract method there and implemented in ParametricPulse * Fix imports, lint, and whitelist dt * Update qiskit/pulse/commands/parametric_pulses.py Co-Authored-By: Thomas Alexander <thomasalexander2718@gmail.com> * Fixup mismatch in schema name * Write out the parameters dict and make it a property * Fixup accidental change * Fix repr * Add one last test to check that the scheduler works with parametric input * Add more assembler tests * Add another test that fails with beta too large * Update qiskit/pulse/commands/parametric_pulses.py Co-Authored-By: Luciano Bello <luciano.bello@ibm.com> Co-authored-by: Thomas Alexander <thomasalexander2718@gmail.com> Co-authored-by: Luciano Bello <luciano.bello@ibm.com>
2020-01-20 16:55:43 +08:00
argument-rgx=[a-z_][a-z0-9_]{2,30}|ax|dt$
# Naming hint for argument names
argument-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct variable names
2020-06-23 20:35:17 +08:00
variable-rgx=[a-z_][a-z0-9_]{1,30}$
# Naming hint for variable names
2020-06-23 20:35:17 +08:00
variable-name-hint=[a-z_][a-z0-9_]{1,30}$
# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Naming hint for class attribute names
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
# Naming hint for inline iteration names
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
[ELIF]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=105
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,dict-separator
# Maximum number of lines in a module
max-module-lines=1000
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
[LOGGING]
# Logging modules to check that the string format arguments are in logging
# function parameter format
logging-modules=logging
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,XXX,TODO
[SIMILARITIES]
# Minimum lines number of a similarity.
min-similarity-lines=4
# Ignore comments when computing similarities.
ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=no
[SPELLING]
# Spelling dictionary name. Available dictionaries: none. To make it working
# install python-enchant package.
spelling-dict=
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains private dictionary; one word per line.
spelling-private-dict-file=.local-spellings
# Tells whether to store unknown words to indicated private dictionary in
# --spelling-private-dict-file option instead of raising a message.
spelling-store-unknown-words=no
[TYPECHECK]
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis. It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local,QuantumCircuit
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
[VARIABLES]
# Tells whether we should check for unused import in __init__ files.
init-import=no
# A regular expression matching the name of dummy variables (i.e. expectedly
# not used).
dummy-variables-rgx=(_+[a-zA-Z0-9]*?$)|dummy
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid to define new builtins when possible.
additional-builtins=
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,_cb
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,future.builtins
[CLASSES]
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,__new__,setUp
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcs
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,_fields,_replace,_source,_make
[DESIGN]
# Maximum number of arguments for function / method
max-args=8
# Argument names that match this expression will be ignored. Default to name
# with leading underscore
ignored-argument-names=_.*
# Maximum number of locals for function / method body
max-locals=15
# Maximum number of return / yield for function / method body
max-returns=6
# Maximum number of branch for function / method body
max-branches=12
# Maximum number of statements in function / method body
max-statements=50
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of attributes for a class (see R0902).
max-attributes=10
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
# Maximum number of public methods for a class (see R0904).
max-public-methods=35
# Maximum number of boolean expressions in a if statement
max-bool-expr=5
[IMPORTS]
# Deprecated modules which should not be used, separated by a comma
deprecated-modules=optparse
# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled)
import-graph=
# Create a graph of external dependencies in the given file (report RP0402 must
# not be disabled)
ext-import-graph=
# Create a graph of internal dependencies in the given file (report RP0402 must
# not be disabled)
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no
[EXCEPTIONS]
# Exceptions that will emit a warning when being caught. Defaults to
# "Exception"
overgeneral-exceptions=Exception