0-hero commited on
Commit
d655b38
·
verified ·
1 Parent(s): 4391422

Add files using upload-large-folder tool

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .cache/pip/http-v2/0/0/e/9/d/00e9d7b0e1cda3bfdf322be5b79cb9c4a6e6ef6159d3de3d7d3abe87 +0 -0
  2. .cache/pip/http-v2/0/0/e/9/d/00e9d7b0e1cda3bfdf322be5b79cb9c4a6e6ef6159d3de3d7d3abe87.body +0 -0
  3. .cache/pip/http-v2/0/2/d/4/2/02d4221e858694abc22129c65515f1df2c4c326330eb1a34ceb0b382 +0 -0
  4. .cache/pip/http-v2/0/2/f/8/e/02f8e820ca8231526982c4a2b93baef519d0948ff85c925acd226f06.body +0 -0
  5. .cache/pip/http-v2/0/5/8/9/6/0589682f53f4c502330bc0fa01138806ce0467c549c2af469b6afb31 +0 -0
  6. .cache/pip/http-v2/0/6/7/2/6/06726d442b7e33afe35f1740674b6dee72357a95eef3aca0ef7abf21 +0 -0
  7. .cache/pip/http-v2/0/9/a/c/f/09acf4ef8859e657a77d0079dea556ad6f8dc87031ab1c54b1a9cbfe +0 -0
  8. .cache/pip/http-v2/0/9/a/c/f/09acf4ef8859e657a77d0079dea556ad6f8dc87031ab1c54b1a9cbfe.body +0 -0
  9. .cache/pip/http-v2/0/c/2/1/8/0c218d526767991766d9b365a4f3e4449ce3579fd8b0f96a707d5a52.body +0 -0
  10. .cache/pip/http-v2/0/c/f/6/e/0cf6e817e2c5554000c735ecab0f3cf492f7d33b50d5a474a801ba24 +0 -0
  11. .cache/pip/http-v2/1/0/e/d/c/10edc2fedb88f9a82f91dc7f8666c74a4e7067dbd945b9923a040482 +0 -0
  12. .cache/pip/http-v2/1/2/e/6/c/12e6c0100f8dcc54f1445b9845cfdcecf519882e2fe2767cf43bd439.body +0 -0
  13. .cache/pip/http-v2/1/8/e/e/a/18eea207de73c88bb45229bed4bcc74fbcbddadf2aa9f49e4df1f66a.body +88 -0
  14. .cache/pip/http-v2/1/a/9/9/5/1a995e0685d0b5c5a3f3321cda9ebcbc376a9137828d1c100a493532.body +0 -0
  15. .cache/pip/http-v2/1/d/8/a/2/1d8a24cdff71edbc3f733b6b4d52640c1c1129289938aa4d1c7adcf5.body +0 -0
  16. .cache/pip/http-v2/2/1/c/8/b/21c8bac038994bd5727db00d02b53b7ccbc2a8ea142f49d934129bc8 +0 -0
  17. .cache/pip/http-v2/2/1/c/8/b/21c8bac038994bd5727db00d02b53b7ccbc2a8ea142f49d934129bc8.body +0 -0
  18. .cache/pip/http-v2/2/e/1/8/3/2e183ebf5293bbe308140b02c615ef7366590e4863fcd1adbcaec181 +0 -0
  19. .cache/pip/http-v2/2/e/1/8/3/2e183ebf5293bbe308140b02c615ef7366590e4863fcd1adbcaec181.body +0 -0
  20. .cache/pip/http-v2/2/e/2/d/8/2e2d841f57ca6a43dfc96af93374304dda5b757176df2cce7ca2b18d +0 -0
  21. .cache/pip/http-v2/2/e/2/d/8/2e2d841f57ca6a43dfc96af93374304dda5b757176df2cce7ca2b18d.body +0 -0
  22. .cache/pip/http-v2/2/e/a/5/8/2ea58cbd4e5eb121ff41bc95c898f06d3d9fb75f92176c76e2872a66 +0 -0
  23. .cache/pip/http-v2/2/e/a/5/8/2ea58cbd4e5eb121ff41bc95c898f06d3d9fb75f92176c76e2872a66.body +0 -0
  24. .cache/pip/http-v2/3/2/2/c/b/322cb2d2fa9c18feda7312c66e98b038ca0bb7446362e84c4a580aa3 +0 -0
  25. .cache/pip/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f.body +0 -0
  26. .cache/pip/http-v2/3/8/6/0/e/3860e4de9ae53c79d2fd61419e9049df314ccc8b640782c02c6e2e2d +0 -0
  27. .cache/pip/http-v2/3/8/6/0/e/3860e4de9ae53c79d2fd61419e9049df314ccc8b640782c02c6e2e2d.body +0 -0
  28. .cache/pip/http-v2/3/e/5/3/9/3e539fe82b1fed185245471443d02ce645e9bdc1609842fbef8a265b.body +0 -0
  29. .cache/pip/http-v2/3/f/0/b/5/3f0b530a5c9fab3e5025382bf4f606f0e51cb4c0cd8174857429d8fe +0 -0
  30. .cache/pip/http-v2/4/9/0/f/6/490f6d7cd33219a4671ccf426e5cf1fb77b4a08820a91961cb0ae903 +0 -0
  31. .cache/pip/http-v2/4/d/2/7/2/4d272e6453941ce8b0a37a02cdb1685fc612c33441fa74691fb40656.body +0 -0
  32. .cache/pip/http-v2/4/d/c/0/7/4dc07ffa7cae87ee16d69571b2c74399b5b61681aa545c7822dd5b40 +0 -0
  33. .cache/pip/http-v2/4/d/c/0/7/4dc07ffa7cae87ee16d69571b2c74399b5b61681aa545c7822dd5b40.body +0 -0
  34. .cache/pip/http-v2/4/d/f/a/e/4dfae04f17d427ebc4b6c05d97151b6b499fbc86608df73928edd551.body +0 -0
  35. .cache/pip/http-v2/5/6/f/9/d/56f9d9bd534016b34d1660bb01a66bb1704ef80e0f133b683da4f133 +0 -0
  36. .cache/pip/http-v2/5/8/d/9/8/58d9818b2a061ba2b595a1744fd86d4eb017703b38f7209903256e4e.body +297 -0
  37. .cache/pip/http-v2/5/a/2/6/c/5a26cc45879e115d5aabd5f6ef627d6747bf3160bca5548379570c58 +0 -0
  38. .cache/pip/http-v2/5/a/2/6/c/5a26cc45879e115d5aabd5f6ef627d6747bf3160bca5548379570c58.body +113 -0
  39. .cache/pip/http-v2/6/1/4/f/4/614f46c6d1c16fa5b0800dfd0497e41c5b320e16ee8c9d943d4dd341 +0 -0
  40. .cache/pip/http-v2/6/5/0/7/2/65072c35290c429df2e84cb69eba045284d50944561efa156675456a +0 -0
  41. .cache/pip/http-v2/6/6/b/a/b/66bab8cde451822060c031dc988659e1fe4348c71c2fbd112ca75eca +0 -0
  42. .cache/pip/http-v2/6/6/e/c/7/66ec76a7b6ed4081044f5c7821af293b63c17bc2ac523ff93d5ca7d5.body +0 -0
  43. .cache/pip/http-v2/7/1/9/e/0/719e0feaf94b669c315daed4ef76501cc929d482e4315b25fd3b0082 +0 -0
  44. .cache/pip/http-v2/7/1/b/9/d/71b9df22187d5c54f1147d4ac0849d1438ec19aedc20363a3478b854.body +62 -0
  45. .cache/pip/http-v2/7/2/2/9/f/7229fb50bdca3f16cb03ca953b540cb67fb07fb971b675db32ae3239.body +522 -0
  46. .cache/pip/http-v2/7/7/6/7/2/7767287c95ec4491394e4204f2ba3be9eb9e3ed9ca0ffd45d421b772 +0 -0
  47. .cache/pip/http-v2/7/c/4/b/8/7c4b8a19f4f69494c22868b76649cd91120de17447e4ff71fb7a7f10 +0 -0
  48. .cache/pip/http-v2/7/c/c/b/9/7ccb994e5cb08d1aee93acb83ae5881083c4a349402f61c9f7d304f8 +0 -0
  49. .cache/pip/http-v2/7/e/1/d/d/7e1dd8fd372b5a4d9dab3a30df124fb3e1f8789a9ab79f867640876a +0 -0
  50. .cache/pip/http-v2/8/1/1/c/d/811cdc5b0df1a4862e5588ed7d10948f806b064e30962a3f3e310c26 +0 -0
.cache/pip/http-v2/0/0/e/9/d/00e9d7b0e1cda3bfdf322be5b79cb9c4a6e6ef6159d3de3d7d3abe87 ADDED
Binary file (1.11 kB). View file
 
.cache/pip/http-v2/0/0/e/9/d/00e9d7b0e1cda3bfdf322be5b79cb9c4a6e6ef6159d3de3d7d3abe87.body ADDED
Binary file (617 kB). View file
 
.cache/pip/http-v2/0/2/d/4/2/02d4221e858694abc22129c65515f1df2c4c326330eb1a34ceb0b382 ADDED
Binary file (1.12 kB). View file
 
.cache/pip/http-v2/0/2/f/8/e/02f8e820ca8231526982c4a2b93baef519d0948ff85c925acd226f06.body ADDED
Binary file (37.1 kB). View file
 
.cache/pip/http-v2/0/5/8/9/6/0589682f53f4c502330bc0fa01138806ce0467c549c2af469b6afb31 ADDED
Binary file (1.15 kB). View file
 
.cache/pip/http-v2/0/6/7/2/6/06726d442b7e33afe35f1740674b6dee72357a95eef3aca0ef7abf21 ADDED
Binary file (1.81 kB). View file
 
.cache/pip/http-v2/0/9/a/c/f/09acf4ef8859e657a77d0079dea556ad6f8dc87031ab1c54b1a9cbfe ADDED
Binary file (1.15 kB). View file
 
.cache/pip/http-v2/0/9/a/c/f/09acf4ef8859e657a77d0079dea556ad6f8dc87031ab1c54b1a9cbfe.body ADDED
Binary file (342 kB). View file
 
.cache/pip/http-v2/0/c/2/1/8/0c218d526767991766d9b365a4f3e4449ce3579fd8b0f96a707d5a52.body ADDED
Binary file (43.7 kB). View file
 
.cache/pip/http-v2/0/c/f/6/e/0cf6e817e2c5554000c735ecab0f3cf492f7d33b50d5a474a801ba24 ADDED
Binary file (1.81 kB). View file
 
.cache/pip/http-v2/1/0/e/d/c/10edc2fedb88f9a82f91dc7f8666c74a4e7067dbd945b9923a040482 ADDED
Binary file (1.82 kB). View file
 
.cache/pip/http-v2/1/2/e/6/c/12e6c0100f8dcc54f1445b9845cfdcecf519882e2fe2767cf43bd439.body ADDED
Binary file (2.16 kB). View file
 
.cache/pip/http-v2/1/8/e/e/a/18eea207de73c88bb45229bed4bcc74fbcbddadf2aa9f49e4df1f66a.body ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.1
2
+ Name: pip
3
+ Version: 24.0
4
+ Summary: The PyPA recommended tool for installing Python packages.
5
+ Author-email: The pip developers <distutils-sig@python.org>
6
+ License: MIT
7
+ Project-URL: Homepage, https://pip.pypa.io/
8
+ Project-URL: Documentation, https://pip.pypa.io
9
+ Project-URL: Source, https://github.com/pypa/pip
10
+ Project-URL: Changelog, https://pip.pypa.io/en/stable/news/
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Topic :: Software Development :: Build Tools
15
+ Classifier: Programming Language :: Python
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Classifier: Programming Language :: Python :: 3.7
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: Implementation :: CPython
25
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
26
+ Requires-Python: >=3.7
27
+ Description-Content-Type: text/x-rst
28
+ License-File: LICENSE.txt
29
+ License-File: AUTHORS.txt
30
+
31
+ pip - The Python Package Installer
32
+ ==================================
33
+
34
+ .. image:: https://img.shields.io/pypi/v/pip.svg
35
+ :target: https://pypi.org/project/pip/
36
+ :alt: PyPI
37
+
38
+ .. image:: https://img.shields.io/pypi/pyversions/pip
39
+ :target: https://pypi.org/project/pip
40
+ :alt: PyPI - Python Version
41
+
42
+ .. image:: https://readthedocs.org/projects/pip/badge/?version=latest
43
+ :target: https://pip.pypa.io/en/latest
44
+ :alt: Documentation
45
+
46
+ pip is the `package installer`_ for Python. You can use pip to install packages from the `Python Package Index`_ and other indexes.
47
+
48
+ Please take a look at our documentation for how to install and use pip:
49
+
50
+ * `Installation`_
51
+ * `Usage`_
52
+
53
+ We release updates regularly, with a new version every 3 months. Find more details in our documentation:
54
+
55
+ * `Release notes`_
56
+ * `Release process`_
57
+
58
+ If you find bugs, need help, or want to talk to the developers, please use our mailing lists or chat rooms:
59
+
60
+ * `Issue tracking`_
61
+ * `Discourse channel`_
62
+ * `User IRC`_
63
+
64
+ If you want to get involved head over to GitHub to get the source code, look at our development documentation and feel free to jump on the developer mailing lists and chat rooms:
65
+
66
+ * `GitHub page`_
67
+ * `Development documentation`_
68
+ * `Development IRC`_
69
+
70
+ Code of Conduct
71
+ ---------------
72
+
73
+ Everyone interacting in the pip project's codebases, issue trackers, chat
74
+ rooms, and mailing lists is expected to follow the `PSF Code of Conduct`_.
75
+
76
+ .. _package installer: https://packaging.python.org/guides/tool-recommendations/
77
+ .. _Python Package Index: https://pypi.org
78
+ .. _Installation: https://pip.pypa.io/en/stable/installation/
79
+ .. _Usage: https://pip.pypa.io/en/stable/
80
+ .. _Release notes: https://pip.pypa.io/en/stable/news.html
81
+ .. _Release process: https://pip.pypa.io/en/latest/development/release-process/
82
+ .. _GitHub page: https://github.com/pypa/pip
83
+ .. _Development documentation: https://pip.pypa.io/en/latest/development
84
+ .. _Issue tracking: https://github.com/pypa/pip/issues
85
+ .. _Discourse channel: https://discuss.python.org/c/packaging
86
+ .. _User IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa
87
+ .. _Development IRC: https://kiwiirc.com/nextclient/#ircs://irc.libera.chat:+6697/pypa-dev
88
+ .. _PSF Code of Conduct: https://github.com/pypa/.github/blob/main/CODE_OF_CONDUCT.md
.cache/pip/http-v2/1/a/9/9/5/1a995e0685d0b5c5a3f3321cda9ebcbc376a9137828d1c100a493532.body ADDED
Binary file (8.9 kB). View file
 
.cache/pip/http-v2/1/d/8/a/2/1d8a24cdff71edbc3f733b6b4d52640c1c1129289938aa4d1c7adcf5.body ADDED
Binary file (207 kB). View file
 
.cache/pip/http-v2/2/1/c/8/b/21c8bac038994bd5727db00d02b53b7ccbc2a8ea142f49d934129bc8 ADDED
Binary file (1.82 kB). View file
 
.cache/pip/http-v2/2/1/c/8/b/21c8bac038994bd5727db00d02b53b7ccbc2a8ea142f49d934129bc8.body ADDED
Binary file (83.7 kB). View file
 
