git-pandas 2.2.1__tar.gz → 2.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. {git_pandas-2.2.1 → git_pandas-2.3.0}/.github/workflows/docs.yml +0 -12
  2. {git_pandas-2.2.1 → git_pandas-2.3.0}/CHANGELOG.md +9 -0
  3. {git_pandas-2.2.1 → git_pandas-2.3.0}/PKG-INFO +2 -1
  4. git_pandas-2.3.0/docs/requirements.txt +9 -0
  5. git_pandas-2.3.0/docs/source/CNAME +1 -0
  6. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/source/cache.rst +8 -13
  7. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/source/conf.py +13 -3
  8. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/source/contributors.rst +11 -11
  9. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/source/index.rst +13 -36
  10. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/source/project.rst +7 -20
  11. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/source/repository.rst +7 -28
  12. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/source/usecases.rst +15 -15
  13. {git_pandas-2.2.1 → git_pandas-2.3.0}/gitpandas/__init__.py +1 -0
  14. git_pandas-2.3.0/gitpandas/logging.py +98 -0
  15. {git_pandas-2.2.1 → git_pandas-2.3.0}/gitpandas/project.py +103 -34
  16. {git_pandas-2.2.1 → git_pandas-2.3.0}/gitpandas/repository.py +393 -75
  17. git_pandas-2.3.0/mcp_server/README.md +22 -0
  18. git_pandas-2.3.0/mcp_server/server.py +344 -0
  19. {git_pandas-2.2.1 → git_pandas-2.3.0}/pyproject.toml +2 -1
  20. git_pandas-2.3.0/tests/test_Repository/test_file_operations.py +161 -0
  21. git_pandas-2.2.1/docs/requirements.txt +0 -4
  22. {git_pandas-2.2.1 → git_pandas-2.3.0}/.cursor/rules/project_overview.mdc +0 -0
  23. {git_pandas-2.2.1 → git_pandas-2.3.0}/.cursor/rules/pytest_standards.mdc +0 -0
  24. {git_pandas-2.2.1 → git_pandas-2.3.0}/.cursor/rules/python_standards.mdc +0 -0
  25. {git_pandas-2.2.1 → git_pandas-2.3.0}/.cursor/rules/sphinx_docs_standards.mdc +0 -0
  26. {git_pandas-2.2.1 → git_pandas-2.3.0}/.cursor/rules/testing.mdc +0 -0
  27. {git_pandas-2.2.1 → git_pandas-2.3.0}/.github/ISSUE_TEMPLATE.md +0 -0
  28. {git_pandas-2.2.1 → git_pandas-2.3.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  29. {git_pandas-2.2.1 → git_pandas-2.3.0}/.github/workflows/pypi-publish.yml +0 -0
  30. {git_pandas-2.2.1 → git_pandas-2.3.0}/.github/workflows/test-docs-build.yml +0 -0
  31. {git_pandas-2.2.1 → git_pandas-2.3.0}/.github/workflows/test-suite.yml +0 -0
  32. {git_pandas-2.2.1 → git_pandas-2.3.0}/.gitignore +0 -0
  33. {git_pandas-2.2.1 → git_pandas-2.3.0}/CONTRIBUTING.md +0 -0
  34. {git_pandas-2.2.1 → git_pandas-2.3.0}/LICENSE.md +0 -0
  35. {git_pandas-2.2.1 → git_pandas-2.3.0}/Makefile +0 -0
  36. {git_pandas-2.2.1 → git_pandas-2.3.0}/README.md +0 -0
  37. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/Makefile +0 -0
  38. {git_pandas-2.2.1 → git_pandas-2.3.0}/docs/make.bat +0 -0
  39. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/__init__.py +0 -0
  40. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/attributes.py +0 -0
  41. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/bus_analysis.py +0 -0
  42. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/cloud_repo.py +0 -0
  43. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/commit_history.py +0 -0
  44. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/cumulative_blame.py +0 -0
  45. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/definitions.py +0 -0
  46. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/file_change_rates.py +0 -0
  47. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/hours_estimate.py +0 -0
  48. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/img/cumulative_blame.png +0 -0
  49. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/img/cumulative_project_blame.png +0 -0
  50. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/img/githubblame.png +0 -0
  51. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/img/lifeline.png +0 -0
  52. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/img/stravalib_cumulative_blame.png +0 -0
  53. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/lifeline.py +0 -0
  54. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/parallel_blame.py +0 -0
  55. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/project_blame.py +0 -0
  56. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/punchcard.py +0 -0
  57. {git_pandas-2.2.1 → git_pandas-2.3.0}/examples/repo_file_detail.py +0 -0
  58. {git_pandas-2.2.1 → git_pandas-2.3.0}/gitpandas/cache.py +0 -0
  59. {git_pandas-2.2.1 → git_pandas-2.3.0}/gitpandas/utilities/__init__.py +0 -0
  60. {git_pandas-2.2.1 → git_pandas-2.3.0}/gitpandas/utilities/check_api.py +0 -0
  61. {git_pandas-2.2.1 → git_pandas-2.3.0}/gitpandas/utilities/plotting.py +0 -0
  62. {git_pandas-2.2.1 → git_pandas-2.3.0}/img/cumulative_blame.png +0 -0
  63. {git_pandas-2.2.1 → git_pandas-2.3.0}/img/lifeline.png +0 -0
  64. {git_pandas-2.2.1 → git_pandas-2.3.0}/img/punchcard.png +0 -0
  65. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/__init__.py +0 -0
  66. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/conftest.py +0 -0
  67. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Project/__init__.py +0 -0
  68. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Project/test_advanced.py +0 -0
  69. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Project/test_properties.py +0 -0
  70. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Repository/__init__.py +0 -0
  71. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Repository/test_advanced.py +0 -0
  72. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Repository/test_bus_factor.py +0 -0
  73. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Repository/test_file_detail.py +0 -0
  74. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Repository/test_properties.py +0 -0
  75. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_Repository/test_punchcard.py +0 -0
  76. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_cache.py +0 -0
  77. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_examples.py +0 -0
  78. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_utilities/test_check_api.py +0 -0
  79. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_utilities/test_init.py +0 -0
  80. {git_pandas-2.2.1 → git_pandas-2.3.0}/tests/test_utilities/test_plotting.py +0 -0
@@ -29,18 +29,6 @@ jobs:
29
29
  with:
30
30
  docs-folder: "./docs/"
31
31
 
32
- - name: Debug directory structure
33
- run: |
34
- ls -la docs/
35
- ls -la docs/build/ || echo "build dir not found"
36
- ls -la docs/_build/ || echo "_build dir not found"
37
-
38
- - name: Create CNAME file
39
- continue-on-error: true
40
- run: |
41
- mkdir -p docs/build/html/
42
- echo "gitpandas.mcginniscommawill.com" > ./docs/build/html/CNAME
43
-
44
32
  - name: Deploy Docs
45
33
  uses: peaceiris/actions-gh-pages@v3
46
34
  with:
@@ -1,3 +1,12 @@
1
+ v2.3.0
2
+ ======
3
+
4
+ * Updated coverage file parsing to use coverage.py API instead of direct file parsing
5
+ * Added coverage>=5.0.0 as a core dependency
6
+ * Added a basic MCP server
7
+ * Added methods to `Repository` for getting files in repo, getting content of a file, and getting diffs of a revision
8
+
9
+
1
10
  v2.2.1
2
11
  ======
3
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: git-pandas
3
- Version: 2.2.1
3
+ Version: 2.3.0
4
4
  Summary: A utility for interacting with data from git repositories as Pandas dataframes
5
5
  Project-URL: Documentation, https://gitpandas.mcginniscommawill.com
6
6
  Project-URL: Source, https://github.com/wdm0006/git-pandas
@@ -13,6 +13,7 @@ Classifier: Development Status :: 3 - Alpha
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Requires-Python: >=3.8
16
+ Requires-Dist: coverage>=5.0.0
16
17
  Requires-Dist: gitpython>=1.0.0
17
18
  Requires-Dist: numpy>=1.9.0
18
19
  Requires-Dist: pandas>=2.0.0
@@ -0,0 +1,9 @@
1
+ sphinx>=4.0.0
2
+ sphinx-rtd-theme>=1.0.0
3
+ sphinx-rtd-dark-mode>=1.0.0
4
+ sphinxcontrib-googleanalytics>=0.3
5
+ gitpython>=1.0.0
6
+ numpy>=1.9.0
7
+ pandas>=2.0.0
8
+ requests
9
+ redis
@@ -0,0 +1 @@
1
+ gitpandas.mcginniscommawill.com
@@ -14,10 +14,10 @@ The caching system provides:
14
14
  * Decorator-based caching for expensive operations
15
15
 
16
16
  Available Cache Backends
17
- ----------------------
17
+ ------------------------
18
18
 
19
19
  In-Memory Cache (EphemeralCache)
20
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
21
 
22
22
  The default in-memory cache is ephemeral and will be cleared when the process ends:
23
23
 
@@ -36,7 +36,7 @@ The default in-memory cache is ephemeral and will be cleared when the process en
36
36
  repo = Repository('/path/to/repo', cache_backend=cache)
37
37
 
38
38
  Redis Cache (RedisDFCache)
39
- ~~~~~~~~~~~~~~~~~~~~~~~
39
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
40
40
 
41
41
  For persistent caching across sessions, use Redis:
42
42
 
@@ -61,7 +61,7 @@ For persistent caching across sessions, use Redis:
61
61
  repo = Repository('/path/to/repo', cache_backend=cache)
62
62
 
63
63
  Using the Cache Decorator
64
- ----------------------
64
+ -------------------------
65
65
 
66
66
  The `@multicache` decorator can be used to cache method results:
67
67
 
@@ -79,7 +79,7 @@ The `@multicache` decorator can be used to cache method results:
79
79
  pass
80
80
 
81
81
  Configuration
82
- ------------
82
+ -------------
83
83
 
84
84
  Cache backends can be configured with various parameters:
85
85
 
@@ -95,27 +95,22 @@ RedisDFCache:
95
95
  * Additional keyword arguments are passed to redis.StrictRedis
96
96
 
97
97
  API Reference
98
- ------------
98
+ -------------
99
99
 
100
100
  .. currentmodule:: gitpandas.cache
101
101
 
102
- .. autoclass:: CacheBackend
103
- :members:
104
- :undoc-members:
105
- :show-inheritance:
106
- :inherited-members:
107
- :special-members: __init__, __getitem__, __setitem__, __delitem__, __contains__, __len__
108
-
109
102
  .. autoclass:: EphemeralCache
110
103
  :members:
111
104
  :undoc-members:
112
105
  :show-inheritance:
113
106
  :inherited-members:
107
+ :special-members: __init__
114
108
 
115
109
  .. autoclass:: RedisDFCache
116
110
  :members:
117
111
  :undoc-members:
118
112
  :show-inheritance:
119
113
  :inherited-members:
114
+ :special-members: __init__
120
115
 
121
116
  .. autofunction:: multicache
@@ -15,6 +15,16 @@
15
15
  import os
16
16
  import sys
17
17
 
18
+ # Configure autodoc mock imports for documentation build
19
+ autodoc_mock_imports = [
20
+ 'git', # Mock GitPython
21
+ 'gitdb', # Mock GitDB
22
+ 'git.repo', # Mock specific GitPython modules that might be imported directly
23
+ 'git.repo.base',
24
+ 'git.objects',
25
+ 'git.refs'
26
+ ]
27
+
18
28
  # If extensions (or modules to document with autodoc) are in another directory,
19
29
  # add these directories to sys.path here. If the directory is relative to the
20
30
  # documentation root, use os.path.abspath to make it absolute, like shown here.
@@ -72,9 +82,9 @@ author = "Will McGinnis"
72
82
  # built documents.
73
83
  #
74
84
  # The short X.Y version.
75
- version = "2.0.0"
85
+ version = "2.2.1"
76
86
  # The full version, including alpha/beta/rc tags.
77
- release = "2.0.0"
87
+ release = "2.2.1"
78
88
 
79
89
  # The language for content autogenerated by Sphinx. Refer to documentation
80
90
  # for a list of supported languages.
@@ -168,7 +178,7 @@ html_static_path = ["_static"]
168
178
  # Add any extra paths that contain custom files (such as robots.txt or
169
179
  # .htaccess) here, relative to this directory. These files are copied
170
180
  # directly to the root of the documentation.
171
- # html_extra_path = []
181
+ html_extra_path = ['CNAME']
172
182
 
173
183
  # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
174
184
  # using the given strftime format.
@@ -1,10 +1,10 @@
1
1
  Contributing to Git-Pandas
2
- =========================
2
+ ==========================
3
3
 
4
4
  We welcome contributions to Git-Pandas! Our goal is to make Git repository analysis simple, fast, and accessible to developers interested in data analysis.
5
5
 
6
6
  Getting Started
7
- --------------
7
+ ---------------
8
8
 
9
9
  1. Fork the repository on GitHub
10
10
  2. Clone your fork locally:
@@ -24,10 +24,10 @@ Getting Started
24
24
  5. Submit a pull request
25
25
 
26
26
  Development Guidelines
27
- --------------------
27
+ ----------------------
28
28
 
29
29
  Code Style
30
- ~~~~~~~~~
30
+ ~~~~~~~~~~
31
31
 
32
32
  * Follow PEP 8 style guide
33
33
  * Use 4 spaces for indentation
@@ -37,7 +37,7 @@ Code Style
37
37
  * Add docstrings following Google style guide
38
38
 
39
39
  Documentation
40
- ~~~~~~~~~~~
40
+ ~~~~~~~~~~~~~
41
41
 
42
42
  * Write detailed docstrings for all public APIs
43
43
  * Include type hints for function parameters and return values
@@ -58,7 +58,7 @@ Testing
58
58
  make coverage
59
59
 
60
60
  API Design Principles
61
- ~~~~~~~~~~~~~~~~~~~
61
+ ~~~~~~~~~~~~~~~~~~~~~
62
62
 
63
63
  * Maintain feature parity between Repository and ProjectDirectory
64
64
  * Include limit options for memory-intensive functions
@@ -66,10 +66,10 @@ API Design Principles
66
66
  * Consider performance implications
67
67
 
68
68
  Current Development Focus
69
- ------------------------
69
+ -------------------------
70
70
 
71
71
  High Priority
72
- ~~~~~~~~~~~
72
+ ~~~~~~~~~~~~~
73
73
 
74
74
  * Improve test coverage with proper unit tests
75
75
  * Add diff functionality between revisions
@@ -77,7 +77,7 @@ High Priority
77
77
  * Streamline documentation deployment
78
78
 
79
79
  Feature Ideas
80
- ~~~~~~~~~~~
80
+ ~~~~~~~~~~~~~
81
81
 
82
82
  * File-level history tracking
83
83
  * Cross-branch analytics
@@ -86,7 +86,7 @@ Feature Ideas
86
86
  * Language analytics and insights
87
87
 
88
88
  Development Setup
89
- ---------------
89
+ -----------------
90
90
 
91
91
  1. Install development dependencies:
92
92
 
@@ -113,7 +113,7 @@ Development Setup
113
113
  make docs
114
114
 
115
115
  Questions?
116
- ---------
116
+ ----------
117
117
 
118
118
  * Open an issue for bug reports or feature requests
119
119
  * Join our discussions on GitHub
@@ -4,7 +4,7 @@
4
4
  contain the root `toctree` directive.
5
5
 
6
6
  Welcome to Git-Pandas Documentation
7
- =================================
7
+ ===================================
8
8
 
9
9
  Git-Pandas is a powerful Python library that transforms Git repository data into pandas DataFrames, making it easy to analyze and visualize your codebase's history, contributors, and development patterns.
10
10
 
@@ -13,7 +13,7 @@ Git-Pandas is a powerful Python library that transforms Git repository data into
13
13
  :align: center
14
14
 
15
15
  Quick Start
16
- ----------
16
+ -----------
17
17
 
18
18
  Install Git-Pandas using pip:
19
19
 
@@ -22,7 +22,7 @@ Install Git-Pandas using pip:
22
22
  pip install git-pandas
23
23
 
24
24
  Basic Usage
25
- ~~~~~~~~~~
25
+ ~~~~~~~~~~~
26
26
 
27
27
  Analyze a single repository:
28
28
 
@@ -42,7 +42,7 @@ Analyze multiple repositories:
42
42
  project_info = project.general_information()
43
43
 
44
44
  Key Features
45
- -----------
45
+ ------------
46
46
 
47
47
  * **Repository Analysis**: Extract commit history, file changes, and blame information
48
48
  * **Project Insights**: Calculate bus factor, development time, and contributor metrics
@@ -51,7 +51,7 @@ Key Features
51
51
  * **Performance Optimization**: Optional caching support for memory-intensive operations
52
52
 
53
53
  Core Components
54
- -------------
54
+ ---------------
55
55
 
56
56
  The library is built around two main components:
57
57
 
@@ -60,11 +60,15 @@ The library is built around two main components:
60
60
 
61
61
  For detailed information about these components, see the :doc:`repository` and :doc:`project` documentation.
62
62
 
63
- Documentation Contents
64
- -------------------
63
+ Documentation
64
+ -------------
65
+
66
+ Currently, the two main sources of documentation are the repository and project pages, which have the Sphinx docs from
67
+ those two classes, as well as instructions on how to create the objects. For detailed examples, check out the use-cases
68
+ page.
65
69
 
66
70
  .. toctree::
67
- :maxdepth: 2
71
+ :maxdepth: 1
68
72
  :caption: Contents:
69
73
 
70
74
  repository
@@ -74,7 +78,7 @@ Documentation Contents
74
78
  contributors
75
79
 
76
80
  Additional Resources
77
- ------------------
81
+ --------------------
78
82
 
79
83
  * :ref:`genindex` - Complete API reference
80
84
  * :ref:`modindex` - Module index
@@ -85,30 +89,3 @@ License
85
89
 
86
90
  This project is BSD licensed (see LICENSE.md)
87
91
 
88
-
89
- Detailed Documentation
90
- ======================
91
-
92
- Currently, the two main sources of documentation are the repository and project pages, which have the Sphinx docs from
93
- those two classes, as well as instructions on how to create the objects. For detailed examples, check out the use-cases
94
- page.
95
-
96
- Contents:
97
-
98
- .. toctree::
99
- :maxdepth: 2
100
-
101
- repository
102
- project
103
- cache
104
- usecases
105
- contributors
106
-
107
-
108
- Indices and tables
109
- ==================
110
-
111
- * :ref:`genindex`
112
- * :ref:`modindex`
113
- * :ref:`search`
114
-
@@ -1,5 +1,5 @@
1
1
  Project Directory
2
- ===============
2
+ =================
3
3
 
4
4
  The ProjectDirectory class enables analysis across multiple Git repositories. It can aggregate metrics and insights from multiple repositories into a single output.
5
5
 
@@ -14,12 +14,12 @@ The ProjectDirectory class provides:
14
14
  * Bus factor calculation
15
15
 
16
16
  Creating a ProjectDirectory
17
- -------------------------
17
+ ---------------------------
18
18
 
19
19
  You can create a ProjectDirectory object in three ways:
20
20
 
21
21
  Directory of Repositories
22
- ~~~~~~~~~~~~~~~~~~~~~~~
22
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
23
23
 
24
24
  Create a ProjectDirectory from a directory containing multiple repositories:
25
25
 
@@ -42,7 +42,7 @@ To check which repositories are included:
42
42
  print(project.repo_name())
43
43
 
44
44
  Explicit Local Repositories
45
- ~~~~~~~~~~~~~~~~~~~~~~~~~
45
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
46
46
 
47
47
  Create a ProjectDirectory from a list of local repositories:
48
48
 
@@ -57,7 +57,7 @@ Create a ProjectDirectory from a list of local repositories:
57
57
  )
