GitPython 3.1.35__py3-none-any.whl → 3.1.36__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: GitPython
3
- Version: 3.1.35
3
+ Version: 3.1.36
4
4
  Summary: GitPython is a Python library used to interact with Git repositories
5
5
  Home-page: https://github.com/gitpython-developers/GitPython
6
6
  Author: Sebastian Thiel, Michael Trier
@@ -22,12 +22,23 @@ Classifier: Programming Language :: Python :: 3.8
22
22
  Classifier: Programming Language :: Python :: 3.9
23
23
  Classifier: Programming Language :: Python :: 3.10
24
24
  Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
25
26
  Requires-Python: >=3.7
26
27
  Description-Content-Type: text/markdown
27
28
  License-File: LICENSE
28
29
  License-File: AUTHORS
29
30
  Requires-Dist: gitdb <5,>=4.0.1
30
31
  Requires-Dist: typing-extensions >=3.7.4.3 ; python_version < "3.8"
32
+ Provides-Extra: test
33
+ Requires-Dist: black ; extra == 'test'
34
+ Requires-Dist: coverage[toml] ; extra == 'test'
35
+ Requires-Dist: ddt !=1.4.3,>=1.1.1 ; extra == 'test'
36
+ Requires-Dist: mypy ; extra == 'test'
37
+ Requires-Dist: pre-commit ; extra == 'test'
38
+ Requires-Dist: pytest ; extra == 'test'
39
+ Requires-Dist: pytest-cov ; extra == 'test'
40
+ Requires-Dist: pytest-sugar ; extra == 'test'
41
+ Requires-Dist: virtualenv ; extra == 'test'
31
42
 
