| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -24,32 +24,30 @@ or low-level like git-plumbing. | |||
| 24 | 24 | ||
| 25 | 25 | It provides abstractions of git objects for easy access of repository data, and additionally | |
| 26 | 26 | allows you to access the git repository more directly using either a pure python implementation, | |
| 27 | - or the faster, but more resource intensive *git command* implementation. | ||
| 27 | + or the faster, but more resource intensive _git command_ implementation. | ||
| 28 | 28 | ||
| 29 | 29 | The object database implementation is optimized for handling large quantities of objects and large datasets, | |
| 30 | 30 | which is achieved by using low-level structures and data streaming. | |
| 31 | 31 | ||
| 32 | - | ||
| 33 | 32 | ### DEVELOPMENT STATUS | |
| 34 | 33 | ||
| 35 | 34 | This project is in **maintenance mode**, which means that | |
| 36 | 35 | ||
| 37 | - * …there will be no feature development, unless these are contributed | ||
| 38 | - * …there will be no bug fixes, unless they are relevant to the safety of users, or contributed | ||
| 39 | - * …issues will be responded to with waiting times of up to a month | ||
| 36 | + - …there will be no feature development, unless these are contributed | ||
| 37 | + - …there will be no bug fixes, unless they are relevant to the safety of users, or contributed | ||
| 38 | + - …issues will be responded to with waiting times of up to a month | ||
| 40 | 39 | ||
| 41 | 40 | The project is open to contributions of all kinds, as well as new maintainers. | |
| 42 | 41 | ||
| 43 | - | ||
| 44 | 42 | ### REQUIREMENTS | |
| 45 | 43 | ||
| 46 | 44 | GitPython needs the `git` executable to be installed on the system and available | |
| 47 | 45 | in your `PATH` for most operations. | |
| 48 | 46 | If it is not in your `PATH`, you can help GitPython find it by setting | |
| 49 | 47 | the `GIT_PYTHON_GIT_EXECUTABLE=<path/to/git>` environment variable. | |
| 50 | 48 | ||
| 51 | - * Git (1.7.x or newer) | ||
| 52 | - * Python >= 3.6 | ||
| 49 | + - Git (1.7.x or newer) | ||
| 50 | + - Python >= 3.7 | ||
| 53 | 51 | ||
| 54 | 52 | The list of dependencies are listed in `./requirements.txt` and `./test-requirements.txt`. | |
| 55 | 53 | The installer takes care of installing them for you. | |
@@ -98,57 +96,56 @@ See [Issue #525](https://github.com/gitpython-developers/GitPython/issues/525). | |||
| 98 | 96 | ||
| 99 | 97 | ### RUNNING TESTS | |
| 100 | 98 | ||
| 101 | - *Important*: Right after cloning this repository, please be sure to have executed | ||
| 99 | + _Important_: Right after cloning this repository, please be sure to have executed | ||
| 102 | 100 | the `./init-tests-after-clone.sh` script in the repository root. Otherwise | |
| 103 | 101 | you will encounter test failures. | |
| 104 | 102 | ||
| 105 | - On *Windows*, make sure you have `git-daemon` in your PATH. For MINGW-git, the `git-daemon.exe` | ||
| 103 | + On _Windows_, make sure you have `git-daemon` in your PATH. For MINGW-git, the `git-daemon.exe` | ||
| 106 | 104 | exists in `Git\mingw64\libexec\git-core\`; CYGWIN has no daemon, but should get along fine | |
| 107 | 105 | with MINGW's. | |
| 108 | 106 | ||
| 109 | - Ensure testing libraries are installed. | ||
| 110 | - In the root directory, run: `pip install -r test-requirements.txt` | ||
| 107 | + Ensure testing libraries are installed. | ||
| 108 | + In the root directory, run: `pip install -r test-requirements.txt` | ||
| 111 | 109 | ||
| 112 | 110 | To lint, run: `flake8` | |
| 113 | 111 | ||
| 114 | - To typecheck, run: `mypy -p git` | ||
| 112 | + To typecheck, run: `mypy -p git` | ||
| 115 | 113 | ||
| 116 | 114 | To test, run: `pytest` | |
| 117 | 115 | ||
| 118 | 116 | Configuration for flake8 is in the ./.flake8 file. | |
| 119 | 117 | ||
| 120 | 118 | Configurations for mypy, pytest and coverage.py are in ./pyproject.toml. | |
| 121 | 119 | ||
| 122 | - The same linting and testing will also be performed against different supported python versions | ||
| 120 | + The same linting and testing will also be performed against different supported python versions | ||
| 123 | 121 | upon submitting a pull request (or on each push if you have a fork with a "main" branch and actions enabled). | |
| 124 | 122 | ||
| 125 | - | ||
| 126 | 123 | ### Contributions | |
| 127 | 124 | ||
| 128 | 125 | Please have a look at the [contributions file][contributing]. | |
| 129 | 126 | ||
| 130 | 127 | ### INFRASTRUCTURE | |
| 131 | 128 | ||
| 132 | - * [User Documentation](http://gitpython.readthedocs.org) | ||
| 133 | - * [Questions and Answers](http://stackexchange.com/filters/167317/gitpython) | ||
| 134 | - * Please post on stackoverflow and use the `gitpython` tag | ||
| 135 | - * [Issue Tracker](https://github.com/gitpython-developers/GitPython/issues) | ||
| 136 | - * Post reproducible bugs and feature requests as a new issue. | ||
| 129 | + - [User Documentation](http://gitpython.readthedocs.org) | ||
| 130 | + - [Questions and Answers](http://stackexchange.com/filters/167317/gitpython) | ||
| 131 | + - Please post on stackoverflow and use the `gitpython` tag | ||
| 132 | + - [Issue Tracker](https://github.com/gitpython-developers/GitPython/issues) | ||
| 133 | + - Post reproducible bugs and feature requests as a new issue. | ||
| 137 | 134 | Please be sure to provide the following information if posting bugs: | |
| 138 | - * GitPython version (e.g. `import git; git.__version__`) | ||
| 139 | - * Python version (e.g. `python --version`) | ||
| 140 | - * The encountered stack-trace, if applicable | ||
| 141 | - * Enough information to allow reproducing the issue | ||
| 135 | + - GitPython version (e.g. `import git; git.__version__`) | ||
| 136 | + - Python version (e.g. `python --version`) | ||
| 137 | + - The encountered stack-trace, if applicable | ||
| 138 | + - Enough information to allow reproducing the issue | ||
| 142 | 139 | ||
| 143 | 140 | ### How to make a new release | |
| 144 | 141 | ||
| 145 | - * Update/verify the **version** in the `VERSION` file | ||
| 146 | - * Update/verify that the `doc/source/changes.rst` changelog file was updated | ||
| 147 | - * Commit everything | ||
| 148 | - * Run `git tag -s <version>` to tag the version in Git | ||
| 149 | - * Run `make release` | ||
| 150 | - * Close the milestone mentioned in the _changelog_ and create a new one. _Do not reuse milestones by renaming them_. | ||
| 151 | - * set the upcoming version in the `VERSION` file, usually be | ||
| 142 | + - Update/verify the **version** in the `VERSION` file | ||
| 143 | + - Update/verify that the `doc/source/changes.rst` changelog file was updated | ||
| 144 | + - Commit everything | ||
| 145 | + - Run `git tag -s <version>` to tag the version in Git | ||
| 146 | + - Run `make release` | ||
| 147 | + - Close the milestone mentioned in the _changelog_ and create a new one. _Do not reuse milestones by renaming them_. | ||
| 148 | + - set the upcoming version in the `VERSION` file, usually be | ||
| 152 | 149 | incrementing the patch level, and possibly by appending `-dev`. Probably you | |
| 153 | 150 | want to `git push` once more. | |
| 154 | 151 | ||
@@ -200,22 +197,22 @@ gpg --edit-key 4C08421980C9 | |||
| 200 | 197 | ||
| 201 | 198 | ### Projects using GitPython | |
| 202 | 199 | ||
| 203 | - * [PyDriller](https://github.com/ishepard/pydriller) | ||
| 204 | - * [Kivy Designer](https://github.com/kivy/kivy-designer) | ||
| 205 | - * [Prowl](https://github.com/nettitude/Prowl) | ||
| 206 | - * [Python Taint](https://github.com/python-security/pyt) | ||
| 207 | - * [Buster](https://github.com/axitkhurana/buster) | ||
| 208 | - * [git-ftp](https://github.com/ezyang/git-ftp) | ||
| 209 | - * [Git-Pandas](https://github.com/wdm0006/git-pandas) | ||
| 210 | - * [PyGitUp](https://github.com/msiemens/PyGitUp) | ||
| 211 | - * [PyJFuzz](https://github.com/mseclab/PyJFuzz) | ||
| 212 | - * [Loki](https://github.com/Neo23x0/Loki) | ||
| 213 | - * [Omniwallet](https://github.com/OmniLayer/omniwallet) | ||
| 214 | - * [GitViper](https://github.com/BeayemX/GitViper) | ||
| 215 | - * [Git Gud](https://github.com/bthayer2365/git-gud) | ||
| 200 | + - [PyDriller](https://github.com/ishepard/pydriller) | ||
| 201 | + - [Kivy Designer](https://github.com/kivy/kivy-designer) | ||
| 202 | + - [Prowl](https://github.com/nettitude/Prowl) | ||
| 203 | + - [Python Taint](https://github.com/python-security/pyt) | ||
| 204 | + - [Buster](https://github.com/axitkhurana/buster) | ||
| 205 | + - [git-ftp](https://github.com/ezyang/git-ftp) | ||
| 206 | + - [Git-Pandas](https://github.com/wdm0006/git-pandas) | ||
| 207 | + - [PyGitUp](https://github.com/msiemens/PyGitUp) | ||
| 208 | + - [PyJFuzz](https://github.com/mseclab/PyJFuzz) | ||
| 209 | + - [Loki](https://github.com/Neo23x0/Loki) | ||
| 210 | + - [Omniwallet](https://github.com/OmniLayer/omniwallet) | ||
| 211 | + - [GitViper](https://github.com/BeayemX/GitViper) | ||
| 212 | + - [Git Gud](https://github.com/bthayer2365/git-gud) | ||
| 216 | 213 | ||
| 217 | 214 | ### LICENSE | |
| 218 | 215 | ||
| 219 | - New BSD License. See the LICENSE file. | ||
| 216 | + New BSD License. See the LICENSE file. | ||
| 220 | 217 | ||
| 221 | 218 | [contributing]: https://github.com/gitpython-developers/GitPython/blob/master/CONTRIBUTING.md | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,15 +13,17 @@ The object database implementation is optimized for handling large quantities of | |||
| 13 | 13 | Requirements | |
| 14 | 14 | ============ | |
| 15 | 15 | ||
| 16 | - * `Python`_ >= 3.6 | ||
| 16 | + * `Python`_ >= 3.7 | ||
| 17 | 17 | * `Git`_ 1.7.0 or newer | |
| 18 | 18 | It should also work with older versions, but it may be that some operations | |
| 19 | 19 | involving remotes will not work as expected. | |
| 20 | 20 | * `GitDB`_ - a pure python git database implementation | |
| 21 | + * `typing_extensions`_ >= 3.10.0 | ||
| 21 | 22 | ||
| 22 | 23 | .. _Python: https://www.python.org | |
| 23 | 24 | .. _Git: https://git-scm.com/ | |
| 24 | 25 | .. _GitDB: https://pypi.python.org/pypi/gitdb | |
| 26 | + .. _typing_extensions: https://pypi.org/project/typing-extensions/ | ||
| 25 | 27 | ||
| 26 | 28 | Installing GitPython | |
| 27 | 29 | ==================== | |
@@ -60,7 +62,7 @@ Leakage of System Resources | |||
| 60 | 62 | --------------------------- | |
| 61 | 63 | ||
| 62 | 64 | GitPython is not suited for long-running processes (like daemons) as it tends to | |
| 63 | - leak system resources. It was written in a time where destructors (as implemented | ||
| 65 | + leak system resources. It was written in a time where destructors (as implemented | ||
| 64 | 66 | in the `__del__` method) still ran deterministically. | |
| 65 | 67 | ||
| 66 | 68 | In case you still want to use it in such a context, you will want to search the | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1014,13 +1014,12 @@ def transform_kwargs(self, split_single_char_options: bool = True, **kwargs: Any | |||
| 1014 | 1014 | def __unpack_args(cls, arg_list: Sequence[str]) -> List[str]: | |
| 1015 | 1015 | ||
| 1016 | 1016 | outlist = [] | |
| 1017 | - for arg in arg_list: | ||
| 1018 | - if isinstance(arg_list, (list, tuple)): | ||
| 1017 | + if isinstance(arg_list, (list, tuple)): | ||
| 1018 | + for arg in arg_list: | ||
| 1019 | 1019 | outlist.extend(cls.__unpack_args(arg)) | |
| 1020 | - # END recursion | ||
| 1021 | - else: | ||
| 1022 | - outlist.append(str(arg)) | ||
| 1023 | - # END for each arg | ||
| 1020 | + else: | ||
| 1021 | + outlist.append(str(arg_list)) | ||
| 1022 | + | ||
| 1024 | 1023 | return outlist | |
| 1025 | 1024 | ||
| 1026 | 1025 | def __call__(self, **kwargs: Any) -> 'Git': | |
| Back | FazBrowse Home | New Git URL |
0 commit comments