58
58
 
59
59
  Explicit Remote Repositories
60
- ~~~~~~~~~~~~~~~~~~~~~~~~~
60
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61
61
 
62
62
  Create a ProjectDirectory from a list of remote repositories:
63
63
 
@@ -72,7 +72,7 @@ Create a ProjectDirectory from a list of remote repositories:
72
72
  )
73
73
 
74
74
  Common Operations
75
- ---------------
75
+ -----------------
76
76
 
77
77
  Here are some common operations you can perform with a ProjectDirectory object:
78
78
 
@@ -97,7 +97,7 @@ Here are some common operations you can perform with a ProjectDirectory object:
97
97
  repo_info = project.repo_information()
98
98
 
99
99
  API Reference
100
- ------------
100
+ -------------
101
101
 
102
102
  .. currentmodule:: gitpandas.project
103
103
 
@@ -109,16 +109,3 @@ API Reference
109
109
  :special-members: __init__, __str__, __repr__
110
110
 
111
111
  .. rubric:: Methods
112
-
113
- .. autosummary::
114
- :nosignatures:
115
- ~ProjectDirectory.commit_history
116
- ~ProjectDirectory.file_change_history
117
- ~ProjectDirectory.blame
118
- ~ProjectDirectory.cumulative_blame
119
- ~ProjectDirectory.branches
120
- ~ProjectDirectory.tags
121
- ~ProjectDirectory.revs
122
- ~ProjectDirectory.bus_factor
123
- ~ProjectDirectory.repo_information
124
- ~ProjectDirectory.repo_name
@@ -1,5 +1,5 @@
1
1
  Repository
