scmrepo 1.5.0__tar.gz → 1.6.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.

Potentially problematic release.


This version of scmrepo might be problematic. Click here for more details.

Files changed (72) hide show
  1. {scmrepo-1.5.0 → scmrepo-1.6.0}/.cruft.json +1 -1
  2. {scmrepo-1.5.0 → scmrepo-1.6.0}/.gitignore +2 -0
  3. {scmrepo-1.5.0 → scmrepo-1.6.0}/.pre-commit-config.yaml +6 -23
  4. {scmrepo-1.5.0/src/scmrepo.egg-info → scmrepo-1.6.0}/PKG-INFO +7 -21
  5. {scmrepo-1.5.0 → scmrepo-1.6.0}/noxfile.py +0 -1
  6. scmrepo-1.6.0/pyproject.toml +126 -0
  7. scmrepo-1.6.0/setup.cfg +4 -0
  8. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/credentials.py +2 -1
  9. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/client.py +3 -8
  10. {scmrepo-1.5.0 → scmrepo-1.6.0/src/scmrepo.egg-info}/PKG-INFO +7 -21
  11. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo.egg-info/SOURCES.txt +0 -2
  12. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo.egg-info/requires.txt +2 -18
  13. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_credentials.py +6 -12
  14. scmrepo-1.5.0/pyproject.toml +0 -109
  15. scmrepo-1.5.0/setup.cfg +0 -82
  16. scmrepo-1.5.0/src/scmrepo.egg-info/not-zip-safe +0 -1
  17. {scmrepo-1.5.0 → scmrepo-1.6.0}/.coveragerc +0 -0
  18. {scmrepo-1.5.0 → scmrepo-1.6.0}/.gitattributes +0 -0
  19. {scmrepo-1.5.0 → scmrepo-1.6.0}/.github/dependabot.yml +0 -0
  20. {scmrepo-1.5.0 → scmrepo-1.6.0}/.github/workflows/release.yaml +0 -0
  21. {scmrepo-1.5.0 → scmrepo-1.6.0}/.github/workflows/tests.yaml +0 -0
  22. {scmrepo-1.5.0 → scmrepo-1.6.0}/.github/workflows/update-template.yaml +0 -0
  23. {scmrepo-1.5.0 → scmrepo-1.6.0}/CODE_OF_CONDUCT.rst +0 -0
  24. {scmrepo-1.5.0 → scmrepo-1.6.0}/CONTRIBUTING.rst +0 -0
  25. {scmrepo-1.5.0 → scmrepo-1.6.0}/LICENSE +0 -0
  26. {scmrepo-1.5.0 → scmrepo-1.6.0}/README.rst +0 -0
  27. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/__init__.py +0 -0
  28. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/asyn.py +0 -0
  29. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/base.py +0 -0
  30. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/exceptions.py +0 -0
  31. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/fs.py +0 -0
  32. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/__init__.py +0 -0
  33. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/__init__.py +0 -0
  34. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/base.py +0 -0
  35. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/dulwich/__init__.py +0 -0
  36. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/dulwich/asyncssh_vendor.py +0 -0
  37. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/dulwich/client.py +0 -0
  38. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/gitpython.py +0 -0
  39. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/pygit2/__init__.py +0 -0
  40. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/pygit2/callbacks.py +0 -0
  41. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/backend/pygit2/filter.py +0 -0
  42. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/config.py +0 -0
  43. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/__init__.py +0 -0
  44. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/exceptions.py +0 -0
  45. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/fetch.py +0 -0
  46. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/object.py +0 -0
  47. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/pointer.py +0 -0
  48. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/progress.py +0 -0
  49. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/smudge.py +0 -0
  50. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/lfs/storage.py +0 -0
  51. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/objects.py +0 -0
  52. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/git/stash.py +0 -0
  53. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/noscm.py +0 -0
  54. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/progress.py +0 -0
  55. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/py.typed +0 -0
  56. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo/utils.py +0 -0
  57. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo.egg-info/dependency_links.txt +0 -0
  58. {scmrepo-1.5.0 → scmrepo-1.6.0}/src/scmrepo.egg-info/top_level.txt +0 -0
  59. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/__init__.py +0 -0
  60. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/conftest.py +0 -0
  61. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/docker-compose.yml +0 -0
  62. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/git-init/git.sh +0 -0
  63. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_dulwich.py +0 -0
  64. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_fs.py +0 -0
  65. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_git.py +0 -0
  66. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_lfs.py +0 -0
  67. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_noscm.py +0 -0
  68. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_pygit2.py +0 -0
  69. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_scmrepo.py +0 -0
  70. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/test_stash.py +0 -0
  71. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/user.key +0 -0
  72. {scmrepo-1.5.0 → scmrepo-1.6.0}/tests/user.key.pub +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "template": "https://github.com/iterative/py-template",
