coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.

Overview
https://cloud.githubusercontent.com/assets/5716520/24838296/a9cf5f04-1d45-11e7-855c-47b816ce1e09.png

"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."John F. Woods


Linux Build Status Windows Build status macOS Build Status codecov.io Documentation Status AGPL OpenHub


coala provides a unified interface for linting and fixing code with a single configuration file, regardless of the programming languages used. You can use coala from within your favorite editor, integrate it with your CI, get the results as JSON, or customize it to your needs with its flexible configuration syntax.

coala supports popular programming languages including Python, C/C++, Java, JavaScript, CSS, and several others out of the box.

Install coala | Get Involved | Chat | Roadmap | Blog | Twitter

'Throughput Graph'
Comments
  • .coafile: Add section for YML

    .coafile: Add section for YML

    New section for YML files only.

    Fixes https://github.com/coala/coala/issues/4372

    For short term contributors: we understand that getting your commits well defined like we require is a hard task and takes some learning. If you look to help without wanting to contribute long term there's no need for you to learn this. Just drop us a message and we'll take care of brushing up your stuff for merge!

    Checklist

    • [x] I read the commit guidelines and I've followed them.
    • [x] I ran coala over my code locally. (All commits have to pass individually. It is not sufficient to have "fixup commits" on your PR, our bot will still report the issues for the previous commit.) You will likely receive a lot of bot comments and build failures if coala does not pass on every single commit!

    After you submit your pull request, DO NOT click the 'Update Branch' button. When asked for a rebase, consult coala.io/rebase instead.

    Please consider helping us by reviewing other peoples pull requests as well:

    The more you review, the more your score will grow at coala.io and we will review your PRs faster!

    type/bug importance/high difficulty/newcomer process/pending review area/CI size/S difficulty/low difficulty/medium area/results area/core importance/critical area/documentation area/tests 
    opened by mykromo 118
  • coala_main.py: Fix E501:10:80:line too long

    coala_main.py: Fix E501:10:80:line too long

    …2:462:12:no newline at end of file

    For short term contributors: we understand that getting your commits well defined like we require is a hard task and takes some learning. If you look to help without wanting to contribute long term there's no need for you to learn this. Just drop us a message and we'll take care of brushing up your stuff for merge!

    Checklist

    • [x] I read the commit guidelines and I've followed them.
    • [x] I ran coala over my code locally. (All commits have to pass individually. It is not sufficient to have "fixup commits" on your PR, our bot will still report the issues for the previous commit.) You will likely receive a lot of bot comments and build failures if coala does not pass on every single commit!

    After you submit your pull request, DO NOT click the 'Update Branch' button. When asked for a rebase, consult coala.io/rebase instead.

    Please consider helping us by reviewing other peoples pull requests as well:

    The more you review, the more your score will grow at coala.io and we will review your PRs faster!

    process/pending review size/XS 
    opened by richardson-souza 81
  • Development_Setup.rst: Rephrase instructions

    Development_Setup.rst: Rephrase instructions

    Adds brief description about "Installing from Git" section.

    Closes https://github.com/coala/coala/issues/3903.

    For short term contributors: we understand that getting your commits well defined like we require is a hard task and takes some learning. If you look to help without wanting to contribute long term there's no need for you to learn this. Just drop us a message and we'll take care of brushing up your stuff for merge!

    Checklist

    • [x] I read the commit guidelines and I've followed them.
    • [x] I ran coala over my code locally. (All commits have to pass individually. It is not sufficient to have "fixup commits" on your PR, our bot will still report the issues for the previous commit.) You will likely receive a lot of bot comments and build failures if coala does not pass on every single commit!

    After you submit your pull request, DO NOT click the 'Update Branch' button. When asked for a rebase, consult coala.io/rebase instead.

    Please consider helping us by reviewing other peoples pull requests as well:

    The more you review, the more your score will grow at coala.io and we will review your PRs faster!

    size/XS difficulty/medium importance/medium 
    opened by EverWinter23 70
  • coala: Add file caching and remove Tagging

    coala: Add file caching and remove Tagging

    With --caching the user can run coala only on those files that had changed since the last time coala was run. This should improve the running time of coala.

    process/approved size/XXL cool and awesome review carefully! 
    opened by adtac 63
  • WIP: .coafile: Add RSTCheckBear in rst section

    WIP: .coafile: Add RSTCheckBear in rst section

    This adds RSTCheckBear in rst section of coafile to avoid corrupt code blocks

    Closes: https://github.com/coala/coala/issues/3824

    For short term contributors: we understand that getting your commits well defined like we require is a hard task and takes some learning. If you look to help without wanting to contribute long term there's no need for you to learn this. Just drop us a message and we'll take care of brushing up your stuff for merge!

    Checklist

    • [ ] I read the commit guidelines and I've followed them.
    • [ ] I ran coala over my code locally. (All commits have to pass individually. It is not sufficient to have "fixup commits" on your PR, our bot will still report the issues for the previous commit.) You will likely receive a lot of bot comments and build failures if coala does not pass on every single commit!

    After you submit your pull request, DO NOT click the 'Update Branch' button. When asked for a rebase, consult coala.io/rebase instead.

    Please consider helping us by reviewing other peoples pull requests as well:

    The more you review, the more your score will grow at coala.io and we will review your PRs faster!

    status/blocked process/wip size/XS status/stale 
    opened by mishra-sid 61
  • Ud/sec inherit

    Ud/sec inherit

    Checklist

    Reviewers

    process/pending review size/XXL review carefully! 
    opened by Udayan12167 61
  • logging

    logging

    So, this is how the logging can look like. It seems that logging may be more dependant on printers than was initially thought, so the printer will probably have to be passed in either way. Not sure, how much this is better.

    process/approved size/XL review carefully! 
    opened by Uran198 59
  • .coafile: Use RSTcheckBear and update .coafile

    .coafile: Use RSTcheckBear and update .coafile

    Update .coafile with RSTcheckBear.

    Closes https://github.com/coala/coala/issues/4209

    For short term contributors: we understand that getting your commits well defined like we require is a hard task and takes some learning. If you look to help without wanting to contribute long term there's no need for you to learn this. Just drop us a message and we'll take care of brushing up your stuff for merge!

    Checklist

    • [x] I read the commit guidelines and I've followed them.
    • [x] I ran coala over my code locally. (All commits have to pass individually. It is not sufficient to have "fixup commits" on your PR, our bot will still report the issues for the previous commit.) You will likely receive a lot of bot comments and build failures if coala does not pass on every single commit!

    After you submit your pull request, DO NOT click the 'Update Branch' button. When asked for a rebase, consult coala.io/rebase instead.

    Please consider helping us by reviewing other peoples pull requests as well:

    The more you review, the more your score will grow at coala.io and we will review your PRs faster!

    importance/high process/pending review status/blocked size/L difficulty/low area/documentation review carefully! status/stale 
    opened by mridubhatnagar 55
  • coafileTest: check last 100 commits

    coafileTest: check last 100 commits

    Fix the shortlog regex and add test to check the regex against the last 100 commits

    Fixes https://github.com/coala/coala/issues/3587

    Checklist

    Reviewers

    process/wip size/L review carefully! status/stale 
    opened by affanv14 54
  • .coafile: Adds PycodestyleBear

    .coafile: Adds PycodestyleBear

    PycodestyleBear is added to the [autopep8] section of the global .coafile to run after the PEP8Bear and find problems omitted by the first.

    Closes https://github.com/coala/coala/issues/3242

    Checklist

    Reviewers

    process/pending review size/XXL review carefully! 
    opened by lucianbc 53
  • Added an example to Writing_Good_Commits.rst

    Added an example to Writing_Good_Commits.rst

    For short term contributors: we understand that getting your commits well defined like we require is a hard task and takes some learning. If you look to help without wanting to contribute long term there's no need for you to learn this. Just drop us a message and we'll take care of brushing up your stuff for merge!

    Checklist

    • [x] I read the commit guidelines and I've followed them.
    • [x] I ran coala over my code locally. (All commits have to pass individually. It is not sufficient to have "fixup commits" on your PR, our bot will still report the issues for the previous commit.) You will likely receive a lot of bot comments and build failures if coala does not pass on every single commit!

    After you submit your pull request, DO NOT click the 'Update Branch' button. When asked for a rebase, consult coala.io/rebase instead.

    Please consider helping us by reviewing other peoples pull requests as well:

    The more you review, the more your score will grow at coala.io and we will review your PRs faster!

    process/approved size/XS status/stale 
    opened by karansingh1559 51
  • ImportError: cannot import name 'Iterable' from 'collections'

    ImportError: cannot import name 'Iterable' from 'collections'

    I am going through the coala tutorial, and run into a problem.

    I cloned the coala-tutorial repo to my machine, and when I run command coala --files=src/\*.c --bears=SpaceConsistencyBear --save in the coala-tutorial directory, I got this error message:

    [ERROR][21:11:49] An unknown error occurred. This is a bug. We are sorry for the inconvenience. Please contact the developers for assistance. During execution of coala an exception was raised. This should never happen. When asked for, the following information may help investigating:
    [INFO][21:11:49] Exception was:
    Traceback (most recent call last):
    
    in <module>
        import readline  # pylint: disable=unused-import
    
      File "D:\Python3.10\lib\site-packages\readline.py", line 34, in <module>
        rl = Readline()
    
      File "D:\Python3.10\lib\site-packages\pyreadline\rlmain.py", line 422, in __init__
        BaseReadline.__init__(self)
    
      File "D:\Python3.10\lib\site-packages\pyreadline\rlmain.py", line 62, in __init__
        mode.init_editing_mode(None)
    
      File "D:\Python3.10\lib\site-packages\pyreadline\modes\emacs.py", line 633, in init_editing_mode
        self._bind_key('space',       self.self_insert)
    
      File "D:\Python3.10\lib\site-packages\pyreadline\modes\basemode.py", line 162, in _bind_key
        if not callable(func):
    
      File "D:\Python3.10\lib\site-packages\pyreadline\py3k_compat.py", line 8, in callable
        return isinstance(x, collections.Callable)
    
    AttributeError: module 'collections' has no attribute 'Callable'
    

    And similarly, when I run coala --files=src/\*.py --bears=PEP8Bear --save, I got:

    [ERROR][21:14:05] An unknown error occurred. This is a bug. We are sorry for the inconvenience. Please contact the developers for assistance. During execution of coala an exception was raised. This should never happen. When asked for, the following information may help investigating:
    [INFO][21:14:05] Exception was:
    Traceback (most recent call last):
    
      File "D:\Python3.10\lib\site-packages\coalib\coala.py", line 35, in main
        from coalib.output.ConsoleInteraction import (
    
      File "D:\Python3.10\lib\site-packages\coalib\output\ConsoleInteraction.py", line 8, in <module>
        import readline  # pylint: disable=unused-import
    
      File "D:\Python3.10\lib\site-packages\readline.py", line 34, in <module>
        rl = Readline()
    
      File "D:\Python3.10\lib\site-packages\pyreadline\rlmain.py", line 422, in __init__
        BaseReadline.__init__(self)
    
      File "D:\Python3.10\lib\site-packages\pyreadline\rlmain.py", line 62, in __init__
        mode.init_editing_mode(None)
    
      File "D:\Python3.10\lib\site-packages\pyreadline\modes\emacs.py", line 633, in init_editing_mode
        self._bind_key('space',       self.self_insert)
    
      File "D:\Python3.10\lib\site-packages\pyreadline\modes\basemode.py", line 162, in _bind_key
        if not callable(func):
    
      File "D:\Python3.10\lib\site-packages\pyreadline\py3k_compat.py", line 8, in callable
        return isinstance(x, collections.Callable)
    
    AttributeError: module 'collections' has no attribute 'Callable'
    

    I'm not sure what's wrong with it. Did I ignore something important?

    For your information, I installed coala with command pip install coala-bears, and other thing are as followed:

    • OS: Windows 10 Pro 21H2
    • Python: 3.10.2
    • pip: 21.2.4
    • coala: 0.11.0
    • coala-bears: 0.11.1
    • coala-utils: 0.6.7

    As you may see, I didn't install python in default location, but I don't think this could be the reason.

    Many thanks in advance.

    opened by LingkKang 2
  • Project dependencies have API risk issues

    Project dependencies have API risk issues

    Hi, In coala, inappropriate dependency versioning constraints can cause risks.

    Below are the dependencies and version constraints that the project is using

    appdirs~=1.4
    cached-property~=1.4.3
    cli-helpers~=1.0.2
    git+https://gitlab.com/coala/coala-utils+https://gitlab.com/coala/package_manager
    colorlog>=2.7<4.0
    packaging>=16.8
    Pygments~=2.1
    PyPrint~=0.2.6
    requests~=2.12
    setuptools>=21.2.2
    unidiff~=0.5.2
    

    The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict. The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.

    After further analysis, in this project, The version constraint of dependency setuptools can be changed to >=51.3.0,<=54.1.1.

    The above modification suggestions can reduce the dependency conflicts as much as possible, and introduce the latest version as much as possible without calling Error in the projects.

    The invocation of the current project includes all the following methods.

    The calling methods from the setuptools
    LooseVersion.__init__
    appdirs.user_data_dir
    
    The calling methods from the all methods
    Handler.self.test_program_severity_map.self.test_program_regex.sys.executable.linter
    cls._call_counter.clear
    cls._normalize_desc
    super.do_continue
    SubAspect.docs.check_consistency
    collect_files
    semi_range.expand
    self.result_queue.empty
    ignore.rstrip
    self.uut.get_optional_settings
    obj.__url__
    task_done
    printer.print
    source_ranges.append
    new_metadata.add_deprecated_param
    profiler.dump_stats
    uut.parse_output
    print_section_beginning
    self.test_find_no_issues
    max
    create_arguments_mock.reset_mock
    filenames.values
    response.iter_content
    self.uut1.apply_from_section
    regex.search
    sorted
    FileNotFoundError
    collect_bears_by_aspects
    Diff._add_linebreaks
    self.fail
    FileCache
    run_shell_command
    self.uut.add_line
    Root.subaspects.values
    PrintMoreInfoAction
    logging.warning
    FileProxy.from_file
    s.real_quick_ratio
    DependentBear
    get_default_actions
    BadTestBear
    Formatting
    PropertiedClass
    collect_files_partial
    self.uut.get_line
    self.uut.join
    self.aspectlist_excludes.get
    versions.insert
    splitted_diff.affected_code
    self.name.section_name.split
    object_defined_in
    do_nothing_action.get_metadata
    simplify_section_result
    PathArg
    show_bear
    uut.__json__
    sha1
    fileproxy.clear
    applied_actions.keys
    kwargs_to_delete.append
    apply_from_section.assert_called_once_with
    section.bear_dirs
    self.check_from_docstring_dataset
    self.cache.set_proxymap
    self.defaults.copy
    _warn_if_unused_glob
    arg_parser.add_argument
    cls._get_process_output_metadata
    check_result_ignore
    settings.append
    TasteError
    invalid_actions.items
    self._markup
    self._raw_modified
    self._dependency_dict.get
    section_name.upper
    manager.dict
    uut.add_or_create_setting
    expected.insert
    TestDepBearDependsAAndAA
    bear_globs_with_bears.add
    SourceRange.join
    yield_ignore_ranges
    Result.from_values
    SourcePosition
    os.path.getmtime
    uut.check_prerequisites
    Languages
    warn_nonexistent_targets
    other.delete_line
    metadata_list.append
    uut.process_output
    kwargs.update
    hex
    configure_logging
    basics_match
    section.get
    diff.Result.__json__
    uut.parse
    multiprocessing.Queue
    detect_encoding
    map
    formatter.add_text
    itertools.chain.from_iterable
    src.renamed_file
    language.upper
    create_process_group
    filter_capabilities_by_languages
    toignore.startswith
    self.ManualProcessingTestLinter.sys.executable.linter
    self.run_command
    Distribution
    cls.ClassPadding
    patch.dict
    result.delete_line
    SubAspect_tastes.items
    argparse.HelpFormatter.__init__
    self.contents.update
    RESULT_SEVERITY.MAJOR.linter
    output.getvalue
    result_d.location_repr
    bear.run_bear_from_section
    self.global_bear_list.append
    instantiate_bears
    my_bear.run_bear_from_section
    self.contents
    uut.to_string_dict
    self.is_comment
    i.cm.output.startswith
    requests_mock.Mocker
    TextPosition.__init__
    match.group
    section_override.self.get_section.add_or_create_setting
    usage.replace
    options.keys
    self.BEAR_DEPS.add
    self.__contains__
    uut.execute_task
    k.items
    cache.write
    identifier.line.split.split
    _prepare_options
    abspath.replace
    expected.issubset
    _import_bears
    multiprocessing.Manager
    traceback.format_exc
    self._decrement
    GlobalBear
    time.time
    int.Taste
    show_patch_action.is_applicable
    key.lower
    self.line_parser._parse
    PseudoPlugin
    get_config_directory
    acquire_settings
    self.timestamp.isoformat
    dependant_mock.assert_called_once_with
    first_part.lstrip
    ignore_regex.search
    get_all_bears
    self.assertRaisesRegexp
    requirement.is_installed
    typechain
    self.instancelist_excludes.get
    re.match
    InvalidArgumentsLinter.sys.executable.linter
    aspectbase
    execute_coala
    __import__
    seen.append
    log_capture
    self.flush_cache
    super.put
    text.encode.hashlib.md5.hexdigest
    print_lines
    section_two.append
    Metadata
    instantiated_global_bear_list.append
    cls.get_non_optional_params
    uut1.apply
    DependencyTracker
    second_part.lstrip
    get_55
    os.path.splitext
    regex.sys.executable.linter
    applied_actions.items
    type.__hash__
    DocBaseClass.extract
    RESULT_SEVERITY.str_dict.get
    proxy.contents
    generator.get_file_dict
    append_to_sections
    self.contents.get
    requirements.read.splitlines
    old_create_arguments
    pkg_resources.iter_entry_points
    streams.seek
    show_bears
    not_processed_results.append
    DocBaseClass.generate_diff
    LANGUAGE_NAMES.copy
    TestThreeBear
    self.fb.diff_dict.change_line
    glob.rstrip
    BearWithPrerequisites.check_prerequisites
    self.control_queue.get
    ShowAppliedPatchesAction
    BearWithMoreAnalysis.get_non_optional_settings
    fl.read.splitlines
    bear_c_s2_dependencies.pop
    reload
    info_group.add_argument
    dist.get_url
    req2.install_command
    old_process_output
    name.split
    itemgetter
    AspectTypeError
    RESULT_SEVERITY.INFO.sys.executable.linter
    dbg.runcall
    BearAction
    handle.writelines
    create_arguments_mock
    control_queue.put
    conversion_func
    self.diffs.items
    section.update_setting
    DoNothingAction.get_metadata
    bears.values
    line.content.find
    uut.get
    self._test_glob
    console_printer.print
    result_texts.append
    LogCapture
    cli_sections.get
    self.info
    inspect.isclass
    set.union
    platform.system
    obj.__glob__
    _iter_choices
    values.split
    subprocess_timeout
    uut2.overlaps
    Mock
    self.profile_run
    AssertionError
    match.start
    _iter_relative_dirs
    concat_doc_parts
    expected_correction.self.testfile_content.Diff.from_string_arrays.split_diff
    self._map.get
    relpath
    self.uut.replace_tabs_with_spaces
    map_ambiguous_setting_to_aspect
    show_bear.assert_called_once_with
    line.startswith
    ApplyPatchAction.get_metadata
    self._mk_description
    aspects.dict.items
    filter
    inspect.getmro
    ConsolePrinter
    enums.items
    self.dependency_tracker.get_dependencies
    arg_list.append
    dict
    BearI_NeedsA_NeedsBDuringRuntime
    save_sections
    SubSubAspect
    readme.read
    uut._mk_synopsis
    url
    func1
    super.__contains__
    TestDepBearBDependsA
    fl.read
    self.test_fail_acquire_settings
    bear_test_module
    self.kind
    self._metavar_formatter
    logging.info
    test.replace
    io.StringIO
    self.announce
    uut.warn
    TestAction
    dependencies_to_remove.append
    coala_main
    Debugger
    compiled_pattern.match
    data.append
    code_range.get
    self.sections.popitem
    diff.delete_line
    setuptools.command.build_py.build_py.run
    BearWithPrerequisites
    run
    default_section.get
    formatter.start_section
    self._get_change
    keys.append
    clsattrs.setdefault
    self._convert_output_regex_match_to_result
    source_range.start.line.filename.original_file_dict.rstrip
    global_bear_queue.put
    debug_run
    self.addCleanup
    WINDOWS.linter
    depr_value.keys
    MagicMock
    glob_list
    dist.get_maintainer
    try_to_apply_action
    isinstance
    bear.execute
    original.split
    unittest.mock.Mock
    SystemExit
    Section.Bear.generate_tasks
    TestClass1
    result_file.rstrip
    self.assertNotRegex
    check_call
    groups.get.strip
    str.Taste
    self.name.section_name.split.join.lower
    self.__section_name_surroundings.items
    tmp_local_bears.append
    PatchSet
    dependency_tracker.add
    mpf.format_man_page
    arg.lower
    super.remove
    p.stdout.close
    file.readline
    TestClass3
    execute_section
    uut._mk_footer
    SourceRange.from_values
    get_lexer_for_filename
    self.uut_dir.write_sections
    man_file.write
    self._dependency_dict.keys
    self.test_nonexistent
    MappingProxyType
    error_message.format
    collect_registered_bears_dirs
    spacing_helper.replace_tabs_with_spaces
    _set_section_language
    self.logger.log
    LogPrinter.__init__
    source.lower
    Bear.__init__
    _has_all
    sections.get.str.upper
    test.replace.replace
    KeyError
    BuildManPage
    BearWithAnalysis.get_metadata
    BearB
    BearL_NeedsA
    proxymap.resolve
    self._prepare_settings
    partial
    self.cache.untrack_files
    generate_ordering
    FunctionMetadata.from_function
    PrintMoreInfoAction.get_metadata
    dir
    child
    self.get_executable
    highlight
    getcwd
    globals.values
    f_b.endswith
    self.uut_dir.close
    file.readline.strip
    proxymap.add
    settings.items
    operator
    sections.items
    cased_module_name.lower
    chosen_action.apply_from_section
    conf_writer.close
    print
    val.startswith
    format_line
    self.test_execute_with_filters
    conf.defaults.append
    version.str.split
    hashlib.md5
    self._mk_footer
    self.logs.append
    Bear
    self.dependency_tracker.get_all_dependants
    dir_base
    visit
    int.bool.bool.bool.bool.external_bear_wrap
    suppress_stdout
    ep.load
    LogPrinterMixin
    self._mk_title
    inspect.cleandoc
    _import_module
    callable
    self.add_usage
    filename.endswith
    os.path.realpath
    ShowPatchAction
    update_settings_db
    ThreadPoolExecutor
    new.old.strip
    self.EXPECTED.copy
    dependant_mock.reset_mock
    ACTIONS.pop
    show_enumeration
    dep_strings.append
    wraps
    self._get_process_output_metadata
    self.log_message
    IndexError
    coalib.bearlib.aspects.get
    fill_section
    path
    key.lower.startswith
    PEP440Version
    exc.match
    func
    abspath
    str.int.typed_dict
    output.splitlines
    name.str.lower
    parsed_sections.items
    first_part.lstrip.rstrip
    RootAspect.get_leaf_aspects
    self.process_diff
    self.append
    GlobalBear.kind
    ctrlq.put
    key.startswith
    value.inverse.append
    id
    find_packages
    self.uut.delete_lines
    x.name.lower
    self.assertRegex
    hash
    re.finditer
    deepcopy
    key
    TestCommand.initialize_options
    param_list.items
    self.uut2.apply_from_section
    self._changes.values
    section_result.values
    ListLogPrinter
    split_pos_list.append
    tuple.__new__
    LogPrinter
    mock.MagicMock
    egg_name_to_requirement
    desc.strip
    exists
    capture.check
    _absolute_flat_glob
    self.parse_output
    FileDict
    InvalidFilterException
    StringIO
    result.extend
    self.build_editor_call_args
    self.assertSetEqual
    check_conflicts
    Result
    string.str.strip
    self.check_validity
    Section.Bear.analyze
    p.stdout.read
    tee
    self.assertIsNone
    ZeroOffsetError
    ZeroOffsetLocalBear
    CounterHandler.get_num_calls_for_level
    ClosableObject.__init__
    inputs_group.add_argument
    self.ExceptionValue
    filedict2.keys
    pat.endswith
    TestBear.missing_dependencies
    pip_list.decode
    EntryPoint1
    self.result_queue.get
    position_is_escaped
    tempfile.gettempdir
    _position_is_bracketed
    self.parser.split
    self.get_section
    get_file_dict
    self.documentation.splitlines
    version.final._estimate_previous
    self.logger.setLevel
    pattern_positions_dict.items
    output.format
    relative_glob_function
    local_bear.get_metadata
    linter
    fb.readlines
    versions.append
    self.get_metadata
    isdir
    which
    source_range.expand
    bear.check_prerequisites
    aspect.__name__.lower
    self.test_show_language_bears
    other_keys.append
    subprocess.check_output
    self.message_queue.put
    self.debug
    docstyle_settings.contents.items
    enumerate
    requests.get
    get_running_processes
    verify_local_bear
    TestClass
    Root.Metadata.CommitMessage.Shortlog.TrailingPeriod
    pattern.replace
    str.__new__
    global_bear_instance.kind
    extract_documentation_with_markers
    os.getcwd
    requests.exceptions.ReadTimeout
    bear_c_s1_dependencies.pop
    self.uut.get_indentation
    self.cast_type
    dependency_tracker.get_dependencies
    hash_id
    editor.strip
    patch.object
    FileDictGenerator
    results.keys.lower
    source_ranges_match
    c.isnumeric
    STR_GET_VAL_FOR_SETTING.format
    ClassPadding
    aspectlist._remove
    shlex.quote
    partialmethod
    LOG_LEVEL.str_dict.get
    BearH_NeedsG
    stderr.split
    file.splitlines
    uut.copy
    json.load
    self.test_program_severity_map.output_regex.linter
    self.__proxymap.resolve
    datetime.timedelta
    Queue
    self.uut.affected_code
    iimport_objects
    string.strip.startswith
    filenames.items
    translate
    CircularDependencyError
    error_files.append
    self.assertIsNot
    run_local_bears
    profiler.runcall
    temp_string.find
    vstring.startswith
    section.is_enabled
    TestTwoBear
    DummyProcess
    str.int.typed_ordered_dict
    sum
    TypeError
    self.str.strip
    line.split
    section.delete_setting
    uut.overlaps
    self.queue.get
    arg_parser.add_argument_group
    warn_config_absent
    SourceRange.from_values.__json__
    RaiseTestExecuteBear
    shutil.copy2
    cls.type.all.append
    os.rename
    uut.log_exception
    real_importer
    self.err
    ConflictError
    argparse.ArgumentParser
    fileproxy.replace
    asyncio.wait_for
    generate_consistency_check
    process.wait
    import_objects
    LooseVersion.__init__
    p.stdout.readline
    COMPLEX_TEST_STRING.find
    runner.start
    uuid.uuid4
    run_interactive_shell_command
    self.update_description
    result_c.location_repr
    bear.message_queue.get
    repr
    KeyboardInterrupt
    remove_range
    run_coala
    choose_action
    logged_deprecated_args.add
    cleandoc
    index.bears_found.append
    self.test_program_severity_map.self.test_program_regex.sys.executable.linter
    cli.append
    self.test_run_coala_no_autoapply
    exit
    os.path.join
    exception_offset.line.split
    get_action_info
    super.__call__
    ensure_files_present
    datetime.utcfromtimestamp
    comparable_real.remove
    makedirs
    BearWithAnalysis.__json__
    ValueError
    self.fa.open.close
    mod_name.split
    sys.path.append
    Documentation.signature.parameters.keys
    MockObjMap
    function
    self.dependency_tracker.resolve
    obj.isoformat
    pytest.mark.usefixtures
    RuntimeError
    getfullargspec
    execute_bear
    self._dump_bear_profile_data
    mode_group.add_argument
    TextLexer
    bear.message_queue.empty
    name_parts.append
    simulate_console_inputs
    _dict.items
    pickle.dumps
    LineParser
    pickle.load
    alternate_diffs.index
    _iter_alternatives
    processing.Manager
    result_b.location_repr
    UnknownLanguageError
    _is_profiled
    self._dependency_dict.values
    format
    start_index.content.strip
    self.local_bear_list.append
    retrieve_stderr
    self.assertIsNotNone
    TestDepBearCDependsB
    has_wildcard
    functools.partial
    get_ignore_scope
    module_name.lower
    self.DocstringTypeRegex
    json.loads
    self.get_comparable_results
    write_keys.append
    requirements.read
    format_lines
    result.get_applied_actions
    super.setUp
    self.bear.get_metadata
    self.logger.getEffectiveLevel
    devtool_exclusive_group.add_argument
    uut._mk_name
    Metadata.CommitMessage.Shortlog.ColonExistence
    cls._get_generate_config_metadata
    _boundary_of_alternatives_indices
    self.get_config_dir
    unescape
    SimpleGlobalBear
    ArgumentParser
    sys.executable.sys.executable.linter
    load_testdata
    func_2
    setting.OrderedDict.items
    pdb.Pdb.do_continue.assert_called_once_with
    p.stdin.flush
    diff.modify_line
    sections.values
    os.path.abspath
    file.write
    set_envvar_in_registry
    log_stream.getvalue.splitlines
    pytest.main
    self.uut.change_line
    difflib.SequenceMatcher
    self.assemble.count
    os.path.expanduser
    uut.get_config_dir
    self.apidoc_commands.append
    bear_c2_dependencies.pop
    get_path_components
    diff_dict.add_lines
    sect.name.lower
    eval
    self.uut.add_lines
    generate_skip_decorator
    disk.read
    diff_dict.delete_line
    self.type
    vstring.strip
    f_a.os.path.basename.startswith
    self.message_queue.get
    DocstyleDefinition.load
    argcomplete.autocomplete
    self.ReturnValue
    convert_int_float_str
    Metadata.CommitMessage.Shortlog.FirstCharacter
    self.cache.track_files
    action.get_metadata
    uut.warn.assert_called_once_with
    SectionCreatable
    self.set_default_section
    print_affected_files
    bear_type
    encapsulators.update
    StringConverter.__init__
    bytearray
    sys.argv.append
    self.test_program_severity_map.self.test_program_regex.linter
    cache_data.get
    date.today
    _apply_section_filter
    fingerprint_generator.update
    bear_instance.execute
    prel_needed_settings.items
    gather_configuration
    filedict1.items
    file_path.lower
    type
    CustomTasksBear
    obj.__json__
    doc_comment.param_dict.get
    glob.endswith
    check_deprecation
    ShowPatchAction.get_metadata
    TestObject.from_section
    process.stdin.close
    reader.read
    BearA
    ExitStack
    self._bold
    queue_fill.put
    match.group.upper
    VisibleWhitespaceFilter
    do_all_environ
    Version
    self.__add_comment
    val.split
    log_queue.put
    conf.copy.update
    self.uut1.is_applicable
    diff.change_line
    path.add
    self.optional_params.keys
    Root
    uut.execute
    LogPrinterThread
    language.lower
    uut.check_circular_dependencies
    parser.format_help
    DocstyleDefinition.get_available_definitions
    type.__new__
    action.is_applicable
    sample_func
    shutil.which
    base._attributes.items
    get_data_path
    fnmatch
    self
    sys.path.insert
    inspect.getdoc
    match.groupdict
    call.assert_called_with
    section.contents.items
    uut.debug
    self._attributes.keys
    self.uut2.update_description
    AspectList
    get_aspect
    remove_result_ranges_diffs
    RESULT_SEVERITY.reverse.get
    EntryPoint
    self.assertIsInstance
    Diff.from_string_arrays
    splitted.strip
    cls.get_executable
    _iglob
    dist.get_long_description
    cm.output.startswith
    uut.print
    unittest.mock.patch.object
    diff.range
    object
    func.__doc__.strip
    uut.logger.log.assert_called_with
    LineCountTestBear
    list.Taste
    section_name.lower
    json.dumps
    DependentOnMultipleZeroTaskBearsTestBear
    self.to_untrack.update
    self.delete_line
    self.__file.write
    _end_of_set_index
    file_dict.items
    result.overlaps
    namedtuple
    wildcard_check_pattern.search
    diff_1.add_lines
    cli_sections.add_or_create_setting
    merged_non_optional_params.update
    param_offset.line.split
    uut.get_executable
    self.uut.get_children
    local_result_list.extend
    initialize_dependencies
    range.affected_source
    diff.split_diff
    os.path.dirname
    aspect
    AbsolutePosition
    self.queue.put
    Bear.missing_dependencies
    uut.BEAR_DEPS.add
    code_range.get.get
    match.group.lower
    original_file.readlines
    bear_class.kind
    self._get_generate_config_metadata
    test_aspect
    match.write
    bool
    uut.get_non_optional_settings
    self._parser._get_formatter
    ACTIONS.append
    f_a.open.close
    uut.defaults.append
    element_list.append
    line.endswith
    self.subaspects.items
    os.rmdir
    f.writelines
    self.dict_from_sections
    self.uut._parse
    output.getvalue.splitlines
    self.logs.__exit__
    bear_instance.kind
    section.append
    datetime.date.today.strftime
    language_config_parser.parse
    os.path.exists
    join_names
    Diff.from_unified_diff
    sio.getvalue
    os.path.relpath
    int_list
    LeafAspectGetter
    Taste
    base_sections.get
    self.assertTrue
    BearWithDependencies
    self.name.lower
    subprocess.Popen
    aspect_path.split
    self.assertGreaterEqual
    matcher.get_grouped_opcodes
    DoNothingAction
    aspects.get_leaf_aspects
    LineDiff
    self.Metadata
    CounterHandler.reset
    sections.set_default_section
    join
    self.uut.write_sections
    _get_kind
    Metadata.CommitMessage.Shortlog.Length
    get_version
    dependency_mock.assert_called_once_with
    lru_cache
    ManPageFormatter._add_format
    item
    uut._mk_options
    pytest.raises
    streams.write
    self._long_desc.replace
    obj.__path__
    self.assertFalse
    proxy.get_disk_contents
    other_section.defaults.copy
    lines.rstrip
    diffs_info.assert_called_once_with
    _compile_multi_match_regex
    self.message
    self.file_diff_dict.clear
    self.check_imported_file_one_test
    uut.apply
    self.ordered_dict.__str__
    EOFError
    TestObject.get_optional_settings
    actions_id.append
    metadata.desc.replace
    fc.readlines
    print_diffs_info
    diff.add_lines
    LanguageDefinition.from_section
    global_result_buffer.append
    string_text.find
    self._parse
    self._filter_out_omitted
    process_output_mock.assert_called_once_with
    re.fullmatch
    uut._mk_description
    keys.index
    get_results
    mode_normal
    self.__refine_key
    dups.add
    bear.kind
    cls.DocstringTypeRegex
    output.append
    bear.get_non_optional_settings
    line.rstrip
    bear_d.dependency_tracker.get_dependencies.pop
    os.makedirs
    strip_ansi.use_stderr.use_stdout.sys.executable.linter
    uut.__getstate__
    self.__file.close
    bool.bool.bool.sys.executable.external_bear_wrap
    input
    stdout.splitlines
    TestClass2
    self.write_section
    uut.download_cached_file
    uut.log
    self.analyze
    alternate_patch_actions.append
    ImportedTestBear.__init__
    cli.defaults.append
    self.cache.get_file_dict
    self.Dummy.external_bear_wrap
    self.assemble
    other.modify_line
    multiline_comment_delimiter.items
    unfulfilled_aspects.append
    time.sleep
    new_doc_comment.assemble
    bear_c1_dependencies.pop
    concurrent.futures.ProcessPoolExecutor
    re.escape
    use_raw_files.pop
    show_possibilities
    Metadata.get_leaf_aspects
    section.upper
    BearE_NeedsAD
    mocked_ipdb.launch_ipdb_on_exception.assert_called_once_with
    self._filter_params
    f_b.os.path.basename.startswith
    logging.getLogger.setLevel
    self.contents.splitlines
    path.isabs
    print_results_no_input
    BrokenReadHTTPResponse
    re.search
    setting.dict.items
    os.remove
    reversed
    c.upper
    range.overlaps
    DocBaseClass
    self.diff_dict.delete_line
    uut.resolve
    os.environ.get
    self.sections.get
    user_sections.get
    print_results_formatted
    item_versions.issubset
    _extract_doc_comment_simple
    self.dependency_results.items
    mock.assert_any_call
    icollect_bears
    isclass
    self.logs.check
    os.path.normcase
    sections.get.get
    self._create_config
    _find_references
    arg.completer
    require_setting
    Setting.__path__
    IgnoreResultAction
    text.encode
    apply_filter
    self.assertGreater
    footer.append
    conf.append
    old.endswith
    Directory
    mode_non_interactive
    section.set_default_section
    Root.Smell.MethodSmell
    aspects._remove
    global_bear_queue.get
    self.non_optional_params.keys
    issubaspect
    self.split_diff
    diff.replace
    self.uut.from_section
    line.lower
    read_requirements
    remove
    run_coroutine_threadsafe
    uut.log_message
    _is_debugged
    tempfile.mkstemp
    datetime.today
    taste_values.get
    log_stream.getvalue
    result.modify_line
    uut.get_all_dependants
    self._generate_linebreaks
    bear_language.pop
    DocstringTypeRegex
    uut.is_applicable
    _func.__call__
    settings_names_dict.keys
    record.created.datetime.utcfromtimestamp.isoformat
    x.lower
    self.test_did_nothing
    previous_diffs.change_line
    map_setting_to_aspect
    bear_c_dependencies.pop
    _extract_doc_comment
    Handler.RESULT_SEVERITY.INFO.sys.executable.linter
    print_result
    newfilename.diff_dict.add_line
    self._changes.get
    prepare_file
    docstring.inspect.cleandoc.split
    Session
    get_public_members
    inverse_dicts
    _get_arg
    non_optional_settings.update
    signature
    uut.build_editor_call_args
    os.path.split
    self.uut.close
    visited_nodes.add
    func_name.mod.getattr
    PrintDebugMessageAction
    KNOWN_EDITORS.keys
    dump_stats.assert_called_once_with
    self.__extract_keys_and_value
    self.diff_dict.add_lines
    winreg.SetValueEx
    sym
    self.delete_lines
    ConfParser
    choice.isalpha
    hasattr
    mode_json
    self.uut.download_cached_file
    get_system_coafile
    sections.update
    File
    item.get
    AspectNotFoundError
    replace
    filter_bears
    datetime.date.today
    cls
    cache.values
    bear.name.lower
    kargs.items
    unittest.mock.call
    diff2.modify_line
    self.assertComparableObjectsEqual
    proxymap.get
    modified_file_dict.keys
    self.assemble.rfind
    re.split
    MalformedComment
    self.__getitem__
    winreg.OpenKey
    append_keys.append
    ask_for_action_and_apply
    Handler.self.test_program_severity_map.output_regex.linter
    os.path.isfile
    file.read
    section_name.lower.sections.append
    fileproxy.contents
    ManPageFormatter._bold
    spacing_helper.replace_spaces_with_tabs
    super.__init__
    filename_queue.get
    self.assertRegexpMatches
    cls.get_metadata
    cls.get_optional_params
    StringComparison
    self.test_find_issues
    Metadata.CommitMessage.Shortlog.Tense
    limit_versions
    RunShellCommandTest.construct_testscript_command
    SubAspect
    result.update
    self.section_name_surroundings.keys
    fail_acquire_settings
    dependencies.add
    self.test_show_patch
    TestOneBear
    elements.append
    all
    suffix_globs.keys
    Dependencies.resolve
    self.assertRaisesRegex
    futures.add
    args.filter_by.append
    is_valid_filter
    process_output_mock
    file_dict.keys
    itertools.chain
    tastes.pop
    cProfile.Profile
    list.linter
    SectionCreatable.__init__
    self.__dict__.copy
    Dummy
    JSONAbleClass
    aspect.subaspects.values
    all_bears.extend
    bytes
    FileDictFileCache
    Popen
    SubAspect.get
    parser.error
    self.check_line_result_count
    fa.readlines
    shlex.split
    self.dependency_results.values
    ApplyPatchAction.apply
    obj.task_done
    key_type
    p.wait
    ConfWriter
    self.get
    arg_parser.parse_args
    get_setuptools_version
    result.set_applied_actions
    get_alternate_patch_actions
    get_testfile_path
    self._get_param
    default_actions.values
    record.getMessage
    complete_file_dict.keys
    ConfParser.parse
    inspect.getfile
    SequenceMatcher
    v.strip
    submodname.isupper
    self.section.append
    doc.parse
    control_queue.get
    EntryPoint2
    bears.keys
    os.pathsep.join
    parse_custom_settings
    dependency.self._dependency_dict.add
    COARC_OUTPUT.substitute
    requirement.install_command
    self.assertNotIn
    bear.Debugger.do_quit
    CommitMessage
    parser.parse
    self.settings.append
    page.append
    self.check_results
    enum
    test_file.read
    no_match.write
    self.random_proxy
    self._mk_options
    collect_all_bears_from_sections
    Counter
    get_filtered_bears
    print_beautified_diff
    self.defaults.update
    metadata.get
    subprocess.call
    stderr.splitlines
    show_language_bears_capabilities
    self.test_execute_with_bad_filters
    uut.run
    on_result.assert_has_calls
    seen.remove
    begin_match.end
    mock.assert_called_once_with
    print_from_name
    result.append
    self.global_bear_queue.put
    result_a.location_repr
    result_list.remove
    GlobalTestBear
    load_configuration
    self.__separate_by_first_occurrence
    cls.generate_config
    options.items
    run_on_edge
    self.executor.shutdown
    change_directory
    getattr
    glob_escape
    added.split
    self.yield_tab_lengths
    frozenset
    self.modify_line
    execute_debugger
    get_successive_nodes
    self.Parameter
    sample_one
    DependentBear.get_non_optional_settings
    DocstringMetadata.from_docstring
    Diff._generate_linebreaks
    lang.lower
    self.add
    self.section_name_surroundings.items
    c.isalpha
    platform.python_version
    self._mk_name
    getenv
    file_dict_generator
    patch
    super.overlaps
    find_user_config
    temp_obj.items
    ResultAction
    aspectsModule
    BearWithPrerequisitesOverride
    DependentGlobalBear
    _iimport_objects
    BearWithAnalysis.get_non_optional_settings
    depr_args.items
    args.update
    self.__key_delimiter.join
    self.deprecated_params.add
    PipRequirement
    groups.strip
    zip
    typed_list
    self.pipReqIsNotInstalledMock
    pickle.loads
    Section
    tempfile.TemporaryDirectory
    traverse_graph_on_cyclic_graph_test
    uut._mk_title
    cache.get_uncached_files
    FailingTestAction
    vars
    SimpleBear
    sys.executable.linter
    ColonExistence
    self._parse_documentation_with_symbols
    print_to_name
    locale.setlocale
    ShowPatchAction.apply
    SETUP_COMMANDS.update
    test_arg_parser
    sys._getframe
    data.splitlines
    i.strip
    self._changes.keys
    self.empty_proxymap
    strip
    self.uut.stats
    collected_dirs.append
    match_function
    proxymap.remove
    p.stdin.write
    i_out.split
    result.origin.lower.split
    difflib.unified_diff
    Root.Redundancy.UnusedVariable.UnusedLocalVariable
    editor_info.get
    opt_params.items
    dirname
    line.rfind
    result.diffs.values
    _extract_doc_comment_standard
    iglob
    annotation
    super.__dir__
    new_metadata.depr_values.append
    _filter_section_bears
    processing.Process
    filepath.os.path.normpath.split
    result.add_lines
    self.assertIn
    uut.get_metadata
    diff3.modify_line
    str_messages.delimiter.str.join.rstrip
    float
    raw.find
    RootAspect.get
    self.logs.__enter__
    filename.lower
    future.result
    fill_queue
    self.check_docstring
    self.test_show_capabilities_with_supported_language
    Redundancy.UnusedVariable.UnusedLocalVariable.Redundancy.UnusedVariable.AspectList.get_leaf_aspects
    HiddenResult
    item_versions.issuperset
    uut.is_enabled
    stripped_line.startswith
    str_list
    failed_actions.add
    json.dump
    formatter.format_help
    copy.deepcopy
    TextRange.join
    formatter.end_section
    LanguageMeta.all.lang.lang.__name__.union
    text.find
    sys.gettrace
    self.uut.apply
    NullPrinter
    line.content.lstrip
    self.assertEquals
    LogMessage
    self.assertLess
    f.write
    arg_parser.format_help
    conf_writer.write_sections
    RESULT_SEVERITY.__str__
    validate_aspect_config
    NamedTemporaryFile
    fh.readlines
    action_dict.keys
    logging.warn
    collect_filters
    _extract_doc_comment_from_line
    self.event_loop.close
    LOG_LEVEL.reverse.get
    self.uut.modify_line
    check_setuptools_version
    open
    self.__parse_lines
    outputs_group.add_argument
    key.str.lower.strip
    ManPageFormatter
    action.dest.action.self._metavar_formatter
    local_bear.get_metadata.filter_parameters
    uut.get_dependants
    delimiter.str.join
    run_local_bear
    preserve_order
    section_copy.__getitem__
    multiprocessing.Process.__init__
    base.get_non_optional_settings
    aspectable_setting.items
    sys.settrace
    load_config_file
    get_next_instance
    self.warn
    convert_to_raw
    class_regex.search
    ranges.append
    self.__write_value
    Exception
    fixed.original.Diff.from_string_arrays.split_diff
    detect.lower
    PrintAspectAction
    provide_all_actions
    main
    obj.__path_list__
    iter
    functools.reduce
    last_part.replacement.first_part.splitlines
    dependency_mock.reset_mock
    section.get.str.upper
    OpenEditorAction
    _assert_comparable_equal
    UnexpectedBear1
    cls.str_optional.format
    close_objects
    get_tidy_path
    cache.track_files
    string.strip
    match.end
    self.FunctionPadding
    runner.join
    self.check_data_set
    BearK_NeedsA
    os.close
    assert_aspect
    filter_section_bears_by_languages
    uut.add_deprecated_param
    self.TestBear.bool.bool.bool.sys.executable.external_bear_wrap
    self._format_args
    str.typed_list
    UnexpectedBear2
    other.add_lines
    p.stderr.read
    self.uut.message_queue.qsize
    unified_diff.splitlines
    self.assertLogs
    setattr
    self.result_callback
    fingerprint_generator.digest
    item.inverse.append
    uut.get_all_dependencies
    streams.read
    diffs.items
    name.rsplit
    configure_json_logging
    diff0.modify_line
    default_arg_parser
    get_local_dependency_results
    self.Reference
    identifiers.items
    run_global_bear
    errors.copy
    BearWithLanguage
    file.writelines
    self._test_fnmatch
    name.lower.update
    f.readlines
    self.raw.decode
    md.create_params_from_section
    result.diffs.items
    coala_delete_orig.main
    doc.assemble.cache_clear
    issubclass
    path_list
    misc_group.add_argument
    nothing_done
    bear_c.dependency_tracker.get_dependencies.pop
    datetime.datetime.now
    self.empty_proxymap.resolve
    globals
    string.strip.endswith
    self.assertEqual
    FunctionMetadata
    partition
    line.content.strip
    self.queue.empty
    source_range.overlaps
    extract_aspects_from_section
    VersionConflict
    dist.get_license
    send_msg
    file_diff_dict.get
    self.check_message
    editor_info.format
    stack.enter_context
    LooseVersion
    logging.debug
    message.format
    cls.Metadata
    self.__get_section_name
    bear.old_run
    get_exitcode
    MultipleAspectFoundError
    uut._create_config
    stderr.getvalue
    pickle_load
    make_temp
    staticmethod
    DocstyleDefinition
    uutuple.add_line
    os.environ.items
    validate_results
    copy
    self._schedule_bears
    section.sections.copy
    BearWithAnalysis
    self.uut.parse
    uut.apply_from_section
    language_bears_capabilities.update
    create_json_encoder
    MyBearAction
    dependencies.pop
    self.pipReqIsInstalledMock
    end_index.content.strip
    processing.Queue
    TextPosition
    process.stdout.close
    sections.keys
    section_copy.delete_setting
    kwargs.get
    OSError
    settings_names_dict.items
    self.__eq__
    permutations
    line.replace
    section.sections.bear_dirs
    self.file_dict.items
    str
    defaultdict
    LocalBear.kind
    getmtime
    RunDecoratedBear
    LocalTestBear
    uut.get_section
    uut.append
    get_global_dependency_results
    getmembers
    self.event_loop.stop
    bear.self.running_futures.remove
    int.typed_list
    aspectname.lower
    escape
    process.is_alive
    retrieve_stdout
    generate_config_mock.reset_mock
    typed_filter
    cls.FunctionPadding
    self.assertRaises
    _resolve
    call
    list_of_aspect.get
    TextRange.from_values
    merged_optional_params.update
    self.uut.replace_spaces_with_tabs
    self.uut.is_applicable
    self.create_arguments
    actions_desc.append
    Printer
    metadata_list.insert
    Documentation
    modified_lines.append
    executor.submit
    key.upper
    self.assertResultsEqual
    uut.get_dependencies
    type.__init__
    i.sourcerange.file.file_dict.rstrip
    DynamicTaskBear
    partial.__new__
    LocalBear.__init__
    tuple
    FileProxy
    enums.copy
    new_comment.assemble
    self.Debugger.super.__init__
    InvalidateTestAction
    calc_line_col
    process_output_mock.assert_not_called
    self.check_invalidity
    kinds.index
    uut.finalize_options
    original.diff_string.Diff.from_unified_diff.split_diff
    self.assert_result_equal
    part.strip
    Metadata.Redundancy.UnusedVariable.AspectList.get_leaf_aspects
    k.items.value.key.value.order.key.items
    dictionary.items
    _sort_bears
    filedict3.keys
    Result.__init__
    float_list
    traverse_graph_test
    json.JSONEncoder.default
    obj.items
    self.control_queue.empty
    DocumentationComment.from_metadata
    self._get_create_arguments_metadata
    self.unreadable_path.lower
    proxy.lines
    persistent_hash
    pickle.dump
    ApplyPatchAction
    list
    path.normcase
    self.bear.execute
    self.uut.to_string_dict
    self.execute_run
    self.assertLessEqual
    _setting_is_enabled
    uut.logger.log.assert_any_call
    groups.get
    self.add_lines
    discard_matches.add
    future.add_done_callback
    pattern_choices_dict.items
    type.__dir__
    current_section.add_or_create_setting
    filter_vector_to_dict
    msg.append
    self.run
    self.stats
    copy.copy
    Handler.self.test_program_severity_map.self.test_program_regex.linter
    results.append
    instantiate_processes
    self.__prepare_key
    self.__write_section_name
    STR_INVALID_OPTION.format
    marker_set.marker_dict.append
    super
    diff_expected.replace
    self.contents.copy
    dependency_results.get
    arg
    diff.stats
    uut.create_params_from_section
    test
    self._format_usage
    self.message_base.format
    stdout.getvalue
    section.desc.splitlines
    path.remove
    TextRange.expand
    req_ipdb.is_installed
    order
    FunctionPadding
    GlobalBear.__init__
    parsed.append
    re.sub
    function_regex.search
    self.assertIs
    PrintAspectAction.get_metadata
    processes.append
    response.raise_for_status
    self.setup_dependencies
    choice.upper
    self.uut.delete_line
    colored
    uutuple.delete_line
    format_str.format
    queue.Queue
    language.Language.get_default_version
    TestBear
    self.uut.start
    traverse_graph
    ArgumentParser.error
    original_file_dict.keys
    list.__init__
    get_all_languages
    assert_supported_version
    joined.update
    IgnoreResultAction.is_applicable
    expected_correction.self.testfile2_content.Diff.from_string_arrays.split_diff
    instantiated_local_bear_list.append
    filedict2.items
    path.replace
    results.keys
    logging.getLogger
    self.print
    ApplyPatchAction.is_applicable
    language.type
    self._mk_synopsis
    ShellCommandResult
    dump_stats.assert_called_with
    shutil.rmtree
    TypedTestBear
    groups.lower
    self.EmptyTestLinter.sys.executable.linter
    req_ipdb.install_command
    logging.config.dictConfig
    Metadata.CommitMessage.Body.Length
    ManPageFormatter._underline
    file_line.original_file.rstrip
    bear.new_result
    iter_modules
    self.test_show_all_bears
    generate_repr
    cache.keys
    run_bear
    check
    DistutilsOptionError
    _file.readlines
    get_next_global_bear
    Diff
    OpenEditorAction.is_applicable
    basename.endswith
    fh.read
    new_diff.orig_diff._raw_modified
    dependency_bear_type
    self.file_name_queue.put
    user_paths.insert
    not_implemented.parse
    TestCommand.finalize_options
    action.dest.upper
    LinterClass.register
    fill_settings
    self.EmptyTestLinter.regex.sys.executable.linter
    collect_dirs
    aspect.__qualname__.lower
    pickle_dump
    self.event_loop.run_in_executor
    item.lower
    objs.startswith
    value_type
    argspec.annotations.get
    result.get
    icollect
    get_valid_version
    diff1.modify_line
    fill_section_method
    self.uut3.apply_from_section
    self.instancelist_excludes.get_leaf_aspects
    process.stderr.close
    user_data_dir
    uut1.overlaps
    self.result_queue.put
    self.dependency_tracker.get_dependants
    begin_match.group
    relative_recursive_glob
    formatter.add_arguments
    file.readlines
    remaining_results.remove
    cls.get_metadata.create_params_from_section
    self.__dict__.update
    generate_eq
    os.path.isabs
    basename.startswith
    string.replace
    print_affected_lines
    doc.assemble
    getmro
    DocumentationComment
    typed_ordered_dict
    create_arguments_mock.assert_called_once_with
    FunctionMetadata.str_optional.format
    aspect_instances.append
    Template
    import_module
    dependants.add
    pattern_alternatives_dict.items
    settings_changed
    NotImplementedError
    key.str.lower
    any
    FunctionMetadata.filter_parameters
    uut.get_optional_settings
    update_ordered_dict_key
    threading.Thread.__init__
    args.vars.items
    StringConverter
    merge_section_dicts
    SubaspectGetter
    ismethod
    previous_diffs.modify_line
    Globbing.glob
    SourceRange
    skipIf
    parser.parse_args
    aspectize_sections
    re.compile
    get_all_bears_names
    Root.Spelling
    parser.format_man_page
    Origin
    self._dependency_dict.items
    print_bears
    print_bears_formatted
    ImportError
    streams.flush
    self.test_arg_parser.add_argument
    os.cpu_count
    applier
    self.__write_keys_val_to_file
    GeneratePatchesAction
    config_group.add_argument
    get_cpu_count
    frozen_datetime.tick
    parts.append
    default_arg_parser.parse_args
    self.replace
    bool.Taste
    mode_format
    predicate
    occurences.append
    autoapply_actions
    default_actions.items
    chain.from_iterable
    TextRange
    Metadata.CommitMessage.get_leaf_aspects
    bears.add
    bear_tuple.name.lower
    action.apply_from_section
    self.key_delimiters.key_part.StringConverter.__iter__
    language_file.endswith
    os.path.basename
    self.sections.append
    generate_config_mock.assert_called_once_with
    cls.get_public_members.items
    color_letter
    leaf_aspects.append
    new_version_string.split
    TemporaryDirectory
    self.message_queue.join
    s.ratio
    key_tuples.append
    find_language
    dependants.remove
    doc_comment.parse
    aspect.docs.check_consistency
    p.stderr.close
    get_testfile_name
    members.generate_repr
    freeze_time
    traceback.format_exception
    chain
    bears.items
    self.write
    TextRange.__init__
    uut.str_optional.format
    allowed_options.add
    SourceRange.from_absolute_position
    self.apply
    dist.get_description
    bear
    dedent
    b.overlaps
    ProcessingTestLogPrinter
    ver.readline
    fl.write
    self.type.tastes.items
    datetime.datetime.now.strftime
    _compile_pattern
    Section.bear_dirs
    OrderedDict
    skip
    locale.getlocale
    Handler.sys.executable.linter
    filters.items
    get_settings_hash
    isfile
    uutuple.modify_line
    part.lower
    os.environ.split
    old_version_string.split
    self.cache.write
    result.location_repr
    ZeroOffsetGlobalBear
    aspectable_settings.items
    filtered_bears.insert
    begin_match.start
    LocalBear
    os.listdir
    aspects.get
    executor.cache.result_callback.bears.Session.run
    show_patch_action.apply_from_section
    isaspect
    self.check_function_metadata_data_set
    name.rstrip
    set_python_path
    closing_index.index.pattern.replace
    TestLinter.strip_ansi.use_stderr.use_stdout.sys.executable.linter
    highlight_text
    dbg.do_settings
    req1.install_command
    failed_actions.discard
    print_results
    results_for_section.append
    parse_lang_str
    uut.add
    self.uut.execute
    search
    bears_without_tasks.append
    replacement.rstrip
    get_args
    self._dependency_dict.pop
    value.items
    assert_right_type
    bear.generate_tasks
    sys.exit
    unescaped_rstrip
    AlternatePatchAction
    patcher.start
    bool_list
    dependency.get_non_optional_settings
    self.__get_append_val
    self.clear_all_breaks
    defaults.append
    self.get_metadata.create_params_from_section
    len
    self.assertCountEqual
    self.run_bear_from_section
    self._processing_function
    bear.get_metadata
    self.type.check_prerequisites
    self.lexer.add_filter
    renamed_files.get
    TestResult
    unittest.mock.patch
    Setting
    TestObject.get_non_optional_settings
    TestAction.get_metadata
    cls._get_create_arguments_metadata
    generate_config_mock
    docstyle_settings.get
    name.lower
    TestLinter.sys.executable.linter
    self.RootDirTestLinter.WINDOWS.linter
    cli_sections.contents.pop
    self._cleanup_bear
    _is_subclass
    test_child
    conf.copy
    mock.reset_mock
    obj
    Metadata.CommitMessage.Body
    params.items
    section_one.append
    src_range.renamed_file
    _extract_doc_comment_continuous
    super.__setattr__
    Setting.__glob__
    generator.inputs.append
    result_files.update
    filter_results
    file_content.splitlines
    self.get_ignore_comment
    parse_cli
    log_exception
    list_glob_results
    new_vals.items
    end.len.line.len.begin.len.line.strip
    self.Description
    parser.add_argument
    FailingBear
    non_free_dependants.add
    lines.rstrip.split
    OpenEditorAction.get_metadata
    message_queue.put
    run_global_bears
    BearD_NeedsC
    matches.append
    self.uut.apply_from_section
    super.__getitem__
    AttributeError
    arg_parser.add_mutually_exclusive_group
    get_file_list
    a.overlaps
    winreg.ConnectRegistry
    action.apply
    fix.lower
    logging.log
    process_queues
    sio.getvalue.count
    BearJ_NeedsI
    self.uut.get_non_optional_settings
    self.__init_sections
    self.log_queue.put
    language_names.append
    setup
    self.log
    self.ipdbMock
    filter_function
    retval_desc.strip
    parsed.pop
    stdout.strip.splitlines
    StandAloneBear.get_non_optional_settings
    fp.read
    second_part.lstrip.rstrip
    self.ClassPadding
    objs.endswith
    line_parser._parse
    group
    obj.__glob_list__
    name.startswith
    lexer.add_filter
    file_dict_0.copy
    console_output.append
    Bear.download_cached_file
    TerminalTrueColorFormatter
    glob
    invalid_actions.keys
    reqmock.get
    int
    appdirs.user_data_dir
    self.section_name_surroundings.values
    uut.__setstate__
    min
    tf.isoformat
    asyncio.SelectorEventLoop
    modified_file.readlines
    docstyle.lower
    empty_range.expand
    line.find
    DefaultBear
    SpacingHelper
    acquire_actions_and_apply
    match
    aspect.get_leaf_aspects
    uut.create_arguments
    sections.get
    resolved_bears.append
    create_arg_parser
    self.test_log
    filedict1.keys
    self.assertNotEqual
    collect_bears
    text_range.expand
    inspect.getmembers
    os.path.isdir
    guess_lexer_for_filename
    add_one
    next
    self.__write_key_val
    IgnoreResultAction.get_metadata
    run_local_bears_on_file
    name.lower.startswith
    language_bears_capabilities.items
    subtracted.split
    cache.untrack_files
    unique_results.append
    process_output_mock.reset_mock
    set
    DEPENDENCY_LINKS.append
    self.process_output
    Metadata.CommitMessage.Shortlog
    AspectLookupError
    languages.remove
    self.assertTestResultsEqual
    ver.readline.strip
    self.WrongArgsBear.external_bear_wrap
    sys._getframe.f_locals.get
    fp.write
    add_set.append
    ipdb.launch_ipdb_on_exception
    result.origin.lower
    RootAspect
    _is_defined_in
    external_bear_wrap
    search_leaf
    self.string.splitlines
    bear.strip
    new_comment.assemble.cache_clear
    stdout.strip
    ProxyMapFileCache
    name.strip
    PrintDebugMessageAction.get_metadata
    FunctionMetadata.merge
    os.path.normpath
    typed_dict
    p.communicate
    COAFILE_OUTPUT.substitute
    def_val.split
    deprecate_settings
    delete_files
    ignore_diff.change_line
    section.__iter__
    items.items
    language
    self.uut.get_children_recursively
    self.event_loop.run_forever
    aspects.append
    bear.missing_dependencies
    StringConverter.__iter__
    Converter
    key.prel_needed_settings.append
    part.strip.rstrip
    BearC_NeedsB
    line.strip
    ManPageFormatter._markup
    logging.error
    FileProxyMap
    range
    Root.Metadata.CommitMessage.Shortlog.ColonExistence
    apply_filters
    Printer.__init__
    

    Could please help me check this issue? May I pull a request to fix it? Thank you very much.

    opened by PyDeps 0
  • docs: fix simple typo, documenation -> documentation

    docs: fix simple typo, documenation -> documentation

    There is a small typo in coalib/bearlib/languages/documentation/DocumentationExtraction.py.

    Should read documentation rather than documenation.

    Semi-automated pull request generated by https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

    opened by timgates42 1
  • cib not working, source code cannot be found

    cib not working, source code cannot be found

    I did see cib mentioned in the developer part of the docs. Interested in the list of available Bears, I wanted to run cib show ( http://api.coala.io/en/latest/Developers/Bear_Installation_Tool.html ).

    On a MacBook-Air M1 with Python 3.10.4 installed using brew and pyenv:

    python3 -m venv --copies /opt/util/coala
    /opt/util/coala/bin/pip install -U pip wheel coala cib
    source /opt/util/coala/bin/activate
    cib show
    

    This gives an error because

    Traceback (most recent call last):
      File "/opt/util/coala/bin/cib", line 33, in <module>
        sys.exit(load_entry_point('cib==0.5.6', 'console_scripts', 'cib')())
      File "/opt/util/coala/bin/cib", line 25, in importlib_load_entry_point
        return next(matches).load()
      File "/Users/anthon/.pyenv/versions/3.10.4/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
        module = import_module(match.group('module'))
      File "/Users/anthon/.pyenv/versions/3.10.4/lib/python3.10/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/opt/util/coala/lib/python3.10/site-packages/coala_package_manager/installation_tool.py", line 24, in <module>
        from coalib.bears.requirements.DistributionRequirement import (
    ModuleNotFoundError: No module named 'coalib.bears.requirements'
    

    I tried to find the source code repository for cib, but the PyPI page ( https://pypi.org/project/cib/ ) rather annoyingly refers to itself as Homepage (instead of to some SourceForge/Bitbucket/Github repository or some documentation in which a pointer to the actual source code can be found.

    Apologies if this belongs somewhere else, if so please tell me where.

    opened by AvdN 0
  • " An unknown error occurred. This is a bug. We are sorry for the inconvenience. Please contact the developers"

    Overview Description

    As I was working through the getting started tutorial and tried to run this code coala --files=src/\*.c --bears=SpaceConsistencyBear --save, I got the following output:

    An unknown error occurred. This is a bug. We are sorry for the inconvenience. Please contact the developers for assistance. During execution of coala an exception was raised. This should never happen. When asked for, the following information may help investigating:
    [INFO][10:49:06] Exception was:
    Traceback (most recent call last):
    
      File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/coalib/coala.py", line 35, in main
        from coalib.output.ConsoleInteraction import (
    
      File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/coalib/output/ConsoleInteraction.py", line 13, in <module>
        from coalib.misc.DictUtilities import inverse_dicts
    
      File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/coalib/misc/DictUtilities.py", line 1, in <module>
        from collections import defaultdict, Iterable, OrderedDict
    
    ImportError: cannot import name 'Iterable' from 'collections' (/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/collections/__init__.py)
    

    After reading about a similar issue in the past, I ran pip install 'setuptools==17.0' but that still didn't resolve the issue.

    Steps to Reproduce

    1. git clone https://github.com/coala/coala-tutorial
    2. cd coala-tutorial
    3. coala --files=src/*.c --bears=SpaceConsistencyBear --save
    4. pip install 'setuptools==17.0'

    Expected Results

    "Please enter a value for the setting "use_spaces" (True if spaces
    are to be used instead of tabs.) needed by SpaceConsistencyBear
    for section "cli"
    
    opened by alisonqiu 0
Releases(0.11.0)
  • 0.11.0(May 22, 2017)

                                                       /ss.
                                 -+ooooyhhsoo+++/-...-d+``oy-
                             `:sNMMMMMMMMMMMMMMMMMMMMMMMMNMMMs
                           .sNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd`
                         :hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMm:
                       +mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN.
                     /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNN-
                   /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMhd
                 `yMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmNMMMMMMMMMMm
                `dMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMh  :smMMMMMMMN
                sMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNh+. ./ohNMmh
               -NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMmy/.
              -mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMds/.
              hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd----:oyyyNMMMMMMMyo+-
             `MMMMMMMMMMMMMMMMMMMMMMMMMdMMMMMMMo   `+ydMMMMMMMMMMMMMNs-
             /MMMMMMMMMMMMMMMMMMMMMdo.``-/sMMMM+.omMMMMMMMMMMMMMMMMMMMMh:
             /MMMMMMMMMMMMMMMMMMMs.       oMMMhyMMMMMMMMMMMMMMMMMMMMMMMMMh`
              yNMMMMMMMMMMMMMMMMM/        yMMmmMMMMMMMMMmyo///oyNMMMMMMMMMs
               +mMMMMMMMMMMMMMMMMy         /dMMMMMMMMMd:  ./+/-  :dMMMMMMMd
               `oMMMMMMMMMMMMMMMMd`        .MMMMMMMMMh  .dMMMMMm:  hMMMMMMM:
              oNMMMMMMMMMMMMMMMMMM:        :MMMMMMMMM:  hMMMMMMMm  :MMMMMMM/
            :NMMMMMMMMMMMMMMMMMMMM/        -MMMMMMMMMo  -NMMMMMN/  oMMMMMMM/
            -mMMMMMMdhdMMMMMMMMMMM/`       `dMMMMMMMMM+   :oso/`  oMMMMMMMM:
             :NMMMN.   :dMMMMMMMMM+         :MMMMMMMMMMmo:`   .:smMMMMMMMNo
              .yNMMh:   .mMMMMMMMMd          hMMMMMMMMMMMMMMMMMMMMMMMMMMd.
                 ``       .:////++:           oNMMMMMMMMMMMMMMMMMMMMMMd+`
                                                -+syhhdmmmNNNNNmdhss/.
    

    This release was brought to you by 65 contributors contributing 141 commits.

    The name of this release is BrewBear to highlight the improvements made to our dependency management system, including the addition of brew support for mac users. Mac has been an officially supported platform for a long time and we would like to draw attention to this often overlooked fact. Support has also been added for conda and cargo allowing bears which use linters available from those package managers to manage their dependencies.

    Initial next generation core code has been merged and will be integrated over the coming releases. Until then, please use the current API.

    We have added a release candidate system to our release process to allow users to easily test changes in the latest pre-release version of coala. Instructions for obtaining the rc package will be posted for each minor/major release to the coala gitter channel, blog, and twitter. We encourage all users interested in checking out new features or helping to test these pre-releases on their projects. If you do find a regression in a release candidate, please report it to the issue tracker with the word Regression somewhere in the title.

    Breaking Changes

    • coala now exits with a non zero exit code when error level results are logged. If you relied on coala logging in scripts or other automated systems please modify them to work with the new behavior. You can find all exit codes here. PR #3905

    General

    • Section Inheritance had been added to the coafile parsing. With this change we are deprecating implicit default section inheritance. Instead, you can now have definite section inheritance by using the . in the section title. Append operators are now supported allowing addition of values to inherited section. See the Explicit Setting Inheritance section of the docs for a syntax example and detailed instructions
    • The section name cli is reserved for cli arguments and should not be used in the coala configuration file (coafile). If you are currently using it in a configuration file, coala will warn you.
    • coala now outputs absolute file paths when a bear fails. This should make debugging bear failures easier when using custom bears.

    Usability

    • A new placeholder, source_lines, has been added to the coala --format option. Use it to output the affected lines in the source file when a result occurs.
    • Bears are displayed alphabetically when listed using --show-bears.
    • coala outputs a warning if a setting is overridden in the same section since this is probably not what the user intended.
    • --format is handled correctly when --ci is specified, outputting formatted output without asking questions. Issue#3999
    • coala will report the version of the dependency required when the version check fails. Issue#3982

    Bear Developers

    • @linter decorator works with global bears. See our bear writing docs for more information on how to write a global bear with the @linter decorator.
    • Bear.DownloadCachedFile raises exceptions when the download fails. Please see the requests library docs for a complete list of possible exceptions that will need to be handled.
    • The deprecate_settings decorator now supports multiple deprecations of the same setting. Issue #3537
    • A new SEE_MORE attribute has been added to the Bear class. Use it to attribute (usually by linking the main page) the original tool in linter bears.
    • Unified Diff support has been added to the Diff result, linter and display mechanisms.

    Bugfixes

    • Caching has been fixed to work correctly. Results are only cached when a bear successfully runs. A bear which fails in the middle of a run will not have a result cached anymore. This should make flushing the cache manually mostly unnecessary for end users. PR#3722
    • Non-optional settings check settings from dependent bears now. Previously, it would error because the dependency would not have its settings satisfied. Issue#3149
    • The Result object now handles None values of TextPosition properly. Previously, it would return arbitrary results which would impact bear authors. Issue#3094
    • A few problems when using coala in systems with incomplete locales data have been fixed. This was common in Docker containers. Issue#3906
    Source code(tar.gz)
    Source code(zip)
  • 0.11.0rc2(May 12, 2017)

  • 0.11.0rc1(Apr 27, 2017)

    Shortlog

    • Major changes to exitcode behavior(see docs)
    • default .coafile section will be deprecated soon. Please stop using it now!
    • Initial next gen core code has been commited, however it has not been activated
    • New logging handlers
    • Better aspects support has been added, still not ready for general usage
    • Empty results are not cached. End users shouldn't have to run with --flush-cache anymore
    • coala should now be able to output in unified-diff format
    • golang now has coalang doc bindings (?)
    • coafiles can now use the append (+=) operator to inherit from other sections
    • ...and much more
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Feb 5, 2017)

                       `++-    -o+`                   
                -oo:  :yhho    ohhy:  :oo.            
                :hhhoohhh+      +hhhoohhy:            
            ``.--shhhhhy:        /yhhhhho--..`        
           +hhhhhhhhhhh+          ohhhhhhhhhhh/       
           `/+/////+hhhh/        +hhhy+///////`       
                    -yhhhs     hshhhy-                
       .os/           hhhhy-  -yhhhh           +ss.   
       .yhho           shhho``ohhhs          `ohhy`   
        -yhhs`          +hhhsshhh+          `shhy-    
      .::shhhs++/+yhy////shhhhhhs////yhy++++yhhho::-  
     /hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh/ 
      -::shhhs++++yhy////shhhhhhs          +shhhs::.  
        -yhhs`          +hhhsshhh+          `shhy-    
       .yhho`          shhho``ohhhs           ohhy.   
       .ss+           hhhhy   -yhhhh           /so.   
                    -yhhhs      shhhy-                
           `///////+yhhh+        /hhhh+/////+/`       
           /hhhhhhhhhhho          +hhhhhhhhhhh+       
            `..--ohhhhhy/        :yhhhhhs--.``        
                :hhhoohhh+      +hhhoohhh:            
                -oo:  :yhho    ohhy:  :oo-            
                       `+o-    -++`
    

    For this release we had 168 commits contributed by 66 unique contributors over 2.5 months.

    The name of this release is PolarBear to reflect changes we have made to our release process. We have implemented a release freeze before all releases to serve as a testing period for all staged changes. This should also help us keep releases on schedule.

    This release is an enhancement release which brings the usual slew of improvements to documentation and API. We have started preparing the codebase for the big changes that are outlined in the cEPs like section inheritance and the next generation core.

    Known Bugs

    • Results are cached even if a bear does not run. This can lead to empty results where there should be errors. To temporarily deal with this run coala with the --flush-cache option

    General

    • Test cases have been improved across the board so they catch more errors before production.
    • Log output via json has been added which is accessible by using the --log-json option.
    • coala domain has been changed from coala-analyzer.org to coala.io. Please file a bug if you find any broken links or instances of the old url.

    Usability

    • emacs has been added to list of editors that coala supports.
    • coala will now output a warning if you specify an editor that is not known.
    • The noqa keyword used by other linters as an ignore keyword is now supported as a coala ignore keyword.
    • libclang-py3 update to 3.4 is known to cause problems for some users. Please uninstall and reinstall it if coala tells you there is a version mismatch in libclang-py3.
    • C# now has proper language support and should work with AnnotationBear and all other bears which require language configuration.

    Deprecations

    • change_line method in Diff.py has been deprecated and has been scheduled for removal.
    • format_str setting has been completely removed after being deprecated last release. Use format instead to specify a formatting string.

    Developers

    • Travis has been enabled for developers to test their changes on their own CI.
    • Bears will now check for prerequisites using specified requirements before running. Either override check_prequisites in the bear or write a new requirement class if you wish to have a custom check.
    • When a language is not known by coala, an Unknown language will be used.
    • @linter decorator now warns when using unsupported or anonymous capture groups.
    • New dependency_management package has been created to contain package manager and dependency classes used by coala. All of the old *Requirement classes have been moved here. Some new dependencies classes are CabalRequirement and MavenRequirement. Developers should add requirement classes there now for the requirement types they wish to support.
    • DistributionRequirement can now check if a package is installed in many popular linux distros.
    • Diffs are able to add a single line using the add_line method now.
    • Language class ignores leading and trailing spaces in language lookups.
    • Language class should auto-complete when using languages that have been defined.

    Docs

    • A Code of Conduct has been added. This will guide conflict resolution if the need ever arises.
    • API docs are now part of the coala repository.
    • Developer contribution documentation has received a major update

    Bugfixes

    • Fixed an issue where using linter bears on windows had thrown an exception. Issue 3323
    • coala -c (config file) option properly supports specifying directories. Previously it has thrown an exception. Issue 3221
    • Documentation status github badge has been fixed.
    • Console interaction uses a unicode dot to represent spaces instead of the bullet for better cross platform rendering. Issue 2751
    • Language class raises proper exception to fix hasattr behavior. Issue 3160
    • Ignore statements in multi-line comments should be supported properly now. Issue 3441
    Source code(tar.gz)
    Source code(zip)
  • 0.9.1(Dec 28, 2016)

    This bugfix release addressed the following issues:

    • The installer has been fixed to only install on supported python versions. Issue #3310 Issue #3383
    • The format_str option to specify a format string has ben restored to coala run in format mode. This is deprecated and was only restored to provide plug-in developers a grace period to switch to the replacement setting format. Issue #3303
    • Setuptools was removed from our requirements list because having it only only caused dependency problems for other packages installed on the system coala Bears Issue #751
    • PyPrint dependency was updated to a version which does not pull in setuptools anymore.
    • API change: An auto-apply disable option was added to run_coala to fix issue detection by unattended services that use coala when the coafile contains a default_action Issue #3212
    • A few specific language class behaviors were changed. This should only affect developers Pull #3175 Pull #3167
    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Nov 22, 2016)

                       __
                 o#'9MMHb':'-,o,
              .oH":HH$' "' ' -*R&o,
             dMMM*""'`'      .oM"HM?.
           ,MMM'          "HLbd< ?&H\
          .:MH ."\          ` MM  MM&b
         . "*H    -        &MMMMMMMMMH:
         .    dboo        MMMMMMMMMMMM.
         .   dMMMMMMb      *MMMMMMMMMP.
         .    MMMMMMMP        *MMMMMP .
              `#MMMMM           MM6P ,
          '    `MMMP"           HM*`,
           '    :MM             .- ,
            '.   `#?..  .       ..'
               -.   .         .-
                 ''-.oo,oo.-''
    

    For this release only we had 58 different contributors from all around the globe contributing way over 200 commits over 2.5 months to coala.

    The name of this release is GlobalBear to honour our GlobalBear class and leave a statement on how global the community grows: gone are the days when we visit conferences and we have to explain the project to all the people. More and more people know the project before we meet them and this is great! This is a huge step in our conquest to take over the world!

    The GlobalBear class serves our users by providing project wide "global" analysis. This release it will probably make its last appearance because it will be deprecated in favour of a more sophisticated concept in the near future.

    We have also worked a lot towards building our dream of letting users declare code analysis configuration completely language independently: to take a sneak peek at what we want to do, check this out. You will see that the first aspects are already in our source code and that bears can already associate results with them so future versions of coala will be able to tell the user a plethora of facts around the type of issue pointed out.

    For users, we have added a lot of usability improvements as well as for example the ability to merge patches within one line: if you previously had to run coala multiple times because of patch conflicts, this is likely not the case anymore!

    As a Bear writer you now have access to our Language facilities: they will give you facts about programming languages that you analyse so you can build truly language independent bears. Also, you now can use http://api.coala.io/ to get more information about our classes and functions you work with.

    Command Line Interface Changes:

    • coala-ci and coala-json have been deprecated. You can now use coala --non-interactive and coala --json respectively.
    • Multiple patches within one line, even from different bears, can be automatically merged by coala.
    • coala returns the exitcode 2 when not passing any --bears or --files as well as when no section is enabled and nothing was done.
    • coala can now automatically add Ignore ...Bear comments to your source code. Simply use the Add ignore comment action when offered.
    • Users can press enter to dismiss a result by default.
    • Result action descriptions have been compressed to make them easier readable.
    • The section name is now displayed when asking the user for missing settings.
    • coala --non-interactive shows results and patches by default now.
    • coala-dbus has been removed as it wasn't used by anyone.
    • A --no-color argument allows to run coala with uncoloured results.
    • Log messages are printed on stderr now.
    • coala --json doesn't output log messages in JSON anymore. This is a technical issue. Log messages can easily be fetched from the stderr stream.
    • Some performance improvements could be achieved.
    • A lot more strings, like roger or no way are allowed for boolean values. (https://github.com/coala/coala/commit/728b7b02da8ca8f91b91c67784872244c0820a77)

    Bear API Changes:

    • LanguageDefinition has been deprecated. Use coalib.bearlib.languages.Language instead. Consult http://api.coala.io/en/latest/coalib.bearlib.languages.html#module-coalib.bearlib.languages.Language for usage hints.
    • The deprecated Lint class has now been removed.
    • The CondaRequirement has been removed.
    • The multiple constructor for PackageRequirement classes has been removed.
    • A deprecate_bear decorator is now available so bears can be renamed seamlessly.
    • The Diff object has now dedicated functions to replace, insert and remove SourceRange objects.

    Bug Fixes:

    • A glob cornercase has been fixed. (https://github.com/coala/coala/issues/2664)
    • An issue where empty patches have been shown to the user has been fixed. (https://github.com/coala/coala/issues/2832)
    • Wrong handling of periods when changing casing has been fixed. (https://github.com/coala/coala/issues/2696)
    • A caching bug where results have not been shown to the user has been fixed. (https://github.com/coala/coala/issues/2987)

    Documentation:

    • API documentation is now available at http://api.coala.io/

    Internal Changes:

    • Deprecated parameters are stored in the function metadata.
    • Python builtin logging is now used.
    • Numerous changes to get started on https://coala.io/cep5 have been implemented. The first aspects are already defined in coalib.bearlib.aspects and bears can already append aspects to results.
    • coalang files now have an alias dictionary.
    Source code(tar.gz)
    Source code(zip)
  • 0.8.1(Sep 4, 2016)

    coala 0.8.1

    This bugfix release addressed the following issues:

    • The cache will be correctly invalidated when changing section targets now. (https://github.com/coala-analyzer/coala/issues/2708)
    • Dependencies are resolved before asking the user for needed values. This will only affect custom bears that have dependencies that require settings. (https://github.com/coala-analyzer/coala/issues/2709)
    • PyPrint was updated from 0.2.4 to 0.2.5.
    • PipRequirement uses sys.executable instead of hardcoded python. This will only affect coala or bear developers.
    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Aug 22, 2016)

    coala 0.8.0 - grizzly

                   -                         
                 `Ns      :s-               
            .     mMd`     :Nd.             
           :h     /ss/`     +md.            
           dN`    :NMMMy`  .ymmy. -+`       
           dM+    dMMMMMm`.NMMMMN. +Mo      
        `  -sddy: yMMMMMM/+MMMMMMo  dMo     
       s/  +MMMMMy.dMMMMM-:MMMMMM+ -yhs`    
      .Ms  /MMMMMMo /hdh:  oMMMMh`+MMMMm.   
      -MN.  hMMMMMh  `/osssoos+-  dMMMMMs   
       oyhho.+mMMm:+dMMMMMMMMMm+  sMMMMMs   
       mMMMMMy``` dMMMMMMMMMMMMMh.`sMMMh`   
       yMMMMMMy  `MMMMMMMMMMMMMMMMy:..`     
       `yMMMMMd  yMMMMMMMMMMMMMMMMMMMMNh+`  
         .ohhs-+mMMMMMMMMMMMMMMMMMMMMMMMMd  
            .yMMMMMMMMMMMMMMMMMMMMMMMMMMMh  
            mMMMMMMMMMMMMMMMMMMMMMMMMMMMh`  
            yMMMMMMMMMMMMMMMNhssssyyyso-    
             /dMMMMMMMMMNy+.                
               ./syhys/-                    
    

    For this release, we have had 46 developers from around the world contributing over 150 commits in the last 9 weeks.

    Improving the API available for bear writers is one of the areas we've focused on for this release, with several new and exciting features. General performance has also been improved heavily with some major changes under the hood. The documentation has also been worked on, with an emphasis on user-friendliness and design.

    There have also been major internal changes in preparation for the complete decentralization of bears, which would allow the installation of individual bears.

    Below are some of the important changes introduced for this release:

    New Features

    • coala now supports syntax highlighting in results!
    • Questions are now printed in color; this will improve visibility when a lot of text is written to the screen.
    • coala-json now supports --show-bears and --filter-by-language
    • Added a --show-capabilities flag that displays the types of issues coala can detect and fix for a particular language.
    • Display the line number when a line is missing; this could happen if a bear that had run previously overwrites it.

    For Bear Writers

    • Bears now have a new REQUIREMENTS attribute which will be used to automatically resolve bear dependencies. This includes:
      • Native requirements (from package managers such as apt-get, dnf, pacman, ...)
      • Conda requirements
      • Python requirements through pip
      • go requirements
      • Ruby requirements through gem
      • NodeJS requirements through npm
      • RScript requirements
      • Julia requirements
    • Language independent documentation parsing routines: these can be used to make bears for linting documentation without having to worry about the language.
    • coalang now supports C, C++, CSS, Java, Python3 and Vala.
    • A new bear creation tool has been released: with this tool, it's easier than ever before to create external linter based bears for coala!
    • A new ASCIINEMA_URL attribute has been added to bears. This should contain an URL to an asciinema video displaying the bear's capabilities in action.
    • Bear results may now have a confidence parameter: this is supposed to quantify the confidence, on a scale of 1 to 100, the bear has when flagging results.
    • A deprecate_settings decorator has been created to deprecate old, unsupported bear parameters. Please see here for an example usage.
    • Code Simplification has been added to the set of possible fixes that bears can offer.

    Bug Fixes

    • Fixed an issue where errors were generated for lines containing only a single tab character. Issue #2180
    • Fixed an issue with question where stray escape characters may be present. Issue #2546
    • Group questions about missing values in a coafile by bears. Issue #2530
    • An issue where an exception was raised wrongly when the same diff was generated multiple times has been fixed. PR #2465

    Performance

    • Caching is now enabled by default. This is a huge performance improvement for HDD users - we've seen a 2x improvement when coala is run on coala. To disable caching run coala with the --disable-caching flag.
    • An issue where coala takes over 2 seconds to print the help manual through --help has been fixed. Issue #2344
    • A small performance improvement from reusing already loaded file contents.

    Documentation

    • A complete overhaul to the README page with a focus on design and readability.
    • A new FAQ page has been created.
    • Various other documentation pages have been improved with new resources, better explanations, and some corrections.
    • The whole documentation has been moved to a separate repository. Please file any documentation related issues over there.

    Regressions

    • Dropped Python 3.3 support

    Internal Changes

    • There has been a shift of several modules from coala to coala-utils. This includes the whole StringProcessing library, ContextManagers, and some decorators.
    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Jun 22, 2016)

              ,o8b,         .o88Oo._
             P    d        d8P         .ooOO8bo._
            d'    p        88                  '*Y8bo.
           .Y    ."         YA                      '*Y8b   __
       db, d" _ooQ.dPQ,     YA                        68o68**8Oo.
     .8'  YI.Y"   b   B      "8D                       *"'    "Y8o
    .Y    ;L 8,    Yq.8       Y8     'YB                       .8D
    B .db_.L  q,   q "q       '8               d8'             8D
    8"    qp   8,  8           8       d8888b          d      AY
           8    ",dP           Y,     d888888         d'  _.oP"
           "q    8;             q.    Y8888P'        d8
            '8    b              "q.  `Y88P'       d8"
             'D,  ,8                Y           ,o8P
               'odY'                     oooo888P"
    

    (Release logo by Fabian Neuschmidt)

    For this release, 32 people from all over the world have contributed about 200 commits over almost two months.

    The focus of this release is certainly on the usability of coala. Usability testing has made us aware of some important difficulties, users have to face when trying out coala. We have implemented a lot of countermeasures to lower this barrier.

    The changelog below summarizes the most important user facing changes. Not listed are especially lots of internal improvements and documentation fixes.

    New Features:

    • Shell Autocompletion
    • Patches are shown without prompting the user if small enough, otherwise diffstats.
    • Bears have metadata and can be browsed. Browse the bear documentation repository for more information on all the bears.
    • Lots of usability improvements! coala will suggest using certain options if no meaningful configuration was supplied.
    • The help was revamped completely and is way easier to read.
    • A --verbose alias is available for -L DEBUG.
    • The default_actions setting accepts globs for bears now.
    • The --apply-patches argument was added to automatically apply all patches.
    • coala supports experimental caching. This can lower the run time to a fraction of the time needed to perform the full analysis. It will be enabled by default in the next release. To use it, invoke coala with --changed-files.
    • Bear showing is divided into a new set of settings: --show-bears shows all bears, --filter-by-language allows to filter them, --show-details and --show-description allow changing verbosity of the output.

    Feature Removals:

    • Tagging was removed.
    • linter does no longer show the executable of the bear by default.

    Performance Improvements:

    • Globs will be internally cached now so they don't need to be retranslated every time. This may show improvements of several seconds when working with a large set of files.
    • coala supports experimental caching. See New Features for more information.
    • coala does not delete *.orig files on startup anymore. This was a huge performance hit especially on HDDs or big file trees. The cleanup can be performed manually by running coala-delete-orig. Instead coala will keep track of *.orig files more smartly.

    Bugfixes:

    • **.py can again be used instead **/*.py.
    • If errors happen before the initialization of logging, tracebacks will be shown.

    For bear writers:

    • Bears can have a number of attributes now, including author information, supported languages or categories. A requirements attribute will help generating requirements definition files more easily in the future.
    • The linter wrapper provides a result_severity and a result_message parameter now.
    • Bears can now delete and rename files.
    • The LanguageDefinition doesn't need a language_family anymore to load language definitions.
    • Results can be created directly from the Bear class more conveniently with self.new_result(...).
    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Apr 28, 2016)

     .o88Oo._                                .".      "     .".
    d8P         .ooOO8bo._                   dPo.    O#O   .oPb
    88                  '*Y8bo.              88o.   .o#o.  .o88
    YA                      '*Y8b   __       Y88o.   .8.  .o88Y
     YA                        68o68**8Oo.    W8888O888888888W
      "8D                       *"'    "Y8o    w8888'88'8888w
       Y8     'YB                       .8D     `o88:88:88o'
       '8               d8'             8D       .O8`88'8O.
        8       d8888b          d      AY        oO8I88I8Oo
        Y,     d888888         d'  _.oP"         oO8|88|Oo
         q.    Y8888P'        d8                 oO8.88.8Oo
          "q.  `Y88P'       d8"                  .oO.88.Oo.
            Y           ,o8P                    .oO888888Oo.
                  oooo888P"                    .oO8      8Oo.
                                               +oO8+    +8Oo+
                                               'bo.      .od'
    

    This release is shaped a lot by working on high quality bear writing tools. Our codebase has matured further (improved tests, various internal improvements) and key features for writing and organizing bears were introduced.

    Over the last 1.5 months, 22 unique contributors have helped us at the coala core project.

    This time, the release logo is carefully hand crafted by Max Scholz!

    New features:

    • Smart globbing: use backslashes without an extra escape now if they don't escape delimiters.
    • Results now can have additional information appended.
    • Bears expose information on which languages they support. You can query for bears e.g. with coala --show-language-bears C++ for C++.

    Bugfixes:

    • Linters suppress the output correctly now when checking for linter availibility. (https://github.com/coala-analyzer/coala/issues/1888)
    • The result filter algorithms can handle file additions and deletions now. (https://github.com/coala-analyzer/coala/issues/1866)
    • Ignore statements without a stop statement are now accepted as well (https://github.com/coala-analyzer/coala/issues/2003).

    For bear writers:

    • A tutorial for managing bear dependencies is available in our documentation now.
    • The Result object has a field additional_info which can be used to give an elaborate description of the problem.
    • A typechain() function is now available for easy conditional type conversion. (https://github.com/coala-analyzer/coala/issues/1859)
    • Bears have a name() shortcut now which provides the bear class name.
    • A get_config_directory() function is available that returns the root directory of the project guessed by coala or provided (overridden) by the user.
    • A new linter decorator makes it even easier to write new linter wrappers. (https://github.com/coala-analyzer/coala/issues/1928)

    Notable internal/API changes:

    • FunctionMetadata has a new merge function that can be used to merge function signatures and documentation comments.
    Source code(tar.gz)
    Source code(zip)
  • 0.5.2(Mar 24, 2016)

    Minor bugfixes:

    • Linter prerequisite output is suppressed now
    • the filter_results function had some problems in some cases which have been fixed.
    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Mar 17, 2016)

     .o88Oo._
    d8P         .ooOO8bo._
    88                  '*Y8bo.
    YA                      '*Y8b   __
     YA                        68o68**8Oo.
      "8D                       *"'    "Y8o
       Y8     'YB                       .8D
       '8               d8'             8D
        8       d8888b          d      AY
        Y,     d888888         d'  _.oP"
        ,q.    Y8888P'        d8,
        d "q.  `Y88P'       d8" b
        Y,   Y           ,o8P  ,Y
        8q.       oooo888P"   .p8
        8 "qo._           _.op" 8
        8   '"P8866ooo6688P"'   8
        8                       8
        8                       8
        8.                     .8
        "b                     d"
        'b                     d'
         8                     8
         q.                   .p
          q.                 .p
          "qo._           _.op"
            '"P8866ooo6688P"'
    

    With this release we declare coala proudly as beta. Most features are now available and coala is ready for daily use.

    All bears have been moved out of coala into the coala-bears package. If you want to develop bears for coala, you can now install it without the bears just as before. If you want to use the coala official bears, make sure to install the coala-bears package and if needed follow the instructions to install linters needed by the bears for your language.

    According to git shortlog -s -n 5fad168.. 56 people contributed to this release. We sadly cannot name all the new coalaians here but every single one of them helped making coala as awesome and polished as it is today.

    New features:

    • --no-config allows to ignore existing coafiles in the current directory. (https://github.com/coala-analyzer/coala/issues/1838)
    • In-file ignore directives now support globs. (https://github.com/coala-analyzer/coala/issues/1781)
    • coala-json supports the --relpath argument so the JSON output can be moved to other systems reasonably. (https://github.com/coala-analyzer/coala/issues/1593)
    • --bear-dirs are now searched recursively. They are also added to the Python PATH so imports relative to a given bear directory work. (https://github.com/coala-analyzer/coala/issues/1711, https://github.com/coala-analyzer/coala/issues/1712)
    • coala-format exposes the {severity_str} so you can get a human readable severity in your self formatted result representation. (https://github.com/coala-analyzer/coala/issues/1313)
    • Spaces and tabs are highlighted in the CLI to make whitespace problems obvious. (https://github.com/coala-analyzer/coala/issues/606)
    • Actions that are not applicable multiple times are not shown after applying them anymore. (https://github.com/coala-analyzer/coala/issues/1064)
    • Documentation about how to add coala as a pre commit hook has been added: http://coala.readthedocs.org/en/latest/Users/Git_Hooks.html
    • Actions emit a success message now that is shown to the user and improves usability and intuitivity of actions.
    • A warning is emitted if a bear or file glob does not match any bears or files.
    • coala-json supports now a --text-logs argument so you can see your logs in realtime, outside the JSON output if requested. You can output the JSON output only into a file with the new -o argument. (https://github.com/coala-analyzer/coala/issues/847, https://github.com/coala-analyzer/coala/issues/846)
    • coala-ci yields a beautiful output now, showing the issues noninteractively. (https://github.com/coala-analyzer/coala/issues/1256)
    • A coala-delete-orig script is now available to delete autogenerated backup files which were created when a patch was applied. This is called automatically on every coala run. (https://github.com/coala-analyzer/coala/issues/1253)
    • The --limit-files CLI argument was introduced which is especially useful for writing performant editor plugins.

    Exitcode changes:

    • coala returns 5 if patches were applied successfully but no other results were yielded, i.e. the code is correct after the execution of coala but was not before.
    • coala returns 4 now if executed with an unsupported python version.

    Bugfixes:

    • The appdirs module is now used for storing tagged data. (https://github.com/coala-analyzer/coala/issues/1805)
    • Package version conflicts are now handled with own error code 13. (https://github.com/coala-analyzer/coala/issues/1748)
    • Previously inputted values for actions are not stored any more if the action fails. (https://github.com/coala-analyzer/coala/issues/1825)
    • coala doesn't crash any more on Windows when displaying a diff. Happened due to the special chars used for whitespace-highlighting Windows terminals do not support by default. (https://github.com/coala-analyzer/coala/issues/1832)
    • Escaped characters are written back to the .coafile correctly. (https://github.com/coala-analyzer/coala/issues/921)
    • coala-json doesn't show logs when invoked with -v or -h anymore (https://github.com/coala-analyzer/coala/issues/1377)
    • Keyboard interrupts are handled more cleanly. (https://github.com/coala-analyzer/coala/issues/871)
    • Tagging will only emit a warning if the data directory is not writable instead of erroring out. (https://github.com/coala-analyzer/coala/issues/1050)
    • Unicode handling has been improved. (https://github.com/coala-analyzer/coala/issues/1238)
    • Cases where --find-config has not found the configuration correctly have been resolved. (https://github.com/coala-analyzer/coala/issues/1246)
    • Some cases, where result ignoring within files didn't work have been resolved. (https://github.com/coala-analyzer/coala/issues/1232)

    For bear writers:

    • A new built-in type is available from Setting for using inside run() signature: url.
    • Lint based bears have a new argument which can be set to test whether a command runs without errors. This can be used to check for example the existence of a Java module. (https://github.com/coala-analyzer/coala/issues/1803)
    • The CorrectionBasedBear and Lint class have been merged into the new and more powerful Lint class to make linter integration even easier. It also supports you if you need to generate an actual configuration file for your linter.
    • LocalBearTestHelper as well as the verify_local_bear have been revamped to make it even easier to test your bears and debug your tests.
    • File dictionaries are now given as tuples and are thus not modifyable.
    • A number of new tutorials about bear creation have been written.
    • Bears can now be registered at coala and thus be distributed as own packages.

    Notable internal changes:

    • API documentation is now available at http://coala.readthedocs.org/en/latest/API/modules.html
    • coala switched to PyTest. Our old own framework is no longer maintained. (https://github.com/coala-analyzer/coala/issues/875)
    • As always loads of refactorings to make the code more stable, readable and beautiful!
    • The main routines for the coala binaries have been refactored for less redundancy. If you are using them to interface to coala directly, please update your scripts accordingly.
    • Loads of new integration tests have been written. We're keeping our 100% test coverage promise even for all executables now.
    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Jan 30, 2016)

        88        .o88Oo._
       8 |8      d8P         .ooOO8bo._
      8  | 8     88                  '*Y8bo.
      8\ | /8    YA                      '*Y8b   __
     8  \|/ 8     YA                        68o68**8Oo.
     8\  Y  8      "8D                       *"'    "Y8o
     8 \ | /8       Y8     'YB                       .8D
    8   \|/ /8     '8               d8'             8D
    8\   Y / 8       8       d8888b          d      AY
    8 \ / /  8       Y,     d888888         d'  _.oP"
    8  \|/  8         q.    Y8888P'        d8
    8   Y   8          "q.  `Y88P'       d8"
     8  |  8             Y           ,o8P
      8 | 8                    oooo888P"
    

    New features:

    • Auto-apply can be enabled/disabled through the autoapply setting in a coafile.
    • Auto-applied actions print the actual file where something happened.
    • A new bear was added, the GitCommitBear! It allows to check your current commit message at HEAD from git!
    • Filenames of results are now printed relatively to the execution directory. (https://github.com/coala-analyzer/coala/issues/1124)

    Bugfixes:

    • coala-json outputted results for file-ranges that were excluded. (https://github.com/coala-analyzer/coala/issues/1165)
    • Auto-apply actions that failed are now marked as unprocessed so the user can decide manually what he wants to do with them. (https://github.com/coala-analyzer/coala/issues/1202)
    • SpaceConsistencyBear: Fixed misleading message when newline at EOF is missing. (https://github.com/coala-analyzer/coala/issues/1185)
    • Results from global bears slipped through our processing facility. Should not happen any more.
    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Dec 30, 2015)

    coala 0.3.0

    (You can read the release announcement on http://wordpress.schuirmann.eu/2015/12/coala-platypus/)

    We are dropping Python 3.2 support (and so PyPy). Also we are removing translations, the default language is English.

    This release contains these following feature changes:

    • Auto-apply feature added! Results can directly be processed without user interaction specifying the desired action!
    • A missing coafile that is explicitly wanted through the --config flag throws an error instead of a warning. Only default coafile names (ending with .coafile) raise a warning.
    • Various new bears integrating existing linter tools, e.g. for C/C++, Python, Ruby, JSON and many more!
    • Allow to ignore files inside the coafile.
    • Results can now be stored and tagged with an identifier for accessing them later.
    • OpenEditorAction lets the user edit the real file instead of a temporary one.
    • All usable bears can now be shown with --show-all-bears.
    • Only # is supported for comments in the configuration file syntax.
    • Multiple actions can now be executed on the CLI.
    • Patches can now be shown on the CLI.
    • A coala-format binary was added that allows customized formatting for results to ease integration in other systems.
    • Printing utilities have moved into the PyPrint library.

    New bears:

    • Lots! Just do coala -A to find out about them!

    Bear API changes:

    • A bear can implement check_prerequisites to determine whether it can execute in the current runtime.
    • The PatchResult class was merged into the Result class.

    Bear changes:

    • SpaceConsistencyBear offers more verbose and precise information about the problem.
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Jul 25, 2015)

     .o88Oo._
    d8P         .ooOO8bo._
    88                  '*Y8bo.
                          '*Y8b   __
     YA                        68o68**8Oo.     _.o888PY88o.o8
      "8D                       *"'    "Y8o.o88P*'         Y.
       Y8     'YB                       .8D                 Y.
       '8               d8'             8D             o     8
        8       d8888b          d      AY   o               d'
        Y,     d888888         d'  _.oP"         d88b       8
         q.    Y8888P'        d8       Y,       d8888       P
          "q.  `Y88P'       d8"         q.      Y888P     .d'
             Y           ,o8P            "q      `"'    ,oP
                  oooo888P"               `Y         .o8P"
                                              8ooo888P"
    

    This release features the following feature changes:

    • --find-config flag: Searches for .coafile in all parent directories.
    • Add code clone detection bears and algorithms using CMCD approach.
    • Console color gets properly disabled now for non-supporting platforms (like Windows).
    • coala results can be outputted to JSON format using the coala-json command.
    • Automatically add needed flags to open a new process for some editors.
    • Save backup before applying actions to files.
    • Return nonzero when erroring or yielding results.
    • Write newlines before beginning new sections in coafiles when appropriate.
    • The default_coafile can now be used for arbitrary system-wide settings.
    • coala can now be configured user-wide with a ~/.coarc configuration file.
    • Manual written documentation is now hosted at http://coala.rtfd.org/.
    • Changed logging API in Bears (now: debug/warn/err).
    • clang python bindings were added to the bearlib.
    • Exitcodes were organized and documented. (http://coala.readthedocs.org/en/latest/Users/Exit_Codes/)
    • Handling of EOF/Keyboard Interrupt was improved.
    • Console output is now colored.
    • Bears can now easily convert settings to typed lists or dicts.
    • Bears have no setUp/tearDown mechanism anymore.
    • Colons cannot be used for key value seperation in configuration files anymore as that clashes with the new dictionary syntax. Use = instead.
    • The --job-count argument was removed for technical reasons. It will be re-added in the near future.
    • A --show-bears parameter was added to get metainformation of bears.
    • The coala versioning scheme was changed to comply PEP440.
    • coala --version now gives the version number. A released dev version has the build date appended, 0 for local versions installed from source.
    • A coala-dbus binary will now be installed that spawns up a dbus API for controlling coala. (Linux only.)
    • The StringProcessing libary is there to help bear writers deal with regexes and similar things.
    • A new glob syntax was introduced and documented. (http://coala.readthedocs.org/en/latest/Users/Glob_Patterns/)
    • The --apply-changes argument was removed as its concept does not fit anymore.
    • Bears can now return any iterable. This makes it possible to yield results.

    New bears:

    • ClangCloneDetectionBear
    • LanguageToolBear
    • PyLintBear

    Infrastructural changes:

    • Tests are executed with multiple processes.
    • Branch coverage raised to glorious 100%.
    • We switched from Travis CI to CircleCI as Linux CI.
    • AppVeyor (Windows CI) was added.
    • Travis CI was added for Mac OS X.
    • Development releases are automatically done from master and available via pip install coala --pre.
    • Rultor is now used exclusively to push on master. Manual pushes to master are not longer allowed to avoid human errors. Rultor deploys translation strings to Zanata and the PyPI package before pushing the fastforwarded master.

    Internal code changes:

    • Uncountable bugfixes.
    • Uncountable refactorings touching the core of coala. Code has never been more beautiful.

    We are very happy that 7 people contributed to this release, namely Abdeali Kothari, Mischa Krüger, Udayan Tandon, Fabian Neuschmidt, Ahmed Kamal and Shivani Poddar (sorted by number of commits). Many thanks go to all of those!

    coala's code base has grown sanely to now over 12000 NCLOC with almost half of them being tests.

    We are happy to announce that Mischa Krüger is joining the maintainers team of coala.

    Furthermore we are happy to announce basic Windows and Mac OS X support. This would not have been possible without Mischa and Abdeali. coala is fully tested against Python 3.3 and 3.4 on Windows and 3.2, 3.3, 3.4 and Pypy3 on Mac while not all builtin bears are tested. coala is also tested against Pypy3 and Python 3.5 beta (in addition to 3.3 and 3.4) on Linux.

    Note that this is a prerelease, thus this release will be supported with only important bugfixes for limited time (at least until 0.3.0 is released).

    Released by Rultor 1.56.2, see build log

    Source code(tar.gz)
    Source code(zip)
  • v0.1.1-alpha(Feb 23, 2015)

    This patch release fixes a major usability issue where data entered into the editor may be lost.

    coala 0.1 provides basic functionality. It is not feature complete but already useful according to some people.

    For information about the purpose of coala please look at the README provided with each source distribution.

    Note that this is a prerelease, thus this release will be supported with only important bugfixes for limited time (at least until 0.2.0 is released). Linux is the only supported platform.

    Documentation for getting started with coala is provided here: https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/TUTORIAL.md

    If you want to write static code analysis routines, please check out this guide: https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/doc/getting_involved/WRITING_BEARS.md

    We love bugs - if you find some, be sure to share it with us: https://github.com/coala-analyzer/coala/issues

    Source code(tar.gz)
    Source code(zip)
    coala-0.1-1.noarch.rpm(119.90 KB)
    coala-0.1.linux-x86_64.tar.gz(91.52 KB)
    coala-0.1.linux-x86_64.zip(159.63 KB)
    source-coala-0.1.tar.gz(52.16 KB)
    source-coala-0.1.zip(76.11 KB)
  • v0.1.0-alpha(Feb 21, 2015)

    Attention: This release has known major bugs when using the "open editor" action. See #316. This is fixed in the 0.1.1-alpha version.

    coala 0.1 provides basic functionality. It is not feature complete but already useful according to some people.

    For information about the purpose of coala please look at the README provided with each source distribution.

    Note that this is a prerelease, thus this release will be supported with only important bugfixes for limited time (at least until 0.2.0 is released). Linux is the only supported platform.

    Documentation for getting started with coala is provided here: https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/TUTORIAL.md

    If you want to write static code analysis routines, please check out this guide: https://github.com/coala-analyzer/coala/blob/v0.1.0-alpha/doc/getting_involved/WRITING_BEARS.md

    We love bugs - if you find some, be sure to share it with us: https://github.com/coala-analyzer/coala/issues

    Source code(tar.gz)
    Source code(zip)
    coala-0.1-1.noarch.rpm(119.76 KB)
    coala-0.1.linux-x86_64.tar.gz(91.36 KB)
    coala-0.1.linux-x86_64.zip(159.52 KB)
    source-coala-0.1.tar.gz(52.10 KB)
    source-coala-0.1.zip(76.05 KB)
Owner
coala development group
coala development group
Design by contract for Python. Write bug-free code. Add a few decorators, get static analysis and tests for free.

A Python library for design by contract (DbC) and checking values, exceptions, and side-effects. In a nutshell, deal empowers you to write bug-free co

Life4 473 Dec 28, 2022
Silence mypy by adding or removing code comments

mypy-silent Automatically add or remove # type: ignore commends to silence mypy. Inspired by pylint-silent Why? Imagine you want to add type check for

Wu Haotian 8 Nov 30, 2022
Convert relative imports to absolute

absolufy-imports A tool and pre-commit hook to automatically convert relative imports to absolute. Installation $ pip install absolufy-imports Usage a

Marco Gorelli 130 Dec 30, 2022
mypy plugin to type check Kubernetes resources

kubernetes-typed mypy plugin to dynamically define types for Kubernetes objects. Features Type checking for Custom Resources Type checking forkubernet

Artem Yarmoliuk 16 Oct 10, 2022
:sparkles: Surface lint errors during code review

✨ Linty Fresh ✨ Keep your codebase sparkly clean with the power of LINT! Linty Fresh parses lint errors and report them back to GitHub as comments on

Lyft 183 Dec 18, 2022
Mypy plugin and stubs for SQLAlchemy

Pythonista Stubs Stubs for the Pythonista iOS API. This allows for better error detection and IDE / editor autocomplete. Installation and Usage pip in

Dropbox 521 Dec 29, 2022
docstring style checker

pydocstyle - docstring style checker pydocstyle is a static analysis tool for checking compliance with Python docstring conventions. pydocstyle suppor

Python Code Quality Authority 982 Jan 03, 2023
Collection of awesome Python types, stubs, plugins, and tools to work with them.

Awesome Python Typing Collection of awesome Python types, stubs, plugins, and tools to work with them. Contents Static type checkers Dynamic type chec

TypedDjango 1.2k Jan 04, 2023
A python documentation linter which checks that the docstring description matches the definition.

Darglint A functional docstring linter which checks whether a docstring's description matches the actual function/method implementation. Darglint expe

Terrence Reilly 463 Dec 31, 2022
A plugin for Flake8 that provides specializations for type hinting stub files

flake8-pyi A plugin for Flake8 that provides specializations for type hinting stub files, especially interesting for linting typeshed. Functionality A

Łukasz Langa 58 Jan 04, 2023
A static-analysis bot for Github

Imhotep, the peaceful builder. What is it? Imhotep is a tool which will comment on commits coming into your repository and check for syntactic errors

Justin Abrahms 221 Nov 10, 2022
Mypy stubs, i.e., type information, for numpy, pandas and matplotlib

Mypy type stubs for NumPy, pandas, and Matplotlib This is a PEP-561-compliant stub-only package which provides type information for matplotlib, numpy

Predictive Analytics Lab 194 Dec 19, 2022
flake8 plugin to catch useless `assert` statements

flake8-useless-assert flake8 plugin to catch useless assert statements Download or install on the PyPI page Violations Code Description Example ULA001

1 Feb 12, 2022
Pymxs, the 3DsMax bindings of Maxscript to Python doesn't come with any stubs

PyMXS Stubs generator What Pymxs, the 3DsMax bindings of Maxscript to Python doe

Frieder Erdmann 19 Dec 27, 2022
flake8 plugin which checks that typing imports are properly guarded

flake8-typing-imports flake8 plugin which checks that typing imports are properly guarded installation pip install flake8-typing-imports flake8 codes

Anthony Sottile 50 Nov 01, 2022
Tools for improving Python imports

imptools Tools for improving Python imports. Installation pip3 install imptools Overview Detailed docs import_path Import a module from any path on th

Danijar Hafner 7 Aug 07, 2022
An extension for flake8 that forbids some imports statements in some modules.

flake8-obey-import-goat An extension for flake8 that forbids some imports statements in some modules. Important: this project is developed using DDD,

Ilya Lebedev 10 Nov 09, 2022
Flake8 extension for checking quotes in python

Flake8 Extension to lint for quotes. Major update in 2.0.0 We automatically encourage avoiding escaping quotes as per PEP 8. To disable this, use --no

Zachary Heller 157 Dec 13, 2022
A Pylint plugin to analyze Flask applications.

pylint-flask About pylint-flask is Pylint plugin for improving code analysis when editing code using Flask. Inspired by pylint-django. Problems pylint

Joe Schafer 62 Sep 18, 2022
PEP-484 typing stubs for SQLAlchemy 1.4 and SQLAlchemy 2.0

SQLAlchemy 2 Stubs These are PEP-484 typing stubs for SQLAlchemy 1.4 and 2.0. They are released concurrently along with a Mypy extension which is desi

SQLAlchemy 139 Dec 30, 2022