2
- =========
2
+ ==========
3
3
 
4
4
  The Repository class provides a powerful interface for analyzing a single Git repository. It can be created from either a local or remote repository.
5
5
 
@@ -14,12 +14,12 @@ The Repository class offers methods for:
14
14
  * Calculating file ownership and contribution patterns
15
15
 
16
16
  Creating a Repository
17
- -------------------
17
+ ---------------------
18
18
 
19
19
  You can create a Repository object in two ways:
20
20
 
21
21
  Local Repository
22
- ~~~~~~~~~~~~~~
22
+ ~~~~~~~~~~~~~~~~
23
23
 
24
24
  Create a Repository from a local Git repository:
25
25
 
@@ -35,7 +35,7 @@ Create a Repository from a local Git repository:
35
35
  The directory must contain a `.git` directory. Subdirectories are not searched.
36
36
 
37
37
  Remote Repository
38
- ~~~~~~~~~~~~~~~
38
+ ~~~~~~~~~~~~~~~~~
39
39
 
40
40
  Create a Repository from a remote Git repository:
41
41
 
@@ -51,7 +51,7 @@ Create a Repository from a remote Git repository:
51
51
  The repository will be cloned locally into a temporary directory. This can be slow for large repositories.
52
52
 
53
53
  Common Operations