3
- "commit": "0aac03d10cbc7b2f7e144e728de5043b7a3458cb",
3
+ "commit": "15ee26df315020399731c6291d61bef81a3fc5d3",
4
4
  "context": {
5
5
  "cookiecutter": {
6
6
  "project_name": "scmrepo",
@@ -136,3 +136,5 @@ dmypy.json
136
136
 
137
137
  # Cython debug symbols
138
138
  cython_debug/
139
+
140
+ .DS_Store
@@ -1,10 +1,6 @@
1
1
  default_language_version:
2
2
  python: python3
3
3
  repos:
4
- - repo: https://github.com/psf/black
5
- rev: 23.9.1
6
- hooks:
7
- - id: black
8
4
  - repo: https://github.com/pre-commit/pre-commit-hooks
9
5
  rev: v4.4.0
10
6
  hooks:
@@ -24,6 +20,12 @@ repos:
24
20
  args: ['--fix=lf']
25
21
  - id: sort-simple-yaml
26
22
  - id: trailing-whitespace
23
+ - repo: https://github.com/astral-sh/ruff-pre-commit
24
+ rev: 'v0.1.5'
25
+ hooks:
26
+ - id: ruff
27
+ args: [--fix, --exit-non-zero-on-fix]
28
+ - id: ruff-format
27
29
  - repo: https://github.com/codespell-project/codespell
28
30
  rev: v2.2.5
29
31
  hooks:
@@ -34,22 +36,3 @@ repos:
34
36
  hooks:
35
37
  - id: pyupgrade
36
38
  args: [--py38-plus]
37
- - repo: https://github.com/PyCQA/isort
38
- rev: 5.12.0
39
- hooks:
40
- - id: isort
41
- - repo: https://github.com/pycqa/flake8
42
- rev: 6.1.0
43
- hooks:
44
- - id: flake8
45
- additional_dependencies:
46
- - flake8-bugbear==23.7.10
47
- - flake8-comprehensions==3.14.0
48
- - flake8-debugger==4.1.2
49
- - flake8-string-format==0.3.0
50
- - repo: https://github.com/pycqa/bandit
51
- rev: 1.7.5
52
- hooks:
53
- - id: bandit
54
- args: ["-c", "pyproject.toml"]
55
- additional_dependencies: [".[toml]"]
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scmrepo
3
- Version: 1.5.0
4
- Summary: SCM wrapper and fsspec filesystem for Git for use in DVC
5
- Home-page: https://github.com/iterative/scmrepo
6
- Maintainer-email: support@dvc.org
3
+ Version: 1.6.0
4
+ Summary: scmrepo
5
+ Author-email: Iterative <support@dvc.org>
7
6
  License: Apache-2.0
8
- Platform: any
7
+ Project-URL: Issues, https://github.com/iterative/scmrepo/issues
8
+ Project-URL: Source, https://github.com/iterative/scmrepo
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Programming Language :: Python :: 3.8
11
11
  Classifier: Programming Language :: Python :: 3.9
@@ -24,14 +24,13 @@ Requires-Dist: pathspec>=0.9.0
24
24
  Requires-Dist: asyncssh<3,>=2.13.1
25
25
  Requires-Dist: funcy>=1.14
26
26
  Requires-Dist: shortuuid>=0.5.0
27
- Requires-Dist: dvc-objects<2,>=1.0.1
27
+ Requires-Dist: dvc-objects<3,>=1.0.1
28
28
  Requires-Dist: dvc-http>=2.29.0
29
29
  Provides-Extra: tests
30
30
  Requires-Dist: pytest==7.2.0; extra == "tests"
31
31
  Requires-Dist: pytest-sugar==0.9.5; extra == "tests"
32
32
  Requires-Dist: pytest-cov==3.0.0; extra == "tests"
33
33
  Requires-Dist: pytest-mock==3.8.2; extra == "tests"
34
- Requires-Dist: pylint==2.15.0; extra == "tests"
35
34
  Requires-Dist: mypy==0.971; extra == "tests"
36
35
  Requires-Dist: pytest-test-utils==0.0.8; extra == "tests"
37
36
  Requires-Dist: pytest-asyncio==0.18.3; extra == "tests"
@@ -42,20 +41,7 @@ Requires-Dist: types-certifi==2021.10.8.3; extra == "tests"
42
41
  Requires-Dist: types-mock==5.1.0.2; extra == "tests"
43
42
  Requires-Dist: types-paramiko==3.3.0.0; extra == "tests"
44
43
  Provides-Extra: dev
45
- Requires-Dist: pytest==7.2.0; extra == "dev"
46
- Requires-Dist: pytest-sugar==0.9.5; extra == "dev"
47
- Requires-Dist: pytest-cov==3.0.0; extra == "dev"
48
- Requires-Dist: pytest-mock==3.8.2; extra == "dev"
49
- Requires-Dist: pylint==2.15.0; extra == "dev"
50
- Requires-Dist: mypy==0.971; extra == "dev"
51
- Requires-Dist: pytest-test-utils==0.0.8; extra == "dev"
52
- Requires-Dist: pytest-asyncio==0.18.3; extra == "dev"
53
- Requires-Dist: pytest-docker==0.12.0; (python_version < "3.10" and implementation_name != "pypy") and extra == "dev"
54
- Requires-Dist: mock==5.1.0; extra == "dev"
55
- Requires-Dist: paramiko==3.3.1; extra == "dev"
56
- Requires-Dist: types-certifi==2021.10.8.3; extra == "dev"
57
- Requires-Dist: types-mock==5.1.0.2; extra == "dev"
58
- Requires-Dist: types-paramiko==3.3.0.0; extra == "dev"
44
+ Requires-Dist: scmrepo[tests]; extra == "dev"
59
45
 
60
46
  scmrepo
61
47
  =======
@@ -29,7 +29,6 @@ def lint(session: nox.Session) -> None:
29
29
  args = *(session.posargs or ("--show-diff-on-failure",)), "--all-files"
30
30
  session.run("pre-commit", "run", *args)
31
31
  session.run("python", "-m", "mypy")
32
- session.run("python", "-m", "pylint", *locations)
33
32
 
34
33
 
35
34
  @nox.session
@@ -0,0 +1,126 @@
1
+ [build-system]
2
+ requires = ["setuptools>=48", "setuptools_scm[toml]>=6.3.1"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.setuptools_scm]
6
+
7
+ [project]
8
+ name = "scmrepo"
9
+ description = "scmrepo"
10
+ readme = "README.rst"
11
+ license = {text = "Apache-2.0"}
12
+ authors = [{ name = "Iterative", email = "support@dvc.org" }]
13
+ classifiers = [
14
+ "Programming Language :: Python :: 3",
15
+ "Programming Language :: Python :: 3.8",
16
+ "Programming Language :: Python :: 3.9",
17
+ "Programming Language :: Python :: 3.10",
18
+ "Programming Language :: Python :: 3.11",
19
+ "Development Status :: 4 - Beta",
20
+ ]
21
+ requires-python = ">=3.8"
22
+ dynamic = ["version"]
23
+ dependencies = [
24
+ "gitpython>3",
25
+ "dulwich>=0.21.6",
26
+ "pygit2>=1.13.3",
27
+ "pygtrie>=2.3.2",
28
+ "fsspec>=2021.7.0",
29
+ "pathspec>=0.9.0",
30
+ "asyncssh>=2.13.1,<3",
31
+ "funcy>=1.14",
32
+ "shortuuid>=0.5.0",
33
+ "dvc-objects>=1.0.1,<3",
34
+ "dvc-http>=2.29.0",
35
+ ]
36
+
37
+ [project.urls]
38
+ Issues = "https://github.com/iterative/scmrepo/issues"
39
+ Source = "https://github.com/iterative/scmrepo"
40
+
41
+ [project.optional-dependencies]
42
+ tests = [
43
+ "pytest==7.2.0",
44
+ "pytest-sugar==0.9.5",
45
+ "pytest-cov==3.0.0",
46
+ "pytest-mock==3.8.2",
47
+ "mypy==0.971",
48
+ "pytest-test-utils==0.0.8",
49
+ "pytest-asyncio==0.18.3",
50
+ # https://github.com/docker/docker-py/issues/2902
51
+ "pytest-docker==0.12.0; python_version < '3.10' and implementation_name != 'pypy'",
52
+ "mock==5.1.0",
53
+ "paramiko==3.3.1",
54
+ "types-certifi==2021.10.8.3",
55
+ "types-mock==5.1.0.2",
56
+ "types-paramiko==3.3.0.0",
57
+ ]
58
+ dev = [
59
+ "scmrepo[tests]",
60
+ ]
61
+
62
+ [tool.setuptools.package-data]
63
+ dvc_objects = ["py.typed"]
64
+
65
+ [tool.setuptools.packages.find]
66
+ where = ["src"]
67
+ namespaces = false
68
+
69
+ [tool.pytest.ini_options]
70
+ addopts = "-ra"
71
+ markers = [
72
+ "skip_git_backend: skip tests for given backend",
73
+ "slow: mark test as slow to run",
74
+ ]
75
+
76
+ [tool.coverage.run]
77
+ branch = true
78
+ source = ["scmrepo", "tests"]
79
+
80
+ [tool.coverage.paths]
81
+ source = ["src", "*/site-packages"]
82
+
83
+ [tool.coverage.report]
84
+ show_missing = true
85
+ exclude_lines = [
86
+ "pragma: no cover",
87
+ "if __name__ == .__main__.:",
88
+ "if typing.TYPE_CHECKING:",
89
+ "if TYPE_CHECKING:",
90
+ "raise NotImplementedError",
91
+ "raise AssertionError",
92
+ "@overload",
93
+ ]
94
+
95
+ [tool.mypy]
96
+ # Error output
97
+ show_column_numbers = true
98
+ show_error_codes = true
99
+ show_error_context = true
100
+ show_traceback = true
101
+ pretty = true
102
+ check_untyped_defs = false
103
+ # Warnings
104
+ warn_no_return = true
105
+ warn_redundant_casts = true
106
+ warn_unreachable = true
107
+ files = ["src", "tests"]
108
+
109
+ [[tool.mypy.overrides]]
110
+ module = [
111
+ "pygtrie",
112
+ "dvc_http.*",
113
+ "funcy",
114
+ "git",
115
+ "gitdb.*",
116
+ "fsspec.*",
117
+ "pathspec.patterns",
118
+ "asyncssh.*",
119
+ "pygit2.*",
120
+ "pytest_docker.plugin",
121
+ "urllib3.*",
122
+ ]
123
+ ignore_missing_imports = true
124
+
125
+ [tool.codespell]
126
+ ignore-words-list = "cachable, keypair"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -292,7 +292,8 @@ def _input_tty(prompt: str = "Username: ") -> str:
292
292
  with ExitStack() as stack:
293
293
  try:
294
294
  fd = os.open(
295
- "/dev/tty", os.O_RDWR | os.O_NOCTTY # pylint: disable=no-member
295
+ "/dev/tty",
296
+ os.O_RDWR | os.O_NOCTTY, # pylint: disable=no-member
296
297
  )
297
298
  tty = io.FileIO(fd, "w+")
298
299
  stack.enter_context(tty)
@@ -190,15 +190,10 @@ class LFSClient(AbstractContextManager):
190
190
  **kwargs,
191
191
  ):
192
192
  async def _get_one(from_path: str, to_path: str, **kwargs):
193
- get_coro = callback.wrap_and_branch_coro(
194
- self.httpfs._get_file # pylint: disable=protected-access
195
- )
196
193
  with as_atomic(localfs, to_path, create_parents=True) as tmp_file:
197
- return await get_coro(
198
- from_path,
199
- tmp_file,
200
- **kwargs,
201
- )
194
+ with callback.branch(from_path, tmp_file, kwargs):
195
+ await self.httpfs._get_file(from_path, tmp_file, **kwargs) # pylint: disable=protected-access
196
+ callback.relative_update()
202
197
 
203
198
  resp_data = await self._batch_request(objects, **kwargs)
204
199
  if resp_data.get("transfer") != "basic":
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scmrepo
3
- Version: 1.5.0
4
- Summary: SCM wrapper and fsspec filesystem for Git for use in DVC
5
- Home-page: https://github.com/iterative/scmrepo
6
- Maintainer-email: support@dvc.org
3
+ Version: 1.6.0
4
+ Summary: scmrepo
5
+ Author-email: Iterative <support@dvc.org>
7
6
  License: Apache-2.0
8
- Platform: any
7
+ Project-URL: Issues, https://github.com/iterative/scmrepo/issues
8
+ Project-URL: Source, https://github.com/iterative/scmrepo
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Programming Language :: Python :: 3.8
11
11
  Classifier: Programming Language :: Python :: 3.9
@@ -24,14 +24,13 @@ Requires-Dist: pathspec>=0.9.0
24
24
  Requires-Dist: asyncssh<3,>=2.13.1
25
25
  Requires-Dist: funcy>=1.14
26
26
  Requires-Dist: shortuuid>=0.5.0
27
- Requires-Dist: dvc-objects<2,>=1.0.1
27
+ Requires-Dist: dvc-objects<3,>=1.0.1
28
28
  Requires-Dist: dvc-http>=2.29.0
29
29
  Provides-Extra: tests
30
30
  Requires-Dist: pytest==7.2.0; extra == "tests"
31
31
  Requires-Dist: pytest-sugar==0.9.5; extra == "tests"
32
32
  Requires-Dist: pytest-cov==3.0.0; extra == "tests"
33
33
  Requires-Dist: pytest-mock==3.8.2; extra == "tests"
34
- Requires-Dist: pylint==2.15.0; extra == "tests"
35
34
  Requires-Dist: mypy==0.971; extra == "tests"
36
35
  Requires-Dist: pytest-test-utils==0.0.8; extra == "tests"
37
36
  Requires-Dist: pytest-asyncio==0.18.3; extra == "tests"
@@ -42,20 +41,7 @@ Requires-Dist: types-certifi==2021.10.8.3; extra == "tests"
42
41
  Requires-Dist: types-mock==5.1.0.2; extra == "tests"
43
42
  Requires-Dist: types-paramiko==3.3.0.0; extra == "tests"
44
43
  Provides-Extra: dev
45
- Requires-Dist: pytest==7.2.0; extra == "dev"
46
- Requires-Dist: pytest-sugar==0.9.5; extra == "dev"
47
- Requires-Dist: pytest-cov==3.0.0; extra == "dev"
48
- Requires-Dist: pytest-mock==3.8.2; extra == "dev"
49
- Requires-Dist: pylint==2.15.0; extra == "dev"
50
- Requires-Dist: mypy==0.971; extra == "dev"
51
- Requires-Dist: pytest-test-utils==0.0.8; extra == "dev"
52
- Requires-Dist: pytest-asyncio==0.18.3; extra == "dev"
53
- Requires-Dist: pytest-docker==0.12.0; (python_version < "3.10" and implementation_name != "pypy") and extra == "dev"
54
- Requires-Dist: mock==5.1.0; extra == "dev"
55
- Requires-Dist: paramiko==3.3.1; extra == "dev"
56
- Requires-Dist: types-certifi==2021.10.8.3; extra == "dev"
57
- Requires-Dist: types-mock==5.1.0.2; extra == "dev"
58
- Requires-Dist: types-paramiko==3.3.0.0; extra == "dev"
44
+ Requires-Dist: scmrepo[tests]; extra == "dev"
59
45
 
60
46
  scmrepo
61
47
  =======
@@ -9,7 +9,6 @@ LICENSE
9
9
  README.rst
10
10
  noxfile.py
11
11
  pyproject.toml
12
- setup.cfg
13
12
  .github/dependabot.yml
14
13
  .github/workflows/release.yaml
15
14
  .github/workflows/tests.yaml
@@ -26,7 +25,6 @@ src/scmrepo/utils.py
26
25
  src/scmrepo.egg-info/PKG-INFO
27
26
  src/scmrepo.egg-info/SOURCES.txt
28
27
  src/scmrepo.egg-info/dependency_links.txt
29
- src/scmrepo.egg-info/not-zip-safe
30
28
  src/scmrepo.egg-info/requires.txt
31
29
  src/scmrepo.egg-info/top_level.txt
32
30
  src/scmrepo/git/__init__.py
@@ -7,33 +7,17 @@ pathspec>=0.9.0
7
7
  asyncssh<3,>=2.13.1
8
8
  funcy>=1.14
9
9
  shortuuid>=0.5.0
10
- dvc-objects<2,>=1.0.1
10
+ dvc-objects<3,>=1.0.1
11
11
  dvc-http>=2.29.0
12
12
 
13
13
  [dev]
14
- pytest==7.2.0
15
- pytest-sugar==0.9.5
16
- pytest-cov==3.0.0
17
- pytest-mock==3.8.2
18
- pylint==2.15.0
19
- mypy==0.971
20
- pytest-test-utils==0.0.8
21
- pytest-asyncio==0.18.3
22
- mock==5.1.0
23
- paramiko==3.3.1
24
- types-certifi==2021.10.8.3
25
- types-mock==5.1.0.2
26
- types-paramiko==3.3.0.0
27
-
28
- [dev:python_version < "3.10" and implementation_name != "pypy"]
29
- pytest-docker==0.12.0
14
+ scmrepo[tests]
30
15
 
31
16
  [tests]
32
17
  pytest==7.2.0
33
18
  pytest-sugar==0.9.5
34
19
  pytest-cov==3.0.0
35
20
  pytest-mock==3.8.2
36
- pylint==2.15.0
37
21
  mypy==0.971
38
22
  pytest-test-utils==0.0.8
39
23
  pytest-asyncio==0.18.3
@@ -174,13 +174,11 @@ def test_get_matching_commands():
174
174
  from dulwich.config import ConfigFile
175
175
 
176
176
  config_file = io.BytesIO(
177
- """
177
+ b"""
178
178
  [credential]
179
179
  helper = /usr/local/bin/my-helper
180
180
  UseHttpPath = true
181
- """.encode(
182
- "ascii"
183
- )
181
+ """
184
182
  )
185
183
  config_file.seek(0)
186
184
  config = ConfigFile.from_file(config_file)
@@ -189,12 +187,10 @@ def test_get_matching_commands():
189
187
  ) == [("/usr/local/bin/my-helper", True)]
190
188
 
191
189
  config_file = io.BytesIO(
192
- """
190
+ b"""
193
191
  [credential]
194
192
  helper = /usr/local/bin/my-helper
195
- """.encode(
196
- "ascii"
197
- )
193
+ """
198
194
  )
199
195
  config_file.seek(0)
200
196
  config = ConfigFile.from_file(config_file)
@@ -203,12 +199,10 @@ def test_get_matching_commands():
203
199
  ) == [("/usr/local/bin/my-helper", False)]
204
200
 
205
201
  config_file = io.BytesIO(
206
- """
202
+ b"""
207
203
  [credential]
208
204
  helper =
209
- """.encode(
210
- "ascii"
211
- )
205
+ """
212
206
  )
213
207
  config_file.seek(0)
214
208
  config = ConfigFile.from_file(config_file)
@@ -1,109 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools>=48", "setuptools_scm[toml]>=6.3.1"]
3
- build-backend = "setuptools.build_meta"
4
-
5
- [tool.setuptools_scm]
6
-
7
- [tool.black]
8
- line-length = 88
9
- include = '\.pyi?$'
10
- exclude = '''
11
- /(
12
- \.eggs
13
- | \.git
14
- | \.hg
15
- | \.mypy_cache
16
- | \.tox
17
- | \.venv
18
- | _build
19
- | buck-out
20
- | build
21
- | dist
22
- )/
23
- '''
24
-
25
- [tool.isort]
26
- profile = "black"
27
- known_first_party = ["scmrepo"]
28
- line_length = 88
29
-
30
- [tool.pytest.ini_options]
31
- addopts = "-ra"
32
- markers = [
33
- "skip_git_backend: skip tests for given backend",
34
- "slow: mark test as slow to run",
35
- ]
36
-
37
- [tool.coverage.run]
38
- branch = true
39
- source = ["scmrepo", "tests"]
40
-
41
- [tool.coverage.paths]
42
- source = ["src", "*/site-packages"]
43
-
44
- [tool.coverage.report]
45
- show_missing = true
46
- exclude_lines = [
47
- "pragma: no cover",
48
- "if __name__ == .__main__.:",
49
- "if typing.TYPE_CHECKING:",
50
- "if TYPE_CHECKING:",
51
- "raise NotImplementedError",
52
- "raise AssertionError",
53
- "@overload",
54
- ]
55
-
56
- [tool.mypy]
57
- # Error output
58
- show_column_numbers = true
59
- show_error_codes = true
60
- show_error_context = true
61
- show_traceback = true
62
- pretty = true
63
- check_untyped_defs = false
64
- # Warnings
65
- warn_no_return = true
66
- warn_redundant_casts = true
67
- warn_unreachable = true
68
- files = ["src", "tests"]
69
-
70
- [[tool.mypy.overrides]]
71
- module = [
72
- "pygtrie",
73
- "dvc_http.*",
74
- "funcy",
75
- "git",
76
- "gitdb.*",
77
- "fsspec.*",
78
- "pathspec.patterns",
79
- "asyncssh.*",
80
- "pygit2.*",
81
- "pytest_docker.plugin",
82
- "urllib3.*",
83
- ]
84
- ignore_missing_imports = true
85
-
86
- [tool.pylint.format]
87
- max-line-length = 88
88
-
89
- [tool.pylint.master]
90
- extension-pkg-whitelist = ["pygit2"]
91
-
92
- [tool.pylint.message_control]
93
- disable = [
94
- "format", "refactoring", "design", "invalid-name", "duplicate-code",
95
- "missing-function-docstring", "missing-module-docstring", "missing-class-docstring",
96
- "raise-missing-from", "import-outside-toplevel", "cyclic-import", "fixme",
97
- ]
98
- enable = ["c-extension-no-member", "no-else-return"]
99
-
100
- [tool.pylint.variables]
101
- dummy-variables-rgx = "_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_"
102
- ignored-argument-names = "_.*|^ignored_|^unused_|args|kwargs"
103
-
104
- [tool.codespell]
105
- ignore-words-list = "cachable, keypair"
106
-
107
- [tool.bandit]
108
- exclude_dirs = ["tests"]
109
- skips = ["B101"]
scmrepo-1.5.0/setup.cfg DELETED
@@ -1,82 +0,0 @@
1
- [metadata]
2
- description = SCM wrapper and fsspec filesystem for Git for use in DVC
3
- name = scmrepo
4
- long_description = file: README.rst
5
- long_description_content_type = text/x-rst
6
- license = Apache-2.0
7
- license_file = LICENSE
8
- url = https://github.com/iterative/scmrepo
9
- platforms = any
10
- authors = Iterative
11
- maintainer_email = support@dvc.org
12
- classifiers =
13
- Programming Language :: Python :: 3
14
- Programming Language :: Python :: 3.8
15
- Programming Language :: Python :: 3.9
16
- Programming Language :: Python :: 3.10
17
- Programming Language :: Python :: 3.11
18
- Development Status :: 4 - Beta
19
-
20
- [options]
21
- python_requires = >=3.8
22
- zip_safe = False
23
- package_dir =
24
- =src
25
- packages = find:
26
- install_requires =
27
- gitpython>3
28
- dulwich>=0.21.6
29
- pygit2>=1.13.3
30
- pygtrie>=2.3.2
31
- fsspec>=2021.7.0
32
- pathspec>=0.9.0
33
- asyncssh>=2.13.1,<3
34
- funcy>=1.14
35
- shortuuid>=0.5.0
36
- dvc-objects>=1.0.1,<2
37
- dvc-http>=2.29.0
38
-
39
- [options.extras_require]
40
- tests =
41
- pytest==7.2.0
42
- pytest-sugar==0.9.5
43
- pytest-cov==3.0.0
44
- pytest-mock==3.8.2
45
- pylint==2.15.0
46
- mypy==0.971
47
- pytest-test-utils==0.0.8
48
- pytest-asyncio==0.18.3
49
- pytest-docker==0.12.0; python_version < '3.10' and implementation_name != 'pypy'
50
- mock==5.1.0
51
- paramiko==3.3.1
52
- types-certifi==2021.10.8.3
53
- types-mock==5.1.0.2
54
- types-paramiko==3.3.0.0
55
- dev =
56
- %(tests)s
57
-
58
- [options.packages.find]
59
- exclude =
60
- tests
61
- tests.*
62
- where = src
63
-
64
- [options.package_data]
65
- scmrepo = py.typed
66
-
67
- [flake8]
68
- ignore =
69
- E203
70
- E266
71
- W503
72
- P1
73
- max_line_length = 88
74
- max-complexity = 15
75
- select = B,C,E,F,W,T4,B902,T,P
76
- show_source = true
77
- count = true
78
-
79
- [egg_info]
80
- tag_build =
81
- tag_date = 0
82
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes