FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
GitPython/git/types.py at typing · gitpython-developers/GitPython · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
gitpython-developers
/
GitPython
Public
Uh oh!
There was an error while loading.
Please reload this page
.
Notifications
You must be signed in to change notification settings
Fork
989
Star
5.2k
Code
Issues
8
Pull requests
2
Discussions
Actions
Security and quality
34
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
GitPython
/
git
/
types.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
98 lines (69 loc) · 3.07 KB
Breadcrumbs
GitPython
/
git
/
types.py
Copy path
File metadata and controls
98 lines (69 loc) · 3.07 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# -*- coding: utf-8 -*-
# This module is part of GitPython and is released under
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
import
os
import
sys
from
typing
import
(
Callable
,
Dict
,
NoReturn
,
Sequence
,
Tuple
,
Union
,
Any
,
Iterator
,
# noqa: F401
NamedTuple
,
TYPE_CHECKING
,
TypeVar
)
# noqa: F401
if
sys
.
version_info
[:
2
]
>=
(
3
,
8
):
from
typing
import
Final
,
Literal
,
SupportsIndex
,
TypedDict
,
Protocol
,
runtime_checkable
# noqa: F401
else
:
from
typing_extensions
import
(
Final
,
Literal
,
SupportsIndex
,
# noqa: F401
TypedDict
,
Protocol
,
runtime_checkable
)
# noqa: F401
# if sys.version_info[:2] >= (3, 10):
# from typing import TypeGuard # noqa: F401
# else:
# from typing_extensions import TypeGuard # noqa: F401
if
sys
.
version_info
[:
2
]
<
(
3
,
9
):
PathLike
=
Union
[
str
,
os
.
PathLike
]
elif
sys
.
version_info
[:
2
]
>=
(
3
,
9
):
# os.PathLike only becomes subscriptable from Python 3.9 onwards
PathLike
=
Union
[
str
,
'os.PathLike[str]'
]
# forward ref as pylance complains unless editing with py3.9+
if
TYPE_CHECKING
:
from
git
.
repo
import
Repo
from
git
.
objects
import
Commit
,
Tree
,
TagObject
,
Blob
# from git.refs import SymbolicReference
TBD
=
Any
_T
=
TypeVar
(
'_T'
)
Tree_ish
=
Union
[
'Commit'
,
'Tree'
]
Commit_ish
=
Union
[
'Commit'
,
'TagObject'
,
'Blob'
,
'Tree'
]
Lit_commit_ish
=
Literal
[
'commit'
,
'tag'
,
'blob'
,
'tree'
]
# Config_levels ---------------------------------------------------------
Lit_config_levels
=
Literal
[
'system'
,
'global'
,
'user'
,
'repository'
]
# def is_config_level(inp: str) -> TypeGuard[Lit_config_levels]:
# # return inp in get_args(Lit_config_level) # only py >= 3.8
# return inp in ("system", "user", "global", "repository")
ConfigLevels_Tup
=
Tuple
[
Literal
[
'system'
],
Literal
[
'user'
],
Literal
[
'global'
],
Literal
[
'repository'
]]
#-----------------------------------------------------------------------------------
def
assert_never
(
inp
:
NoReturn
,
raise_error
:
bool
=
True
,
exc
:
Union
[
Exception
,
None
]
=
None
)
->
None
:
"""For use in exhaustive checking of literal or Enum in if/else chain.
Should only be reached if all memebers not handled OR attempt to pass non-members through chain.
If all members handled, type is Empty. Otherwise, will cause mypy error.
If non-members given, should cause mypy error at variable creation.
If raise_error is True, will also raise AssertionError or the Exception passed to exc.
"""
if
raise_error
:
if
exc
is
None
:
raise
ValueError
(
f"An unhandled Literal (
{
inp
}
) in an if/else chain was found"
)
else
:
raise
exc
else
:
pass
class
Files_TD
(
TypedDict
):
insertions
:
int
deletions
:
int
lines
:
int
class
Total_TD
(
TypedDict
):
insertions
:
int
deletions
:
int
lines
:
int
files
:
int
class
HSH_TD
(
TypedDict
):
total
:
Total_TD
files
:
Dict
[
PathLike
,
Files_TD
]
@
runtime_checkable
class
Has_Repo
(
Protocol
):
repo
:
'Repo'
@
runtime_checkable
class
Has_id_attribute
(
Protocol
):
_id_attribute_
:
str
Back
|
FazBrowse Home
|
New Git URL