54
- ---------------
54
+ -----------------
55
55
 
56
56
  Here are some common operations you can perform with a Repository object:
57
57
 
@@ -76,7 +76,7 @@ Here are some common operations you can perform with a Repository object:
76
76
  repo_name = repo.repo_name
77
77
 
78
78
  API Reference
79
- ------------
79
+ -------------
80
80
 
81
81
  .. currentmodule:: gitpandas.repository
82
82
 
@@ -87,30 +87,9 @@ API Reference
87
87
  :inherited-members:
88
88
  :special-members: __init__, __str__, __repr__
89
89
 
90
- .. rubric:: Methods
91
-
92
- .. autosummary::
93
- :nosignatures:
94
- ~Repository.commit_history
95
- ~Repository.file_change_history
96
- ~Repository.blame
97
- ~Repository.cumulative_blame
98
- ~Repository.branches
99
- ~Repository.tags
100
- ~Repository.revs
101
- ~Repository.bus_factor
102
- ~Repository.is_bare
103
- ~Repository.has_coverage
104
- ~Repository.has_branch
105
- ~Repository.get_branches_by_commit
106
- ~Repository.commits_in_tags
107
-
90
+
108
91
  .. rubric:: Properties
109
92
 
110
- .. autosummary::
111
- :nosignatures:
112
- ~Repository.repo_name
113
- ~Repository.default_branch
114
93
 