.cache/pip/http-v2/2/e/1/8/3/2e183ebf5293bbe308140b02c615ef7366590e4863fcd1adbcaec181 ADDED
Binary file (1.15 kB). View file
 
.cache/pip/http-v2/2/e/1/8/3/2e183ebf5293bbe308140b02c615ef7366590e4863fcd1adbcaec181.body ADDED
Binary file (317 kB). View file
 
.cache/pip/http-v2/2/e/2/d/8/2e2d841f57ca6a43dfc96af93374304dda5b757176df2cce7ca2b18d ADDED
Binary file (1.11 kB). View file
 
.cache/pip/http-v2/2/e/2/d/8/2e2d841f57ca6a43dfc96af93374304dda5b757176df2cce7ca2b18d.body ADDED
Binary file (97.9 kB). View file
 
.cache/pip/http-v2/2/e/a/5/8/2ea58cbd4e5eb121ff41bc95c898f06d3d9fb75f92176c76e2872a66 ADDED
Binary file (1.16 kB). View file
 
.cache/pip/http-v2/2/e/a/5/8/2ea58cbd4e5eb121ff41bc95c898f06d3d9fb75f92176c76e2872a66.body ADDED
Binary file (820 kB). View file
 
.cache/pip/http-v2/3/2/2/c/b/322cb2d2fa9c18feda7312c66e98b038ca0bb7446362e84c4a580aa3 ADDED
Binary file (1.17 kB). View file
 
.cache/pip/http-v2/3/3/9/7/4/33974f84394d9a943f68359da08431dab4af9f86c33962982ea21b5f.body ADDED
Binary file (6.59 kB). View file
 
.cache/pip/http-v2/3/8/6/0/e/3860e4de9ae53c79d2fd61419e9049df314ccc8b640782c02c6e2e2d ADDED
Binary file (1.81 kB). View file
 
.cache/pip/http-v2/3/8/6/0/e/3860e4de9ae53c79d2fd61419e9049df314ccc8b640782c02c6e2e2d.body ADDED
Binary file (40.7 kB). View file
 
.cache/pip/http-v2/3/e/5/3/9/3e539fe82b1fed185245471443d02ce645e9bdc1609842fbef8a265b.body ADDED
Binary file (783 kB). View file
 
.cache/pip/http-v2/3/f/0/b/5/3f0b530a5c9fab3e5025382bf4f606f0e51cb4c0cd8174857429d8fe ADDED
Binary file (1.12 kB). View file
 
.cache/pip/http-v2/4/9/0/f/6/490f6d7cd33219a4671ccf426e5cf1fb77b4a08820a91961cb0ae903 ADDED
Binary file (1.81 kB). View file
 
.cache/pip/http-v2/4/d/2/7/2/4d272e6453941ce8b0a37a02cdb1685fc612c33441fa74691fb40656.body ADDED
Binary file (15.5 kB). View file
 
.cache/pip/http-v2/4/d/c/0/7/4dc07ffa7cae87ee16d69571b2c74399b5b61681aa545c7822dd5b40 ADDED
Binary file (1.81 kB). View file
 
.cache/pip/http-v2/4/d/c/0/7/4dc07ffa7cae87ee16d69571b2c74399b5b61681aa545c7822dd5b40.body ADDED
Binary file (5.11 kB). View file
 
.cache/pip/http-v2/4/d/f/a/e/4dfae04f17d427ebc4b6c05d97151b6b499fbc86608df73928edd551.body ADDED
Binary file (311 kB). View file
 
.cache/pip/http-v2/5/6/f/9/d/56f9d9bd534016b34d1660bb01a66bb1704ef80e0f133b683da4f133 ADDED
Binary file (1.19 kB). View file
 
.cache/pip/http-v2/5/8/d/9/8/58d9818b2a061ba2b595a1744fd86d4eb017703b38f7209903256e4e.body ADDED
@@ -0,0 +1,297 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.1
2
+ Name: GitPython
3
+ Version: 3.1.43
4
+ Summary: GitPython is a Python library used to interact with Git repositories
5
+ Home-page: https://github.com/gitpython-developers/GitPython
6
+ Author: Sebastian Thiel, Michael Trier
7
+ Author-email: byronimo@gmail.com, mtrier@gmail.com
8
+ License: BSD-3-Clause
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Environment :: Console
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: BSD License
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Operating System :: POSIX
15
+ Classifier: Operating System :: Microsoft :: Windows
16
+ Classifier: Operating System :: MacOS :: MacOS X
17
+ Classifier: Typing :: Typed
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.7
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Requires-Python: >=3.7
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ License-File: AUTHORS
30
+ Requires-Dist: gitdb <5,>=4.0.1
31
+ Requires-Dist: typing-extensions >=3.7.4.3 ; python_version < "3.8"
32
+ Provides-Extra: doc
33
+ Requires-Dist: sphinx ==4.3.2 ; extra == 'doc'
34
+ Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
35
+ Requires-Dist: sphinxcontrib-applehelp <=1.0.4,>=1.0.2 ; extra == 'doc'
36
+ Requires-Dist: sphinxcontrib-devhelp ==1.0.2 ; extra == 'doc'
37
+ Requires-Dist: sphinxcontrib-htmlhelp <=2.0.1,>=2.0.0 ; extra == 'doc'
38
+ Requires-Dist: sphinxcontrib-qthelp ==1.0.3 ; extra == 'doc'
39
+ Requires-Dist: sphinxcontrib-serializinghtml ==1.1.5 ; extra == 'doc'
40
+ Requires-Dist: sphinx-autodoc-typehints ; extra == 'doc'
41
+ Provides-Extra: test
42
+ Requires-Dist: coverage[toml] ; extra == 'test'
43
+ Requires-Dist: ddt !=1.4.3,>=1.1.1 ; extra == 'test'
44
+ Requires-Dist: mypy ; extra == 'test'
45
+ Requires-Dist: pre-commit ; extra == 'test'
46
+ Requires-Dist: pytest >=7.3.1 ; extra == 'test'
47
+ Requires-Dist: pytest-cov ; extra == 'test'
48
+ Requires-Dist: pytest-instafail ; extra == 'test'
49
+ Requires-Dist: pytest-mock ; extra == 'test'
50
+ Requires-Dist: pytest-sugar ; extra == 'test'
51
+ Requires-Dist: typing-extensions ; (python_version < "3.11") and extra == 'test'
52
+ Requires-Dist: mock ; (python_version < "3.8") and extra == 'test'
53
+
54
+ ![Python package](https://github.com/gitpython-developers/GitPython/workflows/Python%20package/badge.svg)
55
+ [![Documentation Status](https://readthedocs.org/projects/gitpython/badge/?version=stable)](https://readthedocs.org/projects/gitpython/?badge=stable)
56
+ [![Packaging status](https://repology.org/badge/tiny-repos/python:gitpython.svg)](https://repology.org/metapackage/python:gitpython/versions)
57
+
58
+ ## [Gitoxide](https://github.com/Byron/gitoxide): A peek into the future…
59
+
60
+ I started working on GitPython in 2009, back in the days when Python was 'my thing' and I had great plans with it.
61
+ Of course, back in the days, I didn't really know what I was doing and this shows in many places. Somewhat similar to
62
+ Python this happens to be 'good enough', but at the same time is deeply flawed and broken beyond repair.
63
+
64
+ By now, GitPython is widely used and I am sure there is a good reason for that, it's something to be proud of and happy about.
65
+ The community is maintaining the software and is keeping it relevant for which I am absolutely grateful. For the time to come I am happy to continue maintaining GitPython, remaining hopeful that one day it won't be needed anymore.
66
+
67
+ More than 15 years after my first meeting with 'git' I am still in excited about it, and am happy to finally have the tools and
68
+ probably the skills to scratch that itch of mine: implement `git` in a way that makes tool creation a piece of cake for most.
69
+
70
+ If you like the idea and want to learn more, please head over to [gitoxide](https://github.com/Byron/gitoxide), an
71
+ implementation of 'git' in [Rust](https://www.rust-lang.org).
72
+
73
+ *(Please note that `gitoxide` is not currently available for use in Python, and that Rust is required.)*
74
+
75
+ ## GitPython
76
+
77
+ GitPython is a python library used to interact with git repositories, high-level like git-porcelain,
78
+ or low-level like git-plumbing.
79
+
80
+ It provides abstractions of git objects for easy access of repository data often backed by calling the `git`
81
+ command-line program.
82
+
83
+ ### DEVELOPMENT STATUS
84
+
85
+ This project is in **maintenance mode**, which means that
86
+
87
+ - …there will be no feature development, unless these are contributed
88
+ - …there will be no bug fixes, unless they are relevant to the safety of users, or contributed
89
+ - …issues will be responded to with waiting times of up to a month
90
+
91
+ The project is open to contributions of all kinds, as well as new maintainers.
92
+
93
+ ### REQUIREMENTS
94
+
95
+ GitPython needs the `git` executable to be installed on the system and available in your
96
+ `PATH` for most operations. If it is not in your `PATH`, you can help GitPython find it
97
+ by setting the `GIT_PYTHON_GIT_EXECUTABLE=<path/to/git>` environment variable.
98
+
99
+ - Git (1.7.x or newer)
100
+ - Python >= 3.7
101
+
102
+ The list of dependencies are listed in `./requirements.txt` and `./test-requirements.txt`.
103
+ The installer takes care of installing them for you.
104
+
105
+ ### INSTALL
106
+
107
+ 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).
108
+
109
+ #### From PyPI
110
+
111
+ To obtain and install a copy [from PyPI](https://pypi.org/project/GitPython/), run:
112
+
113
+ ```sh
114
+ pip install GitPython
115
+ ```
116
+
117
+ (A distribution package can also be downloaded for manual installation at [the PyPI page](https://pypi.org/project/GitPython/).)
118
+
119
+ #### From downloaded source code
120
+
121
+ If you have downloaded the source code, run this from inside the unpacked `GitPython` directory:
122
+
123
+ ```sh
124
+ pip install .
125
+ ```
126
+
127
+ #### By cloning the source code repository
128
+
129
+ 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:
130
+
131
+ ```sh
132
+ git clone https://github.com/gitpython-developers/GitPython
133
+ cd GitPython
134
+ ./init-tests-after-clone.sh
135
+ ```
136
+
137
+ On Windows, `./init-tests-after-clone.sh` can be run in a Git Bash shell.
138
+
139
+ 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`):
140
+
141
+ ```sh
142
+ gh repo clone GitPython
143
+ ```
144
+
145
+ Having cloned the repo, create and activate your [virtual environment](https://docs.python.org/3/tutorial/venv.html).
146
+
147
+ Then make an [editable install](https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs):
148
+
149
+ ```sh
150
+ pip install -e ".[test]"
151
+ ```
152
+
153
+ In the less common case that you do not want to install test dependencies, `pip install -e .` can be used instead.
154
+
155
+ #### With editable *dependencies* (not preferred, and rarely needed)
156
+
157
+ In rare cases, you may want to work on GitPython and one or both of its [gitdb](https://github.com/gitpython-developers/gitdb) and [smmap](https://github.com/gitpython-developers/smmap) dependencies at the same time, with changes in your local working copy of gitdb or smmap immediatley reflected in the behavior of your local working copy of GitPython. This can be done by making editable installations of those dependencies in the same virtual environment where you install GitPython.
158
+
159
+ If you want to do that *and* you want the versions in GitPython's git submodules to be used, then pass `-e git/ext/gitdb` and/or `-e git/ext/gitdb/gitdb/ext/smmap` to `pip install`. This can be done in any order, and in separate `pip install` commands or the same one, so long as `-e` appears before *each* path. For example, you can install GitPython, gitdb, and smmap editably in the currently active virtual environment this way:
160
+
161
+ ```sh
162
+ pip install -e ".[test]" -e git/ext/gitdb -e git/ext/gitdb/gitdb/ext/smmap
163
+ ```
164
+
165
+ The submodules must have been cloned for that to work, but that will already be the case if you have run `./init-tests-after-clone.sh`. You can use `pip list` to check which packages are installed editably and which are installed normally.
166
+
167
+ To reiterate, this approach should only rarely be used. For most development it is preferable to allow the gitdb and smmap dependencices to be retrieved automatically from PyPI in their latest stable packaged versions.
168
+
169
+ ### Limitations
170
+
171
+ #### Leakage of System Resources
172
+
173
+ GitPython is not suited for long-running processes (like daemons) as it tends to
174
+ leak system resources. It was written in a time where destructors (as implemented
175
+ in the `__del__` method) still ran deterministically.
176
+
177
+ In case you still want to use it in such a context, you will want to search the
178
+ codebase for `__del__` implementations and call these yourself when you see fit.
179
+
180
+ Another way assure proper cleanup of resources is to factor out GitPython into a
181
+ separate process which can be dropped periodically.
182
+
183
+ #### Windows support
184
+
185
+ See [Issue #525](https://github.com/gitpython-developers/GitPython/issues/525).
186
+
187
+ ### RUNNING TESTS
188
+
189
+ _Important_: Right after cloning this repository, please be sure to have executed
190
+ the `./init-tests-after-clone.sh` script in the repository root. Otherwise
191
+ you will encounter test failures.
192
+
193
+ #### Install test dependencies
194
+
195
+ Ensure testing libraries are installed. This is taken care of already if you installed with:
196
+
197
+ ```sh
198
+ pip install -e ".[test]"
199
+ ```
200
+
201
+ If you had installed with a command like `pip install -e .` instead, you can still run
202
+ the above command to add the testing dependencies.
203
+
204
+ #### Test commands
205
+
206
+ To test, run:
207
+
208
+ ```sh
209
+ pytest
210
+ ```
211
+
212
+ To lint, and apply some linting fixes as well as automatic code formatting, run:
213
+
214
+ ```sh
215
+ pre-commit run --all-files
216
+ ```
217
+
218
+ This includes the linting and autoformatting done by Ruff, as well as some other checks.
219
+
220
+ To typecheck, run:
221
+
222
+ ```sh
223
+ mypy
224
+ ```
225
+
226
+ #### CI (and tox)
227
+
228
+ Style and formatting checks, and running tests on all the different supported Python versions, will be performed:
229
+
230
+ - Upon submitting a pull request.
231
+ - On each push, *if* you have a fork with GitHub Actions enabled.
232
+ - Locally, if you run [`tox`](https://tox.wiki/) (this skips any Python versions you don't have installed).
233
+
234
+ #### Configuration files
235
+
236
+ Specific tools are all configured in the `./pyproject.toml` file:
237
+
238
+ - `pytest` (test runner)
239
+ - `coverage.py` (code coverage)
240
+ - `ruff` (linter and formatter)
241
+ - `mypy` (type checker)
242
+
243
+ Orchestration tools:
244
+
245
+ - Configuration for `pre-commit` is in the `./.pre-commit-config.yaml` file.
246
+ - Configuration for `tox` is in `./tox.ini`.
247
+ - Configuration for GitHub Actions (CI) is in files inside `./.github/workflows/`.
248
+
249
+ ### Contributions
250
+
251
+ Please have a look at the [contributions file][contributing].
252
+
253
+ ### INFRASTRUCTURE
254
+
255
+ - [User Documentation](http://gitpython.readthedocs.org)
256
+ - [Questions and Answers](http://stackexchange.com/filters/167317/gitpython)
257
+ - Please post on Stack Overflow and use the `gitpython` tag
258
+ - [Issue Tracker](https://github.com/gitpython-developers/GitPython/issues)
259
+ - Post reproducible bugs and feature requests as a new issue.
260
+ Please be sure to provide the following information if posting bugs:
261
+ - GitPython version (e.g. `import git; git.__version__`)
262
+ - Python version (e.g. `python --version`)
263
+ - The encountered stack-trace, if applicable
264
+ - Enough information to allow reproducing the issue
265
+
266
+ ### How to make a new release
267
+
268
+ 1. Update/verify the **version** in the `VERSION` file.
269
+ 2. Update/verify that the `doc/source/changes.rst` changelog file was updated. It should include a link to the forthcoming release page: `https://github.com/gitpython-developers/GitPython/releases/tag/<version>`
270
+ 3. Commit everything.
271
+ 4. Run `git tag -s <version>` to tag the version in Git.
272
+ 5. _Optionally_ create and activate a [virtual environment](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment). (Then the next step can install `build` and `twine`.)
273
+ 6. Run `make release`.
274
+ 7. Go to [GitHub Releases](https://github.com/gitpython-developers/GitPython/releases) and publish a new one with the recently pushed tag. Generate the changelog.
275
+
276
+ ### Projects using GitPython
277
+
278
+ - [PyDriller](https://github.com/ishepard/pydriller)
279
+ - [Kivy Designer](https://github.com/kivy/kivy-designer)
280
+ - [Prowl](https://github.com/nettitude/Prowl)
281
+ - [Python Taint](https://github.com/python-security/pyt)
282
+ - [Buster](https://github.com/axitkhurana/buster)
283
+ - [git-ftp](https://github.com/ezyang/git-ftp)
284
+ - [Git-Pandas](https://github.com/wdm0006/git-pandas)
285
+ - [PyGitUp](https://github.com/msiemens/PyGitUp)
286
+ - [PyJFuzz](https://github.com/mseclab/PyJFuzz)
287
+ - [Loki](https://github.com/Neo23x0/Loki)
288
+ - [Omniwallet](https://github.com/OmniLayer/omniwallet)
289
+ - [GitViper](https://github.com/BeayemX/GitViper)
290
+ - [Git Gud](https://github.com/bthayer2365/git-gud)
291
+
292
+ ### LICENSE
293
+
294
+ [3-Clause BSD License](https://opensource.org/license/bsd-3-clause/), also known as the New BSD License. See the [LICENSE file][license].
295
+
296
+ [contributing]: https://github.com/gitpython-developers/GitPython/blob/main/CONTRIBUTING.md
297
+ [license]: https://github.com/gitpython-developers/GitPython/blob/main/LICENSE
.cache/pip/http-v2/5/a/2/6/c/5a26cc45879e115d5aabd5f6ef627d6747bf3160bca5548379570c58 ADDED
Binary file (1.15 kB). View file
 
.cache/pip/http-v2/5/a/2/6/c/5a26cc45879e115d5aabd5f6ef627d6747bf3160bca5548379570c58.body ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.1
2
+ Name: smmap
3
+ Version: 5.0.1
4
+ Summary: A pure Python implementation of a sliding window memory map manager
5
+ Home-page: https://github.com/gitpython-developers/smmap
6
+ Author: Sebastian Thiel
7
+ Author-email: byronimo@gmail.com
8
+ License: BSD
9
+ Platform: any
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Operating System :: POSIX
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Classifier: Operating System :: MacOS :: MacOS X
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.7
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3 :: Only
27
+ Requires-Python: >=3.7
28
+ Description-Content-Type: text/markdown
29
+ License-File: LICENSE
30
+
31
+ ## Motivation
32
+
33
+ When reading from many possibly large files in a fashion similar to random access, it is usually the fastest and most efficient to use memory maps.
34
+
35
+ Although memory maps have many advantages, they represent a very limited system resource as every map uses one file descriptor, whose amount is limited per process. On 32 bit systems, the amount of memory you can have mapped at a time is naturally limited to theoretical 4GB of memory, which may not be enough for some applications.
36
+
37
+
38
+ ## Limitations
39
+
40
+ * **System resources (file-handles) are likely to be leaked!** This is due to the library authors reliance on a deterministic `__del__()` destructor.
41
+ * The memory access is read-only by design.
42
+
43
+
44
+ ## Overview
45
+
46
+ ![Python package](https://github.com/gitpython-developers/smmap/workflows/Python%20package/badge.svg)
47
+
48
+ Smmap wraps an interface around mmap and tracks the mapped files as well as the amount of clients who use it. If the system runs out of resources, or if a memory limit is reached, it will automatically unload unused maps to allow continued operation.
49
+
50
+ To allow processing large files even on 32 bit systems, it allows only portions of the file to be mapped. Once the user reads beyond the mapped region, smmap will automatically map the next required region, unloading unused regions using a LRU algorithm.
51
+
52
+ Although the library can be used most efficiently with its native interface, a Buffer implementation is provided to hide these details behind a simple string-like interface.
53
+
54
+ For performance critical 64 bit applications, a simplified version of memory mapping is provided which always maps the whole file, but still provides the benefit of unloading unused mappings on demand.
55
+
56
+
57
+
58
+ ## Prerequisites
59
+
60
+ * Python 3.7+
61
+ * OSX, Windows or Linux
62
+
63
+ The package was tested on all of the previously mentioned configurations.
64
+
65
+ ## Installing smmap
66
+
67
+ [![Documentation Status](https://readthedocs.org/projects/smmap/badge/?version=latest)](https://readthedocs.org/projects/smmap/?badge=latest)
68
+
69
+ Its easiest to install smmap using the [pip](http://www.pip-installer.org/en/latest) program:
70
+
71
+ ```bash
72
+ $ pip install smmap
73
+ ```
74
+
75
+ As the command will install smmap in your respective python distribution, you will most likely need root permissions to authorize the required changes.
76
+
77
+ If you have downloaded the source archive, the package can be installed by running the `setup.py` script:
78
+
79
+ ```bash
80
+ $ python setup.py install
81
+ ```
82
+
83
+ It is advised to have a look at the **Usage Guide** for a brief introduction on the different database implementations.
84
+
85
+
86
+
87
+ ## Homepage and Links
88
+
89
+ The project is home on github at https://github.com/gitpython-developers/smmap .
90
+
91
+ The latest source can be cloned from github as well:
92
+
93
+ * git://github.com/gitpython-developers/smmap.git
94
+
95
+
96
+ For support, please use the git-python mailing list:
97
+
98
+ * http://groups.google.com/group/git-python
99
+
100
+
101
+ Issues can be filed on github:
102
+
103
+ * https://github.com/gitpython-developers/smmap/issues
104
+
105
+ A link to the pypi page related to this repository:
106
+
107
+ * https://pypi.org/project/smmap/
108
+
109
+
110
+ ## License Information
111
+
112
+ *smmap* is licensed under the New BSD License.
113
+
.cache/pip/http-v2/6/1/4/f/4/614f46c6d1c16fa5b0800dfd0497e41c5b320e16ee8c9d943d4dd341 ADDED
Binary file (1.81 kB). View file
 
.cache/pip/http-v2/6/5/0/7/2/65072c35290c429df2e84cb69eba045284d50944561efa156675456a ADDED
Binary file (1.2 kB). View file
 
.cache/pip/http-v2/6/6/b/a/b/66bab8cde451822060c031dc988659e1fe4348c71c2fbd112ca75eca ADDED
Binary file (1.81 kB). View file
 
.cache/pip/http-v2/6/6/e/c/7/66ec76a7b6ed4081044f5c7821af293b63c17bc2ac523ff93d5ca7d5.body ADDED
Binary file (216 kB). View file
 
.cache/pip/http-v2/7/1/9/e/0/719e0feaf94b669c315daed4ef76501cc929d482e4315b25fd3b0082 ADDED
Binary file (1.2 kB). View file
 
.cache/pip/http-v2/7/1/b/9/d/71b9df22187d5c54f1147d4ac0849d1438ec19aedc20363a3478b854.body ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.1
2
+ Name: docker-pycreds
3
+ Version: 0.4.0
4
+ Summary: Python bindings for the docker credentials store API
5
+ Home-page: https://github.com/shin-/dockerpy-creds
6
+ Author: UNKNOWN
7
+ Author-email: UNKNOWN
8
+ License: Apache License 2.0
9
+ Platform: UNKNOWN
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Other Environment
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 2
16
+ Classifier: Programming Language :: Python :: 2.6
17
+ Classifier: Programming Language :: Python :: 2.7
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.3
20
+ Classifier: Programming Language :: Python :: 3.4
21
+ Classifier: Programming Language :: Python :: 3.5
22
+ Classifier: Programming Language :: Python :: 3.6
23
+ Classifier: Topic :: Utilities
24
+ Classifier: License :: OSI Approved :: Apache Software License
25
+ Requires-Dist: six (>=1.4.0)
26
+
27
+ # docker-pycreds
28
+
29
+ [![CircleCI](https://circleci.com/gh/shin-/dockerpy-creds/tree/master.svg?style=svg)](https://circleci.com/gh/shin-/dockerpy-creds/tree/master)
30
+
31
+ Python bindings for the docker credentials store API
32
+
33
+ ## Credentials store info
34
+
35
+ [Docker documentation page](https://docs.docker.com/engine/reference/commandline/login/#/credentials-store)
36
+
37
+ ## Requirements
38
+
39
+ On top of the dependencies in `requirements.txt`, the `docker-credential`
40
+ executable for the platform must be installed on the user's system.
41
+
42
+ ## API usage
43
+
44
+ ```python
45
+
46
+ import dockerpycreds
47
+
48
+ store = dockerpycreds.Store('secretservice')
49
+ store.store(
50
+ server='https://index.docker.io/v1/', username='johndoe',
51
+ secret='hunter2'
52
+ )
53
+
54
+ print(store.list())
55
+
56
+ print(store.get('https://index.docker.io/v1/'))
57
+
58
+
59
+ store.erase('https://index.docker.io/v1/')
60
+ ```
61
+
62
+
.cache/pip/http-v2/7/2/2/9/f/7229fb50bdca3f16cb03ca953b540cb67fb07fb971b675db32ae3239.body ADDED
@@ -0,0 +1,522 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Metadata-Version: 2.1
2
+ Name: xxhash
3
+ Version: 3.5.0
4
+ Summary: Python binding for xxHash
5
+ Home-page: https://github.com/ifduyue/python-xxhash
6
+ Author: Yue Du
7
+ Author-email: ifduyue@gmail.com
8
+ License: BSD
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: License :: OSI Approved :: BSD License
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3.7
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: Implementation :: CPython
23
+ Requires-Python: >=3.7
24
+ Description-Content-Type: text/x-rst
25
+ License-File: LICENSE
26
+
27
+ python-xxhash
28
+ =============
29
+
30
+ .. image:: https://github.com/ifduyue/python-xxhash/actions/workflows/test.yml/badge.svg
31
+ :target: https://github.com/ifduyue/python-xxhash/actions/workflows/test.yml
32
+ :alt: Github Actions Status
33
+
34
+ .. image:: https://img.shields.io/pypi/v/xxhash.svg
35
+ :target: https://pypi.org/project/xxhash/
36
+ :alt: Latest Version
37
+
38
+ .. image:: https://img.shields.io/pypi/pyversions/xxhash.svg
39
+ :target: https://pypi.org/project/xxhash/
40
+ :alt: Supported Python versions
41
+
42
+ .. image:: https://img.shields.io/pypi/l/xxhash.svg
43
+ :target: https://pypi.org/project/xxhash/
44
+ :alt: License
45
+
46
+
47
+ .. _HMAC: http://en.wikipedia.org/wiki/Hash-based_message_authentication_code
48
+ .. _xxHash: https://github.com/Cyan4973/xxHash
49
+ .. _Cyan4973: https://github.com/Cyan4973
50
+
51
+
52
+ xxhash is a Python binding for the xxHash_ library by `Yann Collet`__.
53
+
54
+ __ Cyan4973_
55
+
56
+ Installation
57
+ ------------
58
+
59
+ .. code-block:: bash
60
+
61
+ $ pip install xxhash
62
+
63
+ You can also install using conda:
64
+
65
+ .. code-block:: bash
66
+
67
+ $ conda install -c conda-forge python-xxhash
68
+
69
+
70
+ Installing From Source
71
+ ~~~~~~~~~~~~~~~~~~~~~~~
72
+
73
+ .. code-block:: bash
74
+
75
+ $ pip install --no-binary xxhash xxhash
76
+
77
+ Prerequisites
78
+ ++++++++++++++
79
+
80
+ On Debian/Ubuntu:
81
+
82
+ .. code-block:: bash
83
+
84
+ $ apt-get install python-dev gcc
85
+
86
+ On CentOS/Fedora:
87
+
88
+ .. code-block:: bash
89
+
90
+ $ yum install python-devel gcc redhat-rpm-config
91
+
92
+ Linking to libxxhash.so
93
+ ~~~~~~~~~~~~~~~~~~~~~~~~
94
+
95
+ By default python-xxhash will use bundled xxHash,
96
+ we can change this by specifying ENV var ``XXHASH_LINK_SO``:
97
+
98
+ .. code-block:: bash
99
+
100
+ $ XXHASH_LINK_SO=1 pip install --no-binary xxhash xxhash
101
+
102
+ Usage
103
+ --------
104
+
105
+ Module version and its backend xxHash library version can be retrieved using
106
+ the module properties ``VERSION`` AND ``XXHASH_VERSION`` respectively.
107
+
108
+ .. code-block:: python
109
+
110
+ >>> import xxhash
111
+ >>> xxhash.VERSION
112
+ '2.0.0'
113
+ >>> xxhash.XXHASH_VERSION
114
+ '0.8.0'
115
+
116
+ This module is hashlib-compliant, which means you can use it in the same way as ``hashlib.md5``.
117
+
118
+ | update() -- update the current digest with an additional string
119
+ | digest() -- return the current digest value
120
+ | hexdigest() -- return the current digest as a string of hexadecimal digits
121
+ | intdigest() -- return the current digest as an integer
122
+ | copy() -- return a copy of the current xxhash object
123
+ | reset() -- reset state
124
+
125
+ md5 digest returns bytes, but the original xxh32 and xxh64 C APIs return integers.
126
+ While this module is made hashlib-compliant, ``intdigest()`` is also provided to
127
+ get the integer digest.
128
+
129
+ Constructors for hash algorithms provided by this module are ``xxh32()`` and ``xxh64()``.
130
+
131
+ For example, to obtain the digest of the byte string ``b'Nobody inspects the spammish repetition'``:
132
+
133
+ .. code-block:: python
134
+
135
+ >>> import xxhash
136
+ >>> x = xxhash.xxh32()
137
+ >>> x.update(b'Nobody inspects')
138
+ >>> x.update(b' the spammish repetition')
139
+ >>> x.digest()
140
+ b'\xe2);/'
141
+ >>> x.digest_size
142
+ 4
143
+ >>> x.block_size
144
+ 16
145
+
146
+ More condensed:
147
+
148
+ .. code-block:: python
149
+
150
+ >>> xxhash.xxh32(b'Nobody inspects the spammish repetition').hexdigest()
151
+ 'e2293b2f'
152
+ >>> xxhash.xxh32(b'Nobody inspects the spammish repetition').digest() == x.digest()
153
+ True
154
+
155
+ An optional seed (default is 0) can be used to alter the result predictably:
156
+
157
+ .. code-block:: python
158
+
159
+ >>> import xxhash
160
+ >>> xxhash.xxh64('xxhash').hexdigest()
161
+ '32dd38952c4bc720'
162
+ >>> xxhash.xxh64('xxhash', seed=20141025).hexdigest()
163
+ 'b559b98d844e0635'
164
+ >>> x = xxhash.xxh64(seed=20141025)
165
+ >>> x.update('xxhash')
166
+ >>> x.hexdigest()
167
+ 'b559b98d844e0635'
168
+ >>> x.intdigest()
169
+ 13067679811253438005
170
+
171
+ Be careful that xxh32 takes an unsigned 32-bit integer as seed, while xxh64
172
+ takes an unsigned 64-bit integer. Although unsigned integer overflow is
173
+ defined behavior, it's better not to make it happen:
174
+
175
+ .. code-block:: python
176
+
177
+ >>> xxhash.xxh32('I want an unsigned 32-bit seed!', seed=0).hexdigest()
178
+ 'f7a35af8'
179
+ >>> xxhash.xxh32('I want an unsigned 32-bit seed!', seed=2**32).hexdigest()
180
+ 'f7a35af8'
181
+ >>> xxhash.xxh32('I want an unsigned 32-bit seed!', seed=1).hexdigest()
182
+ 'd8d4b4ba'
183
+ >>> xxhash.xxh32('I want an unsigned 32-bit seed!', seed=2**32+1).hexdigest()
184
+ 'd8d4b4ba'
185
+ >>>
186
+ >>> xxhash.xxh64('I want an unsigned 64-bit seed!', seed=0).hexdigest()
187
+ 'd4cb0a70a2b8c7c1'
188
+ >>> xxhash.xxh64('I want an unsigned 64-bit seed!', seed=2**64).hexdigest()
189
+ 'd4cb0a70a2b8c7c1'
190
+ >>> xxhash.xxh64('I want an unsigned 64-bit seed!', seed=1).hexdigest()
191
+ 'ce5087f12470d961'
192
+ >>> xxhash.xxh64('I want an unsigned 64-bit seed!', seed=2**64+1).hexdigest()
193
+ 'ce5087f12470d961'
194
+
195
+
196
+ ``digest()`` returns bytes of the **big-endian** representation of the integer
197
+ digest:
198
+
199
+ .. code-block:: python
200
+
201
+ >>> import xxhash
202
+ >>> h = xxhash.xxh64()
203
+ >>> h.digest()
204
+ b'\xefF\xdb7Q\xd8\xe9\x99'
205
+ >>> h.intdigest().to_bytes(8, 'big')
206
+ b'\xefF\xdb7Q\xd8\xe9\x99'
207
+ >>> h.hexdigest()
208
+ 'ef46db3751d8e999'
209
+ >>> format(h.intdigest(), '016x')
210
+ 'ef46db3751d8e999'
211
+ >>> h.intdigest()
212
+ 17241709254077376921
213
+ >>> int(h.hexdigest(), 16)
214
+ 17241709254077376921
215
+
216
+ Besides xxh32/xxh64 mentioned above, oneshot functions are also provided,
217
+ so we can avoid allocating XXH32/64 state on heap:
218
+
219
+ | xxh32_digest(bytes, seed=0)
220
+ | xxh32_intdigest(bytes, seed=0)
221
+ | xxh32_hexdigest(bytes, seed=0)
222
+ | xxh64_digest(bytes, seed=0)
223
+ | xxh64_intdigest(bytes, seed=0)
224
+ | xxh64_hexdigest(bytes, seed=0)
225
+
226
+ .. code-block:: python
227
+
228
+ >>> import xxhash
229
+ >>> xxhash.xxh64('a').digest() == xxhash.xxh64_digest('a')
230
+ True
231
+ >>> xxhash.xxh64('a').intdigest() == xxhash.xxh64_intdigest('a')
232
+ True
233
+ >>> xxhash.xxh64('a').hexdigest() == xxhash.xxh64_hexdigest('a')
234
+ True
235
+ >>> xxhash.xxh64_hexdigest('xxhash', seed=20141025)
236
+ 'b559b98d844e0635'
237
+ >>> xxhash.xxh64_intdigest('xxhash', seed=20141025)
238
+ 13067679811253438005L
239
+ >>> xxhash.xxh64_digest('xxhash', seed=20141025)
240
+ '\xb5Y\xb9\x8d\x84N\x065'
241
+
242
+ .. code-block:: python
243
+
244
+ In [1]: import xxhash
245
+
246
+ In [2]: %timeit xxhash.xxh64_hexdigest('xxhash')
247
+ 268 ns ± 24.1 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
248
+
249
+ In [3]: %timeit xxhash.xxh64('xxhash').hexdigest()
250
+ 416 ns ± 17.3 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
251
+
252
+
253
+ XXH3 hashes are available since v2.0.0 (xxHash v0.8.0), they are:
254
+
255
+ Streaming classes:
256
+
257
+ | xxh3_64
258
+ | xxh3_128
259
+
260
+ Oneshot functions:
261
+
262
+ | xxh3_64_digest(bytes, seed=0)
263
+ | xxh3_64_intdigest(bytes, seed=0)
264
+ | xxh3_64_hexdigest(bytes, seed=0)
265
+ | xxh3_128_digest(bytes, seed=0)
266
+ | xxh3_128_intdigest(bytes, seed=0)
267
+ | xxh3_128_hexdigest(bytes, seed=0)
268
+
269
+ And aliases:
270
+
271
+ | xxh128 = xxh3_128
272
+ | xxh128_digest = xxh3_128_digest
273
+ | xxh128_intdigest = xxh3_128_intdigest
274
+ | xxh128_hexdigest = xxh3_128_hexdigest
275
+
276
+ Caveats
277
+ -------
278
+
279
+ SEED OVERFLOW
280
+ ~~~~~~~~~~~~~~
281
+
282
+ xxh32 takes an unsigned 32-bit integer as seed, and xxh64 takes
283
+ an unsigned 64-bit integer as seed. Make sure that the seed is greater than
284
+ or equal to ``0``.
285
+
286
+ ENDIANNESS
287
+ ~~~~~~~~~~~
288
+
289
+ As of python-xxhash 0.3.0, ``digest()`` returns bytes of the
290
+ **big-endian** representation of the integer digest. It used
291
+ to be little-endian.
292
+
293
+ DONT USE XXHASH IN HMAC
294
+ ~~~~~~~~~~~~~~~~~~~~~~~
295
+ Though you can use xxhash as an HMAC_ hash function, but it's
296
+ highly recommended not to.
297
+
298
+ xxhash is **NOT** a cryptographic hash function, it is a
299
+ non-cryptographic hash algorithm aimed at speed and quality.
300
+ Do not put xxhash in any position where cryptographic hash
301
+ functions are required.
302
+
303
+
304
+ Copyright and License
305
+ ---------------------
306
+
307
+ Copyright (c) 2014-2024 Yue Du - https://github.com/ifduyue
308
+
309
+ Licensed under `BSD 2-Clause License <http://opensource.org/licenses/BSD-2-Clause>`_
310
+
311
+ CHANGELOG
312
+ -----------
313
+
314
+ v3.5.0 2024-08-17
315
+ ~~~~~~~~~~~~~~~~~
316
+
317
+ - Build wheels for Python 3.13
318
+
319
+ v3.4.1 2023-10-05
320
+ ~~~~~~~~~~~~~~~~~
321
+
322
+ - Build wheels for Python 3.12
323
+ - Remove setuptools_scm
324
+
325
+ v3.4.0 2023-10-05
326
+ ~~~~~~~~~~~~~~~~~
327
+
328
+ *Yanked* due to wheels building problem.
329
+
330
+ v3.3.0 2023-07-29
331
+ ~~~~~~~~~~~~~~~~~
332
+
333
+ - Upgrade xxHash to v0.8.2
334
+ - Drop support for Python 3.6
335
+
336
+ v3.2.0 2022-12-28
337
+ ~~~~~~~~~~~~~~~~~
338
+
339
+ This is the last version to support Python 3.6
340
+
341
+ - Build Python 3.11 wheels.
342
+ - Remove setup.py test_suites, call unittest directly
343
+
344
+ v3.1.0 2022-10-19
345
+ ~~~~~~~~~~~~~~~~~
346
+
347
+ - Type annotations.
348
+ - Enabled muslinux wheels building.
349
+
350
+ v3.0.0 2022-02-25
351
+ ~~~~~~~~~~~~~~~~~
352
+
353
+ - New set `algorithms_available` lists all implemented algorithms in `xxhash`
354
+ package.
355
+ - Upgrade xxHash to v0.8.1.
356
+ - Drop support for EOL Python versions, require python >= 3.6 from now on.
357
+ - Migrate to github actions and build arm64 wheels for macOS.
358
+ - Always release GIL.
359
+
360
+
361
+ v2.0.2 2021-04-15
362
+ ~~~~~~~~~~~~~~~~~
363
+
364
+ - Fix Travis CI OSX dpl python2.7 get-pip.py error
365
+
366
+ v2.0.1 2021-04-15
367
+ ~~~~~~~~~~~~~~~~~
368
+
369
+ - Only to trigger Python 3.9 wheels building.
370
+
371
+ v2.0.0 2020-08-03
372
+ ~~~~~~~~~~~~~~~~~
373
+
374
+ - **Require xxHash version >= v0.8.0**
375
+ - Upgrade xxHash to v0.8.0
376
+ - XXH3 hashes: `xxh3_64`, `xxh3_128`, and their oneshot functions
377
+
378
+ v1.4.4 2020-06-20
379
+ ~~~~~~~~~~~~~~~~~
380
+
381
+ - Upgrade xxHash to v0.7.3
382
+ - Stop using PEP393 deprecated APIs
383
+ - Use XXH(32|64)_canonicalFromHash to replace u2bytes and ull2bytes
384
+
385
+ v1.4.3 2019-11-12
386
+ ~~~~~~~~~~~~~~~~~
387
+
388
+ - Upgrade xxHash to v0.7.2
389
+ - Python 3.8 wheels
390
+
391
+ v1.4.2 2019-10-13
392
+ ~~~~~~~~~~~~~~~~~
393
+
394
+ - Fixed: setup.py fails when reading README.rst and the default encoding is not UTF-8
395
+
396
+ v1.4.1 2019-08-27
397
+ ~~~~~~~~~~~~~~~~~
398
+
399
+ - Fixed: xxh3.h in missing from source tarball
400
+
401
+ v1.4.0 2019-08-25
402
+ ~~~~~~~~~~~~~~~~~
403
+
404
+ - Upgrade xxHash to v0.7.1
405
+
406
+ v1.3.0 2018-10-21
407
+ ~~~~~~~~~~~~~~~~~
408
+
409
+ - Wheels are now built automatically
410
+ - Split CFFI variant into a separate package `ifduyue/python-xxhash-cffi <https://github.com/ifduyue/python-xxhash-cffi>`_
411
+
412
+ v1.2.0 2018-07-13
413
+ ~~~~~~~~~~~~~~~~~
414
+
415
+ - Add oneshot functions xxh{32,64}_{,int,hex}digest
416
+
417
+ v1.1.0 2018-07-05
418
+ ~~~~~~~~~~~~~~~~~
419
+
420
+ - Allow input larger than 2GB
421
+ - Release the GIL on sufficiently large input
422
+ - Drop support for Python 3.2
423
+
424
+ v1.0.1 2017-03-02
425
+ ~~~~~~~~~~~~~~~~~~
426
+
427
+ - Free state actively, instead of delegating it to ffi.gc
428
+
429
+ v1.0.0 2017-02-10
430
+ ~~~~~~~~~~~~~~~~~~
431
+
432
+ - Fixed copy() segfault
433
+ - Added CFFI variant
434
+
435
+ v0.6.3 2017-02-10
436
+ ~~~~~~~~~~~~~~~~~~
437
+
438
+ - Fixed copy() segfault
439
+
440
+ v0.6.2 2017-02-10
441
+ ~~~~~~~~~~~~~~~~~~
442
+
443
+ - Upgrade xxHash to v0.6.2
444
+
445
+ v0.6.1 2016-06-26
446
+ ~~~~~~~~~~~~~~~~~~
447
+
448
+ - Upgrade xxHash to v0.6.1
449
+
450
+ v0.5.0 2016-03-02
451
+ ~~~~~~~~~~~~~~~~~~
452
+
453
+ - Upgrade xxHash to v0.5.0
454
+
455
+ v0.4.3 2015-08-21
456
+ ~~~~~~~~~~~~~~~~~~
457
+
458
+ - Upgrade xxHash to r42
459
+
460
+ v0.4.1 2015-08-16
461
+ ~~~~~~~~~~~~~~~~~~
462
+
463
+ - Upgrade xxHash to r41
464
+
465
+ v0.4.0 2015-08-05
466
+ ~~~~~~~~~~~~~~~~~~
467
+
468
+ - Added method reset
469
+ - Upgrade xxHash to r40
470
+
471
+ v0.3.2 2015-01-27
472
+ ~~~~~~~~~~~~~~~~~~
473
+
474
+ - Fixed some typos in docstrings
475
+
476
+ v0.3.1 2015-01-24
477
+ ~~~~~~~~~~~~~~~~~~
478
+
479
+ - Upgrade xxHash to r39
480
+
481
+ v0.3.0 2014-11-11
482
+ ~~~~~~~~~~~~~~~~~~
483
+
484
+ - Change digest() from little-endian representation to big-endian representation of the integer digest.
485
+ This change breaks compatibility (digest() results are different).
486
+
487
+ v0.2.0 2014-10-25
488
+ ~~~~~~~~~~~~~~~~~~
489
+
490
+ - Make this package hashlib-compliant
491
+
492
+ v0.1.3 2014-10-23
493
+ ~~~~~~~~~~~~~~~~~~
494
+
495
+ - Update xxHash to r37
496
+
497
+ v0.1.2 2014-10-19
498
+ ~~~~~~~~~~~~~~~~~~
499
+
500
+ - Improve: Check XXHnn_init() return value.
501
+ - Update xxHash to r36
502
+
503
+ v0.1.1 2014-08-07
504
+ ~~~~~~~~~~~~~~~~~~
505
+
506
+ - Improve: Can now be built with Visual C++ Compiler.
507
+
508
+ v0.1.0 2014-08-05
509
+ ~~~~~~~~~~~~~~~~~~
510
+
511
+ - New: XXH32 and XXH64 type, which support partially update.
512
+ - Fix: build under Python 3.4
513
+
514
+ v0.0.2 2014-08-03
515
+ ~~~~~~~~~~~~~~~~~~
516
+
517
+ - NEW: Support Python 3
518
+
519
+ v0.0.1 2014-07-30
520
+ ~~~~~~~~~~~~~~~~~~
521
+
522
+ - NEW: xxh32 and xxh64
.cache/pip/http-v2/7/7/6/7/2/7767287c95ec4491394e4204f2ba3be9eb9e3ed9ca0ffd45d421b772 ADDED
Binary file (1.11 kB). View file
 
.cache/pip/http-v2/7/c/4/b/8/7c4b8a19f4f69494c22868b76649cd91120de17447e4ff71fb7a7f10 ADDED
Binary file (1.84 kB). View file
 
.cache/pip/http-v2/7/c/c/b/9/7ccb994e5cb08d1aee93acb83ae5881083c4a349402f61c9f7d304f8 ADDED
Binary file (1.82 kB). View file
 
.cache/pip/http-v2/7/e/1/d/d/7e1dd8fd372b5a4d9dab3a30df124fb3e1f8789a9ab79f867640876a ADDED
Binary file (1.15 kB). View file
 
.cache/pip/http-v2/8/1/1/c/d/811cdc5b0df1a4862e5588ed7d10948f806b064e30962a3f3e310c26 ADDED
Binary file (1.2 kB). View file