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
1,867
in the current tree
Bus Factor
2
2 authors are primary owner of 1,530 of 1,867 files
Single-Owner Files
836
44.8% of tracked files
Contributors
502
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
crates/uv-lock/src/lock/serialize.rsCharlie Marsh8
crates/uv-distribution-types/src/variants_json.rskonsti8
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__hash_optional_missing.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_direct_has_subdir.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_direct_no_subdir.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_directory.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_editable.snapCharlie Marsh7
crates/uv-distribution-types/src/build_requires.rsCharlie Marsh7
.cargo/deny.tomlWilliam Woodruff6
crates/uv-resolver-types/src/universal_marker.rsCharlie Marsh5
Table: the 100 most-changed of 836 single-owner files
FileSole ownerCommits
crates/uv-lock/src/lock/serialize.rsCharlie Marsh8
crates/uv-distribution-types/src/variants_json.rskonsti8
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__hash_optional_missing.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_direct_has_subdir.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_direct_no_subdir.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_directory.snapCharlie Marsh7
crates/uv-lock/src/lock/snapshots/uv_lock__lock__tests__source_editable.snapCharlie Marsh7
crates/uv-distribution-types/src/build_requires.rsCharlie Marsh7
.cargo/deny.tomlWilliam Woodruff6
crates/uv-resolver-types/src/universal_marker.rsCharlie Marsh5
crates/uv-extract/src/dirhash/seek.rsCharlie Marsh5
docs/concepts/index.mdZanie Blue5
crates/uv-distribution-types/tests/variants_json.rskonsti5
crates/uv/tests/project/lock.rsCharlie Marsh4
crates/uv/tests/it/snapshots/it__ecosystem__semantic-kernel-lock-file.snapCharlie Marsh4
crates/uv-cli/src/comma.rsCharlie Marsh4
docs/getting-started/help.mdZanie Blue4
crates/uv/tests/pip_install/wheel_variants.rskonsti4
.github/zizmor.ymlWilliam Woodruff3
crates/uv-pypi-types/src/project_status.rsWilliam Woodruff3
crates/uv-command-support/src/lib.rsCharlie Marsh3
crates/uv-tool-commands/src/uninstall.rsCharlie Marsh3
crates/uv/tests/it/snapshots/it__ecosystem__flask-lock-file.snapCharlie Marsh3
crates/uv/tests/it/snapshots/it__ecosystem__pandas-lock-file.snapCharlie Marsh3
crates/uv-lock/src/lock/inputs.rsCharlie Marsh3
crates/uv/tests/lock/main.rsCharlie Marsh3
test/ecosystem/semantic-kernel/pyproject.tomlCharlie Marsh3
crates/uv-cache-key/src/cache_key.rsCharlie Marsh3
crates/uv-project-commands/src/check.rsZanie Blue3
crates/uv-windows/src/lib.rsZanie Blue3
test/integration/termux.shZanie Blue3
crates/uv-platform/src/cpuinfo.rsZanie Blue3
SECURITY.mdZanie Blue3
changelogs/0.4.x.mdZanie Blue3
docs/getting-started/first-steps.mdZanie Blue3
docs/pip/index.mdZanie Blue3
crates/uv-distribution-filename/src/variant_label.rskonsti3
crates/uv-distribution/src/variant/nvidia.rskonsti3
crates/uv/tests/pip_install/wheel_variant_compatibility.rskonsti3
crates/uv-macros/src/deserialize_untagged.rsWilliam Woodruff2
crates/uv-bench/benches/uv_pep508.rsCharlie Marsh2
crates/uv-lock/src/lock/export/requirements_txt.rsCharlie Marsh2
crates/uv-pep508/src/marker/algebra/isop.rsCharlie Marsh2
crates/uv-fs/src/named_temp_file.rsCharlie Marsh2
crates/uv-distribution-types/src/minimum_libc_version.rsCharlie Marsh2
crates/uv-configuration/src/env_file.rsCharlie Marsh2
crates/uv-lock/src/lib.rsCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__cibuildwheel-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__cookiecutter-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__httpx-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__jupyterlab-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__llm-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__openai-python-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__poetry-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__pytest-cov-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__pyx-external-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__pyx-workspace-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__sentry-lock-file.snapCharlie Marsh2
crates/uv/tests/it/snapshots/it__ecosystem__zulip-lock-file.snapCharlie Marsh2
crates/uv/tests/project/main.rsCharlie Marsh2
crates/uv/tests/project/snapshots/project__workflow__packse_add_remove_existing_package_noop-2.snapCharlie Marsh2
crates/uv/tests/project/snapshots/project__workflow__packse_add_remove_one_package-2.snapCharlie Marsh2
crates/uv/tests/project/snapshots/project__workflow__packse_promote_transitive_to_direct_then_remove-2.snapCharlie Marsh2
crates/uv-configuration/src/prerelease.rsCharlie Marsh2
crates/uv-resolver-types/src/options.rsCharlie Marsh2
crates/uv-resolver-types/src/distribution.rsCharlie Marsh2
crates/uv-distribution/src/hash.rsCharlie Marsh2
crates/uv-distribution/src/extracted_wheel.rsCharlie Marsh2
crates/uv-extract/src/dirhash/archive.rsCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-basic.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-constraints-a.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-constraints-b.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-empty.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-for-poetry.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-include-a.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-include-b.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__line-endings-small.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-basic.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-constraints-a.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-constraints-b.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-empty.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-for-poetry.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-include-a.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-include-b.txt.snapCharlie Marsh2
crates/uv-requirements-txt/src/snapshots/uv_requirements_txt__test__parse-small.txt.snapCharlie Marsh2
crates/uv/tests/lock_scenarios/main.rsCharlie Marsh2
crates/uv-pypi-types/src/metadata/build_requires.rsCharlie Marsh2
crates/uv-requirements-txt/test-data/requirements-txt/editable.txtCharlie Marsh2
crates/uv-requirements-txt/test-data/requirements-txt/semicolon.txtCharlie Marsh2
scripts/benchmark/README.mdCharlie Marsh2
crates/uv-python-discovery/Cargo.tomlZanie Blue2
crates/uv-python-interpreter/README.mdZanie Blue2
crates/uv-python-managed/Cargo.tomlZanie Blue2
crates/uv-python-types/Cargo.tomlZanie Blue2
crates/uv-python-types/README.mdZanie Blue2
crates/uv-project-commands/src/audit.rsZanie Blue2
crates/uv-project-commands/src/edit.rsZanie Blue2
crates/uv-project-commands/src/lock.rsZanie Blue2
crates/uv-project-commands/src/toolchain.rsZanie Blue2
scripts/test-release-wheels-macos.shZanie Blue2

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
Zanie Blue8654511,250
Charlie Marsh6652801,147
konsti12733661
William Woodruff5019438
zaniebot3715239
Zsolt Dollenstein285347
Tomasz Kramkowski246360
samypr100182178
Aria Desires94278
Ee Durbin9568
John Mumm52156
Andrew Gallant4297
Ahmed Ilyas2244
Dev-X25874204
Perchun Pak202
adamnemecek1098
Ibraheem Ahmed1068
Jack O'Connor1140
liam1024
Damian Shaw1121
Ben Beasley1115
Christopher Tee1111
Trevor Manz107
Jacob Coffee115
Giuseppe Di Giorno105