115
94
  .. autoclass:: GitFlowRepository
116
95
  :members:
@@ -1,13 +1,13 @@
1
1
  Use Cases and Examples
2
- =====================
2
+ ======================
3
3
 
4
4
  Git-Pandas provides a powerful interface for analyzing Git repositories using pandas DataFrames. This guide demonstrates common use cases and provides practical examples.
5
5
 
6
6
  Basic Repository Analysis
7
- ------------------------
7
+ -------------------------
8
8
 
9
9
  Repository Attributes
10
- ~~~~~~~~~~~~~~~~~~
10
+ ~~~~~~~~~~~~~~~~~~~~~
11
11
 
12
12
  Get basic information about a repository:
13
13
 
@@ -35,7 +35,7 @@ Get basic information about a repository:
35
35
  print(repo.blame(include_globs=['*.py']))
36
36
 
37
37
  Commit History Analysis
38
- ~~~~~~~~~~~~~~~~~~~~
38
+ ~~~~~~~~~~~~~~~~~~~~~~~
39
39
 
40
40
  Analyze commit patterns and history:
41
41
 
@@ -57,10 +57,10 @@ Analyze commit patterns and history:
57
57
  tag_commits = repo.commits_in_tags()
58
58
 
59
59
  Project-Level Analysis
60
- --------------------
60
+ ----------------------
61
61
 
62
62
  Multiple Repository Analysis
63
- ~~~~~~~~~~~~~~~~~~~~~~~~~
63
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64
64
 
65
65
  Analyze multiple repositories simultaneously:
66
66
 
@@ -87,10 +87,10 @@ Analyze multiple repositories simultaneously:
87
87
  print(project.blame())
88
88
 
89
89
  Advanced Analysis
90
- ---------------
90
+ -----------------
91
91
 
92
92
  Cumulative Blame Analysis
93
- ~~~~~~~~~~~~~~~~~~~~~~~
93
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
94
94
 
95
95
  Track code ownership over time:
96
96
 
@@ -105,7 +105,7 @@ Track code ownership over time:
105
105
  plt.show()
106
106
 
107
107
  Bus Factor Analysis
108
- ~~~~~~~~~~~~~~~~~
108
+ ~~~~~~~~~~~~~~~~~~~
109
109
 
110
110
  Analyze project sustainability:
111
111
 
@@ -121,10 +121,10 @@ Analyze project sustainability:
121
121
  ownership_patterns = repo.blame(committer=True, by='repository')
122
122
 
123
123
  Performance Optimization
124
- ---------------------
124
+ ------------------------
125
125
 
126
126
  Using Caching
127
- ~~~~~~~~~~~
127
+ ~~~~~~~~~~~~~
128
128
 