32
43
  ![Python package](https://github.com/gitpython-developers/GitPython/workflows/Python%20package/badge.svg)
33
44
  [![Documentation Status](https://readthedocs.org/projects/gitpython/badge/?version=stable)](https://readthedocs.org/projects/gitpython/?badge=stable)
@@ -80,30 +91,51 @@ The installer takes care of installing them for you.
80
91
 
81
92
  ### INSTALL
82
93
 
83
- If you have downloaded the source code:
94
+ GitPython and its required package dependencies can be installed in any of the following ways, all of which should typically be done in a [virtual environment](https://docs.python.org/3/tutorial/venv.html).
84
95
 
85
- ```bash
86
- python setup.py install
87
- ```
96
+ #### From PyPI
88
97
 
89
- or if you want to obtain a copy from the Pypi repository:
98
+ To obtain and install a copy [from PyPI](https://pypi.org/project/GitPython/), run:
90
99
 
91
100
  ```bash
92
101
  pip install GitPython
93
102
  ```
94
103
 
95
- Both commands will install the required package dependencies.
104
+ (A distribution package can also be downloaded for manual installation at [the PyPI page](https://pypi.org/project/GitPython/).)
105
+
106
+ #### From downloaded source code
107
+
108
+ If you have downloaded the source code, run this from inside the unpacked `GitPython` directory:
109
+
110
+ ```bash
111
+ pip install .
112
+ ```
96
113
 
97
- A distribution package can be obtained for manual installation at: <http://pypi.python.org/pypi/GitPython>.
114
+ #### By cloning the source code repository
98
115
 
99
- If you like to clone from source, you can do it like so:
116
+ To clone the [the GitHub repository](https://github.com/gitpython-developers/GitPython) from source to work on the code, you can do it like so:
100
117
 
101
118
  ```bash
102
119
  git clone https://github.com/gitpython-developers/GitPython
103
- git submodule update --init --recursive
120
+ cd GitPython
121
+ git fetch --tags
104
122
  ./init-tests-after-clone.sh
105
123
  ```
106
124
 
125
+ If you are cloning [your own fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks), then replace the above `git clone` command with one that gives the URL of your fork. Or use this [`gh`](https://cli.github.com/) command (assuming you have `gh` and your fork is called `GitPython`):
126
+
127
+ ```bash
128
+ gh repo clone GitPython
129
+ ```
130
+
131
+ Having cloned the repo, create and activate your [virtual environment](https://docs.python.org/3/tutorial/venv.html). Then make an [editable install](https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs):
132
+
133
+ ```bash
134
+ pip install -e ".[test]"
135
+ ```
136
+
137
+ In the less common case that you do not want to install test dependencies, `pip install -e .` can be used instead.
138
+
107
139
  ### Limitations
108
140
 
109
141
  #### Leakage of System Resources
@@ -132,20 +164,49 @@ On _Windows_, make sure you have `git-daemon` in your PATH. For MINGW-git, the `
132
164
  exists in `Git\mingw64\libexec\git-core\`; CYGWIN has no daemon, but should get along fine
133
165
  with MINGW's.
134
166
 
135
- Ensure testing libraries are installed.
136
- In the root directory, run: `pip install -r test-requirements.txt`
167
+ #### Install test dependencies
137
168
 
138
- To lint, run: `pre-commit run --all-files`
169
+ Ensure testing libraries are installed. This is taken care of already if you installed with:
139
170
 
140
- To typecheck, run: `mypy -p git`
171
+ ```bash
172
+ pip install -e ".[test]"
173
+ ```
141
174
 
142
- To test, run: `pytest`
175
+ Otherwise, you can run:
143
176
 
144
- For automatic code formatting run: `black git`
177
+ ```bash
178
+ pip install -r test-requirements.txt
179
+ ```
180
+
181
+ #### Test commands
182
+
183
+ To test, run:
184
+
185
+ ```bash
186
+ pytest
187
+ ```
188
+
189
+ To lint, run:
190
+
191
+ ```bash
192
+ pre-commit run --all-files
193
+ ```
194
+
195
+ To typecheck, run:
196
+
197
+ ```bash
198
+ mypy -p git
199
+ ```
200
+
201
+ For automatic code formatting, run:
202
+
203
+ ```bash
204
+ black git
205
+ ```
145
206
 
146
- Configuration for flake8 is in the ./.flake8 file.
207
+ Configuration for flake8 is in the `./.flake8` file.
147
208
 
148
- Configurations for mypy, pytest and coverage.py are in ./pyproject.toml.
209
+ Configurations for `mypy`, `pytest`, `coverage.py`, and `black` are in `./pyproject.toml`.
149
210
 
150
211
  The same linting and testing will also be performed against different supported python versions
151
212
  upon submitting a pull request (or on each push if you have a fork with a "main" branch and actions enabled).
@@ -169,13 +230,15 @@ Please have a look at the [contributions file][contributing].
169
230
 
170
231
  ### How to make a new release
171
232
 
172
- - Update/verify the **version** in the `VERSION` file
173
- - Update/verify that the `doc/source/changes.rst` changelog file was updated
174
- - Commit everything
175
- - Run `git tag -s <version>` to tag the version in Git
176
- - Run `make release`
233
+ - Update/verify the **version** in the `VERSION` file.
234
+ - Update/verify that the `doc/source/changes.rst` changelog file was updated.
235
+ - Commit everything.
236
+ - Run `git tag -s <version>` to tag the version in Git.
237
+ - _Optionally_ create and activate a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment) using `venv` or `virtualenv`.\
238
+ (When run in a virtual environment, the next step will automatically take care of installing `build` and `twine` in it.)
239
+ - Run `make release`.
177
240
  - Close the milestone mentioned in the _changelog_ and create a new one. _Do not reuse milestones by renaming them_.
178
- - Got to [GitHub Releases](https://github.com/gitpython-developers/GitPython/releases) and publish a new one with the recently pushed tag. Generate the changelog.
241
+ - Go to [GitHub Releases](https://github.com/gitpython-developers/GitPython/releases) and publish a new one with the recently pushed tag. Generate the changelog.
179
242
 
180
243
  ### How to verify a release (DEPRECATED)
181
244
 
@@ -1,4 +1,4 @@
1
- git/__init__.py,sha256=hc3qpgt0rOxQglVbDH4iFcc7Z5WryWRihpvYd9HWseo,2379
1
+ git/__init__.py,sha256=k6nrx92KdrotIDHFnn1z0bZSxWtvaYZcKkMTaQO1Lsw,2379
2
2
  git/cmd.py,sha256=g9VI2IZU7jF4oYf9C1hLDqY6mD10wET_Du8BVZQi_P0,54069
3
3
  git/compat.py,sha256=3wWLkD9QrZvLiV6NtNxJILwGrLE2nw_SoLqaTEPH364,2256
4
4
  git/config.py,sha256=_84Pc5-jF9aNMGHMkF2sE0_UClLDkRD92Hbm7zaqAgw,34578
@@ -36,9 +36,9 @@ git/refs/tag.py,sha256=FNoCZ3BdDl2i5kD3si2P9hoXU9rDAZ_YK0Rn84TmKT8,4419
36
36
  git/repo/__init__.py,sha256=XMpdeowJRtTEd80jAcrKSQfMu2JZGMfPlpuIYHG2ZCk,80
37
37
  git/repo/base.py,sha256=3iOwwyXSrXPycEEr2dEI-mjl9m_BvV6KrEkYxMspxKE,55134
38
38
  git/repo/fun.py,sha256=VTRODXAb_x8bazkSd8g-Pkk8M2iLVK4kPoKQY9HXjZc,12962
39
- GitPython-3.1.35.dist-info/AUTHORS,sha256=MTQl3FsmhgQKZ6l496gsyG82rHY_FdJJ8MgVKbVvU8Y,2199
40
- GitPython-3.1.35.dist-info/LICENSE,sha256=_WV__CzvY9JceMq3gI1BTdA6KC5jiTSR_RHDL5i-Z_s,1521
41
- GitPython-3.1.35.dist-info/METADATA,sha256=dgrUbiWBBPBffR17X84gl_blZRyAN6zYFeLhgp8X0O0,10050
42
- GitPython-3.1.35.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
43
- GitPython-3.1.35.dist-info/top_level.txt,sha256=0hzDuIp8obv624V3GmbqsagBWkk8ohtGU-Bc1PmTT0o,4
44
- GitPython-3.1.35.dist-info/RECORD,,
39
+ GitPython-3.1.36.dist-info/AUTHORS,sha256=MTQl3FsmhgQKZ6l496gsyG82rHY_FdJJ8MgVKbVvU8Y,2199
40
+ GitPython-3.1.36.dist-info/LICENSE,sha256=_WV__CzvY9JceMq3gI1BTdA6KC5jiTSR_RHDL5i-Z_s,1521
41
+ GitPython-3.1.36.dist-info/METADATA,sha256=deOWQkShWVuYb_YV9FTF4900-VW4qVEhfy-UCPSSwms,12249
42
+ GitPython-3.1.36.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92
43
+ GitPython-3.1.36.dist-info/top_level.txt,sha256=0hzDuIp8obv624V3GmbqsagBWkk8ohtGU-Bc1PmTT0o,4
44
+ GitPython-3.1.36.dist-info/RECORD,,
git/__init__.py CHANGED
@@ -14,13 +14,13 @@ import os.path as osp
14
14
  from typing import Optional
15
15
  from git.types import PathLike
16
16
 
17
- __version__ = '3.1.35'
17
+ __version__ = '3.1.36'
18
18
 
19
19
 
20
20
  # { Initialization
21
21
  def _init_externals() -> None:
22
22
  """Initialize external projects by putting them into the path"""
23
- if __version__ == '3.1.35' and "PYOXIDIZER" not in os.environ:
23
+ if __version__ == '3.1.36' and "PYOXIDIZER" not in os.environ:
24
24
  sys.path.insert(1, osp.join(osp.dirname(__file__), "ext", "gitdb"))
25
25
 
26
26
  try: