Code Ownership

Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.

Files Tracked
842
in the current tree
Bus Factor
1
Victorien is primary owner of 434 of 842 files
Single-Owner Files
363
43.1% of tracked files
Contributors
673
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
pydantic-core/src/validators/arguments.rsDavid Hewitt10
LICENSESamuel Colvin8
pydantic/_internal/_docs_extraction.pyVictorien7
tests/typechecking/fields.pyVictorien7
pydantic-core/src/serializers/type_serializers/dataclass.rsDavid Hewitt7
pydantic-core/tests/serializers/test_any.pyVictorien6
tests/test_deferred_annotations.pyVictorien6
pydantic-core/src/serializers/type_serializers/typed_dict.rsDavid Hewitt6
.github/FUNDING.ymlSamuel Colvin6
pydantic-core/src/schema_gather.rsVictorien5
Table: the 100 most-changed of 363 single-owner files
FileSole ownerCommits
pydantic-core/src/validators/arguments.rsDavid Hewitt10
LICENSESamuel Colvin8
pydantic/_internal/_docs_extraction.pyVictorien7
tests/typechecking/fields.pyVictorien7
pydantic-core/src/serializers/type_serializers/dataclass.rsDavid Hewitt7
pydantic-core/tests/serializers/test_any.pyVictorien6
tests/test_deferred_annotations.pyVictorien6
pydantic-core/src/serializers/type_serializers/typed_dict.rsDavid Hewitt6
.github/FUNDING.ymlSamuel Colvin6
pydantic-core/src/schema_gather.rsVictorien5
pydantic-core/tests/test_garbage_collection.pyVictorien4
tests/test_experimental_arguments_schema.pyVictorien4
pydantic-core/src/validators/fraction.rsVictorien4
pydantic-core/src/common/mod.rsVictorien4
tests/types/test_defaultdict.pyVictorien4
tests/typechecking/with_config_decorator.pyVictorien4
pydantic-core/src/serializers/type_serializers/dict.rsDavid Hewitt4
pydantic-core/src/serializers/type_serializers/list.rsDavid Hewitt4
pydantic-core/src/serializers/type_serializers/format.rsDavid Hewitt4
pydantic-core/src/errors/location.rsDavid Hewitt4
pydantic-core/src/validators/datetime.rsDavid Hewitt4
pydantic-core/src/validators/uuid.rsDavid Hewitt4
tests/types/test_sequence.pyVictorien3
tests/types/test_decimal.pyVictorien3
pydantic-core/src/validators/missing_sentinel.rsVictorien3
tests/types/test_float.pyVictorien3
tests/types/test_int.pyVictorien3
tests/typechecking/json_schema_examples.pyVictorien3
tests/typechecking/pyproject.tomlVictorien3
pydantic-core/tests/conftest.pyVictorien3
pydantic-core/tests/test_typing.pyVictorien3
pydantic-core/tests/test_prebuilt.pyVictorien3
pydantic-core/tests/validators/test_date.pyVictorien3
tests/mypy/outputs/mypy-default_ini/root_models.pyVictorien3
tests/mypy/outputs/mypy-plugin_ini/root_models.pyVictorien3
tests/mypy/outputs/pyproject-default_toml/root_models.pyVictorien3
.git-blame-ignore-revsVictorien3
pydantic-core/src/validators/validation_state.rsDavid Hewitt3
pydantic-core/src/serializers/prebuilt.rsDavid Hewitt3
pydantic-core/src/common/union.rsDavid Hewitt3
pydantic-core/src/serializers/type_serializers/definitions.rsDavid Hewitt3
pydantic-core/src/serializers/type_serializers/set_frozenset.rsDavid Hewitt3
.github/release.ymlDavid Hewitt3
pydantic-core/src/common/frozendict.rsVictorien2
pydantic-core/src/serializers/type_serializers/frozendict.rsVictorien2
pydantic-core/src/validators/frozendict.rsVictorien2
pydantic-core/python/pydantic_core/__init__.pyVictorien2
tests/types/test_timedelta.pyVictorien2
.github/workflows/enforce-issue-assignment.ymlVictorien2
tests/types/test_counter.pyVictorien2
tests/types/test_ordered_dict.pyVictorien2
tests/types/test_enum.pyVictorien2
pydantic/experimental/missing_sentinel.pyVictorien2
tests/typechecking/computed_field.pyVictorien2
tests/typechecking/root_model.pyVictorien2
tests/typechecking/type_adapter.pyVictorien2
tests/typechecking/validate_call.pyVictorien2
tests/types/test_deque.pyVictorien2
pydantic-core/tests/validators/test_nullable.pyVictorien2
.github/pyodide/pylock.314.tomlVictorien2
tests/types/unions/test_discriminated_union.pyVictorien2
pydantic-core/tests/benchmarks/test_nested_benchmark.pyVictorien2
pydantic-core/tests/serializers/test_dataclasses.pyVictorien2
pydantic-core/tests/serializers/test_datetime.pyVictorien2
pydantic-core/tests/serializers/test_functions.pyVictorien2
pydantic-core/tests/serializers/test_literal.pyVictorien2
pydantic-core/tests/serializers/test_model_root.pyVictorien2
pydantic-core/tests/serializers/test_serialize_as_any.pyVictorien2
pydantic-core/tests/test_custom_errors.pyVictorien2
pydantic-core/tests/test_isinstance.pyVictorien2
pydantic-core/tests/validators/arguments_v3/test_extra.pyVictorien2
pydantic-core/tests/validators/test_definitions_recursive.pyVictorien2
pydantic-core/tests/validators/test_list.pyVictorien2
pydantic-core/tests/validators/test_literal.pyVictorien2
tests/types/test_bool.pyVictorien2
tests/types/test_bytes.pyVictorien2
tests/types/test_dict.pyVictorien2
tests/types/test_none.pyVictorien2
tests/types/test_str.pyVictorien2
tests/mypy/outputs/mypy-plugin-strict_ini/plugin_fail.pyVictorien2
tests/mypy/outputs/mypy-plugin-strict_ini/plugin_fail_baseConfig.pyVictorien2
tests/mypy/outputs/mypy-plugin_ini/custom_constructor.pyVictorien2
tests/mypy/outputs/mypy-plugin_ini/plugin_fail.pyVictorien2
tests/mypy/outputs/mypy-plugin_ini/plugin_fail_baseConfig.pyVictorien2
tests/mypy/outputs/pyproject-plugin-strict_toml/plugin_fail.pyVictorien2
tests/mypy/outputs/pyproject-plugin-strict_toml/plugin_fail_baseConfig.pyVictorien2
tests/mypy/outputs/pyproject-plugin_toml/plugin_fail.pyVictorien2
tests/mypy/outputs/pyproject-plugin_toml/plugin_fail_baseConfig.pyVictorien2
tests/mypy/outputs/mypy-plugin_ini/plugin_optional_inheritance.pyVictorien2
tests/mypy/outputs/mypy-plugin_ini/pydantic_settings.pyVictorien2
tests/mypy/outputs/pyproject-plugin_toml/pydantic_settings.pyVictorien2
tests/mypy/outputs/mypy-plugin_ini/frozen_field.pyVictorien2
tests/mypy/outputs/mypy-default_ini/plugin_success.pyVictorien2
tests/mypy/outputs/mypy-default_ini/plugin_success_baseConfig.pyVictorien2
tests/typechecking/misc.pyVictorien2
tests/typechecking/README.mdVictorien2
docs/enterprise-support.mdBill Easton2
pydantic-core/src/validators/shared/lookup_tree.rsDavid Hewitt2
.yamlfmt.yamlDavid Hewitt2
pydantic-core/src/validators/config.rsDavid Hewitt2

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
Victorien434235613
David Hewitt10446229
Samuel Colvin9120232
Sydney Runkle607241
Terrence Dorsey42775
Marcelo Trylesinski159137
Hasan Ramezani151132
David Montague146161
Adrian Garcia Badaracco122128
Yasser Tahiri9928
Sebastián Ramírez8028
Bill Easton7541
Serge Matveenko2066
Matthias Schoettle2145
Petyo Ivanov228
Rebecca Chen227
Álvaro González Sánchez225
Rayan Salhab203
Eric Jolibois1053
kc05061119
MarkusSintonen1117
Adolfo Villalobos106
Ben Beasley104
Jakob Keller104
sesmi123104

Showing top 25 of 673 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
pydantic/main.py128Samuel Colvin26.2%
tests/test_types.py79Samuel Colvin19.8%
pydantic/types.py74Samuel Colvin22.5%
pydantic/fields.py69Samuel Colvin28.9%
tests/test_main.py66Samuel Colvin29.5%
pydantic/schema.py56Samuel Colvin21.5%
pydantic/networks.py56Samuel Colvin16.3%
pydantic/_internal/_generate_schema.py50Victorien24.1%
tests/test_networks.py48Sydney Runkle18.4%
tests/test_edge_cases.py46Samuel Colvin25.0%
tests/test_dataclasses.py44David Montague14.7%
tests/test_validators.py44Samuel Colvin24.3%
pyproject.toml43Victorien21.1%
pydantic/json_schema.py40Victorien27.8%
pydantic/mypy.py40Victorien22.3%
pydantic/validators.py39Samuel Colvin39.4%
tests/test_json_schema.py37Victorien21.5%
pydantic/dataclasses.py37Victorien18.8%
.github/workflows/ci.yml35Samuel Colvin32.5%
pydantic/__init__.py35Samuel Colvin31.8%