129
129
  Optimize performance with caching:
130
130
 
@@ -147,10 +147,10 @@ Optimize performance with caching:
147
147
  repo = Repository('/path/to/repo', cache_backend=redis_cache)
148
148
 
149
149
  Visualization Examples
150
- -------------------
150
+ ----------------------
151
151
 
152
152
  Commit Analysis
153
- ~~~~~~~~~~~~~
153
+ ~~~~~~~~~~~~~~~
154
154
 
155
155
  Visualize commit patterns:
156
156
 
@@ -167,7 +167,7 @@ Visualize commit patterns:
167
167
  plt.show()
168
168
 
169
169
  File Change Analysis
170
- ~~~~~~~~~~~~~~~~~
170
+ ~~~~~~~~~~~~~~~~~~~~
171
171
 
172
172
  Visualize file changes:
173
173
 
@@ -184,7 +184,7 @@ Visualize file changes:
184
184
  plt.show()
185
185
 
186
186
  Best Practices
187
- ------------
187
+ --------------
188
188
 
189
189
  * Use caching for expensive operations like blame analysis
190
190
  * Filter data early using include_globs/ignore_globs
@@ -2,5 +2,6 @@ from gitpandas.project import GitHubProfile, ProjectDirectory
2
2
  from gitpandas.repository import Repository
3
3
 
4
4
  __author__ = "willmcginnis"
5
+ __version__ = "2.3.0"
5
6
 
6
7
  __all__ = ["Repository", "ProjectDirectory", "GitHubProfile"]