Showing top 25 of 502 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
crates/uv-cli/src/lib.rs100Charlie Marsh29.5%
Cargo.lock82Charlie Marsh40.1%
crates/uv/src/lib.rs72Charlie Marsh35.4%
Cargo.toml49Charlie Marsh37.1%
uv.schema.json45Charlie Marsh51.9%
crates/uv-static/src/env_vars.rs44Zanie Blue25.3%
README.md37Charlie Marsh43.5%
crates/uv-settings/src/settings.rs37Charlie Marsh49.7%
crates/uv/Cargo.toml33Zanie Blue42.3%
.github/workflows/ci.yml32Zanie Blue51.5%
crates/uv-client/src/registry_client.rs31Charlie Marsh44.3%
docs/guides/integration/docker.md29Zanie Blue58.5%
docs/guides/integration/github.md29Zanie Blue56.3%
crates/uv/src/commands/venv.rs26Charlie Marsh42.4%
crates/uv-workspace/src/pyproject.rs25Charlie Marsh56.9%
CHANGELOG.md24Zanie Blue56.5%
docs/getting-started/installation.md24Zanie Blue59.0%
crates/uv-settings/src/lib.rs23Charlie Marsh39.3%
crates/uv-workspace/src/workspace.rs22Charlie Marsh61.5%
crates/uv-git/src/git.rs22Charlie Marsh44.6%