├── .cursor └── rules │ ├── project_overview.mdc │ ├── pytest_standards.mdc │ ├── python_standards.mdc │ ├── sphinx_docs_standards.mdc │ └── testing.mdc ├── .github ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── docs.yml │ ├── pypi-publish.yml │ ├── test-docs-build.yml │ └── test-suite.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── Makefile ├── README.md ├── docs ├── AUDIT_REPORT.md ├── Makefile ├── make.bat ├── requirements.txt └── source │ ├── CNAME │ ├── cache.rst │ ├── conf.py │ ├── contributors.rst │ ├── index.rst │ ├── performance.rst │ ├── project.rst │ ├── remote_operations.rst │ ├── repository.rst │ └── usecases.rst ├── examples ├── __init__.py ├── attributes.py ├── bus_analysis.py ├── cache_management.py ├── cache_timestamps.py ├── cloud_repo.py ├── commit_history.py ├── cumulative_blame.py ├── definitions.py ├── file_change_rates.py ├── hours_estimate.py ├── img │ ├── cumulative_blame.png │ ├── cumulative_project_blame.png │ ├── githubblame.png │ ├── lifeline.png │ └── stravalib_cumulative_blame.png ├── lifeline.py ├── parallel_blame.py ├── project_blame.py ├── punchcard.py ├── release_analytics.py ├── remote_fetch_and_cache_warming.py └── repo_file_detail.py ├── gitpandas ├── __init__.py ├── cache.py ├── logging.py ├── project.py ├── repository.py └── utilities │ ├── __init__.py │ ├── check_api.py │ └── plotting.py ├── img ├── cumulative_blame.png ├── lifeline.png └── punchcard.png ├── mcp_server ├── README.md └── server.py ├── pyproject.toml └── tests ├── __init__.py ├── conftest.py ├── test_Project ├── __init__.py ├── test_advanced.py ├── test_edge_cases.py ├── test_error_handling.py └── test_properties.py ├── test_Repository ├── __init__.py ├── test_advanced.py ├── test_bus_factor.py ├── test_edge_cases.py ├── test_error_handling.py ├── test_file_detail.py ├── test_file_operations.py ├── test_properties.py └── test_punchcard.py ├── test_bulk_fetch_warm.py ├── test_cache.py ├── test_cache_integration.py ├── test_cache_key_consistency.py ├── test_cache_management.py ├── test_cache_threading.py ├── test_cache_warming.py ├── test_examples.py ├── test_logging.py ├── test_remote_fetch.py ├── test_repository_cache.py └── test_utilities ├── test_check_api.py ├── test_init.py └── test_plotting.py /.cursor/rules/project_overview.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.cursor/rules/project_overview.mdc -------------------------------------------------------------------------------- /.cursor/rules/pytest_standards.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.cursor/rules/pytest_standards.mdc -------------------------------------------------------------------------------- /.cursor/rules/python_standards.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.cursor/rules/python_standards.mdc -------------------------------------------------------------------------------- /.cursor/rules/sphinx_docs_standards.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.cursor/rules/sphinx_docs_standards.mdc -------------------------------------------------------------------------------- /.cursor/rules/testing.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.cursor/rules/testing.mdc -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/pypi-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.github/workflows/pypi-publish.yml -------------------------------------------------------------------------------- /.github/workflows/test-docs-build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.github/workflows/test-docs-build.yml -------------------------------------------------------------------------------- /.github/workflows/test-suite.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.github/workflows/test-suite.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/README.md -------------------------------------------------------------------------------- /docs/AUDIT_REPORT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/AUDIT_REPORT.md -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/source/CNAME: -------------------------------------------------------------------------------- 1 | gitpandas.mcginniscommawill.com -------------------------------------------------------------------------------- /docs/source/cache.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/cache.rst -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/conf.py -------------------------------------------------------------------------------- /docs/source/contributors.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/contributors.rst -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/index.rst -------------------------------------------------------------------------------- /docs/source/performance.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/performance.rst -------------------------------------------------------------------------------- /docs/source/project.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/project.rst -------------------------------------------------------------------------------- /docs/source/remote_operations.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/remote_operations.rst -------------------------------------------------------------------------------- /docs/source/repository.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/repository.rst -------------------------------------------------------------------------------- /docs/source/usecases.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/docs/source/usecases.rst -------------------------------------------------------------------------------- /examples/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = "willmcginnis" 2 | -------------------------------------------------------------------------------- /examples/attributes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/attributes.py -------------------------------------------------------------------------------- /examples/bus_analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/bus_analysis.py -------------------------------------------------------------------------------- /examples/cache_management.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/cache_management.py -------------------------------------------------------------------------------- /examples/cache_timestamps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/cache_timestamps.py -------------------------------------------------------------------------------- /examples/cloud_repo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/cloud_repo.py -------------------------------------------------------------------------------- /examples/commit_history.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/commit_history.py -------------------------------------------------------------------------------- /examples/cumulative_blame.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/cumulative_blame.py -------------------------------------------------------------------------------- /examples/definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/definitions.py -------------------------------------------------------------------------------- /examples/file_change_rates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/file_change_rates.py -------------------------------------------------------------------------------- /examples/hours_estimate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/hours_estimate.py -------------------------------------------------------------------------------- /examples/img/cumulative_blame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/img/cumulative_blame.png -------------------------------------------------------------------------------- /examples/img/cumulative_project_blame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/img/cumulative_project_blame.png -------------------------------------------------------------------------------- /examples/img/githubblame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/img/githubblame.png -------------------------------------------------------------------------------- /examples/img/lifeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/img/lifeline.png -------------------------------------------------------------------------------- /examples/img/stravalib_cumulative_blame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/img/stravalib_cumulative_blame.png -------------------------------------------------------------------------------- /examples/lifeline.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/lifeline.py -------------------------------------------------------------------------------- /examples/parallel_blame.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/parallel_blame.py -------------------------------------------------------------------------------- /examples/project_blame.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/project_blame.py -------------------------------------------------------------------------------- /examples/punchcard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/punchcard.py -------------------------------------------------------------------------------- /examples/release_analytics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/release_analytics.py -------------------------------------------------------------------------------- /examples/remote_fetch_and_cache_warming.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/remote_fetch_and_cache_warming.py -------------------------------------------------------------------------------- /examples/repo_file_detail.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/examples/repo_file_detail.py -------------------------------------------------------------------------------- /gitpandas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/__init__.py -------------------------------------------------------------------------------- /gitpandas/cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/cache.py -------------------------------------------------------------------------------- /gitpandas/logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/logging.py -------------------------------------------------------------------------------- /gitpandas/project.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/project.py -------------------------------------------------------------------------------- /gitpandas/repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/repository.py -------------------------------------------------------------------------------- /gitpandas/utilities/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/utilities/__init__.py -------------------------------------------------------------------------------- /gitpandas/utilities/check_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/utilities/check_api.py -------------------------------------------------------------------------------- /gitpandas/utilities/plotting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/gitpandas/utilities/plotting.py -------------------------------------------------------------------------------- /img/cumulative_blame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/img/cumulative_blame.png -------------------------------------------------------------------------------- /img/lifeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/img/lifeline.png -------------------------------------------------------------------------------- /img/punchcard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/img/punchcard.png -------------------------------------------------------------------------------- /mcp_server/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/mcp_server/README.md -------------------------------------------------------------------------------- /mcp_server/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/mcp_server/server.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Test suite for git-pandas. 3 | """ 4 | 5 | __author__ = "willmcginnis" 6 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/test_Project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Project/__init__.py -------------------------------------------------------------------------------- /tests/test_Project/test_advanced.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Project/test_advanced.py -------------------------------------------------------------------------------- /tests/test_Project/test_edge_cases.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Project/test_edge_cases.py -------------------------------------------------------------------------------- /tests/test_Project/test_error_handling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Project/test_error_handling.py -------------------------------------------------------------------------------- /tests/test_Project/test_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Project/test_properties.py -------------------------------------------------------------------------------- /tests/test_Repository/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Tests for the Repository class. 3 | """ 4 | 5 | __author__ = "willmcginnis" 6 | -------------------------------------------------------------------------------- /tests/test_Repository/test_advanced.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_advanced.py -------------------------------------------------------------------------------- /tests/test_Repository/test_bus_factor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_bus_factor.py -------------------------------------------------------------------------------- /tests/test_Repository/test_edge_cases.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_edge_cases.py -------------------------------------------------------------------------------- /tests/test_Repository/test_error_handling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_error_handling.py -------------------------------------------------------------------------------- /tests/test_Repository/test_file_detail.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_file_detail.py -------------------------------------------------------------------------------- /tests/test_Repository/test_file_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_file_operations.py -------------------------------------------------------------------------------- /tests/test_Repository/test_properties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_properties.py -------------------------------------------------------------------------------- /tests/test_Repository/test_punchcard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_Repository/test_punchcard.py -------------------------------------------------------------------------------- /tests/test_bulk_fetch_warm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_bulk_fetch_warm.py -------------------------------------------------------------------------------- /tests/test_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_cache.py -------------------------------------------------------------------------------- /tests/test_cache_integration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_cache_integration.py -------------------------------------------------------------------------------- /tests/test_cache_key_consistency.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_cache_key_consistency.py -------------------------------------------------------------------------------- /tests/test_cache_management.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_cache_management.py -------------------------------------------------------------------------------- /tests/test_cache_threading.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_cache_threading.py -------------------------------------------------------------------------------- /tests/test_cache_warming.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_cache_warming.py -------------------------------------------------------------------------------- /tests/test_examples.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_examples.py -------------------------------------------------------------------------------- /tests/test_logging.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_logging.py -------------------------------------------------------------------------------- /tests/test_remote_fetch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_remote_fetch.py -------------------------------------------------------------------------------- /tests/test_repository_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_repository_cache.py -------------------------------------------------------------------------------- /tests/test_utilities/test_check_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_utilities/test_check_api.py -------------------------------------------------------------------------------- /tests/test_utilities/test_init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_utilities/test_init.py -------------------------------------------------------------------------------- /tests/test_utilities/test_plotting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wdm0006/git-pandas/HEAD/tests/test_utilities/test_plotting.py --------------------------------------------------------------------------------