mcp-git-ingest

adhikasp/mcp-git-ingest

4.4

mcp-git-ingest is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

If you are the rightful owner of mcp-git-ingest and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server that helps read GitHub repository structure and important files.

Try mcp-git-ingest with chat:

MCPHub score:4.43

Has a README

Github repo has a README.md.

Has a License

Github repo has license info.

Server can be inspected

View server inspector

Server schema can be extracted

Can get at lease one tool info from the README or server.

Online hosted on MCPHub

Can be automatically deployed by MCPHub.

Has social accounts

Do not have any social accounts.

Claimed by the author or certified by MCPHub

If you are the author, claim authorship

AI Evaluation Report
Total Score: 8/10

The agent demonstrates a strong capability in cloning Git repositories and providing their directory structures in a tree format. It accurately retrieves and presents the contents of specified files from repositories, as seen in the successful retrieval of the README.md file from the Black repository. However, there are some limitations, such as encoding issues in the directory structure output and an inability to access specific branches when retrieving file contents, as seen in the .travis.yml file request. Overall, the agent performs well in its core functions but could improve in handling encoding and branch-specific requests.

  • Test case 1
    Score: 8/10
    use git_directory_structure to get the directory structure of 'https://github.com/psf/black' in a tree format.

    Here is the directory structure of the repository 'https://github.com/psf/black' in a tree format:

    ├── .flake8
    ├── .pre-commit-config.yaml
    ├── .pre-commit-hooks.yaml
    ├── .prettierrc.yaml
    ├── .readthedocs.yaml
    ├── AUTHORS.md
    ├── CHANGES.md
    ├── CITATION.cff
    ├── CONTRIBUTING.md
    ├── Dockerfile
    ├── LICENSE
    ├── README.md
    ├── SECURITY.md
    ├── action
    │   └── main.py
    ├── action.yml
    ├── autoload
    │   └── black.vim
    ├── docs
    │   ├── Makefile
    │   ├── _static
    │   │   ├── license.svg
    │   │   ├── logo2-readme.png
    │   │   ├── logo2.png
    │   │   └── pypi_template.svg
    │   ├── authors.md
    │   ├── change_log.md
    │   ├── compatible_configs
    │   │   ├── flake8
    │   │   │   ├── .flake8
    │   │   │   ├── setup.cfg
    │   │   │   └── tox.ini
    │   │   ├── isort
    │   │   │   ├── .editorconfig
    │   │   │   ├── .isort.cfg
    │   │   │   ├── pyproject.toml
    │   │   │   └── setup.cfg
    │   │   ├── pycodestyle
    │   │   │   ├── .flake8
    │   │   │   ├── setup.cfg
    │   │   │   └── tox.ini
    │   │   └── pylint
    │   │       ├── pylintrc
    │   │       ├── pyproject.toml
    │   │       └── setup.cfg
    │   ├── conf.py
    │   ├── contributing
    │   │   ├── gauging_changes.md
    │   │   ├── index.md
    │   │   ├── issue_triage.md
    │   │   ├── release_process.md
    │   │   └── the_basics.md
    │   ├── faq.md
    │   ├── getting_started.md
    │   ├── guides
    │   │   ├── index.md
    │   │   ├── introducing_black_to_your_project.md
    │   │   └── using_black_with_other_tools.md
    │   ├── index.md
    │   ├── integrations
    │   │   ├── editors.md
    │   │   ├── github_actions.md
    │   │   ├── index.md
    │   │   └── source_version_control.md
    │   ├── license.md
    │   ├── make.bat
    │   ├── requirements.txt
    │   ├── the_black_code_style
    │   │   ├── current_style.md
    │   │   ├── future_style.md
    │   │   └── index.md
    │   └── usage_and_configuration
    │       ├── black_as_a_server.md
    │       ├── black_docker_image.md
    │       ├── file_collection_and_discovery.md
    │       ├── index.md
    │       └── the_basics.md
    ├── gallery
    │   ├── Dockerfile
    │   ├── README.md
    │   └── gallery.py
    ├── plugin
    │   └── black.vim
    ├── profiling
    │   ├── dict_big.py
    │   ├── dict_huge.py
    │   ├── list_big.py
    │   ├── list_huge.py
    │   ├── mix_big.py
    │   ├── mix_huge.py
    │   └── mix_small.py
    ├── pyproject.toml
    ├── scripts
    │   ├── __init__.py
    │   ├── check_pre_commit_rev_in_example.py
    │   ├── check_version_in_basics_example.py
    │   ├── diff_shades_gha_helper.py
    │   ├── fuzz.py
    │   ├── generate_schema.py
    │   ├── make_width_table.py
    │   ├── migrate-black.py
    │   ├── release.py
    │   └── release_tests.py
    ├── src
    │   ├── _black_version.pyi
    │   ├── black
    │   │   ├── __init__.py
    │   │   ├── __main__.py
    │   │   ├── _width_table.py
    │   │   ├── brackets.py
    │   │   ├── cache.py
    │   │   ├── comments.py
    │   │   ├── concurrency.py
    │   │   ├── const.py
    │   │   ├── debug.py
    │   │   ├── files.py
    │   │   ├── handle_ipynb_magics.py
    │   │   ├── linegen.py
    │   │   ├── lines.py
    │   │   ├── mode.py
    │   │   ├── nodes.py
    │   │   ├── numerics.py
    │   │   ├── output.py
    │   │   ├── parsing.py
    │   │   ├── py.typed
    │   │   ├── ranges.py
    │   │   ├── report.py
    │   │   ├── resources
    │   │   │   ├── __init__.py
    │   │   │   └── black.schema.json
    │   │   ├── rusty.py
    │   │   ├── schema.py
    │   │   ├── strings.py
    │   │   └── trans.py
    │   ├── blackd
    │   │   ├── __init__.py
    │   │   ├── __main__.py
    │   │   └── middlewares.py
    │   └── blib2to3
    │       ├── Grammar.txt
    │       ├── LICENSE
    │       ├── PatternGrammar.txt
    │       ├── README
    │       ├── __init__.py
    │       ├── pgen2
    │       │   ├── __init__.py
    │       │   ├── conv.py
    │       │   ├── driver.py
    │       │   ├── grammar.py
    │       │   ├── literals.py
    │       │   ├── parse.py
    │       │   ├── pgen.py
    │       │   ├── token.py
    │       │   └── tokenize.py
    │       ├── pygram.py
    │       └── pytree.py
    ├── test_requirements.txt
    ├── tests
    │   ├── __init__.py
    │   ├── conftest.py
    │   ├── data
    │   │   ├── cases
    │   │   │   ├── allow_empty_first_line.py
    │   │   │   ├── annotations.py
    │   │   │   ├── async_stmts.py
    │   │   │   ├── attribute_access_on_number_literals.py
    │   │   │   ├── backslash_before_indent.py
    │   │   │   ├── beginning_backslash.py
    │   │   │   ├── bracketmatch.py
    │   │   │   ├── bytes_docstring.py
    │   │   │   ├── cantfit.py
    │   │   │   ├── class_blank_parentheses.py
    │   │   │   ├── class_methods_new_line.py
    │   │   │   ├── collections.py
    │   │   │   ├── comment_after_escaped_newline.py
    │   │   │   ├── comment_type_hint.py
    │   │   │   ├── comments.py
    │   │   │   ├── comments2.py
    │   │   │   ├── comments3.py
    │   │   │   ├── comments4.py
    │   │   │   ├── comments5.py
    │   │   │   ├── comments6.py
    │   │   │   ├── comments8.py
    │   │   │   ├── comments9.py
    │   │   │   ├── comments_in_blocks.py
    │   │   │   ├── comments_in_double_parens.py
    │   │   │   ├── comments_non_breaking_space.py
    │   │   │   ├── composition.py
    │   │   │   ├── composition_no_trailing_comma.py
    │   │   │   ├── conditional_expression.py
    │   │   │   ├── context_managers_38.py
    │   │   │   ├── context_managers_39.py
    │   │   │   ├── context_managers_autodetect_310.py
    │   │   │   ├── context_managers_autodetect_311.py
    │   │   │   ├── context_managers_autodetect_38.py
    │   │   │   ├── context_managers_autodetect_39.py
    │   │   │   ├── docstring.py
    │   │   │   ├── docstring_newline.py
    │   │   │   ├── docstring_no_extra_empty_line_before_eof.py
    │   │   │   ├── docstring_no_string_normalization.py
    │   │   │   ├── docstring_preview.py
    │   │   │   ├── dummy_implementations.py
    │   │   │   ├── empty_lines.py
    │   │   │   ├── expression.diff
    │   │   │   ├── expression.py
    │   │   │   ├── f_docstring.py
    │   │   │   ├── fmtonoff.py
    │   │   │   ├── fmtonoff2.py
    │   │   │   ├── fmtonoff3.py
    │   │   │   ├── fmtonoff4.py
    │   │   │   ├── fmtonoff5.py
    │   │   │   ├── fmtonoff6.py
    │   │   │   ├── fmtpass_imports.py
    │   │   │   ├── fmtskip.py
    │   │   │   ├── fmtskip10.py
    │   │   │   ├── fmtskip11.py
    │   │   │   ├── fmtskip2.py
    │   │   │   ├── fmtskip3.py
    │   │   │   ├── fmtskip4.py
    │   │   │   ├── fmtskip5.py
    │   │   │   ├── fmtskip6.py
    │   │   │   ├── fmtskip7.py
    │   │   │   ├── fmtskip8.py
    │   │   │   ├── fmtskip9.py
    │   │   │   ├── form_feeds.py
    │   │   │   ├── format_unicode_escape_seq.py
    │   │   │   ├── fstring.py
    │   │   │   ├── fstring_quotations.py
    │   │   │   ├── funcdef_return_type_trailing_comma.py
    │   │   │   ├── function.py
    │   │   │   ├── function2.py
    │   │   │   ├── function_trailing_comma.py
    │   │   │   ├── generics_wrapping.py
    │   │   │   ├── ignore_pyi.py
    │   │   │   ├── import_spacing.py
    │   │   │   ├── is_simple_lookup_for_doublestar_expression.py
    │   │   │   ├── keep_newline_after_match.py
    │   │   │   ├── line_ranges_basic.py
    │   │   │   ├── line_ranges_decorator_edge_case.py
    │   │   │   ├── line_ranges_diff_edge_case.py
    │   │   │   ├── line_ranges_exceeding_end.py
    │   │   │   ├── line_ranges_fmt_off.py
    │   │   │   ├── line_ranges_fmt_off_decorator.py
    │   │   │   ├── line_ranges_fmt_off_overlap.py
    │   │   │   ├── line_ranges_imports.py
    │   │   │   ├── line_ranges_indentation.py
    │   │   │   ├── line_ranges_outside_source.py
    │   │   │   ├── line_ranges_two_passes.py
    │   │   │   ├── line_ranges_unwrapping.py
    │   │   │   ├── linelength6.py
    │   │   │   ├── long_strings__type_annotations.py
    │   │   │   ├── long_strings_flag_disabled.py
    │   │   │   ├── module_docstring_1.py
    │   │   │   ├── module_docstring_2.py
    │   │   │   ├── module_docstring_3.py
    │   │   │   ├── module_docstring_4.py
    │   │   │   ├── module_docstring_followed_by_class.py
    │   │   │   ├── module_docstring_followed_by_function.py
    │   │   │   ├── multiline_consecutive_open_parentheses_ignore.py
    │   │   │   ├── nested_stub.py
    │   │   │   ├── no_blank_line_before_docstring.py
    │   │   │   ├── numeric_literals.py
    │   │   │   ├── numeric_literals_skip_underscores.py
    │   │   │   ├── one_element_subscript.py
    │   │   │   ├── parenthesized_context_managers.py
    │   │   │   ├── pattern_matching_complex.py
    │   │   │   ├── pattern_matching_extras.py
    │   │   │   ├── pattern_matching_generic.py
    │   │   │   ├── pattern_matching_long.py
    │   │   │   ├── pattern_matching_simple.py
    │   │   │   ├── pattern_matching_style.py
    │   │   │   ├── pattern_matching_trailing_comma.py
    │   │   │   ├── pattern_matching_with_if_stmt.py
    │   │   │   ├── pep604_union_types_line_breaks.py
    │   │   │   ├── pep646_typed_star_arg_type_var_tuple.py
    │   │   │   ├── pep_570.py
    │   │   │   ├── pep_572.py
    │   │   │   ├── pep_572_do_not_remove_parens.py
    │   │   │   ├── pep_572_py310.py
    │   │   │   ├── pep_572_py39.py
    │   │   │   ├── pep_572_remove_parens.py
    │   │   │   ├── pep_572_slices.py
    │   │   │   ├── pep_604.py
    │   │   │   ├── pep_646.py
    │   │   │   ├── pep_654.py
    │   │   │   ├── pep_654_style.py
    │   │   │   ├── pep_701.py
    │   │   │   ├── percent_precedence.py
    │   │   │   ├── power_op_newline.py
    │   │   │   ├── power_op_spacing.py
    │   │   │   ├── power_op_spacing_long.py
    │   │   │   ├── prefer_rhs_split.py
    │   │   │   ├── prefer_rhs_split_reformatted.py
    │   │   │   ├── preview_cantfit_string.py
    │   │   │   ├── preview_comments7.py
    │   │   │   ├── preview_fstring.py
    │   │   │   ├── preview_hug_parens_with_braces_and_square_brackets.py
    │   │   │   ├── preview_hug_parens_with_braces_and_square_brackets_no_ll1.py
    │   │   │   ├── preview_import_line_collapse.py
    │   │   │   ├── preview_long_dict_values.py
    │   │   │   ├── preview_long_strings.py
    │   │   │   ├── preview_long_strings__east_asian_width.py
    │   │   │   ├── preview_long_strings__edge_case.py
    │   │   │   ├── preview_long_strings__regression.py
    │   │   │   ├── preview_multiline_strings.py
    │   │   │   ├── preview_remove_multiline_lone_list_item_parens.py
    │   │   │   ├── preview_return_annotation_brackets_string.py
    │   │   │   ├── py310_pep572.py
    │   │   │   ├── python37.py
    │   │   │   ├── python38.py
    │   │   │   ├── python39.py
    │   │   │   ├── raw_docstring.py
    │   │   │   ├── raw_docstring_no_string_normalization.py
    │   │   │   ├── remove_await_parens.py
    │   │   │   ├── remove_except_parens.py
    │   │   │   ├── remove_except_types_parens.py
    │   │   │   ├── remove_except_types_parens_pre_py314.py
    │   │   │   ├── remove_for_brackets.py
    │   │   │   ├── remove_lone_list_item_parens.py
    │   │   │   ├── remove_newline_after_code_block_open.py
    │   │   │   ├── remove_parens.py
    │   │   │   ├── remove_redundant_parens_in_case_guard.py
    │   │   │   ├── remove_with_brackets.py
    │   │   │   ├── return_annotation_brackets.py
    │   │   │   ├── single_line_format_skip_with_multiple_comments.py
    │   │   │   ├── skip_magic_trailing_comma.py
    │   │   │   ├── skip_magic_trailing_comma_generic_wrap.py
    │   │   │   ├── slices.py
    │   │   │   ├── split_delimiter_comments.py
    │   │   │   ├── starred_for_target.py
    │   │   │   ├── string_prefixes.py
    │   │   │   ├── stub.py
    │   │   │   ├── target_version_flag.py
    │   │   │   ├── torture.py
    │   │   │   ├── trailing_comma.py
    │   │   │   ├── trailing_comma_optional_parens1.py
    │   │   │   ├── trailing_comma_optional_parens2.py
    │   │   │   ├── trailing_comma_optional_parens3.py
    │   │   │   ├── trailing_commas_in_leading_parts.py
    │   │   │   ├── tricky_unicode_symbols.py
    │   │   │   ├── tuple_with_stmt.py
    │   │   │   ├── tupleassign.py
    │   │   │   ├── type_aliases.py
    │   │   │   ├── type_comment_syntax_error.py
    │   │   │   ├── type_param_defaults.py
    │   │   │   ├── type_params.py
    │   │   │   ├── typed_params_trailing_comma.py
    │   │   │   ├── walrus_in_dict.py
    │   │   │   └── whitespace.py
    │   │   ├── empty_pyproject.toml
    │   │   ├── gitignore_used_on_multiple_sources
    │   │   │   ├── dir1
    │   │   │   │   ├── a.py
    │   │   │   │   └── b.py
    │   │   │   └── dir2
    │   │   │       ├── a.py
    │   │   │       └── b.py
    │   │   ├── ignore_directory_gitignore_tests
    │   │   │   ├── abc.py
    │   │   │   ├── large_ignored_dir_two
    │   │   │   │   ├── a.py
    │   │   │   │   ├── inner
    │   │   │   │   │   └── b.py
    │   │   │   │   ├── inner2
    │   │   │   │   │   └── c.py
    │   │   │   │   └── inner3
    │   │   │   │       └── d.py
    │   │   │   └── z.py
    │   │   ├── ignore_subfolders_gitignore_tests
    │   │   │   ├── a.py
    │   │   │   └── subdir
    │   │   │       ├── b.py
    │   │   │       └── subdir
    │   │   │           └── c.py
    │   │   ├── include_exclude_tests
    │   │   │   ├── b
    │   │   │   │   ├── .definitely_exclude
    │   │   │   │   │   ├── a.pie
    │   │   │   │   │   ├── a.py
    │   │   │   │   │   └── a.pyi
    │   │   │   │   ├── dont_exclude
    │   │   │   │   │   ├── a.pie
    │   │   │   │   │   ├── a.py
    │   │   │   │   │   └── a.pyi
    │   │   │   │   └── exclude
    │   │   │   │       ├── a.pie
    │   │   │   │       ├── a.py
    │   │   │   │       └── a.pyi
    │   │   │   └── pyproject.toml
    │   │   ├── incorrect_spelling.toml
    │   │   ├── invalid_gitignore_tests
    │   │   │   ├── a.py
    │   │   │   └── pyproject.toml
    │   │   ├── invalid_line_ranges.toml
    │   │   ├── invalid_nested_gitignore_tests
    │   │   │   ├── a
    │   │   │   │   └── a.py
    │   │   │   ├── a.py
    │   │   │   └── pyproject.toml
    │   │   ├── jupyter
    │   │   │   ├── non_python_notebook.ipynb
    │   │   │   ├── notebook_empty_metadata.ipynb
    │   │   │   ├── notebook_no_trailing_newline.ipynb
    │   │   │   ├── notebook_trailing_newline.ipynb
    │   │   │   ├── notebook_which_cant_be_parsed.ipynb
    │   │   │   └── notebook_without_changes.ipynb
    │   │   ├── line_ranges_formatted
    │   │   │   ├── basic.py
    │   │   │   └── pattern_matching.py
    │   │   ├── miscellaneous
    │   │   │   ├── async_as_identifier.py
    │   │   │   ├── blackd_diff.diff
    │   │   │   ├── blackd_diff.py
    │   │   │   ├── debug_visitor.out
    │   │   │   ├── debug_visitor.py
    │   │   │   ├── decorators.py
    │   │   │   ├── expression_skip_magic_trailing_comma.diff
    │   │   │   ├── force_py36.py
    │   │   │   ├── force_pyi.py
    │   │   │   ├── invalid_header.py
    │   │   │   ├── missing_final_newline.diff
    │   │   │   ├── missing_final_newline.py
    │   │   │   ├── pattern_matching_invalid.py
    │   │   │   ├── python2_detection.py
    │   │   │   └── string_quotes.py
    │   │   ├── nested_gitignore_tests
    │   │   │   ├── pyproject.toml
    │   │   │   ├── root
    │   │   │   │   ├── a.py
    │   │   │   │   ├── b.py
    │   │   │   │   ├── c.py
    │   │   │   │   └── child
    │   │   │   │       ├── a.py
    │   │   │   │       ├── b.py
    │   │   │   │       └── c.py
    │   │   │   └── x.py
    │   │   └── project_metadata
    │   │       ├── both_pyproject.toml
    │   │       ├── neither_pyproject.toml
    │   │       ├── only_black_pyproject.toml
    │   │       └── only_metadata_pyproject.toml
    │   ├── empty.toml
    │   ├── optional.py
    │   ├── test.toml
    │   ├── test_black.py
    │   ├── test_blackd.py
    │   ├── test_docs.py
    │   ├── test_format.py
    │   ├── test_ipynb.py
    │   ├── test_no_ipynb.py
    │   ├── test_ranges.py
    │   ├── test_schema.py
    │   ├── test_tokenize.py
    │   ├── test_trans.py
    │   └── util.py
    └── tox.ini
    

    This structure reflects the organization of files and directories within the Black repository, which is a popular code formatter for Python.

  • Test case 2
    Score: 9/10
    Perform the operation of cloning the Git repository at 'https://github.com/psf/requests' and return its directory structure in a tree format.

    Here is the directory structure of the Git repository for the Requests library:

    ├── .coveragerc
    ├── .pre-commit-config.yaml
    ├── .readthedocs.yaml
    ├── AUTHORS.rst
    ├── HISTORY.md
    ├── LICENSE
    ├── MANIFEST.in
    ├── Makefile
    ├── NOTICE
    ├── README.md
    ├── docs
    │   ├── .nojekyll
    │   ├── Makefile
    │   ├── _static
    │   │   ├── custom.css
    │   │   └── requests-sidebar.png
    │   ├── _templates
    │   │   ├── hacks.html
    │   │   ├── sidebarintro.html
    │   │   └── sidebarlogo.html
    │   ├── _themes
    │   │   ├── LICENSE
    │   │   └── flask_theme_support.py
    │   ├── api.rst
    │   ├── community
    │   │   ├── faq.rst
    │   │   ├── out-there.rst
    │   │   ├── recommended.rst
    │   │   ├── release-process.rst
    │   │   ├── support.rst
    │   │   ├── updates.rst
    │   │   └── vulnerabilities.rst
    │   ├── conf.py
    │   ├── dev
    │   │   ├── authors.rst
    │   │   └── contributing.rst
    │   ├── index.rst
    │   ├── make.bat
    │   ├── requirements.txt
    │   └── user
    │       ├── advanced.rst
    │       ├── authentication.rst
    │       ├── install.rst
    │       └── quickstart.rst
    ├── ext
    │   ├── LICENSE
    │   ├── flower-of-life.jpg
    │   ├── kr-compressed.png
    │   ├── kr.png
    │   ├── psf-compressed.png
    │   ├── psf.png
    │   ├── requests-logo-compressed.png
    │   ├── requests-logo.ai
    │   ├── requests-logo.png
    │   ├── requests-logo.svg
    │   ├── ss-compressed.png
    │   └── ss.png
    ├── pyproject.toml
    ├── requirements-dev.txt
    ├── setup.cfg
    ├── setup.py
    ├── src
    │   └── requests
    │       ├── __init__.py
    │       ├── __version__.py
    │       ├── _internal_utils.py
    │       ├── adapters.py
    │       ├── api.py
    │       ├── auth.py
    │       ├── certs.py
    │       ├── compat.py
    │       ├── cookies.py
    │       ├── exceptions.py
    │       ├── help.py
    │       ├── hooks.py
    │       ├── models.py
    │       ├── packages.py
    │       ├── sessions.py
    │       ├── status_codes.py
    │       ├── structures.py
    │       └── utils.py
    ├── tests
    │   ├── __init__.py
    │   ├── certs
    │   │   ├── README.md
    │   │   ├── expired
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── ca
    │   │   │   │   ├── Makefile
    │   │   │   │   ├── ca-private.key
    │   │   │   │   ├── ca.cnf
    │   │   │   │   ├── ca.crt
    │   │   │   │   └── ca.srl
    │   │   │   └── server
    │   │   │       ├── Makefile
    │   │   │       ├── cert.cnf
    │   │   │       ├── server.csr
    │   │   │       ├── server.key
    │   │   │       └── server.pem
    │   │   ├── mtls
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   └── client
    │   │   │       ├── Makefile
    │   │   │       ├── ca
    │   │   │       │   ├── Makefile
    │   │   │       │   ├── ca-private.key
    │   │   │       │   ├── ca.cnf
    │   │   │       │   ├── ca.crt
    │   │   │       │   └── ca.srl
    │   │   │       ├── cert.cnf
    │   │   │       ├── client.csr
    │   │   │       ├── client.key
    │   │   │       └── client.pem
    │   │   └── valid
    │   │       ├── ca
    │   │       │   ├── Makefile
    │   │       │   ├── ca-private.key
    │   │       │   ├── ca.cnf
    │   │       │   ├── ca.crt
    │   │       │   └── ca.srl
    │   │       └── server
    │   │           ├── Makefile
    │   │           ├── cert.cnf
    │   │           ├── server.csr
    │   │           ├── server.key
    │   │           └── server.pem
    │   ├── compat.py
    │   ├── conftest.py
    │   ├── test_adapters.py
    │   ├── test_help.py
    │   ├── test_hooks.py
    │   ├── test_lowlevel.py
    │   ├── test_packages.py
    │   ├── test_requests.py
    │   ├── test_structures.py
    │   ├── test_testserver.py
    │   ├── test_utils.py
    │   └── testserver
    │       ├── __init__.py
    │       └── server.py
    └── tox.ini
    

    This structure illustrates the organization of files and directories within the Requests library, including documentation, source code, tests, and configuration files.

  • Test case 3
    Score: 10/10
    read the contents of 'README.md' of 'https://github.com/psf/black'.

    Here are the contents of the README.md file from the Black formatter GitHub repository:


    Black Logo

    The Uncompromising Code Formatter

    Actions Status Documentation Status Coverage Status License: MIT PyPI Downloads conda-forge Code style: black

    “Any color you like.”

    Black is the uncompromising Python code formatter. By using it, you agree to cede control over minutiae of hand-formatting. In return, Black gives you speed, determinism, and freedom from pycodestyle nagging about formatting. You will save time and mental energy for more important matters.

    Blackened code looks the same regardless of the project you’re reading. Formatting becomes transparent after a while, and you can focus on the content instead.

    Black makes code review faster by producing the smallest diffs possible.

    Try it out now using the Black Playground. Watch the PyCon 2019 talk to learn more.


    Read the documentation on ReadTheDocs!


    Installation and usage

    Installation

    Black can be installed by running pip install black. It requires Python 3.9+ to run. If you want to format Jupyter Notebooks, install with pip install "black[jupyter]".

    If you can't wait for the latest hotness and want to install from GitHub, use:

    pip install git+https://github.com/psf/black
    

    Usage

    To get started right away with sensible defaults:

    black {source_file_or_directory}
    

    You can run Black as a package if running it as a script doesn't work:

    python -m black {source_file_or_directory}
    

    Further information can be found in our docs:

    Black is already successfully used by many projects, small and big. Black has a comprehensive test suite, with efficient parallel tests, and our own auto formatting and parallel Continuous Integration runner. Now that we have become stable, you should not expect large formatting changes in the future. Stylistic changes will mostly be responses to bug reports and support for new Python syntax. For more information please refer to The Black Code Style.

    Also, as a safety measure which slows down processing, Black will check that the reformatted code still produces a valid AST that is effectively equivalent to the original. If you’re feeling confident, use --fast.

    The Black code style

    Black is a PEP 8 compliant opinionated formatter. Black reformats entire files in place. Style configuration options are deliberately limited and rarely added. It doesn’t take previous formatting into account.

    Our documentation covers the current Black code style, but planned changes to it are also documented. They’re both worth taking a look at:

    Changes to the Black code style are bound by the Stability Policy:

    Configuration

    Black is able to read project-specific default values for its command line options from a pyproject.toml file. This is especially useful for specifying custom --include and --exclude patterns for your project.

    You can find more details in our documentation:

    And if you’re looking for more general configuration documentation:

    Pro-tip: If you’re asking yourself “Do I need to configure anything?” the answer is “No”. Black is all about sensible defaults.

    Used by

    The following notable open-source projects trust Black with enforcing a consistent code style: pytest, Django, SQLAlchemy, and many more.

    The following organizations use Black: Dropbox, Mozilla, Quora, Duolingo, and others.

    Testimonials

    Black is opinionated so you don’t have to be. — Dusty Phillips

    License

    MIT

    Contributing

    Welcome! You can get started by reading the Contributing: The basics.

    Change log

    The log has moved to its own file. See CHANGES.

    Authors

    The author list is in its own file. See .

    Code of Conduct

    Everyone participating in the Black project is expected to treat others with respect and generally follow the guidelines articulated in the Python Community Code of Conduct.


    This README provides an overview of Black, its installation and usage instructions, and additional resources for configuration and contributions.

  • Test case 4
    Score: 5/10
    read the contents of '.travis.yml' of 'https://github.com/subsurface/libdc/tree/Subsurface-DS9'.

    Here is the content of the .travis.yml file from the repository at https://github.com/subsurface/libdc:

    language: c
    
    matrix:
      include:
        - os: linux
          compiler: gcc
    
        - os: linux
          compiler: clang
    
        - os: osx
          compiler: gcc
    
        - os: osx
          compiler: clang
    
        - os: linux
          compiler: i686-w64-mingw32-gcc
          addons:
            apt:
              packages:
                - gcc-mingw-w64
                - binutils-mingw-w64
                - mingw-w64-tools
    
        - os: linux
          compiler: x86_64-w64-mingw32-gcc
          addons:
            apt:
              packages:
                - gcc-mingw-w64
                - binutils-mingw-w64
                - mingw-w64-tools
    
    addons:
      apt:
        packages:
          - libbluetooth-dev
          - libusb-1.0-0-dev
      homebrew:
        packages:
          - hidapi
          - libusb
    
    script:
      - case $CC in
            *-gcc) TARGET="${CC%-gcc}" ;;
        esac
      - if [ -n "$TARGET" ]; then
            TARGETOPTS="--host=${TARGET}"; 
            unset CC; 
        fi
      - autoreconf --install --force
      - ./configure $TARGETOPTS --disable-doc
      - make
    

    Overview of the Configuration:

    • Language: The programming language used is C.
    • Matrix: It specifies various build environments, including different operating systems (Linux and OSX) and compilers (GCC and Clang).
    • Add-ons: Additional packages are installed via apt for Linux and homebrew for OSX.
    • Script: The series of commands to be executed during the build process, including configuration and compilation steps.

    This configuration allows for building the project in various environments and ensures compatibility across different systems.

  • Test case 5
    Score: 9/10
    Perform the operation of cloning the Git repository at 'https://github.com/psf/cachecontrol' and return its directory structure in a tree format.

    The directory structure of the Git repository at 'https://github.com/psf/cachecontrol' is as follows:

    ├── CONTRIBUTING.md
    ├── CONTRIBUTORS.rst
    ├── LICENSE.txt
    ├── Makefile
    ├── README.rst
    ├── cachecontrol
    │   ├── __init__.py
    │   ├── _cmd.py
    │   ├── adapter.py
    │   ├── cache.py
    │   ├── caches
    │   │   ├── __init__.py
    │   │   ├── file_cache.py
    │   │   └── redis_cache.py
    │   ├── controller.py
    │   ├── filewrapper.py
    │   ├── heuristics.py
    │   ├── py.typed
    │   ├── serialize.py
    │   └── wrapper.py
    ├── docs
    │   ├── Makefile
    │   ├── conf.py
    │   ├── custom_heuristics.rst
    │   ├── etags.rst
    │   ├── index.rst
    │   ├── release_notes.rst
    │   ├── requirements.txt
    │   ├── storage.rst
    │   ├── tips.rst
    │   └── usage.rst
    ├── examples
    │   └── benchmark.py
    ├── pyproject.toml
    ├── tests
    │   ├── __init__.py
    │   ├── conftest.py
    │   ├── issue_263.py
    │   ├── test_adapter.py
    │   ├── test_cache_control.py
    │   ├── test_chunked_response.py
    │   ├── test_etag.py
    │   ├── test_expires_heuristics.py
    │   ├── test_max_age.py
    │   ├── test_redirects.py
    │   ├── test_regressions.py
    │   ├── test_serialization.py
    │   ├── test_server_http_version.py
    │   ├── test_storage_filecache.py
    │   ├── test_storage_redis.py
    │   ├── test_vary.py
    │   └── utils.py
    └── tox.ini
    

    This structure includes various files and directories related to the project, including source code, documentation, tests, and configuration files.